Merge branch 'main' of https://dd3skj.picp.vip/JyuHsin/zhgh_jshvc
This commit is contained in:
@@ -300,7 +300,7 @@ public class SysUnitController {
|
|||||||
)
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
List<Tree<String>> treeList = TreeUtil.build(nodeList, StrUtil.blankToDefault(pid, "0000"));
|
List<Tree<String>> treeList = TreeUtil.build(nodeList, StrUtil.blankToDefault(pid, "0"));
|
||||||
|
|
||||||
// NutMap menuMap = NutMap.NEW();
|
// NutMap menuMap = NutMap.NEW();
|
||||||
// for (Sys_unit unit : list) {
|
// for (Sys_unit unit : list) {
|
||||||
|
|||||||
+6
-2
@@ -2,6 +2,7 @@ package com.budwk.app.zhgh.democratic.proposal.controller.common;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConfig;
|
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConfig;
|
||||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalType;
|
import com.budwk.app.zhgh.democratic.proposal.models.ProposalType;
|
||||||
@@ -49,8 +50,11 @@ public class ProposalCommonController {
|
|||||||
@At
|
@At
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@ApiOperation("查询全部的教代会")
|
@ApiOperation("查询全部的教代会")
|
||||||
public Result listSession() {
|
public Result listSession(String orderBy) {
|
||||||
List<Teacher_congress_session> list = dao.query(Teacher_congress_session.class, Cnd.NEW().asc("startDate"));
|
if (StrUtil.isBlank(orderBy)) {
|
||||||
|
orderBy = "desc";
|
||||||
|
}
|
||||||
|
List<Teacher_congress_session> list = dao.query(Teacher_congress_session.class, Cnd.NEW().orderBy("startDate", orderBy));
|
||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-1
@@ -89,7 +89,13 @@ public class ProposalSeniorBasicController {
|
|||||||
@ApiOperation(value = "提案内容修改")
|
@ApiOperation(value = "提案内容修改")
|
||||||
@Aop(TransAop.READ_COMMITTED)
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
public Result update(@Valid @Param("info") ProposalInfo proposalInfo) {
|
public Result update(@Valid @Param("info") ProposalInfo proposalInfo) {
|
||||||
dao.update(proposalInfo,"^name|typeId|brief|measures|excerpt|suggestUnits$");
|
int count = dao.count(ProposalInfo.class, Cnd.where("code", "=", proposalInfo.getCode()).and("id", "<>", proposalInfo.getId()));
|
||||||
|
|
||||||
|
if (count > 0) {
|
||||||
|
return Result.error("提案编号已存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
dao.update(proposalInfo,"^code|name|typeId|brief|measures|excerpt|suggestUnits|files$");
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+157
-155
@@ -67,174 +67,176 @@ public class TeacherCongressSessionServiceImpl extends BaseServiceImpl<Teacher_c
|
|||||||
session.setFullName("第" + session.getJ() + "第" + session.getC());
|
session.setFullName("第" + session.getJ() + "第" + session.getC());
|
||||||
insert(session);
|
insert(session);
|
||||||
|
|
||||||
//代表团角色ID
|
|
||||||
Sys_role delegationHeadRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_HEAD);
|
|
||||||
Sys_role delegationViceHeadRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_VICE_DELEGATION_HEAD);
|
|
||||||
Sys_role delegationContactRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_CONTACT);
|
|
||||||
|
|
||||||
// 继承上届信息
|
// 继承上届信息
|
||||||
//查询本届上次的信息
|
if (isExtend) {
|
||||||
int c_num = Convert.chineseToNumber(session.getC().replaceAll("次", ""));
|
//代表团角色ID
|
||||||
if (c_num == 1) return;
|
Sys_role delegationHeadRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_HEAD);
|
||||||
int last_c_num = c_num - 1;
|
Sys_role delegationViceHeadRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_VICE_DELEGATION_HEAD);
|
||||||
String last_c = Convert.numberToChinese(last_c_num, false);
|
Sys_role delegationContactRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_CONTACT);
|
||||||
Teacher_congress_session lastSession = fetch(Cnd.where(Teacher_congress_session::getJ, "=", session.getJ())
|
|
||||||
.and(Teacher_congress_session::getC, "=", last_c + "次"));
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(lastSession)) return;
|
//查询本届上次的信息
|
||||||
|
int c_num = Convert.chineseToNumber(session.getC().replaceAll("次", ""));
|
||||||
|
if (c_num == 1) return;
|
||||||
|
int last_c_num = c_num - 1;
|
||||||
|
String last_c = Convert.numberToChinese(last_c_num, false);
|
||||||
|
Teacher_congress_session lastSession = fetch(Cnd.where(Teacher_congress_session::getJ, "=", session.getJ())
|
||||||
|
.and(Teacher_congress_session::getC, "=", last_c + "次"));
|
||||||
|
|
||||||
//机构及机构人员数据
|
if (ObjectUtil.isEmpty(lastSession)) return;
|
||||||
List<Teacher_congress_institution> lastInstitutions = dao().query(Teacher_congress_institution.class, Cnd.where(Teacher_congress_institution::getSessionId, "=", lastSession.getId()));
|
|
||||||
List<TreeNode<String>> treeNodes = lastInstitutions.stream().map(institution -> new TreeNode<>(institution.getId(), institution.getParentId(), institution.getName(), institution.getLocation()).setExtra(Map.of("code", institution.getCode(), "sessionId", institution.getSessionId()))).toList();
|
|
||||||
List<Tree<String>> treeList = TreeUtil.build(treeNodes, "0");
|
|
||||||
insertInstitution(session.getId(), "0", treeList);
|
|
||||||
|
|
||||||
//从代表团入手
|
//机构及机构人员数据
|
||||||
List<Teacher_congress_delegation> lastDelegations = dao().query(Teacher_congress_delegation.class, Cnd.where("sessionId", "=", lastSession.getId()));
|
List<Teacher_congress_institution> lastInstitutions = dao().query(Teacher_congress_institution.class, Cnd.where(Teacher_congress_institution::getSessionId, "=", lastSession.getId()));
|
||||||
for (Teacher_congress_delegation lastDelegation : lastDelegations) {
|
List<TreeNode<String>> treeNodes = lastInstitutions.stream().map(institution -> new TreeNode<>(institution.getId(), institution.getParentId(), institution.getName(), institution.getLocation()).setExtra(Map.of("code", institution.getCode(), "sessionId", institution.getSessionId()))).toList();
|
||||||
//代表团继承
|
List<Tree<String>> treeList = TreeUtil.build(treeNodes, "0");
|
||||||
Teacher_congress_delegation newDelegation = BeanUtil.copyProperties(lastDelegation, Teacher_congress_delegation.class);
|
insertInstitution(session.getId(), "0", treeList);
|
||||||
newDelegation.setId(null);
|
|
||||||
newDelegation.setSessionId(session.getId());
|
|
||||||
dao().insert(newDelegation);
|
|
||||||
|
|
||||||
//团长角色权限继承
|
//从代表团入手
|
||||||
List<Sys_user_role> lastHeadUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
List<Teacher_congress_delegation> lastDelegations = dao().query(Teacher_congress_delegation.class, Cnd.where("sessionId", "=", lastSession.getId()));
|
||||||
.and(Sys_user_role::getRoleId, "=", delegationHeadRole.getId()));
|
for (Teacher_congress_delegation lastDelegation : lastDelegations) {
|
||||||
for (Sys_user_role lastHeadUser : lastHeadUserRoles) {
|
//代表团继承
|
||||||
Sys_user_role newHeadUser = BeanUtil.copyProperties(lastHeadUser, Sys_user_role.class);
|
Teacher_congress_delegation newDelegation = BeanUtil.copyProperties(lastDelegation, Teacher_congress_delegation.class);
|
||||||
newHeadUser.setTcDelegationId(newDelegation.getId());
|
newDelegation.setId(null);
|
||||||
newHeadUser.setTcSessionId(session.getId());
|
newDelegation.setSessionId(session.getId());
|
||||||
dao().insert(newHeadUser);
|
dao().insert(newDelegation);
|
||||||
}
|
|
||||||
//副团长角色权限继承
|
|
||||||
List<Sys_user_role> lastViceHeadUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
|
||||||
.and(Sys_user_role::getRoleId, "=", delegationViceHeadRole.getId()));
|
|
||||||
for (Sys_user_role lastViceHeadUser : lastViceHeadUserRoles) {
|
|
||||||
Sys_user_role newViceHeadUser = BeanUtil.copyProperties(lastViceHeadUser, Sys_user_role.class);
|
|
||||||
newViceHeadUser.setTcDelegationId(newDelegation.getId());
|
|
||||||
newViceHeadUser.setTcSessionId(session.getId());
|
|
||||||
dao().insert(newViceHeadUser);
|
|
||||||
}
|
|
||||||
//联络人角色权限继承
|
|
||||||
List<Sys_user_role> lastContactUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
|
||||||
.and(Sys_user_role::getRoleId, "=", delegationContactRole.getId()));
|
|
||||||
for (Sys_user_role lastContactUser : lastContactUserRoles) {
|
|
||||||
Sys_user_role newContactUser = BeanUtil.copyProperties(lastContactUser, Sys_user_role.class);
|
|
||||||
newContactUser.setTcDelegationId(newDelegation.getId());
|
|
||||||
newContactUser.setTcSessionId(session.getId());
|
|
||||||
dao().insert(newContactUser);
|
|
||||||
}
|
|
||||||
|
|
||||||
//组成分工会
|
//团长角色权限继承
|
||||||
List<Teacher_congress_delegation_union> lastDelegationUnions = dao().query(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getDelegationId, "=", lastDelegation.getId()));
|
List<Sys_user_role> lastHeadUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
||||||
List<Teacher_congress_delegation_union> newDelegationUnions = lastDelegationUnions.stream().map(lastDelegationUnion -> {
|
.and(Sys_user_role::getRoleId, "=", delegationHeadRole.getId()));
|
||||||
Teacher_congress_delegation_union newDelegationUnion = BeanUtil.copyProperties(lastDelegationUnion, Teacher_congress_delegation_union.class);
|
for (Sys_user_role lastHeadUser : lastHeadUserRoles) {
|
||||||
newDelegationUnion.setId(R.UU32());
|
Sys_user_role newHeadUser = BeanUtil.copyProperties(lastHeadUser, Sys_user_role.class);
|
||||||
newDelegationUnion.setDelegationId(newDelegation.getId());
|
newHeadUser.setTcDelegationId(newDelegation.getId());
|
||||||
newDelegationUnion.setSessionId(session.getId());
|
newHeadUser.setTcSessionId(session.getId());
|
||||||
newDelegationUnion.setCreatedAt(null);
|
dao().insert(newHeadUser);
|
||||||
newDelegationUnion.setUpdatedAt(null);
|
}
|
||||||
newDelegationUnion.setCreatedBy(null);
|
//副团长角色权限继承
|
||||||
newDelegationUnion.setUpdatedBy(null);
|
List<Sys_user_role> lastViceHeadUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
||||||
return newDelegationUnion;
|
.and(Sys_user_role::getRoleId, "=", delegationViceHeadRole.getId()));
|
||||||
}).toList();
|
for (Sys_user_role lastViceHeadUser : lastViceHeadUserRoles) {
|
||||||
dao().fastInsert(newDelegationUnions);
|
Sys_user_role newViceHeadUser = BeanUtil.copyProperties(lastViceHeadUser, Sys_user_role.class);
|
||||||
|
newViceHeadUser.setTcDelegationId(newDelegation.getId());
|
||||||
|
newViceHeadUser.setTcSessionId(session.getId());
|
||||||
//组成单位
|
dao().insert(newViceHeadUser);
|
||||||
List<Teacher_congress_delegation_unit> lastDelegationUnits = dao().query(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getDelegationId, "=", lastDelegation.getId()));
|
}
|
||||||
List<Teacher_congress_delegation_unit> newDelegationUnits = lastDelegationUnits.stream().map(lastDelegationUnit -> {
|
//联络人角色权限继承
|
||||||
Teacher_congress_delegation_unit newDelegationUnit = BeanUtil.copyProperties(lastDelegationUnit, Teacher_congress_delegation_unit.class);
|
List<Sys_user_role> lastContactUserRoles = dao().query(Sys_user_role.class, Cnd.where(Sys_user_role::getTcDelegationId, "=", lastDelegation.getId())
|
||||||
newDelegationUnit.setId(R.UU32());
|
.and(Sys_user_role::getRoleId, "=", delegationContactRole.getId()));
|
||||||
newDelegationUnit.setDelegationId(newDelegation.getId());
|
for (Sys_user_role lastContactUser : lastContactUserRoles) {
|
||||||
newDelegationUnit.setSessionId(session.getId());
|
Sys_user_role newContactUser = BeanUtil.copyProperties(lastContactUser, Sys_user_role.class);
|
||||||
newDelegationUnit.setCreatedAt(null);
|
newContactUser.setTcDelegationId(newDelegation.getId());
|
||||||
newDelegationUnit.setUpdatedAt(null);
|
newContactUser.setTcSessionId(session.getId());
|
||||||
newDelegationUnit.setCreatedBy(null);
|
dao().insert(newContactUser);
|
||||||
newDelegationUnit.setUpdatedBy(null);
|
|
||||||
return newDelegationUnit;
|
|
||||||
}).toList();
|
|
||||||
dao().fastInsert(newDelegationUnits);
|
|
||||||
}
|
|
||||||
|
|
||||||
//代表数据 单位 分工会 要根据最新的设置来调整
|
|
||||||
|
|
||||||
//代表数据
|
|
||||||
List<Teacher_congress_delegate> lastDelegates = dao().query(Teacher_congress_delegate.class, Cnd.where(Teacher_congress_delegate::getSessionId, "=", lastSession.getId()));
|
|
||||||
List<Teacher_congress_delegate> newDelegates = lastDelegates.stream().map(lastDelegate -> {
|
|
||||||
Teacher_congress_delegate newDelegate = BeanUtil.copyProperties(lastDelegate, Teacher_congress_delegate.class);
|
|
||||||
newDelegate.setId(R.UU32());
|
|
||||||
newDelegate.setSessionId(session.getId());
|
|
||||||
newDelegate.setCreatedAt(null);
|
|
||||||
newDelegate.setUpdatedAt(null);
|
|
||||||
newDelegate.setCreatedBy(null);
|
|
||||||
newDelegate.setUpdatedBy(null);
|
|
||||||
|
|
||||||
//查询本人最新的信息从用户表中
|
|
||||||
View_user vwUser = dao().fetch(View_user.class, Cnd.where(Sys_user::getId, "=", lastDelegate.getUserId()));
|
|
||||||
if (ObjectUtil.isNotEmpty(vwUser)) {
|
|
||||||
newDelegate.setUnitId(vwUser.getUnitId());
|
|
||||||
newDelegate.setUnitName(vwUser.getUnitName());
|
|
||||||
newDelegate.setUnionId(vwUser.getUnionId());
|
|
||||||
newDelegate.setUnionName(vwUser.getUnionName());
|
|
||||||
newDelegate.setSex(vwUser.getSex());
|
|
||||||
newDelegate.setMobile(vwUser.getMobile());
|
|
||||||
|
|
||||||
//去查询他当前所处的单位、分工会处于哪个代表团
|
|
||||||
if (StrUtil.isNotBlank(vwUser.getUnionId())) {
|
|
||||||
Teacher_congress_delegation_union delegationUnion = dao().fetch(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getSessionId, "=", session.getId())
|
|
||||||
.and(Teacher_congress_delegation_union::getUnionId, "=", vwUser.getUnionId()));
|
|
||||||
if (ObjectUtil.isNotEmpty(delegationUnion)) {
|
|
||||||
newDelegate.setDelegationId(delegationUnion.getDelegationId());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(vwUser.getUnitId())) {
|
//组成分工会
|
||||||
Teacher_congress_delegation_unit delegationUnit = dao().fetch(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getSessionId, "=", session.getId())
|
List<Teacher_congress_delegation_union> lastDelegationUnions = dao().query(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getDelegationId, "=", lastDelegation.getId()));
|
||||||
.and(Teacher_congress_delegation_unit::getUnitId, "=", vwUser.getUnitId()));
|
List<Teacher_congress_delegation_union> newDelegationUnions = lastDelegationUnions.stream().map(lastDelegationUnion -> {
|
||||||
if (ObjectUtil.isNotEmpty(delegationUnit)) {
|
Teacher_congress_delegation_union newDelegationUnion = BeanUtil.copyProperties(lastDelegationUnion, Teacher_congress_delegation_union.class);
|
||||||
newDelegate.setDelegationId(delegationUnit.getDelegationId());
|
newDelegationUnion.setId(R.UU32());
|
||||||
|
newDelegationUnion.setDelegationId(newDelegation.getId());
|
||||||
|
newDelegationUnion.setSessionId(session.getId());
|
||||||
|
newDelegationUnion.setCreatedAt(null);
|
||||||
|
newDelegationUnion.setUpdatedAt(null);
|
||||||
|
newDelegationUnion.setCreatedBy(null);
|
||||||
|
newDelegationUnion.setUpdatedBy(null);
|
||||||
|
return newDelegationUnion;
|
||||||
|
}).toList();
|
||||||
|
dao().fastInsert(newDelegationUnions);
|
||||||
|
|
||||||
|
|
||||||
|
//组成单位
|
||||||
|
List<Teacher_congress_delegation_unit> lastDelegationUnits = dao().query(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getDelegationId, "=", lastDelegation.getId()));
|
||||||
|
List<Teacher_congress_delegation_unit> newDelegationUnits = lastDelegationUnits.stream().map(lastDelegationUnit -> {
|
||||||
|
Teacher_congress_delegation_unit newDelegationUnit = BeanUtil.copyProperties(lastDelegationUnit, Teacher_congress_delegation_unit.class);
|
||||||
|
newDelegationUnit.setId(R.UU32());
|
||||||
|
newDelegationUnit.setDelegationId(newDelegation.getId());
|
||||||
|
newDelegationUnit.setSessionId(session.getId());
|
||||||
|
newDelegationUnit.setCreatedAt(null);
|
||||||
|
newDelegationUnit.setUpdatedAt(null);
|
||||||
|
newDelegationUnit.setCreatedBy(null);
|
||||||
|
newDelegationUnit.setUpdatedBy(null);
|
||||||
|
return newDelegationUnit;
|
||||||
|
}).toList();
|
||||||
|
dao().fastInsert(newDelegationUnits);
|
||||||
|
}
|
||||||
|
|
||||||
|
//代表数据 单位 分工会 要根据最新的设置来调整
|
||||||
|
|
||||||
|
//代表数据
|
||||||
|
List<Teacher_congress_delegate> lastDelegates = dao().query(Teacher_congress_delegate.class, Cnd.where(Teacher_congress_delegate::getSessionId, "=", lastSession.getId()));
|
||||||
|
List<Teacher_congress_delegate> newDelegates = lastDelegates.stream().map(lastDelegate -> {
|
||||||
|
Teacher_congress_delegate newDelegate = BeanUtil.copyProperties(lastDelegate, Teacher_congress_delegate.class);
|
||||||
|
newDelegate.setId(R.UU32());
|
||||||
|
newDelegate.setSessionId(session.getId());
|
||||||
|
newDelegate.setCreatedAt(null);
|
||||||
|
newDelegate.setUpdatedAt(null);
|
||||||
|
newDelegate.setCreatedBy(null);
|
||||||
|
newDelegate.setUpdatedBy(null);
|
||||||
|
|
||||||
|
//查询本人最新的信息从用户表中
|
||||||
|
View_user vwUser = dao().fetch(View_user.class, Cnd.where(Sys_user::getId, "=", lastDelegate.getUserId()));
|
||||||
|
if (ObjectUtil.isNotEmpty(vwUser)) {
|
||||||
|
newDelegate.setUnitId(vwUser.getUnitId());
|
||||||
|
newDelegate.setUnitName(vwUser.getUnitName());
|
||||||
|
newDelegate.setUnionId(vwUser.getUnionId());
|
||||||
|
newDelegate.setUnionName(vwUser.getUnionName());
|
||||||
|
newDelegate.setSex(vwUser.getSex());
|
||||||
|
newDelegate.setMobile(vwUser.getMobile());
|
||||||
|
|
||||||
|
//去查询他当前所处的单位、分工会处于哪个代表团
|
||||||
|
if (StrUtil.isNotBlank(vwUser.getUnionId())) {
|
||||||
|
Teacher_congress_delegation_union delegationUnion = dao().fetch(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getSessionId, "=", session.getId())
|
||||||
|
.and(Teacher_congress_delegation_union::getUnionId, "=", vwUser.getUnionId()));
|
||||||
|
if (ObjectUtil.isNotEmpty(delegationUnion)) {
|
||||||
|
newDelegate.setDelegationId(delegationUnion.getDelegationId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(vwUser.getUnitId())) {
|
||||||
|
Teacher_congress_delegation_unit delegationUnit = dao().fetch(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getSessionId, "=", session.getId())
|
||||||
|
.and(Teacher_congress_delegation_unit::getUnitId, "=", vwUser.getUnitId()));
|
||||||
|
if (ObjectUtil.isNotEmpty(delegationUnit)) {
|
||||||
|
newDelegate.setDelegationId(delegationUnit.getDelegationId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newDelegate;
|
||||||
|
}).toList();
|
||||||
|
dao().insert(newDelegates);
|
||||||
|
|
||||||
|
//代表权限数据
|
||||||
|
for (Teacher_congress_delegate newDelegate : newDelegates) {
|
||||||
|
Sys_user_role sysUserRole = new Sys_user_role();
|
||||||
|
sysUserRole.setTcSessionId(session.getId());
|
||||||
|
sysUserRole.setUserId(newDelegate.getUserId());
|
||||||
|
sysUserRole.setRoleId(newDelegate.getRoleId());
|
||||||
|
sysUserRole.setTcDelegationId(newDelegate.getDelegationId());
|
||||||
|
dao().insert(sysUserRole);
|
||||||
|
}
|
||||||
|
|
||||||
|
Sys_role committeeDoctorRole = sysRoleService.getByCode(RoleConstant.PROPOSAL_COMMITTEE_DIRECTOR);
|
||||||
|
|
||||||
|
//提案委员会主任权限
|
||||||
|
Teacher_congress_institution teacherCongressInstitutionProposalCommittee = dao().fetch(Teacher_congress_institution.class, Cnd.where(Teacher_congress_institution::getCode, "=", "TEACHER_CONGRESS_INSTITUTION_PROPOSAL_COMMITTEE")
|
||||||
|
.and(Teacher_congress_institution::getSessionId, "=", session.getId()));
|
||||||
|
if (ObjectUtil.isNotEmpty(teacherCongressInstitutionProposalCommittee)) {
|
||||||
|
List<Teacher_congress_institution_user> teacherCongressInstitutionUsers = dao().query(Teacher_congress_institution_user.class, Cnd.where(Teacher_congress_institution_user::getSessionId, "=", session.getId())
|
||||||
|
.and(Teacher_congress_institution_user::getInstitutionId, "=", teacherCongressInstitutionProposalCommittee.getId())
|
||||||
|
.and(Teacher_congress_institution_user::getIdentity, "=", "主任")
|
||||||
|
);
|
||||||
|
if (ObjectUtil.isNotEmpty(teacherCongressInstitutionUsers)) {
|
||||||
|
for (Teacher_congress_institution_user teacherCongressInstitutionUser : teacherCongressInstitutionUsers) {
|
||||||
|
Sys_user_role sysUserRole = new Sys_user_role();
|
||||||
|
sysUserRole.setTcSessionId(session.getId());
|
||||||
|
sysUserRole.setUserId(teacherCongressInstitutionUser.getUserId());
|
||||||
|
sysUserRole.setRoleId(committeeDoctorRole.getId());
|
||||||
|
dao().insert(sysUserRole);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return newDelegate;
|
|
||||||
}).toList();
|
|
||||||
dao().insert(newDelegates);
|
|
||||||
|
|
||||||
//代表权限数据
|
sysRoleService.clearCache();
|
||||||
for (Teacher_congress_delegate newDelegate : newDelegates) {
|
sysUserService.clearCache();
|
||||||
Sys_user_role sysUserRole = new Sys_user_role();
|
|
||||||
sysUserRole.setTcSessionId(session.getId());
|
|
||||||
sysUserRole.setUserId(newDelegate.getUserId());
|
|
||||||
sysUserRole.setRoleId(newDelegate.getRoleId());
|
|
||||||
sysUserRole.setTcDelegationId(newDelegate.getDelegationId());
|
|
||||||
dao().insert(sysUserRole);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Sys_role committeeDoctorRole = sysRoleService.getByCode(RoleConstant.PROPOSAL_COMMITTEE_DIRECTOR);
|
|
||||||
|
|
||||||
//提案委员会主任权限
|
|
||||||
Teacher_congress_institution teacherCongressInstitutionProposalCommittee = dao().fetch(Teacher_congress_institution.class, Cnd.where(Teacher_congress_institution::getCode, "=", "TEACHER_CONGRESS_INSTITUTION_PROPOSAL_COMMITTEE")
|
|
||||||
.and(Teacher_congress_institution::getSessionId, "=", session.getId()));
|
|
||||||
if (ObjectUtil.isNotEmpty(teacherCongressInstitutionProposalCommittee)) {
|
|
||||||
List<Teacher_congress_institution_user> teacherCongressInstitutionUsers = dao().query(Teacher_congress_institution_user.class, Cnd.where(Teacher_congress_institution_user::getSessionId, "=", session.getId())
|
|
||||||
.and(Teacher_congress_institution_user::getInstitutionId, "=", teacherCongressInstitutionProposalCommittee.getId())
|
|
||||||
.and(Teacher_congress_institution_user::getIdentity, "=", "主任")
|
|
||||||
);
|
|
||||||
if (ObjectUtil.isNotEmpty(teacherCongressInstitutionUsers)) {
|
|
||||||
for (Teacher_congress_institution_user teacherCongressInstitutionUser : teacherCongressInstitutionUsers) {
|
|
||||||
Sys_user_role sysUserRole = new Sys_user_role();
|
|
||||||
sysUserRole.setTcSessionId(session.getId());
|
|
||||||
sysUserRole.setUserId(teacherCongressInstitutionUser.getUserId());
|
|
||||||
sysUserRole.setRoleId(committeeDoctorRole.getId());
|
|
||||||
dao().insert(sysUserRole);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sysRoleService.clearCache();
|
|
||||||
sysUserService.clearCache();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,35 +1,101 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<style></style>
|
<style scoped>
|
||||||
|
.custom-tree {
|
||||||
|
background: transparent;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点行高调整 */
|
||||||
|
.custom-tree .el-tree-node {
|
||||||
|
margin: 2px 0;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 选中状态 */
|
||||||
|
.custom-tree .el-tree-node.is-current > .el-tree-node__content {
|
||||||
|
background: #e8f4ff;
|
||||||
|
border-left: 3px solid #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点内容区域 */
|
||||||
|
.custom-tree .el-tree-node__content {
|
||||||
|
height: 36px;
|
||||||
|
line-height: 36px;
|
||||||
|
padding: 0 8px;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 自定义节点内容 */
|
||||||
|
.custom-tree-node {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 文件夹图标颜色优化 */
|
||||||
|
.el-icon-folder {
|
||||||
|
color: #909399;
|
||||||
|
}
|
||||||
|
.el-icon-folder-opened {
|
||||||
|
color: #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 展开时图标旋转动画 */
|
||||||
|
.custom-tree .el-tree-node__expand-icon {
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
.custom-tree .el-tree-node__expand-icon.expanded {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点标签 */
|
||||||
|
.node-label {
|
||||||
|
flex: 1;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #303133;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 禁用展开图标(当无子节点时) */
|
||||||
|
.custom-tree .el-tree-node__expand-icon.is-leaf {
|
||||||
|
color: transparent;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<el-row type="flex" :gutter="20" style="height: calc(100vh - 126px)">
|
<el-row type="flex" :gutter="20" style="height: calc(100vh - 126px)">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-input placeholder="输入关键字进行查找" v-model="filterText" clearable></el-input>
|
<el-input placeholder="输入关键字进行查找" v-model="filterText" clearable></el-input>
|
||||||
<div style="max-height: calc(100vh - 200px); overflow-y: auto">
|
<div style="max-height: calc(100vh - 200px); overflow-y: auto">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
ref="treeRef"
|
ref="treeRef"
|
||||||
:expand-on-click-node="false"
|
:expand-on-click-node="false"
|
||||||
:props="{
|
:props="{ children: 'children', label: 'name' }"
|
||||||
children: 'children',
|
node-key="id"
|
||||||
label: 'name'
|
default-expand-all
|
||||||
}"
|
@node-click="treeNodeClick"
|
||||||
node-key="id"
|
:filter-node-method="filterNode"
|
||||||
default-expand-all
|
highlight-current
|
||||||
@node-click="treeNodeClick"
|
class="custom-tree"
|
||||||
:filter-node-method="filterNode"
|
>
|
||||||
highlight-current
|
<template slot-scope="{ node, data }">
|
||||||
>
|
<span class="custom-tree-node">
|
||||||
<template slot-scope="{ node, data }">
|
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
||||||
<span class="el-tree-node__label">
|
<i class="el-icon-folder" v-else></i>
|
||||||
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
<span class="node-label">{{ node.label }}</span>
|
||||||
<i class="el-icon-folder" v-else></i>
|
</span>
|
||||||
{{node.label}}
|
</template>
|
||||||
</span>
|
</el-tree>
|
||||||
</template>
|
|
||||||
</el-tree>
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const UNIT_MANAGE_TEMPLATE = {
|
const UNIT_MANAGE_TEMPLATE = {
|
||||||
template: `
|
template: /*language=HTML*/ `
|
||||||
<div>
|
<div>
|
||||||
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter);">
|
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter);">
|
||||||
<el-row :gutter="10" type="flex">
|
<el-row :gutter="10" type="flex">
|
||||||
@@ -9,7 +9,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
</el-card>
|
</el-card>
|
||||||
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter); margin-top: 10px">
|
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter); margin-top: 10px">
|
||||||
<table-tool label="单位列表">
|
<table-tool label="单位列表">
|
||||||
<!-- <el-button @click="openAdd" type="primary" size="small">新建单位</el-button>-->
|
<el-button @click="openAdd" type="primary" size="small">新建单位</el-button>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" size="mini">
|
<el-table :data="tableData" size="mini">
|
||||||
<el-table-column label="序号" type="index" width="60">
|
<el-table-column label="序号" type="index" width="60">
|
||||||
@@ -30,10 +30,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
|
|
||||||
<el-dialog title="设置单位" :visible.sync="dialogVisible" :close-on-click-modal="false" width="40%" top="2%">
|
<el-dialog title="设置单位" :visible.sync="dialogVisible" :close-on-click-modal="false" width="40%" top="2%">
|
||||||
<el-form :model="formData" ref="form" :rules="formRules" size="small" label-width="80px">
|
<el-form :model="formData" ref="form" :rules="formRules" size="small" label-width="80px">
|
||||||
<el-form-item v-if="formData.id === '' || formData.id === null || currentNode === 1" prop="parentId" label="上级单位" label-width="80px">
|
<el-form-item label="上级单位">
|
||||||
<el-cascader :props="props" :options="options" v-model="parentUnit" placeholder="请选择上次单位,不选择则为顶级" style="width: 100%"></el-cascader>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-else label="上级单位">
|
|
||||||
<el-input maxlength="100" disabled :value="currentData?.name" type="text"></el-input>
|
<el-input maxlength="100" disabled :value="currentData?.name" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="name" label="单位名称">
|
<el-form-item prop="name" label="单位名称">
|
||||||
@@ -47,10 +44,20 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="unitLevel" label="单位等级">
|
<el-form-item prop="unitLevel" label="单位等级">
|
||||||
<el-select v-model="formData.unitLevel" placeholder="请输入单位等级" style="width: 100%">
|
<el-select v-model="formData.unitLevel" placeholder="请输入单位等级" style="width: 100%">
|
||||||
|
<el-option v-if="unitLevel === 1" label="一级单位" :value="1"></el-option>
|
||||||
<el-option v-if="unitLevel === 2" label="二级单位" :value="2"></el-option>
|
<el-option v-if="unitLevel === 2" label="二级单位" :value="2"></el-option>
|
||||||
<el-option v-if="unitLevel === 3" label="三级单位" :value="3"></el-option>
|
<el-option v-if="unitLevel === 3" label="三级单位" :value="3"></el-option>
|
||||||
|
<el-option v-if="unitLevel === 4" label="四级单位" :value="4"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item prop="unionId" label="所属工会">
|
||||||
|
<el-select v-model="formData.unionId" placeholder="请选择所属工会" style="width: 100%">
|
||||||
|
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||||
|
v-for="item in unions"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item prop="address" label="单位地址">-->
|
<!-- <el-form-item prop="address" label="单位地址">-->
|
||||||
<!-- <el-input maxlength="100" placeholder="请输入单位地址" v-model="formData.address" auto-complete="off" tabindex="5" type="text"></el-input>-->
|
<!-- <el-input maxlength="100" placeholder="请输入单位地址" v-model="formData.address" auto-complete="off" tabindex="5" type="text"></el-input>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
@@ -88,6 +95,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
store,
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageForm: {
|
pageForm: {
|
||||||
@@ -107,7 +115,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
formRules: {
|
formRules: {
|
||||||
name: [{ required: true, message: "必填", trigger: "blur" }],
|
name: [{ required: true, message: "必填", trigger: "blur" }],
|
||||||
unitcode: [{ required: true, message: "必填", trigger: "blur" }],
|
unitcode: [{ required: true, message: "必填", trigger: "blur" }],
|
||||||
unitLevel: [{ required: true, message: "必填", trigger: "blur" }],
|
unitLevel: [{ required: false, message: "必填", trigger: "blur" }],
|
||||||
email: [
|
email: [
|
||||||
{ required: false, message: "单位邮箱", trigger: "blur" },
|
{ required: false, message: "单位邮箱", trigger: "blur" },
|
||||||
{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
|
{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
|
||||||
@@ -115,24 +123,8 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
},
|
},
|
||||||
options: [],
|
options: [],
|
||||||
parentUnit: [],
|
parentUnit: [],
|
||||||
props: {
|
|
||||||
lazy: true,
|
unions: [],
|
||||||
checkStrictly: true,
|
|
||||||
multiple: false,
|
|
||||||
lazyLoad: function (node, resolve) {
|
|
||||||
var url = base + "/platform/sys/unit/cascaderData"
|
|
||||||
$.post(
|
|
||||||
url,
|
|
||||||
{ pid: node.value },
|
|
||||||
function (data) {
|
|
||||||
if (data.code === 0) {
|
|
||||||
resolve(data.data)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"json"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
@@ -148,26 +140,29 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
this.options = []
|
this.options = []
|
||||||
},
|
},
|
||||||
doHandle() {
|
doHandle() {
|
||||||
const self = this
|
this.$confirm("确定要提交吗?", "提示", {
|
||||||
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
confirmButtonText: "确定",
|
||||||
this.$refs["form"].validate(async function (valid) {
|
cancelButtonText: "取消",
|
||||||
if (valid) {
|
type: "warning"
|
||||||
if (!self.formData.id) {
|
}).then(() => {
|
||||||
self.formData.parentId = self.parentUnit[self.parentUnit.length - 1] || ""
|
const self = this
|
||||||
|
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
||||||
|
this.$refs["form"].validate(async function (valid) {
|
||||||
|
if (valid) {
|
||||||
|
if (self.currentNode) {
|
||||||
|
self.formData.parentId = self.currentData.id
|
||||||
|
}
|
||||||
|
const resp = await self.$axios.post(url, self.formData)
|
||||||
|
if (resp.code === 0) {
|
||||||
|
self.$message.success(resp.msg)
|
||||||
|
self.doSearch()
|
||||||
|
self.dialogVisible = false
|
||||||
|
self.$emit("refresh", null)
|
||||||
|
} else {
|
||||||
|
self.$message.warning(resp.msg)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (self.currentNode !== 1) {
|
})
|
||||||
self.formData.parentId = self.currentData.id
|
|
||||||
}
|
|
||||||
const resp = await self.$axios.post(url, self.formData)
|
|
||||||
if (resp.code === 0) {
|
|
||||||
self.$message.success(resp.msg)
|
|
||||||
self.doSearch()
|
|
||||||
self.dialogVisible = false
|
|
||||||
self.$emit("refresh", null)
|
|
||||||
} else {
|
|
||||||
self.$message.warning(resp.msg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async openEdit(id) {
|
async openEdit(id) {
|
||||||
@@ -216,7 +211,13 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
async created() {
|
||||||
this.pageData()
|
this.pageData()
|
||||||
|
|
||||||
|
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
|
||||||
|
this.unions = await this.$businessTool.listUnion()
|
||||||
|
} else {
|
||||||
|
this.unions = await this.$businessTool.listUnion(this.store.state.user.union.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -337,7 +337,9 @@ layout("/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
listSession() {
|
listSession() {
|
||||||
this.$axios.post("/platform/proposal/common/listSession").then((res) => {
|
this.$axios.post("/platform/proposal/common/listSession", {
|
||||||
|
orderBy: "asc"
|
||||||
|
}).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.sessionOptions = res.data
|
this.sessionOptions = res.data
|
||||||
if (this.sessionOptions) {
|
if (this.sessionOptions) {
|
||||||
|
|||||||
+1
-1
@@ -140,7 +140,7 @@ layout("/layouts/platform.html"){
|
|||||||
<!--#include("../../common/info.js"){}#-->
|
<!--#include("../../common/info.js"){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
dicts: ["PROPOSAL_TYPE", "PROPOSAL_CASE_FILING_RESULT"],
|
dicts: ["PROPOSAL_TYPE", "PROPOSAL_CASE_FILING_RESULT", "PROPOSAL_CASE_FILING_TYPE"],
|
||||||
store,
|
store,
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
+30
-23
@@ -128,29 +128,36 @@ layout("/layouts/platform.html"){
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20" type="flex">
|
<el-row :gutter="20" type="flex">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="提案编号" prop="code"
|
||||||
|
:rules="[{required:true,message:'请输入提案编号',trigger:'blur'}]">
|
||||||
|
<el-input maxlength="100" placeholder="提案编号" v-model="formData.code"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="提案名称" prop="name"
|
<el-form-item label="提案名称" prop="name"
|
||||||
:rules="[{required:true,message:'请输入提案名称',trigger:'blur'}]">
|
:rules="[{required:true,message:'请输入提案名称',trigger:'blur'}]">
|
||||||
<el-input maxlength="100" placeholder="提案名称" v-model="formData.name"></el-input>
|
<el-input maxlength="100" placeholder="提案名称" v-model="formData.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="提案方式" prop="source">
|
|
||||||
<el-input :value="dict.type.PROPOSAL_SOURCE.find(v=>v.code === formData.source)?.name"
|
|
||||||
disabled></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20" type="flex">
|
<el-row :gutter="20" type="flex">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="提案类别" prop="typeId">
|
<el-form-item label="提案方式" prop="source">
|
||||||
<el-select v-model="formData.typeId" style="width: 100%">
|
<el-input :value="dict.type.PROPOSAL_SOURCE.find(v=>v.code === formData.source)?.name"
|
||||||
<el-option :key="item.code" :label="item.name" :value="item.id"
|
disabled></el-input>
|
||||||
v-for="item in typeOptions"></el-option>
|
</el-form-item>
|
||||||
</el-select>
|
</el-col>
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
<el-col :span="12">
|
||||||
|
<el-form-item label="提案类别" prop="typeId">
|
||||||
|
<el-select v-model="formData.typeId" style="width: 100%">
|
||||||
|
<el-option :key="item.code" :label="item.name" :value="item.id"
|
||||||
|
v-for="item in typeOptions"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- <el-form-item label="提案摘要" prop="excerpt">-->
|
<!-- <el-form-item label="提案摘要" prop="excerpt">-->
|
||||||
@@ -177,15 +184,15 @@ layout("/layouts/platform.html"){
|
|||||||
<text-editor v-model="formData.measures" key="measures"
|
<text-editor v-model="formData.measures" key="measures"
|
||||||
placeholder="建议措施"></text-editor>
|
placeholder="建议措施"></text-editor>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="附件上传" prop="files">-->
|
<el-form-item label="附件上传" prop="files">
|
||||||
<!-- <file-upload-->
|
<file-upload
|
||||||
<!-- :value.sync="formData.files"-->
|
:value.sync="formData.files"
|
||||||
<!-- :upload_number="5"-->
|
:upload_number="5"
|
||||||
<!-- upload_result_category="array"-->
|
upload_result_category="array"
|
||||||
<!-- upload_mode="drag"-->
|
upload_mode="drag"
|
||||||
<!-- complete_result-->
|
complete_result
|
||||||
<!-- ></file-upload>-->
|
></file-upload>
|
||||||
<!-- </el-form-item>-->
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="end">
|
<el-row type="flex" justify="end">
|
||||||
<el-button @click="$refs.guava.index()">取 消</el-button>
|
<el-button @click="$refs.guava.index()">取 消</el-button>
|
||||||
|
|||||||
-12
@@ -92,17 +92,6 @@ layout("/layouts/platform.html"){
|
|||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
|
||||||
<el-form-item label="通讯地址" prop="tf_address" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
|
||||||
<el-input v-model="formData.tf_address" placeholder="请输入通讯地址" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="联系电话" prop="tf_phone" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
|
||||||
<el-input v-model="formData.tf_phone" placeholder="请输入联系电话" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="邮政编码" prop="tf_postcode" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
|
||||||
<el-input v-model="formData.tf_postcode" placeholder="请输入邮政编码" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="end">
|
<el-row type="flex" justify="end">
|
||||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
@@ -231,7 +220,6 @@ layout("/layouts/platform.html"){
|
|||||||
if (this.sessionOptions) {
|
if (this.sessionOptions) {
|
||||||
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
|
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
|
||||||
this.pageData()
|
this.pageData()
|
||||||
this.listDelegation()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ layout("/layouts/platform.html"){
|
|||||||
<template v-else-if="column.prop === 'merge'" scope="{row}">
|
<template v-else-if="column.prop === 'merge'" scope="{row}">
|
||||||
<el-tag v-if="row.merge" size="small">是</el-tag>
|
<el-tag v-if="row.merge" size="small">是</el-tag>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'taskName'" scope="{row}">
|
||||||
|
<span>{{ (row.startTaskId) ? row.taskName : '待提交' }}</span>
|
||||||
|
</template>
|
||||||
<template v-else-if="column.prop === 'instanceState'" scope="{row}">
|
<template v-else-if="column.prop === 'instanceState'" scope="{row}">
|
||||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||||
size="small"></enum-tag>
|
size="small"></enum-tag>
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ const PROPOSAL_INFO = {
|
|||||||
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
||||||
:value="viewData.caseFilingResult"></dict-tag>
|
:value="viewData.caseFilingResult"></dict-tag>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
<van-cell title="调研情况" class="direction-column-cell">
|
<!--<van-cell title="调研情况" class="direction-column-cell">
|
||||||
<div v-html="viewData.researchFindings"></div>
|
<div v-html="viewData.researchFindings"></div>
|
||||||
</van-cell>
|
</van-cell>-->
|
||||||
<van-cell title="提案案由" class="direction-column-cell">
|
<van-cell title="提案案由" class="direction-column-cell">
|
||||||
<div v-html="viewData.brief"></div>
|
<div v-html="viewData.brief"></div>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
<table-column label="提案类别">{{row.typeName}}</table-column>
|
<table-column label="提案类别">{{row.typeName}}</table-column>
|
||||||
<table-column label="提案人">{{row.createUserName}}</table-column>
|
<table-column label="提案人">{{row.createUserName}}</table-column>
|
||||||
<table-column label="代表团">{{row.delegationName}}</table-column>
|
<table-column label="代表团">{{row.delegationName}}</table-column>
|
||||||
<table-column label="当前节点">{{row.taskName}}</table-column>
|
<table-column label="当前节点">{{ (row.startTaskId) ? row.taskName : '待提交' }}</table-column>
|
||||||
</template>
|
</template>
|
||||||
<template #actions="{index,row}">
|
<template #actions="{index,row}">
|
||||||
<div class="action-btn" @click="onView(row)">
|
<div class="action-btn" @click="onView(row)">
|
||||||
|
|||||||
+1
-1
@@ -54,7 +54,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
<div class="action-btn" v-if="!pageForm.approval && $auth.hasRoleOr('SYSADMIN,PROPOSAL_UNIT_LEADER')"
|
<div class="action-btn" v-if="!pageForm.approval && $auth.hasRoleOr('SYSADMIN,PROPOSAL_UNIT_LEADER')"
|
||||||
@click="openTransfer(row)">
|
@click="openTransfer(row)">
|
||||||
<i class="fa fa-arrow-right"></i>
|
<i class="fa fa-arrow-right"></i>
|
||||||
<span>转办</span>
|
<span>转交</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</table-list>
|
</table-list>
|
||||||
|
|||||||
+1
-1
@@ -308,7 +308,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
|
|
||||||
<!-- 附件上传 -->
|
<!-- 附件上传 -->
|
||||||
<van-cell-group title="附件上传" class="form-group">
|
<van-cell-group title="附件上传" class="form-group">
|
||||||
<van-field label="附件" name="files" required class="direction-column-field">
|
<van-field label="附件" name="files" class="direction-column-field">
|
||||||
<h5-file-upload
|
<h5-file-upload
|
||||||
slot="input"
|
slot="input"
|
||||||
:value.sync="formData.files"
|
:value.sync="formData.files"
|
||||||
|
|||||||
Reference in New Issue
Block a user