commit
This commit is contained in:
@@ -13,17 +13,32 @@ public class ClubRegistAuditState {
|
||||
public static final Integer NOT_SUBMIT = 800;
|
||||
|
||||
/**
|
||||
* 待宣体办公室审核
|
||||
* 待二级单位党委书记审核
|
||||
*/
|
||||
public static final Integer UNIT_PART_READY = 801;
|
||||
|
||||
/**
|
||||
* 二级单位党委书记退回修改
|
||||
*/
|
||||
public static final Integer UNIT_PART_BACK_MODIFY = 802;
|
||||
|
||||
/**
|
||||
* 二级单位党委书记审核拒绝
|
||||
*/
|
||||
public static final Integer UNIT_PART_REJECTED = 803;
|
||||
|
||||
/**
|
||||
* 待校办公室主管审核
|
||||
*/
|
||||
public static final Integer XT_READY = 810;
|
||||
|
||||
/**
|
||||
* 宣体办公室退回修改
|
||||
* 校办公室主管退回修改
|
||||
*/
|
||||
public static final Integer XT_BACK_MODIFY = 820;
|
||||
|
||||
/**
|
||||
* 宣体办公室审核拒绝
|
||||
* 校办公室主管审核拒绝
|
||||
*/
|
||||
public static final Integer XT_REJECTED = 830;
|
||||
|
||||
|
||||
+15
-7
@@ -7,6 +7,7 @@ import io.v.nutz.base.model.Audit;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.sys.controllers.platform.sys.handler.ClubEvaluateToDoHandler;
|
||||
import io.v.nutz.sys.controllers.platform.sys.handler.ClubExamineToDoHandler;
|
||||
import io.v.nutz.sys.models.Sys_club;
|
||||
import io.v.nutz.sys.models.Sys_user_role;
|
||||
import io.v.nutz.sys.models.sys_club_examine_register;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
@@ -69,7 +70,8 @@ public class ClubExamineRegisterHzAuditController {
|
||||
u.username,
|
||||
sc.concatPersonMobile,
|
||||
st.stateName,
|
||||
st.stateColor
|
||||
st.stateColor,
|
||||
sc.sponsorType
|
||||
FROM
|
||||
`sys_club_examine_register` scer
|
||||
LEFT JOIN sys_club sc ON sc.id = scer.clubId
|
||||
@@ -93,10 +95,10 @@ public class ClubExamineRegisterHzAuditController {
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
baseService.dao().insert(audit);
|
||||
sys_club_examine_register examineRegister = baseService.dao().fetch(sys_club_examine_register.class, id);
|
||||
Sys_club sysClub = baseService.dao().fetch(Sys_club.class, examineRegister.getClubId());
|
||||
int auditId;
|
||||
//审核通过1.完成任务,2.给校工会发任务
|
||||
//审核拒绝1.完成任务,2.给申请人发任务
|
||||
ClubExamineToDoHandler.COMPLETE_CLUB_TASK.exec(examineRegister);
|
||||
if (flag == 1) {
|
||||
auditId = 5095;
|
||||
ClubExamineToDoHandler.CREATE_APPLY_TASK.exec(examineRegister);
|
||||
@@ -104,10 +106,18 @@ public class ClubExamineRegisterHzAuditController {
|
||||
auditId = 5093;
|
||||
ClubExamineToDoHandler.CREATE_APPLY_TASK.exec(examineRegister);
|
||||
} else {
|
||||
auditId = 6010;
|
||||
ClubExamineToDoHandler.CREATE_SCHOOL_TASK.exec(examineRegister);
|
||||
if(sysClub.getSponsorType() == 1) {
|
||||
auditId = 6007;
|
||||
ClubExamineToDoHandler.CREATE_UNIT_PART_TASK.exec(examineRegister);
|
||||
} else {
|
||||
auditId = 6010;
|
||||
ClubExamineToDoHandler.CREATE_SCHOOL_TASK.exec(examineRegister);
|
||||
}
|
||||
}
|
||||
baseService.dao().update(sys_club_examine_register.class, Chain.make("auditId", auditId).add("hzAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
examineRegister.setHzAuditId(audit.getId());
|
||||
examineRegister.setAuditId(auditId);
|
||||
baseService.dao().update(examineRegister);
|
||||
ClubExamineToDoHandler.COMPLETE_CLUB_TASK.exec(examineRegister);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -115,9 +125,7 @@ public class ClubExamineRegisterHzAuditController {
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.examine.registerHzAudit")
|
||||
public Object doRecall(String id) {
|
||||
|
||||
baseService.dao().update(sys_club_examine_register.class, Chain.make("auditId", 5090).add("hzAuditId", null), Cnd.where("id", "=", id));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
package io.v.nutz.sys.controllers.platform.sys.club.examine;
|
||||
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.model.Audit;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.base.service.BaseService;
|
||||
import io.v.nutz.base.utils.Roles;
|
||||
import io.v.nutz.sys.controllers.platform.sys.handler.ClubExamineToDoHandler;
|
||||
import io.v.nutz.sys.models.Sys_user_role;
|
||||
import io.v.nutz.sys.models.sys_club_examine_register;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/sys/club/examine/register/unitPartAudit")
|
||||
@Ok("json:full")
|
||||
public class ClubExamineRegisterUnitPartAuditController {
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/sys/club/examine/registerUnitPartAudit.html")
|
||||
@RequiresPermissions("sys.club.examine.unitPartAudit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.examine.unitPartAudit")
|
||||
public Object pageData(PageForm page,
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "clubId", required = false) String clubId,
|
||||
@Param(value = "flag", required = false) boolean flag) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
scer.*,
|
||||
u.username,
|
||||
sc.concatPersonMobile,
|
||||
st.stateName,
|
||||
st.stateColor
|
||||
FROM
|
||||
`sys_club_examine_register` scer
|
||||
LEFT JOIN sys_club sc ON sc.id = scer.clubId
|
||||
LEFT JOIN `user` u ON u.id = sc.concatPerson
|
||||
LEFT JOIN `user` u1 ON u1.id = sc.userid
|
||||
LEFT JOIN audit_state st ON st.stateId = scer.auditId
|
||||
$condition
|
||||
""");
|
||||
if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "A06", "xxhgly"})) {
|
||||
cnd.and("u1.unitId", "=", ShiroUtil.getUnitId());
|
||||
}
|
||||
cnd.andEX("YEAR(scer.registerDate)", "=", year);
|
||||
cnd.andEX("scer.clubId", "=", clubId);
|
||||
cnd.and("scer.auditId", flag ? ">" : "=", 6007);
|
||||
sql.setCondition(cnd);
|
||||
return baseService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("sys.club.examine.unitPartAudit")
|
||||
public Object doReview(String id, Integer flag, Audit audit) {
|
||||
audit.setAuditor(ShiroUtil.getPrincipalProperty("id").toString());
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
baseService.dao().insert(audit);
|
||||
sys_club_examine_register examineRegister = baseService.dao().fetch(sys_club_examine_register.class, id);
|
||||
int auditId;
|
||||
//审核通过1.完成任务,2.给校工会发任务
|
||||
//审核拒绝1.完成任务,2.给申请人发任务
|
||||
|
||||
if (flag == 1) {
|
||||
auditId = 6009;
|
||||
ClubExamineToDoHandler.CREATE_APPLY_TASK.exec(examineRegister);
|
||||
} else if (flag == 2) {
|
||||
auditId = 6008;
|
||||
ClubExamineToDoHandler.CREATE_APPLY_TASK.exec(examineRegister);
|
||||
} else {
|
||||
auditId = 6010;
|
||||
ClubExamineToDoHandler.CREATE_SCHOOL_TASK.exec(examineRegister);
|
||||
}
|
||||
examineRegister.setAuditId(auditId);
|
||||
examineRegister.setUnitPartAuditId(audit.getId());
|
||||
baseService.dao().update(examineRegister);
|
||||
ClubExamineToDoHandler.COMPLETE_UNIT_PART_TASK.exec(examineRegister);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.examine.unitPartAudit")
|
||||
public Object doRecall(String id) {
|
||||
baseService.dao().update(sys_club_examine_register.class, Chain.make("auditId", 6007).add("unitPartAuditId", null), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+3
@@ -133,6 +133,9 @@ public class ClubMyApplyController {
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
NutMap result = (NutMap) sql.getResult();
|
||||
if (Strings.isNotBlank(result.getString("unitPartAuditId"))) {
|
||||
result.put("unitPartAudit", dao.fetch(Audit.class, result.getString("unitPartAuditId")));
|
||||
}
|
||||
if (Strings.isNotBlank(result.getString("xghAuditId"))) {
|
||||
result.put("xghAudit", dao.fetch(Audit.class, result.getString("xghAuditId")));
|
||||
}
|
||||
|
||||
+7
-5
@@ -58,7 +58,7 @@ public class ClubRegistApplyController {
|
||||
@RequiresPermissions("sys.club.clubRegist.clubRegistApply")
|
||||
public Object getClubCode() {
|
||||
String maxNum = (String) dao.func2(Sys_club.class, "max", "code", Cnd.where("year(create_time)", "=", DateUtil.getYear()));
|
||||
if(StrUtil.isNotBlank(maxNum)) {
|
||||
if(StrUtil.isBlank(maxNum)) {
|
||||
maxNum = DateUtil.getYear() + "000";
|
||||
}
|
||||
return Integer.parseInt(maxNum) + 1;
|
||||
@@ -77,7 +77,11 @@ public class ClubRegistApplyController {
|
||||
club.setFoundTime(DateUtil.getDateTime());
|
||||
club.setState(isSave ? ClubRegistAuditState.NOT_SUBMIT : ClubRegistAuditState.SCHOOL_PASS);
|
||||
} else {
|
||||
club.setState(isSave ? ClubRegistAuditState.NOT_SUBMIT : ClubRegistAuditState.XLD_READY);
|
||||
if(isSave) {
|
||||
club.setState(ClubRegistAuditState.NOT_SUBMIT);
|
||||
} else {
|
||||
club.setState(club.getSponsorType() == 1 ? ClubRegistAuditState.UNIT_PART_READY : ClubRegistAuditState.XT_READY);
|
||||
}
|
||||
}
|
||||
club.setUserid(ShiroUtil.getPlatformUid());
|
||||
club.setCreate_time(DateUtil.getDateTime());
|
||||
@@ -143,14 +147,12 @@ public class ClubRegistApplyController {
|
||||
@Param(value = "::managePerson", required = false) List<NutMap> managePerson) throws IOException {
|
||||
|
||||
if (!isSave && !ShiroUtil.hasAnyRoles("sysadmin, A06, xxhgly")) {
|
||||
club.setState(ClubRegistAuditState.XT_READY);
|
||||
club.setState(club.getSponsorType() == 1 ? ClubRegistAuditState.UNIT_PART_READY : ClubRegistAuditState.XT_READY);
|
||||
club.setXtAuditId("");
|
||||
club.setXldAuditId("");
|
||||
}
|
||||
if (!isSave && ShiroUtil.hasAnyRoles("sysadmin, A06, xxhgly")) {
|
||||
club.setState(ClubRegistAuditState.SCHOOL_PASS);
|
||||
club.setXtAuditId("");
|
||||
club.setXldAuditId("");
|
||||
}
|
||||
sysClubService.update(club);
|
||||
dao.clear(Sys_club_sponsor.class, Cnd.where("clubId", "=", club.getId()));
|
||||
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
package io.v.nutz.sys.controllers.platform.sys.club.regist;
|
||||
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.model.Audit;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.sys.constant.club.ClubRegistAuditState;
|
||||
import io.v.nutz.sys.models.Sys_club;
|
||||
import io.v.nutz.sys.services.SysClubService;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author JyuHsin
|
||||
* @Date 2022/4/14
|
||||
* @Description 二级单位审核
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/sys/club/unitPartAudit")
|
||||
@Ok("json")
|
||||
public class ClubUnitPartAuditController {
|
||||
|
||||
@Inject
|
||||
private SysClubService sysClubService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/sys/club/regist/unitPartAudit.html")
|
||||
@RequiresPermissions("sys.club.clubRegist.unitPartAudit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.clubRegist.unitPartAudit")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "name", required = false) String name,
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "isAudit", required = false) Boolean isAudit) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "A06", "xxhgly"})) {
|
||||
cnd.and("u.unitId", "=", ShiroUtil.getUnitId());
|
||||
}
|
||||
if (isAudit == null) {
|
||||
cnd.and("c.state", ">=", ClubRegistAuditState.UNIT_PART_READY);
|
||||
} else if (isAudit) {
|
||||
cnd.and("c.state", ">", ClubRegistAuditState.UNIT_PART_READY);
|
||||
} else {
|
||||
cnd.and("c.state", "=", ClubRegistAuditState.UNIT_PART_READY);
|
||||
}
|
||||
Pagination pagination = sysClubService.pageData(cnd, pageForm, year, name);
|
||||
return pagination;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.clubRegist.unitPartAudit")
|
||||
public Object doReview(Audit audit, String clubId, Integer pass) {
|
||||
audit.setAuditor(ShiroUtil.getPlatformUid());
|
||||
audit.setLoginname(ShiroUtil.getPlatformLoginname());
|
||||
audit.setUsername(ShiroUtil.getPlatformUsername());
|
||||
audit.setAuditTime(new Date());
|
||||
audit = dao.insert(audit);
|
||||
Sys_club club = dao.fetch(Sys_club.class, clubId);
|
||||
|
||||
if (pass == 1) {
|
||||
club.setState(ClubRegistAuditState.UNIT_PART_REJECTED);
|
||||
} else if (pass == 2) {
|
||||
club.setState(ClubRegistAuditState.UNIT_PART_BACK_MODIFY);
|
||||
} else {
|
||||
club.setState(ClubRegistAuditState.XT_READY);
|
||||
}
|
||||
club.setUnitPartAuditId(audit.getId());
|
||||
dao.updateIgnoreNull(club);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.club.clubRegist.unitPartAudit")
|
||||
public Object rollback(String id) {
|
||||
dao.update(Sys_club.class, Chain.make("state", ClubRegistAuditState.UNIT_PART_READY), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -79,7 +79,7 @@ public class ClubXTAuditController {
|
||||
} else if (pass == 2) {
|
||||
club.setState(ClubRegistAuditState.XT_BACK_MODIFY);
|
||||
} else {
|
||||
club.setState(ClubRegistAuditState.XLD_READY);
|
||||
club.setState(ClubRegistAuditState.XGH_READY);
|
||||
}
|
||||
club.setXtAuditId(audit.getId());
|
||||
dao.updateIgnoreNull(club);
|
||||
|
||||
+51
@@ -130,6 +130,57 @@ public enum ClubExamineToDoHandler {
|
||||
);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 给二级单位发任务
|
||||
*/
|
||||
CREATE_UNIT_PART_TASK() {
|
||||
@Override
|
||||
public void exec(sys_club_examine_register examineRegister) {
|
||||
//查询二级单位党委书记
|
||||
Sql sqlStr = Sqls.create("""
|
||||
SELECT
|
||||
u.loginname
|
||||
FROM
|
||||
sys_user_role sur
|
||||
LEFT JOIN `user` u ON u.id = sur.userid
|
||||
$condition
|
||||
GROUP BY
|
||||
sur.userId
|
||||
""");
|
||||
sqlStr.setCondition(Cnd.NEW().and("sur.roleId", "=", Roles.GH03));
|
||||
Sql sql = Sqls.queryString(sqlStr.toString());
|
||||
dao.execute(sql);
|
||||
List<String> loginNames = sql.getList(String.class);
|
||||
localProcessService.createTask(
|
||||
"sys_club_examine_register@" + examineRegister.getId(),
|
||||
"unitPartAuditId",
|
||||
"二级单位审核",
|
||||
ShiroUtil.getUserId(),
|
||||
loginNames,
|
||||
"/platform/sys/club/examine/register/xghAudit",
|
||||
"/platform/sys/club/examine/register/xghAudit",
|
||||
"",
|
||||
""
|
||||
);
|
||||
localProcessService.updateProcessNodeName("sys_club_examine_register@" + examineRegister.getId(), "二级单位审核");
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 二级单位任务完成
|
||||
*/
|
||||
COMPLETE_UNIT_PART_TASK() {
|
||||
@Override
|
||||
public void exec(sys_club_examine_register examineRegister) {
|
||||
Audit audit = dao.fetch(Audit.class, examineRegister.getUnitPartAuditId());
|
||||
localProcessService.completeTask(
|
||||
"unitPartAuditId",
|
||||
"sys_club_examine_register@" + examineRegister.getId(),
|
||||
ShiroUtil.getUserId(),
|
||||
audit.getAuditOpinion()
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 给校工会发任务
|
||||
*/
|
||||
|
||||
@@ -129,6 +129,11 @@ public class Sys_club {
|
||||
@Many(field = "clubId")
|
||||
private List<Sys_club_sponsor> sponsors;
|
||||
|
||||
@Column
|
||||
@Comment("二级单位党委书记审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unitPartAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("宣体办公室审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@@ -163,4 +168,9 @@ public class Sys_club {
|
||||
@Comment("修改章程状态(1.待校工会审核 2.校工会审核拒绝 3.审核通过)")
|
||||
@ColDefine(type = ColType.INT, width = 10)
|
||||
private Integer ruleState;
|
||||
|
||||
@Column
|
||||
@Comment("发起类型(1.基层单位申请,2.协会发起人申请)")
|
||||
@ColDefine(type = ColType.INT, width = 10)
|
||||
private Integer sponsorType;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,6 @@ public class sys_club_examine_register {
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<NutMap> incomeCensus;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("审核状态")
|
||||
@ColDefine(type = ColType.INT)
|
||||
@@ -94,6 +93,11 @@ public class sys_club_examine_register {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String hzAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("二级单位审核意见id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unitPartAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("校工会审核意见id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
|
||||
@@ -50,12 +50,15 @@ public class ClubExamineRegisterServiceImpl extends ViServiceImpl implements Clu
|
||||
Audit hzAudit = dao().fetch(Audit.class, register.getHzAuditId());
|
||||
map.addv("hzAudit", hzAudit);
|
||||
}
|
||||
if (StrUtil.isNotBlank(register.getUnitPartAuditId())) {
|
||||
Audit unitPartAudit = dao().fetch(Audit.class, register.getUnitPartAuditId());
|
||||
map.addv("unitPartAudit", unitPartAudit);
|
||||
}
|
||||
if (StrUtil.isNotBlank(register.getXghAuditId())) {
|
||||
Audit xghAudit = dao().fetch(Audit.class, register.getXghAuditId());
|
||||
map.addv("xghAudit", xghAudit);
|
||||
}
|
||||
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,14 +11,11 @@ import io.v.nutz.base.utils.Roles;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.base.service.ViService;
|
||||
import io.v.nutz.base.utils.ViResource;
|
||||
import io.v.nutz.sys.models.Sys_union;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.sys.models.*;
|
||||
import io.v.nutz.sys.services.*;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import io.v.nutz.zhgh.activity.models.ActivityBasicUnit;
|
||||
import io.v.nutz.zhgh.jdh.model.zzjg.Jdh_dbt;
|
||||
import io.v.nutz.sys.models.SysUnionGroup;
|
||||
import io.v.nutz.sys.models.Sys_user_role;
|
||||
import io.v.nutz.zhgh.jdh.model.zzjg.Jdh_dbt_zcdw;
|
||||
import io.v.nutz.zhgh.workersCongress.model.workersCongressSession;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -429,6 +426,7 @@ public class ViCommonCon {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
club.sponsorType,
|
||||
club.id as stid,
|
||||
role.userId,
|
||||
club.`name`,
|
||||
@@ -441,8 +439,13 @@ public class ViCommonCon {
|
||||
$condition
|
||||
""");
|
||||
if (!ShiroUtil.hasRole("sysadmin")) {
|
||||
cnd.and("role.roleId", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04));
|
||||
cnd.and("role.userId", "=", ShiroUtil.getUserId());
|
||||
if(ShiroUtil.hasRole("gh03")) {
|
||||
List<Sys_user> sysUsers = dao.query(Sys_user.class, Cnd.where("unitId", "=", ShiroUtil.getUnitId()));
|
||||
cnd.and("club.userId", "in", sysUsers.stream().map(Sys_user::getId).collect(Collectors.toList()));
|
||||
} else {
|
||||
cnd.and("role.roleId", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04));
|
||||
cnd.and("role.userId", "=", ShiroUtil.getUserId());
|
||||
}
|
||||
}
|
||||
cnd.and("club.isjs", "=", false);
|
||||
cnd.and("club.state", "=", 930);
|
||||
|
||||
@@ -121,7 +121,22 @@
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="宣传与文体办公室审核信息" name="2" v-if="hasPane(2) && viewData.xtAuditId">
|
||||
<el-tab-pane label="二级单位党委书记审核信息" name="2" v-if="hasPane(2) && viewData.unitPartAuditId">
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.unitPartAudit.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.unitPartAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :span="2" label="审核意见">
|
||||
{{ viewData.unitPartAudit.auditOpinion }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="校办公室主管审核信息" name="3" v-if="hasPane(3) && viewData.xtAuditId">
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
@@ -136,7 +151,7 @@
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="分管副主席审核信息" name="3" v-if="hasPane(3) && viewData.xldAuditId">
|
||||
<el-tab-pane label="分管副主席审核信息" name="4" v-if="hasPane(4) && viewData.xldAuditId">
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
@@ -151,19 +166,22 @@
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="校工会批复信息" name="4" v-if="hasPane(3) && viewData.xghAuditId">
|
||||
<vi-title title="批复信息"></vi-title>
|
||||
<el-tab-pane label="校工会审核信息" name="5" v-if="hasPane(5) && viewData.xghAuditId">
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="批复人员">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.xghAudit.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="批复时间">
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.xghAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :span="2" label="成立时间">
|
||||
<el-descriptions-item label="审核意见">
|
||||
{{ viewData.xghAudit.auditOpinion }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="成立时间">
|
||||
{{ viewData.foundTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="批复附件">
|
||||
<el-descriptions-item label="审核附件">
|
||||
<file-upload v-if="viewData.schoolReplyFile && viewData.schoolReplyFile.length > 0"
|
||||
:files="JSON.parse(viewData.schoolReplyFile)"
|
||||
:view="true"></file-upload>
|
||||
|
||||
@@ -131,7 +131,28 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="校工会审核信息" name="6" v-if="viewData.xghAudit">
|
||||
<el-tab-pane label="二级单位审核信息" name="6" v-if="viewData.unitPartAudit">
|
||||
<vi-title title="二级单位审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.unitPartAudit.username }}({{ viewData.unitPartAudit.loginname }})
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.unitPartAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核意见" :span="2">
|
||||
{{ viewData.unitPartAudit.auditOpinion }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签  字" :span="2">
|
||||
<el-image v-if="viewData.unitPartAudit.auditSign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.unitPartAudit.auditSign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="校工会审核信息" name="7" v-if="viewData.xghAudit">
|
||||
<vi-title title="校工会审核信息"></vi-title>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
|
||||
@@ -25,8 +25,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-top-right-radius: 16px;
|
||||
border-bottom-left-radius: 16px;
|
||||
border-radius: 6px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
@@ -123,6 +122,18 @@ layout("/mobile/platform.html"){
|
||||
padding: 7px 16px !important;
|
||||
}
|
||||
|
||||
.more_text{
|
||||
display: inline-block !important;
|
||||
|
||||
}
|
||||
.more_text .van-field__label {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.more_text .van-cell__value {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
@@ -234,107 +245,113 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-popup v-model="infoShow" get-container="#app" position="right" :style="{ height: '100%', width: '100%' }">
|
||||
<van-nav-bar
|
||||
title="社团详细信息"
|
||||
:title="viewType === 'view' ? '基础信息' : '信息登记'"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false"
|
||||
safe-area-inset-top></van-nav-bar>
|
||||
<van-tabs v-model="infoActive">
|
||||
<van-tab title="社团信息">
|
||||
<van-cell-group inset>
|
||||
<van-cell title="社团名称">{{ detailData.name }}</van-cell>
|
||||
<van-cell title="成立时间">{{ detailData.foundtime }}</van-cell>
|
||||
<van-cell title="报名联系人">{{ detailData.fzrname }}</van-cell>
|
||||
<van-cell title="所属单位">{{ detailData.fzr_unit_name }}</van-cell>
|
||||
<van-cell title="联系人电话">{{ detailData.concatpersonmobile }}</van-cell>
|
||||
<van-cell title="联系人邮箱">{{ detailData.concatpersonemail }}</van-cell>
|
||||
<van-cell title="会费标准">{{ detailData.dues_standard }}</van-cell>
|
||||
<van-cell title="当前人数">{{ detailData.cynum }}</van-cell>
|
||||
<van-cell title="QQ群二维码" @click="showCode('QQ')">
|
||||
<span style="cursor: pointer; color: #236eb4">点击查看</span>
|
||||
</van-cell>
|
||||
<van-cell title="微信群二维码" @click="showCode('weChat')">
|
||||
<span style="cursor: pointer; color: #236eb4">点击查看</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
<van-tab class="info_tab" v-if="viewType === 'join'" title="个人信息">
|
||||
<van-form @submit="needJoin" ref="form" :show-error-message="false">
|
||||
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
基础信息
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field readonly v-model="formData.username" name="username" required
|
||||
label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.sex" name="sex" required
|
||||
label="性别" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.loginname" name="loginname" required
|
||||
label="工号" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.unitName" name="unitName" required
|
||||
label="工作部门" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.mobile" name="mobile" required
|
||||
label="电话" placeholder="请填写电话" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.QQNumber" name="QQNumber" required type="digit"
|
||||
label="QQ" placeholder="请填写QQ" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.hobby" name="hobby" required
|
||||
placeholder="请填写爱好" label="爱好" :rules="[{ required: true }]"></van-field>
|
||||
<div v-if="viewType === 'view'" class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
基础信息
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell title="社团名称">{{ detailData.name }}</van-cell>
|
||||
<van-cell title="成立时间">{{ detailData.foundtime }}</van-cell>
|
||||
<van-cell title="报名联系人">{{ detailData.fzrname }}</van-cell>
|
||||
<van-cell title="所属单位">{{ detailData.fzr_unit_name }}</van-cell>
|
||||
<van-cell title="联系人电话">{{ detailData.concatpersonmobile }}</van-cell>
|
||||
<van-cell title="联系人邮箱">{{ detailData.concatpersonemail }}</van-cell>
|
||||
<van-cell title="会费标准">{{ detailData.dues_standard }}</van-cell>
|
||||
<van-cell title="当前人数">{{ detailData.cynum }}</van-cell>
|
||||
<van-cell title="QQ群二维码" @click="showCode('QQ')">
|
||||
<span style="cursor: pointer; color: #236eb4">点击查看</span>
|
||||
</van-cell>
|
||||
<van-cell title="微信群二维码" @click="showCode('weChat')">
|
||||
<span style="cursor: pointer; color: #236eb4">点击查看</span>
|
||||
</van-cell>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-field v-model="formData.sickness" name="sickness" required @click="sicknessVisible = true" is-link
|
||||
placeholder="请选择是否患有运动限制类疾病" label="是否患有运动限制类疾病" :rules="[{ required: true }]"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
紧急联系人(建议家人)信息
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field v-model="formData.familyUserName" name="familyUserName" required
|
||||
placeholder="请填写紧急联系人姓名" label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.familyRelation" name="familyRelation" required
|
||||
placeholder="请填写紧急联系人关系" label="与申请者关系" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.familyMobile" name="familyMobile" required type="tel"
|
||||
placeholder="请填写紧急联系人电话" label="联系电话" :rules="[{ required: true }]"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
选填项
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field v-model="formData.project" name="project"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请填写擅长项目" label="擅长项目"></van-field>
|
||||
<van-form v-if="viewType === 'join'" @submit="needJoin" ref="form" :show-error-message="false">
|
||||
|
||||
<van-field v-model="formData.selfSkill" name="selfSkill" @click="selfSkillVisible = true" is-link
|
||||
placeholder="请选择个人技能水平" label="个人技能水平"></van-field>
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
基础信息
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field readonly v-model="formData.username" name="username" required
|
||||
label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.sex" name="sex" required
|
||||
label="性别" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.loginname" name="loginname" required
|
||||
label="工号" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.unitName" name="unitName" required
|
||||
label="工作部门" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.mobile" name="mobile" required
|
||||
label="电话" placeholder="请填写电话" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.QQNumber" name="QQNumber" required type="digit"
|
||||
label="QQ" placeholder="请填写QQ" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.hobby" name="hobby" required
|
||||
placeholder="请填写爱好" label="爱好" :rules="[{ required: true }]"></van-field>
|
||||
|
||||
<van-field v-model="formData.playRole" name="playRole" @click="playRoleVisible = true" is-link
|
||||
placeholder="请选择期望在协会中扮演的角色" label="期望在协会中扮演的角色"></van-field>
|
||||
<van-field class="more_text" v-model="formData.sickness" name="sickness" required @click="sicknessVisible = true"
|
||||
placeholder="请选择是否患有运动限制类疾病"
|
||||
label="是否患有运动限制类疾病"
|
||||
readonly
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
紧急联系人(建议家人)信息
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field v-model="formData.familyUserName" name="familyUserName" required
|
||||
placeholder="请填写紧急联系人姓名" label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.familyRelation" name="familyRelation" required
|
||||
placeholder="请填写紧急联系人关系" label="与申请者关系" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.familyMobile" name="familyMobile" required type="tel"
|
||||
placeholder="请填写紧急联系人电话" label="联系电话" :rules="[{ required: true }]"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-doc-card" style="margin-bottom: 16px; box-shadow: 0 0 16px 0 #ebedf0; margin-top: 10px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
选填项
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
<van-field v-model="formData.project" name="project"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请填写擅长项目" label="擅长项目"></van-field>
|
||||
|
||||
<van-field v-model="formData.provideServices" name="provideServices" @click="provideServicesVisible = true" is-link
|
||||
placeholder="请选择是否愿意为协会提供志愿服务" label="是否愿意为协会提供志愿服务"></van-field>
|
||||
<van-field v-model="formData.selfSkill" name="selfSkill" @click="selfSkillVisible = true"
|
||||
readonly placeholder="请选择个人技能水平" label="个人技能水平"></van-field>
|
||||
|
||||
<van-field v-model="formData.joinManageWork" name="joinManageWork" @click="joinManageWorkVisible = true" is-link
|
||||
placeholder="请选择是否愿意参与协会的管理工作" label="是否愿意参与协会的管理工作"></van-field>
|
||||
<van-field v-model="formData.playRole" name="playRole" @click="playRoleVisible = true" class="more_text"
|
||||
readonly placeholder="请选择期望在协会中扮演的角色" label="期望在协会中扮演的角色"></van-field>
|
||||
|
||||
<van-field v-model="formData.provideServices" name="provideServices" @click="provideServicesVisible = true" class="more_text"
|
||||
readonly placeholder="请选择是否愿意为协会提供志愿服务" label="是否愿意为协会提供志愿服务"></van-field>
|
||||
|
||||
<van-field v-model="formData.joinManageWork" name="joinManageWork" @click="joinManageWorkVisible = true" class="more_text"
|
||||
readonly placeholder="请选择是否愿意参与协会的管理工作" label="是否愿意参与协会的管理工作"></van-field>
|
||||
|
||||
<van-field v-model="formData.giveHelp" name="giveHelp" @click="giveHelpVisible = true" class="more_text"
|
||||
readonly placeholder="请选择是否愿意为协会的活动提供赞助或资源支持" label="是否愿意为协会的活动提供赞助或资源支持"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<van-button class="join join_submit" native-type="submit">申请加入</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
<van-field v-model="formData.giveHelp" name="giveHelp" @click="giveHelpVisible = true" is-link
|
||||
placeholder="请选择是否愿意为协会的活动提供赞助或资源支持" label="是否愿意为协会的活动提供赞助或资源支持"></van-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<van-button class="join join_submit" native-type="submit">申请加入</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</van-popup>
|
||||
|
||||
<van-popup position="bottom" round v-model="sicknessVisible">
|
||||
@@ -394,7 +411,6 @@ layout("/mobile/platform.html"){
|
||||
data() {
|
||||
return {
|
||||
showPicker: false,
|
||||
infoActive: 0,
|
||||
clickRow: {},
|
||||
typeOptions: [],
|
||||
clubType: [{text: '未加入', value: false}, {text: '已加入', value: true}],
|
||||
@@ -441,7 +457,6 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
openInfo(row, type) {
|
||||
this.viewType = type
|
||||
this.infoActive = type === 'view' ? 0 : 1
|
||||
if(type === 'join') {
|
||||
this.formData = {
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
|
||||
@@ -61,13 +61,16 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column prop="userOnline" align="center" header-align="center" label="操作"
|
||||
width="200">
|
||||
<template scope="{row}">
|
||||
<el-button plain size="mini" @click="openView(row)" type="primary">查看
|
||||
<el-button size="mini" @click="openView(row)" type="primary">查看
|
||||
</el-button>
|
||||
<el-button size="mini" @click="openEdit(row)" type="primary"
|
||||
v-if="row.auditId===5090">审核
|
||||
</el-button>
|
||||
<el-button size="mini" @click="doRecall(row)" type="primary"
|
||||
v-if="[5093,5095,6010].includes(row.auditId)">撤回
|
||||
v-if="row.sponsorType == 1 && [5093,5095,6007].includes(row.auditId)">撤回
|
||||
</el-button>
|
||||
<el-button size="mini" @click="doRecall(row)" type="primary"
|
||||
v-if="row.sponsorType == 2 && [5093,5095,6010].includes(row.auditId)">撤回
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -53,11 +53,11 @@ layout("/layouts/platform.html"){
|
||||
</el-table-column>
|
||||
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" width="300">
|
||||
<template scope="{row}">
|
||||
<el-button plain size="mini" @click="openView(row)" type="primary">查看</el-button>
|
||||
<el-button size="mini" @click="openEdit(row)" type="primary" v-if="[5070,5083,5093,6013].includes(row.auditId)">编辑</el-button>
|
||||
<el-button size="mini" @click="openView(row)" type="primary">查看</el-button>
|
||||
<el-button size="mini" @click="openEdit(row)" type="primary" v-if="[5070,5083,5093,6013,6008].includes(row.auditId)">编辑</el-button>
|
||||
<el-button size="mini" @click="doDelete(row)" type="danger" v-if="${@shiro.hasRole('sysadmin')}">删除</el-button>
|
||||
<el-button size="mini" @click="doDelete(row)" type="danger" v-if="row.auditId===5080&&${!@shiro.hasRole('sysadmin')}">删除</el-button>
|
||||
<el-button plain size="mini" @click="doExport(row)" v-if="row.auditId===6020">导出</el-button>
|
||||
<el-button size="mini" @click="doDelete(row)" type="danger" v-if="row.auditId===5070&&${!@shiro.hasRole('sysadmin')}">删除</el-button>
|
||||
<el-button size="mini" @click="doExport(row)" v-if="row.auditId===6020">导出</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@@ -0,0 +1,231 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">年  度</div>
|
||||
<div class="search-item-option">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
@change="doSearch"
|
||||
value-format="yyyy" style="width: 100%"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">协  会</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.clubId" placeholder="请选择社团" filterable
|
||||
clearable
|
||||
@change="doSearch"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in clubOptions"
|
||||
:key="item.stid"
|
||||
:label="item.name"
|
||||
:value="item.stid">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<table-tool label="登记列表" :app="this">
|
||||
<template #func>
|
||||
<el-radio-group @change="doSearch" style="margin-bottom: -7.5px"
|
||||
v-model="pageForm.flag">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</template>
|
||||
</table-tool>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder"
|
||||
:size="tableSize"
|
||||
v-loading="tableLoading" ref="table" class="vi-table">
|
||||
|
||||
<el-table-column align="center" header-align="center" type="index"
|
||||
:index="indexMethod" label="序号"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:sortable="column.sortable"
|
||||
:label="column.label"
|
||||
:prop="column.prop" :width="column.width" min-width="100px">
|
||||
<template v-if="column.prop=='year'" scope="{row}">
|
||||
{{moment(row.registerDate).format('YYYY')}}
|
||||
</template>
|
||||
<template v-else-if="column.prop=='auditId'" scope="{row}">
|
||||
<vi-table-state :state="row"></vi-table-state>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userOnline" align="center" header-align="center" label="操作"
|
||||
width="200">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" @click="openView(row)" type="primary">查看
|
||||
</el-button>
|
||||
<el-button size="mini" @click="openEdit(row)" type="primary"
|
||||
v-if="row.auditId===6007">审核
|
||||
</el-button>
|
||||
<el-button size="mini" @click="doRecall(row)" type="primary"
|
||||
v-if="[6008,6009,6010].includes(row.auditId)">撤回
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
|
||||
</el-card>
|
||||
|
||||
|
||||
<template #view>
|
||||
<club-register-info ref="info"></club-register-info>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<club-register-info ref="edit" label="审核" handle>
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="auditTime" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4"
|
||||
maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="auditSign" label="签  字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doReview(1)">拒绝</el-button>
|
||||
<el-button type="danger" @click="doReview(2)">退回修改</el-button>
|
||||
<el-button type="primary" @click="doReview(3)">通过</el-button>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</club-register-info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
flag: false,
|
||||
year: new Date().getFullYear() + ""
|
||||
},
|
||||
clubOptions: [],
|
||||
tableColumns: [
|
||||
{prop: 'year', label: '年度'},
|
||||
{prop: 'clubName', label: '社团名称'},
|
||||
{prop: 'foundTime', label: '成立时间'},
|
||||
{prop: 'username', label: '联系人', sortable: true},
|
||||
{prop: 'concatPersonMobile', label: '联系方式', sortable: true},
|
||||
{prop: 'registerDate', label: '登记时间'},
|
||||
{prop: 'auditId', label: '登记状态', sortable: true},
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'club-register-info': httpVueLoader('/components/club/clubRegisterInfo.vue'),
|
||||
},
|
||||
methods: {
|
||||
openView(row) {
|
||||
this.$refs.info.getInfo(row.id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
openEdit(row) {
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
this.$refs.edit.getInfo(row.id)
|
||||
this.$refs.guava.edit()
|
||||
},
|
||||
async doReview(flag) {
|
||||
let msg = flag === 1 ? "拒绝" : flag === 2 ? "退回修改" : "通过"
|
||||
const confirm = await this.$confirm('确定要' + msg + '吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
this.formData.flag = flag
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.doSearch()
|
||||
this.$refs.guava.index()
|
||||
} else {
|
||||
this.notifyError(resp.msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
async doRecall(row) {
|
||||
const confirm = await this.$confirm('此操作将会撤回您审核的内容, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post(loc() + '/doRecall', {
|
||||
id: row.id
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
this.notifySuccess(resp.msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.clubOptions = await getClubsByRole()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -77,7 +77,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column prop="userOnline" align="center" header-align="center" label="操作"
|
||||
width="200">
|
||||
<template scope="{row}">
|
||||
<el-button plain size="mini" @click="openView(row)" type="primary">查看
|
||||
<el-button size="mini" @click="openView(row)" type="primary">查看
|
||||
</el-button>
|
||||
<el-button size="mini" @click="openEdit(row)" type="primary"
|
||||
v-if="row.auditId===6010">审核
|
||||
|
||||
@@ -74,7 +74,8 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column label="操作" width="300px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button :disabled="![800,820,850,880].includes(row.state)" @click="openEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button v-if="row.sponsorType == 1" :disabled="[810, 840, 870, 900, 930].includes(row.state)" @click="openEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button v-if="row.sponsorType == 2" :disabled="[840, 870, 900, 930].includes(row.state)" @click="openEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button v-if="${@shiro.hasRole('sysadmin')} || ${@shiro.hasRole('A06')} || ${@shiro.hasRole('xxhgly')}"
|
||||
@click="deleteDo(row)" size="mini" type="danger">删除</el-button>
|
||||
<el-button v-else :disabled="![800,820,850,880].includes(row.state)" @click="deleteDo(row)" size="mini" type="danger">删除</el-button>
|
||||
|
||||
@@ -28,6 +28,16 @@ layout("/layouts/platform.html"){
|
||||
<div v-show="activeName === '1'">
|
||||
<vi-title title="请填写以下社团信息"></vi-title>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="150px" style="padding: 0 30px">
|
||||
<el-row gutter="30">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="发起类型" prop="sponsorType">
|
||||
<el-radio-group v-model="formData.sponsorType">
|
||||
<el-radio-button :label="1">基层单位申请</el-radio-button>
|
||||
<el-radio-button :label="2">协会发起人申请</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="30">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="社团名称" prop="name">
|
||||
@@ -105,11 +115,11 @@ layout("/layouts/platform.html"){
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="社团介绍" prop="stjs">
|
||||
<div id="stjsEditor"></div>
|
||||
<text-editor v-model="formData.stjs"></text-editor>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="社团宗旨" prop="stzz">
|
||||
<div id="stzzEditor"></div>
|
||||
<text-editor v-model="formData.stzz"></text-editor>
|
||||
</el-form-item>
|
||||
|
||||
<el-row gutter="30">
|
||||
@@ -286,8 +296,6 @@ layout("/layouts/platform.html"){
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const E = window.wangEditor
|
||||
let stjsEditor, stzzEditor = null
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
@@ -298,18 +306,18 @@ layout("/layouts/platform.html"){
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
],
|
||||
activeName: '1',
|
||||
formData: {
|
||||
name: ''
|
||||
name: '',
|
||||
sponsorType: 1,
|
||||
},
|
||||
formRules: {
|
||||
name: [{required: true, message: '请填写社团名称', trigger: ['blur', 'change']}],
|
||||
code: [{required: true, message: '请填写社团编码', trigger: ['blur', 'change']}],
|
||||
type: [{required: true, message: '请选择社团类型', trigger: ['blur', 'change']}],
|
||||
fzr: [{required: true, message: '请选择社团联系人', trigger: ['blur', 'change']}],
|
||||
sponsorType: [{required: true, message: '请选择发起类型', trigger: ['blur', 'change']}],
|
||||
},
|
||||
typeOptions: [],
|
||||
userLoading: false,
|
||||
@@ -415,22 +423,10 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
async initData() {
|
||||
const id = GetQueryString("id")
|
||||
$("#stjsEditor").html("")
|
||||
$("#stzzEditor").html("")
|
||||
this.$nextTick(() => {
|
||||
stjsEditor = new E("#stjsEditor")
|
||||
stjsEditor.config.onchange = (html) => {
|
||||
this.formData.stjs = html
|
||||
}
|
||||
stjsEditor.create()
|
||||
|
||||
stzzEditor = new E("#stzzEditor")
|
||||
stzzEditor.config.onchange = (html) => {
|
||||
this.formData.stzz = html
|
||||
}
|
||||
stzzEditor.create()
|
||||
})
|
||||
this.formData = {}
|
||||
this.formData = {
|
||||
name: '',
|
||||
sponsorType: 1,
|
||||
}
|
||||
if (this.$refs["form"])
|
||||
this.$refs["form"].resetFields()
|
||||
|
||||
@@ -482,8 +478,6 @@ layout("/layouts/platform.html"){
|
||||
this.sponsorData.push(row)
|
||||
})
|
||||
}
|
||||
stjsEditor.txt.html(resp.data.stjs ? resp.data.stjs : '')
|
||||
stzzEditor.txt.html(resp.data.stzz ? resp.data.stzz : '')
|
||||
} else {
|
||||
await this.getClubCode()
|
||||
}
|
||||
@@ -505,17 +499,17 @@ layout("/layouts/platform.html"){
|
||||
if (!valid) return
|
||||
let hz = this.managePerson.filter(o => o.sf === 1)
|
||||
if(hz.length > 1) {
|
||||
this.$notify.warning({title: '警告', message: '会长只能有1人!'})
|
||||
this.$message.warning('会长只能有1人')
|
||||
return
|
||||
}
|
||||
let msz = this.managePerson.filter(o => o.sf === 4)
|
||||
if(msz.length > 1) {
|
||||
this.$notify.warning({title: '警告', message: '秘书长只能有1人!'})
|
||||
this.$message.warning('秘书长只能有1人')
|
||||
return
|
||||
}
|
||||
this.formData.sponsor = this.sponsorData.filter(o => o.userId !== '' && o.userId !== undefined).map(o => o.userId)
|
||||
if(!flag && this.formData.sponsor && this.formData.sponsor.length < 5) {
|
||||
this.$notify.warning({title: '警告', message: '发起人要求不少于5人!'})
|
||||
if(!flag && this.formData.sponsor && this.formData.sponsor.length < 3) {
|
||||
this.$message.warning('发起人要求不少于3人')
|
||||
return
|
||||
}
|
||||
let manageValid = false
|
||||
@@ -526,7 +520,7 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
})
|
||||
if (!flag && (this.managePerson.length === 0 || manageValid)) {
|
||||
this.$notify.warning({title: '警告', message: '请填写理事机构信息!'})
|
||||
this.$message.warning('请填写理事机构信息')
|
||||
return
|
||||
}
|
||||
const cloneData = clone(this.formData)
|
||||
@@ -559,7 +553,7 @@ layout("/layouts/platform.html"){
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
this.$notify.warning({title: '警告', message: '存在必填项未填写!'})
|
||||
this.$message.warning('存在必填项未填写')
|
||||
}
|
||||
},
|
||||
async getClubCode() {
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.table_fixed {
|
||||
table-layout: fixed !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">年  度:</div>
|
||||
<div class="search-item-option">
|
||||
<el-date-picker
|
||||
placeholder="选择年度"
|
||||
type="year" style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">社团名称:</div>
|
||||
<div class="search-item-option">
|
||||
<el-input @keyup.enter.native="doSearch" clearable placeholder="请输入内容"
|
||||
clearable
|
||||
style="width: 100%" v-model="pageForm.name">
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-query">
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<table-tool :app="this" label="申请列表">
|
||||
<template #func>
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</template>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :size="tableSize">
|
||||
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column label="社团名称" prop="name" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="社团类型" prop="typeName" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="申请时间" prop="create_time" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ moment(row.create_time).format('YYYY-MM-DD') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="联系人" prop="fzrName" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="发起人" prop="sponsorName" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="状态" prop="stateName" sortable align="center" header-align="center"
|
||||
show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
<span :style="'color: ' + row.stateColor">{{ row.stateName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="300px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="[801].includes(row.state)" @click="openAudit(row)" size="mini" type="primary">审核</el-button>
|
||||
<el-button v-if="[802, 803, 810].includes(row.state)" @click="rollback(row)" size="mini" type="primary">撤回</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
<template #edit>
|
||||
<club-regist-info ref="info2" :handle="true" label="二级单位党委书记审核" :panes="[2]">
|
||||
<template #handle>
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="userName" label="审核人员">
|
||||
<el-input v-model="formData.userName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="auditTime" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doReview(1)">拒绝</el-button>
|
||||
<el-button type="danger" @click="doReview(2)">退回修改</el-button>
|
||||
<el-button type="primary" @click="doReview(3)">通过</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</club-regist-info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<club-regist-info ref="info"></club-regist-info>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
name: '',
|
||||
isAudit: false,
|
||||
},
|
||||
tableData: [],
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'club-regist-info': httpVueLoader('/components/club/clubRegistInfo.vue'),
|
||||
},
|
||||
methods: {
|
||||
async rollback(row) {
|
||||
const confirm = await this.$confirm('您确定要撤回吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post('/platform/sys/club/unitPartAudit/rollback', {
|
||||
id: row.id
|
||||
})
|
||||
if(resp.code === 0) {
|
||||
await this.pageData()
|
||||
this.$message.success(resp.msg)
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
await this.$refs["form"].validate(async(valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/sys/club/unitPartAudit/doReview', this.formData)
|
||||
if(resp.code === 0) {
|
||||
this.$message.success(resp.msg)
|
||||
await this.pageData()
|
||||
this.$refs['guava'].index()
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.guava.view()
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(id)
|
||||
})
|
||||
},
|
||||
async openAudit(row) {
|
||||
this.formData = {
|
||||
clubId: row.id,
|
||||
userName: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||
auditOpinion: '',
|
||||
}
|
||||
this.$refs.guava.edit()
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info2.getInfo(row.id)
|
||||
})
|
||||
},
|
||||
async pageData() {
|
||||
let form = clone(this.pageForm)
|
||||
if(form.isAudit === null) {
|
||||
delete form.isAudit
|
||||
}
|
||||
const resp = await $.post("/platform/sys/club/unitPartAudit/pageData", form);
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data.list;
|
||||
this.pageForm.totalCount = resp.data.totalCount;
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -44,8 +44,8 @@ layout("/layouts/platform.html"){
|
||||
<template #func>
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="true">已批复</el-radio-button>
|
||||
<el-radio-button :label="false">未批复</el-radio-button>
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</template>
|
||||
</table-tool>
|
||||
@@ -77,7 +77,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column label="操作" width="300px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="[870].includes(row.state)" @click="openAudit(row)" size="mini" type="primary">批复</el-button>
|
||||
<el-button v-if="[870].includes(row.state)" @click="openAudit(row)" size="mini" type="primary">审核</el-button>
|
||||
<el-button v-if="[880, 890, 900].includes(row.state)" @click="rollback(row)" size="mini" type="primary">撤回</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -86,32 +86,33 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
|
||||
<template #edit>
|
||||
<club-regist-info ref="info2" :handle="true" label="校工会批复" :panes="[2, 3, 4]">
|
||||
<club-regist-info ref="info2" :handle="true" label="校工会审核" :panes="[2, 3, 4]">
|
||||
<template #handle>
|
||||
<vi-title title="批复信息"></vi-title>
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="userName" label="批复人员">
|
||||
<el-form-item prop="userName" label="审核人员">
|
||||
<el-input v-model="formData.userName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="auditTime" label="批复时间">
|
||||
<el-form-item prop="auditTime" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!--<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="text" v-model="formData.auditOpinion" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="foundTime" label="成立时间">
|
||||
<el-date-picker
|
||||
@@ -123,16 +124,14 @@ layout("/layouts/platform.html"){
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="schoolReplyFile" label="批复附件">
|
||||
<file-upload :files.sync="formData.schoolReplyFile" :max="5" :type="['doc','docx']">
|
||||
<template #el-upload__tip>
|
||||
<div class="el-upload__tip" slot="tip">请上传批复附件,格式为word</div>
|
||||
</template>
|
||||
</file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item prop="schoolReplyFile" label="审核附件">
|
||||
<file-upload :files.sync="formData.schoolReplyFile" :max="5" :type="['doc','docx']">
|
||||
<template #el-upload__tip>
|
||||
<div class="el-upload__tip" slot="tip">请上传审核附件,格式为word</div>
|
||||
</template>
|
||||
</file-upload>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
|
||||
<template #edit>
|
||||
<club-regist-info ref="info2" :handle="true" label="宣传与文体办公室审核" :panes="[2]">
|
||||
<club-regist-info ref="info2" :handle="true" label="校办公室主管审核" :panes="[2, 3]">
|
||||
<template #handle>
|
||||
<vi-title title="审核信息"></vi-title>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
|
||||
Reference in New Issue
Block a user