commit
This commit is contained in:
+1
@@ -60,6 +60,7 @@ public class ExecutiveCommitteeConfigController {
|
||||
dbt.name as delegationName,
|
||||
dbt.code as delegationCode,
|
||||
(SELECT count( 1 ) FROM vw_user where unitId IN ( SELECT unitId FROM teacher_congress_delegation_unit unit WHERE unit.delegationId = dbt.id ) and member = 1) as memberCount,
|
||||
(SELECT count( 1 ) FROM teacher_congress_delegate where unitId IN ( SELECT unitId FROM teacher_congress_delegation_unit unit WHERE unit.delegationId = dbt.id ) and sessionId=@sessionId) as dbCount,
|
||||
0 as quotaCount
|
||||
FROM
|
||||
teacher_congress_delegation dbt
|
||||
|
||||
+39
-13
@@ -1,11 +1,14 @@
|
||||
package com.budwk.app.zhgh.democratic.executiveCommittee.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.pinyin.PinyinUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
@@ -20,9 +23,10 @@ import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
@@ -62,13 +66,9 @@ public class ExecutiveCommitteeDelegationOnePushController {
|
||||
@SaCheckPermission("executiveCommittee.delegationOnePush")
|
||||
public Result pageData(PageForm pageForm,
|
||||
String teacherMeetId,
|
||||
String delegationId,
|
||||
String unionId) {
|
||||
Teacher_congress_delegate db = dao.fetch(Teacher_congress_delegate.class,
|
||||
Cnd.where(Teacher_congress_delegate::getSessionId, "=", teacherMeetId)
|
||||
.and(Teacher_congress_delegate::getUserId, "=", SecurityUtil.getUserId()));
|
||||
if (ObjectUtil.isEmpty(db)) {
|
||||
return Result.error("没有权限,只有代表团团长才能推选");
|
||||
}
|
||||
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
t1.*,
|
||||
@@ -78,21 +78,38 @@ public class ExecutiveCommitteeDelegationOnePushController {
|
||||
TIMESTAMPDIFF(
|
||||
YEAR,
|
||||
t4.birthday,
|
||||
CURDATE()) AS age
|
||||
CURDATE()) AS age,
|
||||
t5.name AS delegationName
|
||||
FROM
|
||||
`executive_committee_one_push` t1
|
||||
LEFT JOIN sys_unit t2 ON t1.unitId = t2.id
|
||||
LEFT JOIN `sys_union` t3 ON t3.id = t2.unionid
|
||||
LEFT JOIN `vw_user` t4 ON t4.id = t1.userId
|
||||
LEFT JOIN teacher_congress_delegation t5 ON t5.id = t1.delegationId
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("t1.teacherMeetId", "=", teacherMeetId);
|
||||
cnd.andEX("t1.delegationId", "=", db.getDelegationId());
|
||||
if (StpUtil.hasRole(RoleConstant.SYSADMIN.name()) ||
|
||||
StpUtil.hasRole(RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
cnd.andEX("t1.delegationId", "=", delegationId);
|
||||
}else{
|
||||
Teacher_congress_delegate db = dao.fetch(Teacher_congress_delegate.class,
|
||||
Cnd.where(Teacher_congress_delegate::getSessionId, "=", teacherMeetId)
|
||||
.and(Teacher_congress_delegate::getUserId, "=", SecurityUtil.getUserId()));
|
||||
if (ObjectUtil.isEmpty(db)) {
|
||||
return Result.error("没有权限,只有代表团团长才能推选");
|
||||
}
|
||||
cnd.andEX("t1.delegationId", "=", db.getDelegationId());
|
||||
}
|
||||
|
||||
cnd.andEX("t3.id", "=", unionId);
|
||||
cnd.andEX("t1.addType", "=", 1);
|
||||
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.and(pageForm.getSearchName(), "LIKE", "%" + pageForm.getSearchKeyword() + "%");
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||
group.orLike("t1.userName", pageForm.getSearchKeyword());
|
||||
group.orLike("t1.loginName", pageForm.getSearchKeyword());
|
||||
cnd.and(group);
|
||||
}
|
||||
cnd.asc("t1.firstLetter");
|
||||
sql.setCondition(cnd);
|
||||
@@ -135,6 +152,8 @@ public class ExecutiveCommitteeDelegationOnePushController {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
db.*,
|
||||
u.professionalTitle,
|
||||
u.professionalLevel,
|
||||
TIMESTAMPDIFF(YEAR, u.birthday, CURDATE()) AS age
|
||||
FROM
|
||||
teacher_congress_delegate db
|
||||
@@ -143,7 +162,14 @@ public class ExecutiveCommitteeDelegationOnePushController {
|
||||
""");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> userData = baseService.listMap(sql);
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue));
|
||||
|
||||
|
||||
List<NutMap> delegationQuotaList = config.getDelegationQuotaList();
|
||||
NutMap delegationQuota = delegationQuotaList.stream().filter(v -> v.get("delegationId").equals(db.getDelegationId())).findFirst().orElse(null);
|
||||
if (Lang.isNotEmpty(delegationQuota)) {
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue, "quotaCount", delegationQuota.getInt("quotaCount")));
|
||||
}
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue, "quotaCount", 0));
|
||||
}
|
||||
|
||||
@At
|
||||
@@ -182,7 +208,7 @@ public class ExecutiveCommitteeDelegationOnePushController {
|
||||
.and("teacherMeetId", "=", teacherMeetId)
|
||||
.and("addType", "=", 1));
|
||||
if (dbCount + userValue.length > delegationQuota.getInt("quotaCount")) {
|
||||
return Result.error("代表团人数限报" + delegationQuota.getInt("quotaCount") + "人");
|
||||
return Result.error("推选人数限制" + delegationQuota.getInt("quotaCount") + "人");
|
||||
}
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
|
||||
+11
-5
@@ -3,6 +3,7 @@ package com.budwk.app.zhgh.democratic.executiveCommittee.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
@@ -16,9 +17,9 @@ import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
@@ -87,8 +88,11 @@ public class ExecutiveCommitteeDelegationTwoPushController {
|
||||
cnd.andEX("t1.teacherMeetId", "=", teacherMeetId);
|
||||
cnd.andEX("t2.delegationId", "=", delegationId);
|
||||
cnd.andEX("t4.id", "=", unionId);
|
||||
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.and(pageForm.getSearchName(), "LIKE", "%" + pageForm.getSearchKeyword() + "%");
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||
group.orLike("t2.userName", pageForm.getSearchKeyword());
|
||||
group.orLike("t2.loginName", pageForm.getSearchKeyword());
|
||||
cnd.and(group);
|
||||
}
|
||||
cnd.asc("t6.code").asc("t2.firstLetter");
|
||||
sql.setCondition(cnd);
|
||||
@@ -129,6 +133,8 @@ public class ExecutiveCommitteeDelegationTwoPushController {
|
||||
SELECT
|
||||
t1.*,
|
||||
t2.sex,
|
||||
t2.professionalTitle,
|
||||
t2.professionalLevel,
|
||||
TIMESTAMPDIFF(
|
||||
YEAR,
|
||||
t2.birthday,
|
||||
@@ -140,7 +146,7 @@ public class ExecutiveCommitteeDelegationTwoPushController {
|
||||
""");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> userData = baseService.listMap(sql);
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue));
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue,"delegationQuotaCount",config.getDelegationQuotaCount()));
|
||||
}
|
||||
|
||||
@At
|
||||
@@ -172,7 +178,7 @@ public class ExecutiveCommitteeDelegationTwoPushController {
|
||||
Cnd.where("pushUserId", "=", SecurityUtil.getUserId())
|
||||
.and("teacherMeetId", "=", teacherMeetId));
|
||||
if (dbCount + userValue.length > config.getCommitteeQuotaCount()) {
|
||||
return Result.error("人数限报" + config.getCommitteeQuotaCount() + "人");
|
||||
return Result.error("推选人数限制" + config.getCommitteeQuotaCount() + "人");
|
||||
}
|
||||
|
||||
List<Teacher_congress_delegate> dbList = dao.query(Teacher_congress_delegate.class,
|
||||
|
||||
+13
-6
@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.pinyin.PinyinUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
@@ -19,9 +20,9 @@ import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
@@ -87,8 +88,11 @@ public class ExecutiveCommitteePushController {
|
||||
cnd.andEX("t1.delegationId", "=", delegationId);
|
||||
cnd.andEX("t3.id", "=", unionId);
|
||||
cnd.andEX("t1.addType", "=", 2);
|
||||
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.and(pageForm.getSearchName(), "LIKE", "%" + pageForm.getSearchKeyword() + "%");
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||
group.orLike("t1.userName", pageForm.getSearchKeyword());
|
||||
group.orLike("t1.loginName", pageForm.getSearchKeyword());
|
||||
cnd.and(group);
|
||||
}
|
||||
cnd.asc("t5.code").asc("t1.firstLetter");
|
||||
sql.setCondition(cnd);
|
||||
@@ -105,7 +109,8 @@ public class ExecutiveCommitteePushController {
|
||||
.and("addType", "=", 2));
|
||||
List<ExecutiveCommitteeOnePush> onePushList = dao.query(ExecutiveCommitteeOnePush.class, Cnd.NEW());
|
||||
List<String> userIds = onePushList.stream().map(ExecutiveCommitteeOnePush::getUserId).collect(Collectors.toList());
|
||||
|
||||
ExecutiveCommitteeConfig config = dao.fetch(ExecutiveCommitteeConfig.class,
|
||||
Cnd.where("teacherMeetId", "=", teacherMeetId));
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("db.sessionId", "=", teacherMeetId);
|
||||
cnd.andEX("db.userId", "not in", userIds);
|
||||
@@ -113,6 +118,8 @@ public class ExecutiveCommitteePushController {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
db.*,
|
||||
u.professionalTitle,
|
||||
u.professionalLevel,
|
||||
TIMESTAMPDIFF(YEAR, u.birthday, CURDATE()) AS age
|
||||
FROM
|
||||
teacher_congress_delegate db
|
||||
@@ -121,7 +128,7 @@ public class ExecutiveCommitteePushController {
|
||||
""");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> userData = baseService.listMap(sql);
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue));
|
||||
return Result.success(Map.of("userData", userData, "userValue", userValue,"prepareGroupQuotaCount",config.getPrepareGroupQuotaCount()));
|
||||
}
|
||||
|
||||
@At
|
||||
@@ -147,7 +154,7 @@ public class ExecutiveCommitteePushController {
|
||||
Cnd.where("teacherMeetId", "=", teacherMeetId)
|
||||
.and("addType", "=", 2));
|
||||
if (dbCount + userValue.length > config.getPrepareGroupQuotaCount()) {
|
||||
return Result.error("人数限报" + config.getPrepareGroupQuotaCount() + "人");
|
||||
return Result.error("推选人数限制" + config.getPrepareGroupQuotaCount() + "人");
|
||||
}
|
||||
|
||||
Sql sql = Sqls.create("""
|
||||
|
||||
+7
-1
@@ -6,6 +6,7 @@ import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
@@ -17,6 +18,7 @@ import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.delegate.models.TeacherCongressDelegatePush;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.delegate.service.TeacherCongressDelegatePushService;
|
||||
@@ -79,6 +81,7 @@ public class TeacherCongressDelegatePushController {
|
||||
@SaCheckPermission("tc.delegate.push")
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "sessionId") String sessionId,
|
||||
@Param(value = "unionId") String unionId,
|
||||
@Param(value = "isFormalOrAttendance") String isFormalOrAttendance) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
@@ -108,6 +111,7 @@ public class TeacherCongressDelegatePushController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("info.sessionId", "=", sessionId);
|
||||
cnd.andEX("info.unionId", "=", unionId);
|
||||
|
||||
if (!"全部".equals(isFormalOrAttendance)) {
|
||||
cnd.and("info.representativeType", "=", isFormalOrAttendance);
|
||||
@@ -119,7 +123,9 @@ public class TeacherCongressDelegatePushController {
|
||||
cnd.and(group);
|
||||
}
|
||||
cnd.desc("info.createdAt");
|
||||
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
|
||||
if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) {
|
||||
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination<NutMap> pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.delegate.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@@ -56,7 +57,7 @@ public class TeacherCongressDelegatePushWriteController {
|
||||
|
||||
@At
|
||||
@ApiOperation("代表信息初始信息")
|
||||
@SaCheckPermission("tc.delegate.push.write")
|
||||
@SaCheckLogin
|
||||
public Result info(String sessionId, String userId) {
|
||||
userId = StrUtil.blankToDefault(userId, SecurityUtil.getUserId());
|
||||
Sql sql = Sqls.create("""
|
||||
|
||||
+20
-22
@@ -7,17 +7,8 @@ layout("/layouts/platform.html"){
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="关键字">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写内容">
|
||||
<el-select
|
||||
slot="prepend"
|
||||
v-model="pageForm.searchName"
|
||||
placeholder="查询"
|
||||
style="width: 100px;"
|
||||
>
|
||||
<el-option label="工号" value="t1.loginName"></el-option>
|
||||
<el-option label="姓名" value="t1.userName"></el-option>
|
||||
</el-select>
|
||||
<search-item label="姓名/工号">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写姓名/工号" clearable>
|
||||
</el-input>
|
||||
</search-item>
|
||||
<search-item label="教代会">
|
||||
@@ -26,7 +17,7 @@ layout("/layouts/platform.html"){
|
||||
filterable
|
||||
placeholder="请选择教代会"
|
||||
style="width:100%;"
|
||||
@change="doSearch"
|
||||
@change="getAllDelegation(pageForm.teacherMeetId);doSearch()"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in teacherMeets"
|
||||
@@ -36,8 +27,15 @@ layout("/layouts/platform.html"){
|
||||
></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属工会">
|
||||
<el-select clearable filterable placeholder="所属工会" style="width: 100%"
|
||||
<search-item label="代表团" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])">
|
||||
<el-select clearable filterable placeholder="代表团" style="width: 100%"
|
||||
v-model="pageForm.delegationId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||
v-for="item in delegations"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="分工会">
|
||||
<el-select clearable filterable placeholder="分工会" style="width: 100%"
|
||||
v-model="pageForm.unionId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||
v-for="item in unionOptions"></el-option>
|
||||
@@ -67,13 +65,14 @@ layout("/layouts/platform.html"){
|
||||
fixed
|
||||
type="index"
|
||||
width="50"></el-table-column>
|
||||
<el-table-column align="center" label="工号" prop="loginName"></el-table-column>
|
||||
<el-table-column align="center" label="姓名" prop="userName"></el-table-column>
|
||||
<el-table-column align="center" label="年龄" prop="age"></el-table-column>
|
||||
<el-table-column align="center" label="性别" prop="sex"></el-table-column>
|
||||
<el-table-column align="center" label="所属单位" prop="unitName"></el-table-column>
|
||||
<el-table-column align="center" label="所属工会" prop="unionName"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="100" fixed="right">
|
||||
<el-table-column label="工号" prop="loginName"></el-table-column>
|
||||
<el-table-column label="姓名" prop="userName"></el-table-column>
|
||||
<el-table-column label="年龄" prop="age"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex"></el-table-column>
|
||||
<el-table-column label="所属单位" prop="unitName"></el-table-column>
|
||||
<el-table-column label="所属工会" prop="unionName"></el-table-column>
|
||||
<el-table-column label="代表团" prop="delegationName"></el-table-column>
|
||||
<el-table-column label="操作" width="100" fixed="right">
|
||||
<template scope="{row}">
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -101,7 +100,6 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
pageDataUrl: "/platform/executiveCommittee/delegationOnePush/pageData",
|
||||
pageForm: {
|
||||
searchName: 't1.userName',
|
||||
teacherMeetId: null,
|
||||
unionId: null
|
||||
},
|
||||
|
||||
+22
-14
@@ -4,10 +4,11 @@ const DELEGATION_ONE_PUSH_FORMAL_DIALOG = {
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="dialogVisible"
|
||||
title="执委会委员推选"
|
||||
title="团长推选委员"
|
||||
width="70%"
|
||||
|
||||
>
|
||||
|
||||
<el-transfer
|
||||
ref="transfer"
|
||||
v-model="userValue"
|
||||
@@ -22,21 +23,26 @@ const DELEGATION_ONE_PUSH_FORMAL_DIALOG = {
|
||||
>
|
||||
<div slot-scope="{ option }">
|
||||
<div class="transfer-item">
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName }}</div>
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName
|
||||
}} - {{option.unitName}}
|
||||
</div>
|
||||
<div class="transfer-item-details">
|
||||
<span class="detail-item">
|
||||
{{option.sex}}
|
||||
</span>
|
||||
<span class="detail-item">
|
||||
{{option.sex}}
|
||||
</span>
|
||||
<span class="detail-item">{{ option.age }}岁</span>
|
||||
<span class="detail-item">{{ option.jobTitle }}</span>
|
||||
<span class="detail-item">{{ option.professionalTitle }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-transfer>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
<span slot="footer">
|
||||
<span style="color:red;font-size: 15px; display:flex;text-align: right;">推选名额:{{quotaCount}}个</span>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
`,
|
||||
@@ -47,7 +53,8 @@ const DELEGATION_ONE_PUSH_FORMAL_DIALOG = {
|
||||
userData: [],
|
||||
rightChecked: [],
|
||||
attendanceRightChecked: [],
|
||||
teacherMeetId: null
|
||||
teacherMeetId: null,
|
||||
quotaCount: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -65,8 +72,9 @@ const DELEGATION_ONE_PUSH_FORMAL_DIALOG = {
|
||||
data.userData.forEach(v => {
|
||||
this.userData.push({userId: v.userId, ...v})
|
||||
})
|
||||
this.quotaCount = data.quotaCount
|
||||
this.dialogVisible = true
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
},
|
||||
@@ -85,12 +93,12 @@ const DELEGATION_ONE_PUSH_FORMAL_DIALOG = {
|
||||
this.dialogVisible = false
|
||||
this.$message.success(msg)
|
||||
this.$emit('refresh')
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
|
||||
|
||||
`
|
||||
}
|
||||
|
||||
+4
-14
@@ -7,17 +7,8 @@ layout("/layouts/platform.html"){
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="关键字">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写内容">
|
||||
<el-select
|
||||
slot="prepend"
|
||||
v-model="pageForm.searchName"
|
||||
placeholder="查询"
|
||||
style="width: 100px;"
|
||||
>
|
||||
<el-option label="工号" value="t2.loginName"></el-option>
|
||||
<el-option label="姓名" value="t2.userName"></el-option>
|
||||
</el-select>
|
||||
<search-item label="姓名/工号">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写姓名/工号" clearable>
|
||||
</el-input>
|
||||
</search-item>
|
||||
<search-item label="教代会">
|
||||
@@ -36,8 +27,8 @@ layout("/layouts/platform.html"){
|
||||
></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属工会">
|
||||
<el-select clearable filterable placeholder="所属工会" style="width: 100%"
|
||||
<search-item label="分工会">
|
||||
<el-select clearable filterable placeholder="分工会" style="width: 100%"
|
||||
v-model="pageForm.unionId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||
v-for="item in unionOptions"></el-option>
|
||||
@@ -101,7 +92,6 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
pageDataUrl: "/platform/executiveCommittee/delegationTwoPush/pageData",
|
||||
pageForm: {
|
||||
searchName: 't2.userName',
|
||||
teacherMeetId: null,
|
||||
unionId: null
|
||||
},
|
||||
|
||||
+16
-9
@@ -22,21 +22,26 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
|
||||
>
|
||||
<div slot-scope="{ option }">
|
||||
<div class="transfer-item">
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName }}</div>
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName }} -
|
||||
{{option.unitName}}
|
||||
</div>
|
||||
<div class="transfer-item-details">
|
||||
<span class="detail-item">
|
||||
{{option.sex}}
|
||||
</span>
|
||||
<span class="detail-item">{{ option.age }}岁</span>
|
||||
<span class="detail-item">{{ option.jobTitle }}</span>
|
||||
<span class="detail-item">{{ option.professionalTitle }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-transfer>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
<span slot="footer">
|
||||
<span style="color:red;font-size: 15px; display:flex;text-align: right;">推选名额:{{delegationQuotaCount}}个</span>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
`,
|
||||
@@ -47,7 +52,8 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
|
||||
userData: [],
|
||||
rightChecked: [],
|
||||
attendanceRightChecked: [],
|
||||
teacherMeetId: null
|
||||
teacherMeetId: null,
|
||||
delegationQuotaCount: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -64,8 +70,9 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
|
||||
data.userData.forEach(v => {
|
||||
this.userData.push({userId: v.userId, ...v})
|
||||
})
|
||||
this.delegationQuotaCount = data.delegationQuotaCount
|
||||
this.dialogVisible = true
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
},
|
||||
@@ -84,7 +91,7 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
|
||||
this.dialogVisible = false
|
||||
this.$message.success(msg)
|
||||
this.$emit('refresh')
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -114,7 +114,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'delegationName', label: '代表团名称', sortable: true},
|
||||
{prop: 'memberCount', label: '会员人数', sortable: true},
|
||||
{prop: 'dbCount', label: '代表人数', sortable: true},
|
||||
{prop: 'quotaCount', label: '分配人数', sortable: true}
|
||||
],
|
||||
formData: {},
|
||||
|
||||
+4
-14
@@ -7,17 +7,8 @@ layout("/layouts/platform.html"){
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="关键字">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写内容">
|
||||
<el-select
|
||||
slot="prepend"
|
||||
v-model="pageForm.searchName"
|
||||
placeholder="查询"
|
||||
style="width: 100px;"
|
||||
>
|
||||
<el-option label="工号" value="t1.loginName"></el-option>
|
||||
<el-option label="姓名" value="t1.userName"></el-option>
|
||||
</el-select>
|
||||
<search-item label="姓名/工号">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请填写姓名/工号" clearable>
|
||||
</el-input>
|
||||
</search-item>
|
||||
<search-item label="教代会">
|
||||
@@ -36,8 +27,8 @@ layout("/layouts/platform.html"){
|
||||
></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属工会">
|
||||
<el-select clearable filterable placeholder="所属工会" style="width: 100%"
|
||||
<search-item label="分工会">
|
||||
<el-select clearable filterable placeholder="分工会" style="width: 100%"
|
||||
v-model="pageForm.unionId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||
v-for="item in unionOptions"></el-option>
|
||||
@@ -109,7 +100,6 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
pageDataUrl: "/platform/executiveCommittee/preparatoryGroupPush/pageData",
|
||||
pageForm: {
|
||||
searchName: 't1.userName',
|
||||
teacherMeetId: null,
|
||||
unionId: null
|
||||
},
|
||||
|
||||
+15
-8
@@ -4,7 +4,7 @@ const PUSH_FORMAL_DIALOG = {
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="dialogVisible"
|
||||
title="执委会委员推选"
|
||||
title="筹备组推选"
|
||||
width="70%"
|
||||
|
||||
>
|
||||
@@ -22,21 +22,26 @@ const PUSH_FORMAL_DIALOG = {
|
||||
>
|
||||
<div slot-scope="{ option }">
|
||||
<div class="transfer-item">
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName }}</div>
|
||||
<div class="transfer-item-name">{{ option.userName }} - {{ option.loginName }} -
|
||||
{{option.unitName}}
|
||||
</div>
|
||||
<div class="transfer-item-details">
|
||||
<span class="detail-item">
|
||||
{{option.sex}}
|
||||
</span>
|
||||
<span class="detail-item">{{ option.age }}岁</span>
|
||||
<span class="detail-item">{{ option.jobTitle }}</span>
|
||||
<span class="detail-item">{{ option.professionalTitle }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-transfer>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
<span slot="footer">
|
||||
<span style="color:red;font-size: 15px; display:flex;text-align: right;">推选名额:{{prepareGroupQuotaCount}}个</span>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
||||
</span>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
`,
|
||||
@@ -47,7 +52,8 @@ const PUSH_FORMAL_DIALOG = {
|
||||
userData: [],
|
||||
rightChecked: [],
|
||||
attendanceRightChecked: [],
|
||||
teacherMeetId: null
|
||||
teacherMeetId: null,
|
||||
prepareGroupQuotaCount: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -64,6 +70,7 @@ const PUSH_FORMAL_DIALOG = {
|
||||
data.userData.forEach(v => {
|
||||
this.userData.push({userId: v.userId, ...v})
|
||||
})
|
||||
this.prepareGroupQuotaCount = data.prepareGroupQuotaCount
|
||||
}
|
||||
},
|
||||
filterMethod(query, item) {
|
||||
|
||||
+49
-44
@@ -13,11 +13,11 @@ layout("/layouts/platform.html"){
|
||||
:key="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<!-- <search-item label="分工会">
|
||||
<el-select v-model="pageForm.unionId" filterable @change="listUnit" clearable style="width: 100%">
|
||||
<el-option v-for="i in unionOptions" :label="i.name" :key="i.id" :value="i.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>-->
|
||||
<search-item label="分工会" v-if="$auth.hasRole('SYSADMIN') || $auth.hasRole('SCHOOL_UNION_ADMIN')">
|
||||
<el-select v-model="pageForm.unionId" filterable @change="listUnit" clearable style="width: 100%">
|
||||
<el-option v-for="i in unionOptions" :label="i.name" :key="i.id" :value="i.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -41,7 +41,7 @@ layout("/layouts/platform.html"){
|
||||
@click="$refs.pushAttendanceRef.onOpen(pageForm.sessionId,pageForm.unionId)"
|
||||
>列席代表预选
|
||||
</el-button>
|
||||
<!-- <el-button icon="el-icon-download" size="small" type="primary" @click="doExport">导出</el-button>-->
|
||||
<!-- <el-button icon="el-icon-download" size="small" type="primary" @click="doExport">导出</el-button>-->
|
||||
|
||||
<el-button icon="el-icon-check" size="small" type="primary" @click="onBatchSubmit">正式代表提交上报
|
||||
</el-button>
|
||||
@@ -60,33 +60,33 @@ layout("/layouts/platform.html"){
|
||||
row-key="id"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<!-- <el-table-column type="selection" width="55" reserve-selection fixed="left" :selectable="(row)=>{return row.taskKey==='0cacd1e7-7bb2-47dd-818b-6a73062e0c62'}"></el-table-column>-->
|
||||
<!-- <el-table-column type="selection" width="55" reserve-selection fixed="left" :selectable="(row)=>{return row.taskKey==='0cacd1e7-7bb2-47dd-818b-6a73062e0c62'}"></el-table-column>-->
|
||||
<el-table-column type="index" width="55" label="序号" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column label="姓名" prop="userName" width="100" fixed="left"></el-table-column>
|
||||
<el-table-column label="年龄" prop="age" width="100"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" width="100" fixed="left"></el-table-column>
|
||||
<!-- <el-table-column label="民族" prop="nation" min-width="100"></el-table-column>-->
|
||||
<el-table-column label="年龄" prop="age" width="80"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" width="80" fixed="left"></el-table-column>
|
||||
<!-- <el-table-column label="民族" prop="nation" min-width="100"></el-table-column>-->
|
||||
<el-table-column label="职称" prop="professionalTitle" min-width="150"></el-table-column>
|
||||
<el-table-column label="职级" prop="professionalLevel" min-width="100"></el-table-column>
|
||||
<!-- :style="{'pointer-events':(row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId)?'auto':'none'}"-->
|
||||
<!-- <el-table-column label="校级领导" prop="schoolLeader" min-width="100">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
v-model="row.schoolLeader"
|
||||
style="pointer-events:none"
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="中层领导" prop="middleLevelLeader" min-width="100">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
v-model="row.middleLevelLeader"
|
||||
style="pointer-events:none"
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- :style="{'pointer-events':(row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId)?'auto':'none'}"-->
|
||||
<!-- <el-table-column label="校级领导" prop="schoolLeader" min-width="100">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
v-model="row.schoolLeader"
|
||||
style="pointer-events:none"
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="中层领导" prop="middleLevelLeader" min-width="100">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
v-model="row.middleLevelLeader"
|
||||
style="pointer-events:none"
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!--
|
||||
<el-table-column label="专任教师" prop="ordinaryTeacher" min-width="100">
|
||||
<template v-slot="{row}">
|
||||
@@ -97,7 +97,7 @@ layout("/layouts/platform.html"){
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<el-table-column label="高级职称" prop="seniorTeacher" min-width="120">
|
||||
<el-table-column label="高级职称" prop="seniorTeacher" width="80">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
@@ -106,7 +106,7 @@ layout("/layouts/platform.html"){
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="中级职称及以下" prop="intermediateBelow" min-width="120">
|
||||
<el-table-column label="中级职称及以下" prop="intermediateBelow" width="120">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
@@ -115,7 +115,7 @@ layout("/layouts/platform.html"){
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="干部" prop="cadre" min-width="100">
|
||||
<el-table-column label="干部" prop="cadre" width="80">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
@@ -124,7 +124,7 @@ layout("/layouts/platform.html"){
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工人" prop="worker" min-width="100">
|
||||
<el-table-column label="工人" prop="worker" width="80">
|
||||
<template v-slot="{row}">
|
||||
<el-checkbox
|
||||
v-if="row"
|
||||
@@ -151,26 +151,32 @@ layout("/layouts/platform.html"){
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="代表类型" prop="representativeType" show-overflow-tooltip width="100"></el-table-column>
|
||||
<el-table-column prop="taskName" label="当前节点" width="120"></el-table-column>
|
||||
<el-table-column prop="instanceState" label="流程状态">
|
||||
<el-table-column label="代表类型" prop="representativeType" show-overflow-tooltip
|
||||
width="100"></el-table-column>
|
||||
<el-table-column prop="taskName" label="当前节点" width="120"fixed="right"></el-table-column>
|
||||
<el-table-column prop="instanceState" label="流程状态"fixed="right">
|
||||
<template slot-scope="{row}">
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="300px">
|
||||
<el-table-column label="操作" fixed="right" width="300">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="onView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId" @click="onEdit(row)" size="mini"
|
||||
type="primary">编辑
|
||||
<el-button
|
||||
v-if="row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId"
|
||||
@click="onEdit(row)" size="mini"
|
||||
type="primary">编辑
|
||||
</el-button>
|
||||
<template >
|
||||
<el-button v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')" @click="onDelete(row.id)" size="mini" type="danger">
|
||||
<template>
|
||||
<el-button v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')" @click="onDelete(row.id)"
|
||||
size="mini" type="danger">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-else-if="row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId" @click="onDelete(row.id)"
|
||||
size="mini" type="danger">删除
|
||||
<el-button
|
||||
v-else-if="row.taskKey === 'startTask' || row.taskKey==='53ff0c2a-ba93-45e9-a9fd-db51cdab3080' || !row.instanceId"
|
||||
@click="onDelete(row.id)"
|
||||
size="mini" type="danger">删除
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
@@ -205,7 +211,6 @@ layout("/layouts/platform.html"){
|
||||
<!--#include('push-formal-dialog.js'){}#-->
|
||||
<!--#include('push-attendance-dialog.js'){}#-->
|
||||
<!--#include('write.js'){}#-->
|
||||
|
||||
new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column type="index" width="50" :index="indexMethod" label="序号"></el-table-column>
|
||||
<el-table-column prop="unionName" label="工会名称"></el-table-column>
|
||||
<el-table-column prop="memberCount" label="会员人数"></el-table-column>
|
||||
<el-table-column prop="dbCount" label="代表人数"></el-table-column>
|
||||
<!-- <el-table-column prop="dbCount" label="代表人数"></el-table-column>-->
|
||||
<el-table-column prop="allocationNum" label="名额分配人数"></el-table-column>
|
||||
<el-table-column prop="seniorTeaNum" label="高级职称代表数"></el-table-column>
|
||||
<el-table-column prop="intermediateBelowNum" label="中级职称及以下代表数"></el-table-column>
|
||||
|
||||
Reference in New Issue
Block a user