Merge branch 'main' of https://dd3skj.picp.vip/zhaoxinyu/zhgh_njnu
This commit is contained in:
@@ -242,6 +242,16 @@ public class Sys_user extends BaseModel implements Serializable {
|
|||||||
@Default(value = "0")
|
@Default(value = "0")
|
||||||
private Boolean member;
|
private Boolean member;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("会员入会日期")
|
||||||
|
@ColDefine(type = ColType.DATETIME)
|
||||||
|
private Date memberJoinTime;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("会员离会日期")
|
||||||
|
@ColDefine(type = ColType.DATETIME)
|
||||||
|
private Date memberLeaveTime;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("是否福利会员")
|
@Comment("是否福利会员")
|
||||||
@ColDefine(type = ColType.BOOLEAN)
|
@ColDefine(type = ColType.BOOLEAN)
|
||||||
|
|||||||
@@ -228,6 +228,14 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
// 修改现有用户
|
// 修改现有用户
|
||||||
u.setId(user.getId());
|
u.setId(user.getId());
|
||||||
|
|
||||||
|
// 本人电话、身份证不覆盖
|
||||||
|
if (StrUtil.isNotBlank(user.getMobile())) {
|
||||||
|
u.setMobile(null);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(user.getIdCard())) {
|
||||||
|
u.setIdCard(null);
|
||||||
|
}
|
||||||
|
|
||||||
// 检查会员资格
|
// 检查会员资格
|
||||||
boolean shouldBeMember = checkMembershipEligibility(
|
boolean shouldBeMember = checkMembershipEligibility(
|
||||||
source.getUserState(),
|
source.getUserState(),
|
||||||
@@ -236,10 +244,6 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
user
|
user
|
||||||
);
|
);
|
||||||
|
|
||||||
if(user.getLoginname().equals("45066")){
|
|
||||||
System.out.println("..");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新会员状态
|
// 更新会员状态
|
||||||
boolean currentIsMember = user.getMember() != null && user.getMember();
|
boolean currentIsMember = user.getMember() != null && user.getMember();
|
||||||
|
|
||||||
|
|||||||
@@ -170,4 +170,8 @@ public class View_user {
|
|||||||
|
|
||||||
@Column
|
@Column
|
||||||
private Date postDoctoralJoinDate;
|
private Date postDoctoralJoinDate;
|
||||||
|
|
||||||
|
private Date memberJoinTime;
|
||||||
|
|
||||||
|
private Date memberLeaveTime;
|
||||||
}
|
}
|
||||||
|
|||||||
+48
-7
@@ -1,18 +1,31 @@
|
|||||||
package com.budwk.app.zhgh.staffmanage.member.controller.school;
|
package com.budwk.app.zhgh.staffmanage.member.controller.school;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.budwk.app.base.annotation.RepeatSubmit;
|
import com.budwk.app.base.annotation.RepeatSubmit;
|
||||||
import com.budwk.app.base.annotation.SLog;
|
import com.budwk.app.base.annotation.SLog;
|
||||||
|
import com.budwk.app.base.constant.BpmProcessConstant;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.bpm.enums.BpmTaskApprovalTypeEnum;
|
||||||
|
import com.budwk.app.bpm.models.BpmProcessInstance;
|
||||||
|
import com.budwk.app.bpm.models.BpmProcessTask;
|
||||||
|
import com.budwk.app.bpm.param.BpmTaskApprovalParam;
|
||||||
|
import com.budwk.app.bpm.service.BpmService;
|
||||||
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin;
|
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.models.MemberApplyRecord;
|
import com.budwk.app.zhgh.staffmanage.member.models.MemberApplyRecord;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberManagePageForm;
|
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberManagePageForm;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberManageService;
|
import com.budwk.app.zhgh.staffmanage.member.service.MemberManageService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||||
|
import org.nutz.dao.Cnd;
|
||||||
|
import org.nutz.dao.Dao;
|
||||||
import org.nutz.dao.sql.Sql;
|
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.Inject;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.Lang;
|
||||||
import org.nutz.lang.util.NutMap;
|
import org.nutz.lang.util.NutMap;
|
||||||
import org.nutz.mvc.annotation.At;
|
import org.nutz.mvc.annotation.At;
|
||||||
import org.nutz.mvc.annotation.Ok;
|
import org.nutz.mvc.annotation.Ok;
|
||||||
@@ -20,6 +33,7 @@ import org.nutz.mvc.annotation.Param;
|
|||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
@@ -34,6 +48,10 @@ import java.util.List;
|
|||||||
@Ok("json")
|
@Ok("json")
|
||||||
public class MemberSchoolUnionManageController {
|
public class MemberSchoolUnionManageController {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Dao dao;
|
||||||
|
@Inject
|
||||||
|
private BpmService bpmService;
|
||||||
@Inject
|
@Inject
|
||||||
private MemberManageService memberManageService;
|
private MemberManageService memberManageService;
|
||||||
|
|
||||||
@@ -70,6 +88,7 @@ public class MemberSchoolUnionManageController {
|
|||||||
|
|
||||||
@At
|
@At
|
||||||
@RepeatSubmit
|
@RepeatSubmit
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
@SaCheckPermission("member.branchUnion.manage.list")
|
@SaCheckPermission("member.branchUnion.manage.list")
|
||||||
@SLog(tag = "校工会管理-会员管理", type = "MemberBranchManageList", msg = "校工会普通变更")
|
@SLog(tag = "校工会管理-会员管理", type = "MemberBranchManageList", msg = "校工会普通变更")
|
||||||
public Result generalMemberChange(@Param("record") MemberApplyRecord record, @Param("approvalRemark") String approvalRemark){
|
public Result generalMemberChange(@Param("record") MemberApplyRecord record, @Param("approvalRemark") String approvalRemark){
|
||||||
@@ -77,13 +96,35 @@ public class MemberSchoolUnionManageController {
|
|||||||
try {
|
try {
|
||||||
// 校验是否有变更的字段
|
// 校验是否有变更的字段
|
||||||
List<NutMap> changeInfoList = memberManageService.compareMemberChangeInfo(record);
|
List<NutMap> changeInfoList = memberManageService.compareMemberChangeInfo(record);
|
||||||
// 存储变更的类型
|
|
||||||
List<String> changeTypeList = memberManageService.compareMemberChangeType(changeInfoList, record);
|
if (Lang.isNotEmpty(changeInfoList)) {
|
||||||
record.setChangeTypes(changeTypeList);
|
// 存储变更的类型
|
||||||
record.setChangeOrigin(MemberChangeOrigin.SCHOOL_UNION.name());
|
List<String> changeTypeList = memberManageService.compareMemberChangeType(changeInfoList, record);
|
||||||
record.setRemark(approvalRemark);
|
record.setChangeTypes(changeTypeList);
|
||||||
memberManageService.insert(record);
|
record.setChangeOrigin(MemberChangeOrigin.SCHOOL_UNION.name());
|
||||||
memberManageService.compareMemberChangeInfoAndUpdateUser(record);
|
record.setRemark(approvalRemark);
|
||||||
|
memberManageService.insert(record);
|
||||||
|
|
||||||
|
// 开启流程,留痕
|
||||||
|
bpmService.startSubmitProcessInstance(BpmProcessConstant.MEMBER_BRANCH_UNION_CHANGE.name(),
|
||||||
|
"【会员分工会变更】" +record.getUsername(), record.getId(),
|
||||||
|
List.of(SecurityUtil.getUserLoginname()), null);
|
||||||
|
// 然后完成申请流程
|
||||||
|
BpmProcessInstance committeeInstance = dao.fetch(BpmProcessInstance.class, Cnd.where("processInstanceBusinessId", "=", record.getId()));
|
||||||
|
BpmProcessTask committeeTask = dao.fetch(BpmProcessTask.class, Cnd.where(BpmProcessTask::getProcessInstanceId, "=", committeeInstance.getId())
|
||||||
|
.desc(BpmProcessTask::getCreatedAt));
|
||||||
|
BpmTaskApprovalParam committeeParam = new BpmTaskApprovalParam();
|
||||||
|
committeeParam.setProcessInstanceId(committeeInstance.getId());
|
||||||
|
committeeParam.setProcessInstanceBusinessId(record.getId());
|
||||||
|
committeeParam.setProcessInstanceTaskId(committeeTask.getId());
|
||||||
|
committeeParam.setBpmTaskApprovalType(BpmTaskApprovalTypeEnum.PASS.name());
|
||||||
|
committeeParam.setBpmTaskApprovalTypeEnum(BpmTaskApprovalTypeEnum.PASS);
|
||||||
|
committeeParam.setApprovalOpinion("校工会会审核通过");
|
||||||
|
bpmService.completeTask(committeeParam.getProcessInstanceTaskId(), committeeParam.getBpmTaskApprovalTypeEnum(), null, null);
|
||||||
|
|
||||||
|
// 更新用户信息
|
||||||
|
memberManageService.compareMemberChangeInfoAndUpdateUser(record);
|
||||||
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|||||||
+39
-1
@@ -1,6 +1,8 @@
|
|||||||
package com.budwk.app.zhgh.staffmanage.member.param.pageform;
|
package com.budwk.app.zhgh.staffmanage.member.param.pageform;
|
||||||
|
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@@ -13,50 +15,86 @@ import java.util.List;
|
|||||||
* @Date 2024/8/8 14:49
|
* @Date 2024/8/8 14:49
|
||||||
* @注释
|
* @注释
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@Data
|
@Data
|
||||||
|
@ApiModel("会员综合查询")
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class MemberStatisticsPageForm extends PageForm {
|
public class MemberStatisticsPageForm extends PageForm {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否有单位")
|
||||||
private String isUnit;
|
private String isUnit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否有工会")
|
||||||
private String isUnion;
|
private String isUnion;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询类型")
|
||||||
private String searchType;
|
private String searchType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始时间(生日)")
|
||||||
private String startDate;
|
private String startDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束时间(生日)")
|
||||||
private String endDate;
|
private String endDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询年份")
|
||||||
private Integer year;
|
private Integer year;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询月份")
|
||||||
|
private Integer month;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询工会id")
|
||||||
private List<String> unionId;
|
private List<String> unionId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询单位id")
|
||||||
private List<String> unitId;
|
private List<String> unitId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询工会组id")
|
||||||
private List<String> unionGroupId;
|
private List<String> unionGroupId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询人员类型")
|
||||||
private List<String> personTypes;
|
private List<String> personTypes;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询编制类型")
|
||||||
private List<String> preparedBys;
|
private List<String> preparedBys;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询在职状态")
|
||||||
private List<String> userStates;
|
private List<String> userStates;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询会员状态")
|
||||||
private List<String> memberStatus;
|
private List<String> memberStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询校区")
|
||||||
private String campus;
|
private String campus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询会员类型")
|
||||||
private List<String> memberTypes;
|
private List<String> memberTypes;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询性别")
|
||||||
private List<String> sexTypes;
|
private List<String> sexTypes;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询角色")
|
||||||
private List<String> roleIds;
|
private List<String> roleIds;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询年龄")
|
||||||
private List<String> age;
|
private List<String> age;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否反选")
|
||||||
private Boolean reverseSelection;
|
private Boolean reverseSelection;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会员查询名称")
|
||||||
private String memberSearchName;
|
private String memberSearchName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会员查询关键字")
|
||||||
private String memberSearchKeyWord;
|
private String memberSearchKeyWord;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始加入时间(会员)")
|
||||||
|
private String startJoinDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束加入时间(会员)")
|
||||||
|
private String endJoinDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始离会时间(会员)")
|
||||||
|
private String startLeaveDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束离会时间(会员)")
|
||||||
|
private String endLeaveDate;
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-1
@@ -60,7 +60,7 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl<Sys_user> imple
|
|||||||
cnd.orderBy(pageForm.getPageOrderName(), pageForm.getPageOrderBy().equalsIgnoreCase("ascending") ? "ASC" : "DESC");
|
cnd.orderBy(pageForm.getPageOrderName(), pageForm.getPageOrderBy().equalsIgnoreCase("ascending") ? "ASC" : "DESC");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Lang.isNotEmpty(pageForm.getAge()) && !"0".equals(pageForm.getAge().get(0)) && !"0".equals(pageForm.getAge().get(1))) {
|
if (Lang.isNotEmpty(pageForm.getAge()) && !"0".equals(pageForm.getAge().get(1))) {
|
||||||
if (reverseSelection) {
|
if (reverseSelection) {
|
||||||
cnd.andNot("TIMESTAMPDIFF(YEAR, u.birthday, CURDATE())", "between", pageForm.getAge().toArray());
|
cnd.andNot("TIMESTAMPDIFF(YEAR, u.birthday, CURDATE())", "between", pageForm.getAge().toArray());
|
||||||
} else {
|
} else {
|
||||||
@@ -76,6 +76,22 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl<Sys_user> imple
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isAllNotBlank(pageForm.getStartJoinDate(), pageForm.getEndJoinDate())) {
|
||||||
|
if (reverseSelection) {
|
||||||
|
cnd.andNot("DATE(u.memberJoinTime)", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
|
||||||
|
} else {
|
||||||
|
cnd.and("DATE(u.memberJoinTime)", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isAllNotBlank(pageForm.getStartLeaveDate(), pageForm.getEndLeaveDate())) {
|
||||||
|
if (reverseSelection) {
|
||||||
|
cnd.andNot("DATE(u.memberLeaveTime)", "between", new String[]{pageForm.getStartLeaveDate(), pageForm.getEndLeaveDate()});
|
||||||
|
} else {
|
||||||
|
cnd.and("DATE(u.memberLeaveTime)", "between", new String[]{pageForm.getStartLeaveDate(), pageForm.getEndLeaveDate()});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (Strings.isNotBlank(pageForm.getStartDate()) && Strings.isBlank(pageForm.getEndDate())) {
|
if (Strings.isNotBlank(pageForm.getStartDate()) && Strings.isBlank(pageForm.getEndDate())) {
|
||||||
cnd.and("DATE(u.birthday)", GE_OR_NGE_OP, pageForm.getStartDate());
|
cnd.and("DATE(u.birthday)", GE_OR_NGE_OP, pageForm.getStartDate());
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -156,7 +156,7 @@ public class SpecialStaffManageController {
|
|||||||
select id,username,loginname,unitId,unitName,unionId,unionName from `vw_user` $condition limit 0,10
|
select id,username,loginname,unitId,unitName,unionId,unionName from `vw_user` $condition limit 0,10
|
||||||
""");
|
""");
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.where("id", "not in", "(select userId from special_staff)");
|
cnd.and("id", "not in", "(select userId from special_staff)");
|
||||||
if (StrUtil.isNotBlank(keyWord)) {
|
if (StrUtil.isNotBlank(keyWord)) {
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
seg.orLike("username", keyWord);
|
seg.orLike("username", keyWord);
|
||||||
|
|||||||
+3
-3
@@ -97,11 +97,11 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
|||||||
|
|
||||||
for (NutMap union : mapUnions) {
|
for (NutMap union : mapUnions) {
|
||||||
// 福利人数
|
// 福利人数
|
||||||
long teacherSum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId").equals(union.getString("id"))).count();
|
long teacherSum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId", "").equals(union.getString("id"))).count();
|
||||||
union.put("teacherSum", teacherSum);
|
union.put("teacherSum", teacherSum);
|
||||||
|
|
||||||
// 已选人数
|
// 已选人数
|
||||||
long selectedNum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId").equals(union.getString("id")) && v.getBoolean("has_selected")).count();
|
long selectedNum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId", "").equals(union.getString("id")) && v.getBoolean("has_selected")).count();
|
||||||
union.put("selectedNum", selectedNum);
|
union.put("selectedNum", selectedNum);
|
||||||
|
|
||||||
// 未选人数
|
// 未选人数
|
||||||
@@ -248,7 +248,7 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
|||||||
cnd.groupBy("u.loginname");
|
cnd.groupBy("u.loginname");
|
||||||
cnd.desc("wl.welfareUnionName").desc("wl.welfareUnitName");
|
cnd.desc("wl.welfareUnionName").desc("wl.welfareUnitName");
|
||||||
|
|
||||||
if(StrUtil.isNotBlank(pageForm.getSearchKeyword())){
|
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
seg.orLike("u.loginname", pageForm.getSearchKeyword());
|
seg.orLike("u.loginname", pageForm.getSearchKeyword());
|
||||||
seg.orLike("u.username", pageForm.getSearchKeyword());
|
seg.orLike("u.username", pageForm.getSearchKeyword());
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const apply_component = {
|
|||||||
template: /*language=HTML*/ `
|
template: /*language=HTML*/ `
|
||||||
<el-dialog title="填写申请" :visible.sync="dialogVisible" width="70%" top="50px" class="ele-dialog-form">
|
<el-dialog title="填写申请" :visible.sync="dialogVisible" width="70%" top="50px" class="ele-dialog-form">
|
||||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="120px">
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="120px">
|
||||||
<template v-if="this.formData.honorType == '个人荣誉'">
|
<template v-if="this.formData.honorTypeName == '个人荣誉'">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item prop="userName" label="姓名">
|
<el-form-item prop="userName" label="姓名">
|
||||||
@@ -175,9 +175,10 @@ const apply_component = {
|
|||||||
this.$set(this.formData, "evaluateId", activity.id)
|
this.$set(this.formData, "evaluateId", activity.id)
|
||||||
this.$set(this.formData, "honorTypeId", activity.honorTypeId)
|
this.$set(this.formData, "honorTypeId", activity.honorTypeId)
|
||||||
this.$set(this.formData, "honorType", activity.honorType)
|
this.$set(this.formData, "honorType", activity.honorType)
|
||||||
|
this.$set(this.formData, "honorTypeName", activity.honorTypeName)
|
||||||
this.$set(this.formData, "honorId", activity.honorId)
|
this.$set(this.formData, "honorId", activity.honorId)
|
||||||
|
|
||||||
if (activity.honorType.includes('集体')) {
|
if (activity.honorTypeName.includes('集体')) {
|
||||||
this.getCollectiveInfo()
|
this.getCollectiveInfo()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+6
-2
@@ -17,12 +17,16 @@ const MEMBER_AUDIT_CHANGE_INFO = {
|
|||||||
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
|
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
|
||||||
<template v-if="viewData.retireDate">
|
<template v-if="viewData.retireDate">
|
||||||
<el-descriptions-item label="退休时间">{{ $moment(viewData.retireDate).format('YYYY-MM-DD') }}</el-descriptions-item>
|
<el-descriptions-item label="退休时间">{{ $moment(viewData.retireDate).format('YYYY-MM-DD') }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
<template>
|
||||||
|
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item></el-descriptions-item>
|
||||||
</template>
|
</template>
|
||||||
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="政治面貌">{{ viewData.political }}</el-descriptions-item>
|
<el-descriptions-item label="政治面貌">{{ viewData.political }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="婚姻状况">{{ viewData.marriage || '' }}</el-descriptions-item>
|
<el-descriptions-item label="婚姻状况">{{ viewData.marriage || '' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="证件号码" span="2">{{ viewData.idCard }}</el-descriptions-item>
|
<el-descriptions-item label="证件号码">{{ viewData.idCard }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="电子邮箱">{{ viewData.email }}</el-descriptions-item>
|
<el-descriptions-item label="电子邮箱">{{ viewData.email }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="是否会员">{{ viewData.member ? '是' : '否' }}</el-descriptions-item>
|
<el-descriptions-item label="是否会员">{{ viewData.member ? '是' : '否' }}</el-descriptions-item>
|
||||||
|
|||||||
+7
-6
@@ -48,28 +48,29 @@ const MEMBER_AUDIT_TABLE = {
|
|||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id" style="width: 100%">
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id" style="width: 100%">
|
||||||
<el-table-column :index="indexMethod" align="center" header-align="center"
|
<el-table-column :index="indexMethod" align="center" header-align="center"
|
||||||
label="序号" type="index" width="80px"></el-table-column>
|
label="序号" type="index" width="80px"></el-table-column>
|
||||||
<el-table-column :label="column.label" :prop="column.prop"
|
<el-table-column v-for="column in tableColumns" :label="column.label"
|
||||||
|
:prop="column.prop" :key="column.prop"
|
||||||
:sortable="column.sortable" :width="column.width"
|
:sortable="column.sortable" :width="column.width"
|
||||||
align="center" header-align="center" min-width="100px"
|
align="center" header-align="center" min-width="100px"
|
||||||
show-overflow-tooltip v-for="column in tableColumns">
|
show-overflow-tooltip>
|
||||||
<template scope="{row}" v-if="column.prop=='loginname'">
|
<template slot-scope="{row}" v-if="column.prop=='loginname'">
|
||||||
<el-link @click="openView(row.userId)" type="primary">{{row.loginname}}</el-link>
|
<el-link @click="openView(row.userId)" type="primary">{{row.loginname}}</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column header-align="center" label="变更类型" prop="changeType" show-overflow-tooltip sortable>
|
<el-table-column header-align="center" label="变更类型" prop="changeType" show-overflow-tooltip sortable>
|
||||||
<template scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<span style="color: #0e78c5;cursor: pointer" @click="openChangeView(row)">
|
<span style="color: #0e78c5;cursor: pointer" @click="openChangeView(row)">
|
||||||
{{getChangeTypes(row.changeTypes)}}
|
{{getChangeTypes(row.changeTypes)}}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column header-align="center" label="变更时间" prop="applyDateTime" show-overflow-tooltip sortable>
|
<el-table-column header-align="center" label="变更时间" prop="applyDateTime" show-overflow-tooltip sortable>
|
||||||
<template scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<span>{{ row.applyDateTime }}</span>
|
<span>{{ row.applyDateTime }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" width="200px">
|
<el-table-column label="操作" fixed="right" width="200px">
|
||||||
<template scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-button size="mini" type="primary" @click="openChangeView(row)">查看</el-button>
|
<el-button size="mini" type="primary" @click="openChangeView(row)">查看</el-button>
|
||||||
<el-button v-if="row.processInstanceTaskStatus==='ACTIVE'
|
<el-button v-if="row.processInstanceTaskStatus==='ACTIVE'
|
||||||
&& !(row.processInstanceNodeCode == 10 && row.changeOrigin == 'BRANCH_UNION')"
|
&& !(row.processInstanceNodeCode == 10 && row.changeOrigin == 'BRANCH_UNION')"
|
||||||
|
|||||||
+8
-4
@@ -10,10 +10,14 @@ const MEMBER_CHANGE_INFO = {
|
|||||||
<el-descriptions-item label="性别">{{ viewData.sex }}</el-descriptions-item>
|
<el-descriptions-item label="性别">{{ viewData.sex }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="民族">{{ viewData.nation }}</el-descriptions-item>
|
<el-descriptions-item label="民族">{{ viewData.nation }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
|
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
|
||||||
<template v-if="viewData.retireDate">
|
<template v-if="viewData.retireDate">
|
||||||
<el-descriptions-item label="退休时间">{{ $moment(viewData.retireDate).format('YYYY-MM-DD') }}</el-descriptions-item>
|
<el-descriptions-item label="退休时间">{{ $moment(viewData.retireDate).format('YYYY-MM-DD') }}</el-descriptions-item>
|
||||||
</template>
|
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
</template>
|
||||||
|
<template>
|
||||||
|
<el-descriptions-item label="人员类型">{{ viewData.personType }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item></el-descriptions-item>
|
||||||
|
</template>
|
||||||
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="政治面貌">{{ viewData.political }}</el-descriptions-item>
|
<el-descriptions-item label="政治面貌">{{ viewData.political }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="婚姻状况">{{ viewData.marriage || '' }}</el-descriptions-item>
|
<el-descriptions-item label="婚姻状况">{{ viewData.marriage || '' }}</el-descriptions-item>
|
||||||
|
|||||||
+37
-8
@@ -1,11 +1,10 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<style></style>
|
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<template>
|
<template>
|
||||||
<query-form @query="assignmentTableData" ref="queryFormRef"></query-form>
|
<query-form @search="search" ref="queryFormRef"></query-form>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<table-tool label="会员列表">
|
<table-tool label="会员列表">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -151,14 +150,44 @@ layout("/layouts/platform.html"){
|
|||||||
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
||||||
this.$downLoad("/platform/member/statistics/comprehensive/doExport", pageForm)
|
this.$downLoad("/platform/member/statistics/comprehensive/doExport", pageForm)
|
||||||
},
|
},
|
||||||
assignmentTableData(data) {
|
search(pageForm) {
|
||||||
this.tableData = data.list
|
this.pageForm = {
|
||||||
this.pageForm = this.$refs.queryFormRef.pageForm
|
...this.pageForm,
|
||||||
this.pageForm.totalCount = data.totalCount
|
...pageForm,
|
||||||
|
}
|
||||||
|
this.pageData()
|
||||||
},
|
},
|
||||||
pageData() {
|
pageData() {
|
||||||
this.$refs.queryFormRef.pageForm = this.pageForm
|
const pageForm = clone(this.pageForm)
|
||||||
this.$refs.queryFormRef.pageData()
|
pageForm.age = JSON.stringify(this.pageForm.age)
|
||||||
|
pageForm.unionId = JSON.stringify(this.pageForm.unionId)
|
||||||
|
pageForm.unitId = JSON.stringify(this.pageForm.unitId)
|
||||||
|
pageForm.sexTypes = JSON.stringify(this.pageForm.sexTypes)
|
||||||
|
pageForm.memberTypes = JSON.stringify(this.pageForm.memberTypes)
|
||||||
|
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
||||||
|
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
||||||
|
pageForm.memberStatus = JSON.stringify(this.pageForm.memberStatus)
|
||||||
|
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
||||||
|
if (pageForm.birthdayRange && pageForm.birthdayRange.length > 0) {
|
||||||
|
pageForm.startDate = pageForm.birthdayRange[0]
|
||||||
|
pageForm.endDate = pageForm.birthdayRange[1]
|
||||||
|
}
|
||||||
|
if (pageForm.joinMemberRange && pageForm.joinMemberRange.length > 0) {
|
||||||
|
pageForm.startJoinDate = pageForm.joinMemberRange[0]
|
||||||
|
pageForm.endJoinDate = pageForm.joinMemberRange[1]
|
||||||
|
}
|
||||||
|
if (pageForm.leaveMemberRange && pageForm.leaveMemberRange.length > 0) {
|
||||||
|
pageForm.startLeaveDate = pageForm.leaveMemberRange[0]
|
||||||
|
pageForm.endLeaveDate = pageForm.leaveMemberRange[1]
|
||||||
|
}
|
||||||
|
this.$axios.post("/platform/member/statistics/comprehensive/pageData", pageForm).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.tableData = res.data.list
|
||||||
|
this.pageForm.totalCount = res.data.totalCount
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+59
-48
@@ -12,6 +12,16 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
placeholder="选择年" :clearable="false">
|
placeholder="选择年" :clearable="false">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</search-item>
|
</search-item>
|
||||||
|
|
||||||
|
<search-item label="入校月份">
|
||||||
|
<el-date-picker
|
||||||
|
type="month"
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="pageForm.month"
|
||||||
|
placeholder="请选择入校月份搜索">
|
||||||
|
</el-date-picker>
|
||||||
|
</search-item>
|
||||||
|
|
||||||
<search-item label="姓名工号">
|
<search-item label="姓名工号">
|
||||||
<el-input placeholder="请输入姓名或者工号" clearable v-model="pageForm.searchKeyword"></el-input>
|
<el-input placeholder="请输入姓名或者工号" clearable v-model="pageForm.searchKeyword"></el-input>
|
||||||
</search-item>
|
</search-item>
|
||||||
@@ -77,22 +87,37 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
</search-item>
|
</search-item>
|
||||||
<search-item label="出生日期">
|
<search-item label="出生日期">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="pageForm.startDate"
|
v-model="pageForm.birthdayRange"
|
||||||
type="date"
|
type="daterange"
|
||||||
@change="determineStartDate"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="选择开始出生日期">
|
value-format="yyyy-MM-dd"
|
||||||
</el-date-picker>
|
start-placeholder="开始日期"
|
||||||
</search-item>
|
end-placeholder="结束日期">
|
||||||
<search-item label="出生日期">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="pageForm.endDate"
|
|
||||||
type="date"
|
|
||||||
@change="determineEndDate"
|
|
||||||
style="width: 100%"
|
|
||||||
placeholder="选择结束出生日期">
|
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</search-item>
|
</search-item>
|
||||||
|
|
||||||
|
<search-item label="入会日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="pageForm.joinMemberRange"
|
||||||
|
type="daterange"
|
||||||
|
style="width: 100%"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</search-item>
|
||||||
|
|
||||||
|
<search-item label="离会日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="pageForm.leaveMemberRange"
|
||||||
|
type="daterange"
|
||||||
|
style="width: 100%"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</search-item>
|
||||||
|
|
||||||
<search-item label="年龄区间">
|
<search-item label="年龄区间">
|
||||||
<div style="display: flex;align-items: center">
|
<div style="display: flex;align-items: center">
|
||||||
<el-slider
|
<el-slider
|
||||||
@@ -145,6 +170,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
userStates: [],
|
userStates: [],
|
||||||
memberStatus: [],
|
memberStatus: [],
|
||||||
year: moment().format("YYYY"),
|
year: moment().format("YYYY"),
|
||||||
|
month: "",
|
||||||
roleIds: [],
|
roleIds: [],
|
||||||
age: [0, 0],
|
age: [0, 0],
|
||||||
minAge: 0,
|
minAge: 0,
|
||||||
@@ -153,8 +179,10 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
sexTypes: [],
|
sexTypes: [],
|
||||||
reverseSelection: false,
|
reverseSelection: false,
|
||||||
activityUserCnd: "",
|
activityUserCnd: "",
|
||||||
startDate: "",
|
// 出生年月日期范围
|
||||||
endDate: ""
|
birthdayRange: [],
|
||||||
|
joinMemberRange: [],
|
||||||
|
leaveMemberRange: [],
|
||||||
},
|
},
|
||||||
personTypeOptions: [],
|
personTypeOptions: [],
|
||||||
preparedByOptions: [],
|
preparedByOptions: [],
|
||||||
@@ -176,6 +204,16 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
components: {
|
components: {
|
||||||
"member-cnd": httpVueLoader("/components/module/member/MemberCnd.vue?v=" + new Date().getTime())
|
"member-cnd": httpVueLoader("/components/module/member/MemberCnd.vue?v=" + new Date().getTime())
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
monthPickerOptions() {
|
||||||
|
return {
|
||||||
|
disabledDate(time) {
|
||||||
|
// 只能选择与 `year` 相同的年份
|
||||||
|
return time.getFullYear() !== parseInt(this.pageForm.year);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
determineEndDate() {
|
determineEndDate() {
|
||||||
if (this.pageForm.startDate) {
|
if (this.pageForm.startDate) {
|
||||||
@@ -186,15 +224,6 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
}
|
}
|
||||||
this.pageForm.endDate = this.pageForm.endDate.toLocaleDateString().replaceAll("/", "-")
|
this.pageForm.endDate = this.pageForm.endDate.toLocaleDateString().replaceAll("/", "-")
|
||||||
},
|
},
|
||||||
determineStartDate() {
|
|
||||||
if (this.pageForm.endDate) {
|
|
||||||
if (Date.parse(this.pageForm.startDate) > Date.parse(this.pageForm.endDate)) {
|
|
||||||
this.pageForm.startDate = ""
|
|
||||||
this.$notify.warning("开始时间不能大于结束时间")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.pageForm.startDate = this.pageForm.startDate.toLocaleDateString().replaceAll("/", "-")
|
|
||||||
},
|
|
||||||
tagClick(key, val) {
|
tagClick(key, val) {
|
||||||
let idx = this.pageForm[key].indexOf(val)
|
let idx = this.pageForm[key].indexOf(val)
|
||||||
if (idx !== -1) {
|
if (idx !== -1) {
|
||||||
@@ -259,8 +288,9 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
this.pageForm.activityUserCnd = ""
|
this.pageForm.activityUserCnd = ""
|
||||||
this.pageForm.age = [0, 0]
|
this.pageForm.age = [0, 0]
|
||||||
this.pageForm.reverseSelection = false
|
this.pageForm.reverseSelection = false
|
||||||
this.pageForm.startDate = ""
|
this.pageForm.birthdayRange = []
|
||||||
this.pageForm.endDate = ""
|
this.pageForm.joinMemberRange = []
|
||||||
|
this.pageForm.leaveMemberRange = []
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
},
|
},
|
||||||
getMenuOptions() {
|
getMenuOptions() {
|
||||||
@@ -270,9 +300,6 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
setNowYear() {
|
|
||||||
this.$set(this.pageForm, "year", moment().format("YYYY"))
|
|
||||||
},
|
|
||||||
async initData() {
|
async initData() {
|
||||||
if (this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN"])) {
|
if (this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN"])) {
|
||||||
this.unions = await this.$businessTool.listUnion(this.pageForm.unionId)
|
this.unions = await this.$businessTool.listUnion(this.pageForm.unionId)
|
||||||
@@ -308,28 +335,12 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
this.pageForm.isUnion = params.isUnion
|
this.pageForm.isUnion = params.isUnion
|
||||||
this.pageData()
|
this.pageData()
|
||||||
},
|
},
|
||||||
pageData() {
|
doSearch() {
|
||||||
const pageForm = clone(this.pageForm)
|
this.$emit('search', this.pageForm)
|
||||||
pageForm.age = JSON.stringify(this.pageForm.age)
|
|
||||||
pageForm.unionId = JSON.stringify(this.pageForm.unionId)
|
|
||||||
pageForm.unitId = JSON.stringify(this.pageForm.unitId)
|
|
||||||
pageForm.sexTypes = JSON.stringify(this.pageForm.sexTypes)
|
|
||||||
pageForm.memberTypes = JSON.stringify(this.pageForm.memberTypes)
|
|
||||||
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
|
||||||
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
|
||||||
pageForm.memberStatus = JSON.stringify(this.pageForm.memberStatus)
|
|
||||||
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
|
||||||
this.$axios.post("/platform/member/statistics/comprehensive/pageData", pageForm).then((data) => {
|
|
||||||
if (data.code === 0) {
|
|
||||||
this.$emit("query", data.data)
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initData()
|
this.initData()
|
||||||
this.pageData()
|
this.doSearch()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user