diff --git a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java index 7a781e9..8572a4f 100644 --- a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java @@ -61,7 +61,7 @@ public class SourceUserServiceImpl extends ViServiceImpl implements } // 是会员的人员类型 - private final List MEMBER_PERSON_TYPE = List.of("事业编制(员额)", "事业编制", "校聘编外", "同工同酬", "学校编制", "博士后(统招)", "下属公司人员"); + private final List MEMBER_PERSON_TYPE = List.of("事业编制(员额)", "事业编制", "校聘编外", "同工同酬", "学校编制", "博士后(统招)"); @Inject private AsyncService asyncService; @@ -148,18 +148,27 @@ public class SourceUserServiceImpl extends ViServiceImpl implements source.setWelfareMember(null); Sys_user user = userMap.get(source.getLoginname().toLowerCase()); - if (MEMBER_PERSON_TYPE.contains(source.getPersonType()) && "在职".equals(source.getUserState())) { + if (StrUtil.isNotBlank(source.getPersonType()) + && MEMBER_PERSON_TYPE.contains(source.getPersonType()) + && "在职".equals(source.getUserState())) { source.setMember(1); source.setWelfareMember(1); - if (Lang.isNotEmpty(user) && user.getMember() == 1) { - - } else { - addMemberUserIds.add(Lang.isNotEmpty(user) ? user.getId() : source.getId()); + // 符合条件的这类人员 人员性质设为会员 + source.setPreparedBy("会员"); + if (user != null && user.getMember() != 1) { + addMemberUserIds.add(user.getId()); + } + if (user == null) { + addMemberUserIds.add(source.getId()); } } else { source.setMember(0); source.setWelfareMember(0); - deleteMemberUserIds.add(Lang.isNotEmpty(user) ? user.getId() : source.getId()); + // 不符合条件的这类人员 人员性质设为教职工 + source.setPreparedBy("教职工"); + if (user != null && user.getMember() == 1) { + deleteMemberUserIds.add(user.getId()); + } } Sys_user u = new Sys_user(); diff --git a/src/main/java/io/v/nutz/zhgh/member/controller/change/MemberChangeManageController.java b/src/main/java/io/v/nutz/zhgh/member/controller/change/MemberChangeManageController.java index a4b33a5..a253864 100644 --- a/src/main/java/io/v/nutz/zhgh/member/controller/change/MemberChangeManageController.java +++ b/src/main/java/io/v/nutz/zhgh/member/controller/change/MemberChangeManageController.java @@ -109,6 +109,7 @@ public class MemberChangeManageController { @Param(value = "sex", required = false) String sex, @Param(value = "personType", required = false) String personType, @Param(value = "userState", required = false) String userState, + @Param(value = "preparedBy", required = false) String preparedBy, @Param(value = "changeDate", required = false) String changeDate, @Param(value = "changeType", required = false) String changeType, @Param(value = "changeTypes", required = false) Integer[] changeTypes, @@ -169,6 +170,7 @@ public class MemberChangeManageController { cnd.andEX("u.sex", "=", sex); cnd.andEX("u.personType", "=", personType); cnd.andEX("u.userState", "=", userState); + cnd.andEX("u.preparedBy", "=", preparedBy); if (StrUtil.isNotBlank(changeDateBefore) && StrUtil.isNotBlank(changeDateEnd)) { cnd.and(new Static(String.format("Date(his.changeTime) >= '%s' and Date(his.changeTime) <= '%s'", changeDateBefore, changeDateEnd))); @@ -363,7 +365,7 @@ public class MemberChangeManageController { @Param(value = "memberSearchKeyWord", required = false) String memberSearchKeyWord, @Param(value = "isAppendWelfareMember", required = false) Boolean isAppendWelfareMember) { int yyyy = Calendar.getInstance().get(Calendar.YEAR); - Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); + Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, null, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); Sql sql = Sqls.create(""" SELECT u.* from $table LEFT JOIN sys_user_role sur ON sur.userid = u.id diff --git a/src/main/java/io/v/nutz/zhgh/member/controller/check/MemberCheckUnionController.java b/src/main/java/io/v/nutz/zhgh/member/controller/check/MemberCheckUnionController.java index 9b4311f..c46e366 100644 --- a/src/main/java/io/v/nutz/zhgh/member/controller/check/MemberCheckUnionController.java +++ b/src/main/java/io/v/nutz/zhgh/member/controller/check/MemberCheckUnionController.java @@ -71,6 +71,7 @@ public class MemberCheckUnionController { @Param(value = "isMember", required = false) Integer isMember, @Param(value = "unionGroupId", required = false) String unionGroupId, @Param(value = "threeUnitId", required = false) String threeUnitId, + @Param(value = "preparedBy", required = false) String preparedBy, @Param(value = "userStates", required = false) String[] userStates, @Param(value = "personTypes", required = false) String[] personTypes, @Param(value = "changeTypes", required = false) Integer[] changeTypes, @@ -85,6 +86,7 @@ public class MemberCheckUnionController { u.birthday, u.personType, u.userState, + u.preparedBy, u.unionname, u.unitname, u.threeUnitName, @@ -124,6 +126,7 @@ public class MemberCheckUnionController { cnd.andEX("u.unitid", "=", unitId); cnd.andEX("u.unionGroupId", "=", unionGroupId); cnd.andEX("u.threeUnitId", "=", threeUnitId); + cnd.andEX("u.preparedBy", "=", preparedBy); cnd.and(Cnd.likeEX("u." + pageForm.getSearchName(), pageForm.getSearchKeyword())); cnd.andEX("u.member", "=", isMember); diff --git a/src/main/java/io/v/nutz/zhgh/member/controller/info/MemberDataManageController.java b/src/main/java/io/v/nutz/zhgh/member/controller/info/MemberDataManageController.java index 49a1f4c..cf2103d 100644 --- a/src/main/java/io/v/nutz/zhgh/member/controller/info/MemberDataManageController.java +++ b/src/main/java/io/v/nutz/zhgh/member/controller/info/MemberDataManageController.java @@ -71,7 +71,8 @@ public class MemberDataManageController { @Param(value = "startLoginNames", required = false) String startLoginNames, @Param(value = "endLoginNames", required = false) String endLoginNames, @Param(value = "personTypes", required = false) String[] personTypes, - @Param(value = "userStates", required = false) String[] userStates + @Param(value = "userStates", required = false) String[] userStates, + @Param(value = "preparedBys", required = false) String[] preparedBys ) { Sql sql = Sqls.create(""" SELECT @@ -83,6 +84,7 @@ public class MemberDataManageController { welfareMember, personType, userState, + preparedBy, unioncode, unionname, unionid, @@ -123,6 +125,7 @@ public class MemberDataManageController { cnd.andEX("campusName", "=", campus); cnd.andEX("personType", "in", personTypes); cnd.andEX("userState", "in", userStates); + cnd.andEX("preparedBy", "in", preparedBys); if (StrUtil.isNotBlank(startLoginNames)) { String[] loginNames = startLoginNames.split(","); @@ -315,6 +318,7 @@ public class MemberDataManageController { @Param(value = "endLoginNames", required = false) String endLoginNames, @Param(value = "confirm", required = false) Boolean confirm, @Param(value = "personTypes", required = false) String[] personTypes, + @Param(value = "preparedBys", required = false) String[] preparedBys, @Param(value = "userStates", required = false) String[] userStates) { @@ -343,6 +347,7 @@ public class MemberDataManageController { cnd.andEX("campusName", "=", campus); cnd.andEX("personType", "in", personTypes); cnd.andEX("userState", "in", userStates); + cnd.andEX("preparedBy", "in", preparedBys); if (StrUtil.isNotBlank(startLoginNames)) { String[] loginNames = startLoginNames.split(","); diff --git a/src/main/java/io/v/nutz/zhgh/member/controller/inquire/MemberInquireIntegrateController.java b/src/main/java/io/v/nutz/zhgh/member/controller/inquire/MemberInquireIntegrateController.java index f1f450a..faa1d8a 100644 --- a/src/main/java/io/v/nutz/zhgh/member/controller/inquire/MemberInquireIntegrateController.java +++ b/src/main/java/io/v/nutz/zhgh/member/controller/inquire/MemberInquireIntegrateController.java @@ -80,6 +80,7 @@ public class MemberInquireIntegrateController { @Param(value = "unionGroupId", required = false) String[] unionGroupId, @Param(value = "personTypes", required = false) String[] personTypes, @Param(value = "userStates", required = false) String[] userStates, + @Param(value = "preparedBys", required = false) String[] preparedBys, @Param(value = "memberStatus", required = false) String[] memberStatus, @Param(value = "campus", required = false) String campus, @Param(value = "memberType", required = false) String memberType, @@ -92,7 +93,7 @@ public class MemberInquireIntegrateController { @Param(value = "memberSearchKeyWord", required = false) String memberSearchKeyWord) { int yyyy = Calendar.getInstance().get(Calendar.YEAR); - Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); + Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, preparedBys, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); Sql sql = Sqls.create(""" SELECT u.* from $table @@ -443,6 +444,7 @@ public class MemberInquireIntegrateController { @Param(value = "unionGroupId", required = false) String[] unionGroupId, @Param(value = "personTypes", required = false) String[] personTypes, @Param(value = "userStates", required = false) String[] userStates, + @Param(value = "preparedBys", required = false) String[] preparedBys, @Param(value = "memberStatus", required = false) String[] memberStatus, @Param(value = "campus", required = false) String campus, @Param(value = "memberType", required = false) String memberType, @@ -457,7 +459,7 @@ public class MemberInquireIntegrateController { try { int yyyy = Calendar.getInstance().get(Calendar.YEAR); - Cnd cnd = MemberUtils.getCnd(null, startDate, endDate, unionId, unitId, personTypes, userStates, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); + Cnd cnd = MemberUtils.getCnd(null, startDate, endDate, unionId, unitId, personTypes, userStates, preparedBys, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); Sql sql = Sqls.create(""" SELECT u.* from $table diff --git a/src/main/java/io/v/nutz/zhgh/member/utils/MemberUtils.java b/src/main/java/io/v/nutz/zhgh/member/utils/MemberUtils.java index 03b4958..f58e771 100644 --- a/src/main/java/io/v/nutz/zhgh/member/utils/MemberUtils.java +++ b/src/main/java/io/v/nutz/zhgh/member/utils/MemberUtils.java @@ -67,6 +67,7 @@ public class MemberUtils { String[] unitId, String[] personTypes, String[] userStates, + String[] preparedBys, String[] memberTypes, String[] sexTypes, String[] age, @@ -164,6 +165,7 @@ public class MemberUtils { cnd.andEX("u.campus", EQ_OR_NEQ_OP, campus); cnd.andEX("u.personType", IN_OR_NIN_OP, personTypes); cnd.andEX("u.userState", IN_OR_NIN_OP, userStates); + cnd.andEX("u.preparedBy", IN_OR_NIN_OP, preparedBys); cnd.andEX("u.sex", IN_OR_NIN_OP, sexTypes); cnd.andEX("sur.jdhid", EQ_OR_NEQ_OP, teacherMeetingId); cnd.andEX("sur.roleid", IN_OR_NIN_OP, roleIds); diff --git a/src/main/java/io/v/nutz/zhgh/welfare/model/WelfareProjectSubjectOption.java b/src/main/java/io/v/nutz/zhgh/welfare/model/WelfareProjectSubjectOption.java index b072718..cca43ae 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/model/WelfareProjectSubjectOption.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/model/WelfareProjectSubjectOption.java @@ -89,4 +89,7 @@ public class WelfareProjectSubjectOption extends BaseModel { @Comment("简短备注") @ColDefine(type = ColType.VARCHAR,width = 100) private String simpleDesc; + + private Integer rank; + private Long selectCount; } diff --git a/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareProjectServiceImpl.java b/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareProjectServiceImpl.java index 0d5f5fc..3e4f1ee 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareProjectServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareProjectServiceImpl.java @@ -7,6 +7,8 @@ import io.v.nutz.base.service.impl.ViServiceImpl; import io.v.nutz.web.commons.utils.ShiroUtil; import io.v.nutz.zhgh.welfare.model.WelfareProject; import io.v.nutz.zhgh.welfare.model.WelfareProjectSubject; +import io.v.nutz.zhgh.welfare.model.WelfareProjectSubjectOption; +import io.v.nutz.zhgh.welfare.model.WelfareUserSelection; import io.v.nutz.zhgh.welfare.service.WelfareProjectService; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; @@ -19,7 +21,10 @@ import org.nutz.lang.Strings; import org.nutz.lang.util.NutMap; import org.nutz.plugins.wkcache.annotation.CacheDefaults; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; @@ -64,6 +69,44 @@ public class WelfareProjectServiceImpl extends ViServiceImpl imp MatchConditionStructure conditionStructure = fetchLinks(dao().fetch(MatchConditionStructure.class, project.getConditionStructureId()), "conditions"); project.setConditionStructure(conditionStructure); } + + //获取用户选择数据 + List userSelections = dao().query(WelfareUserSelection.class, Cnd.where("welfareId", "=", projectId)); + //统计每项选了多少个 + Map selectCountMap = userSelections.stream().collect(Collectors.groupingBy(WelfareUserSelection::getSelectOptionId, Collectors.counting())) + .entrySet().stream() + .sorted(Map.Entry.comparingByValue().reversed()) // 根据选择的数量降序排序 + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (e1, e2) -> e1, LinkedHashMap::new));// 保持排序; + //排名 + LinkedHashMap sortMap = new LinkedHashMap<>(); + int rank = 1; + //记录上一个的数量,如果相同,则排名相同 + Long previousValue = null; + for (Map.Entry entry : selectCountMap.entrySet()) { + if (previousValue != null && !Objects.equals(previousValue, entry.getValue())) { + rank++; + } + sortMap.put(entry.getKey(), rank); + previousValue = entry.getValue(); + } + + if (Lang.isNotEmpty(welfareProjectSubjects)) { + fetchLinks(welfareProjectSubjects, "options", Cnd.NEW().asc("optionSort")); + welfareProjectSubjects.forEach(o -> { + List options = o.getOptions(); + options.forEach(op -> { + op.setSelectCount(selectCountMap.getOrDefault(op.getId(), 0L)); + op.setRank(sortMap.getOrDefault(op.getId(), 0)); + }); + }); + } + if (Strings.isNotBlank(project.getConditionStructureId())) { + MatchConditionStructure conditionStructure = fetchLinks(dao().fetch(MatchConditionStructure.class, project.getConditionStructureId()), "conditions"); + project.setConditionStructure(conditionStructure); + } return project; } diff --git a/src/main/resources/static/assets/mobile/svg/welfare/bank.svg b/src/main/resources/static/assets/mobile/svg/welfare/bank.svg new file mode 100644 index 0000000..b755676 --- /dev/null +++ b/src/main/resources/static/assets/mobile/svg/welfare/bank.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/views/mobile/welfare/list/receive.html b/src/main/resources/views/mobile/welfare/list/receive.html index f464232..4db9e5e 100644 --- a/src/main/resources/views/mobile/welfare/list/receive.html +++ b/src/main/resources/views/mobile/welfare/list/receive.html @@ -132,6 +132,18 @@ layout("/mobile/platform.html"){ border: 1pt solid #000000 !important; } + + .top-text { + font-size: 19px; + width: inherit; + margin-top: -5px; + position: absolute; + font-family: ""; + top: 0; + right: 0; + transform: rotate(23deg); + z-index: 1; + }
@@ -149,38 +161,46 @@ layout("/mobile/platform.html"){ -
- 福利信息 +
+
+ 福利信息 +
+
+ {{clickUpOrDown ? '点击收起' : '点击展开'}} + +
- - - - - - {{projectInfo.isCheckBox==='checkBox'?'多选':'单选'}} - - - - - - - - - - - + @@ -197,12 +217,17 @@ layout("/mobile/platform.html"){
-
-
- +
+
TOP{{option.rank}}
+
+ + {{option.selectCount}}人已选
@@ -219,7 +244,7 @@ layout("/mobile/platform.html"){ 备注:{{option.simpleDesc}}
-
套餐详情
@@ -388,7 +413,9 @@ layout("/mobile/platform.html"){ selectAddress: null, userSelection: [], descPopup: false, - signData: null + signData: null, + + clickUpOrDown: false } }, computed: { @@ -404,7 +431,7 @@ layout("/mobile/platform.html"){ } return false }, - selectTime(){ + selectTime() { if (this.userSelection && this.userSelection.length > 0) { return this.userSelection[0].selectTime } @@ -426,11 +453,11 @@ layout("/mobile/platform.html"){ } else { //已选择了不能再动了 if (this.isSelect) { - if(moment(this.selectTime).valueOf() > moment(choiceTimeEnd).valueOf() && now < moment(overdueChoiceTimeEnd).valueOf()){ + if (moment(this.selectTime).valueOf() > moment(choiceTimeEnd).valueOf() && now < moment(overdueChoiceTimeEnd).valueOf()) { return {text: '确定修改', disabled: false} } return {text: '选择已结束', disabled: true} - }else{ + } else { if (now > moment(choiceTimeStart).valueOf() && now < moment(overdueChoiceTimeEnd).valueOf()) { return {text: this.isSelect ? '确定修改' : '确定选择', disabled: false} } else if (now > moment(overdueChoiceTimeEnd).valueOf()) { @@ -451,6 +478,19 @@ layout("/mobile/platform.html"){ } }, methods: { + // top字体颜色 + getRankColor(rank) { + switch(rank) { + case 1: + return 'red'; + case 2: + return 'yellow'; + case 3: + return 'blue'; + default: + return 'transparent'; + } + }, //数量更改 numChange(value, option, optionIndex) { const { @@ -550,6 +590,7 @@ layout("/mobile/platform.html"){ this.$modal.msgError(msg) } this.confirmPopup = false + await this.getProjectInfo() }, //查看详情 @@ -571,7 +612,7 @@ layout("/mobile/platform.html"){ //地址管理 openAddressManage() { - pjaxReplace('/mobile/welfare/mine/address?projectId='+this.projectId) + pjaxReplace('/mobile/welfare/mine/address?projectId=' + this.projectId) window.sessionStorage.setItem('welfareProjectId', this.projectId) }, diff --git a/src/main/resources/views/platform/member/change/Manage.html b/src/main/resources/views/platform/member/change/Manage.html index 0b11e59..63ede7b 100644 --- a/src/main/resources/views/platform/member/change/Manage.html +++ b/src/main/resources/views/platform/member/change/Manage.html @@ -70,7 +70,6 @@ layout("/layouts/platform.html"){
@@ -82,13 +81,23 @@ layout("/layouts/platform.html"){
+
+
人员类型:
+
+ +
+
+
变更类型:
@@ -592,8 +601,9 @@ layout("/layouts/platform.html"){ {prop: 'username', label: '姓名', sortable: true}, {prop: 'sex', label: '性别', sortable: true, width: '100px'}, {prop: 'birthday', label: '出生年月', sortable: true}, - {prop: 'personType', label: '人员类型', sortable: true}, {prop: 'userState', label: '在职状态', sortable: true}, + {prop: 'personType', label: '人员类型', sortable: true}, + {prop: 'preparedBy', label: '人员性质', sortable: true}, {prop: 'unionname', label: '所属工会', sortable: true}, {prop: 'unitname', label: '所属单位', sortable: true}, // {prop: 'threeUnitName', label: '所在科室', sortable: true, checked: 0}, diff --git a/src/main/resources/views/platform/member/check/union.html b/src/main/resources/views/platform/member/check/union.html index e84f18c..8158e8f 100644 --- a/src/main/resources/views/platform/member/check/union.html +++ b/src/main/resources/views/platform/member/check/union.html @@ -108,6 +108,17 @@ layout("/layouts/platform.html"){
+
+
人员类型:
+
+ +
+
+
变更类型:
@@ -338,8 +349,9 @@ layout("/layouts/platform.html"){ {prop: 'username', label: '姓名', sortable: true}, {prop: 'sex', label: '性别', sortable: true, width: '100px'}, {prop: 'birthday', label: '出生年月', sortable: true}, - {prop: 'personType', label: '人员类型', sortable: true}, {prop: 'userState', label: '在职状态', sortable: true}, + {prop: 'personType', label: '人员类型', sortable: true}, + {prop: 'preparedBy', label: '人员性质', sortable: true}, {prop: 'unionname', label: '所属工会', sortable: true}, {prop: 'unitname', label: '所属单位', sortable: true}, // {prop: 'threeUnitName', label: '所在科室', sortable: true}, diff --git a/src/main/resources/views/platform/member/info/dataManage.html b/src/main/resources/views/platform/member/info/dataManage.html index 1e89ca6..10a5e5e 100644 --- a/src/main/resources/views/platform/member/info/dataManage.html +++ b/src/main/resources/views/platform/member/info/dataManage.html @@ -126,6 +126,16 @@ layout("/layouts/platform.html"){
+
+
在职状态:
+
+ +
+
+
会员状态:
@@ -210,6 +220,30 @@ layout("/layouts/platform.html"){
+
+
人员性质:
+
+ + {{ item.name }} + + 清空 + + 全部 + +
+
+
搜索 @@ -323,6 +357,7 @@ layout("/layouts/platform.html"){ pageForm: { userStates: [], personTypes: [], + preparedBys: [], }, userId: "", @@ -333,8 +368,9 @@ layout("/layouts/platform.html"){ {prop: 'loginname', label: '工号'}, {prop: 'username', label: '姓名'}, {prop: 'sex', label: '性别'}, - {prop: 'personType', label: '人员类型', sortable: true}, {prop: 'userState', label: '在职状态', sortable: true}, + {prop: 'personType', label: '人员类型', sortable: true}, + {prop: 'preparedBy', label: '人员性质', sortable: true}, {prop: 'unionname', label: '所属工会', sortable: true}, {prop: 'unitname', label: '所属单位', sortable: true}, {prop: 'threeUnitName', label: '所在科室', sortable: true, checked: 0}, @@ -348,6 +384,7 @@ layout("/layouts/platform.html"){ setMemberDialogVisible: false, personTypeOptions: [], userStateOptions: [], + preparedByOptions: [], isThreeUnit: false } }, @@ -362,6 +399,7 @@ layout("/layouts/platform.html"){ const pageForm = clone(this.pageForm) pageForm.personTypes = JSON.stringify(pageForm.personTypes) pageForm.userStates = JSON.stringify(pageForm.userStates) + pageForm.preparedBys = JSON.stringify(pageForm.preparedBys) const {data, code, msg} = await $.post(loc() + '/pageData', pageForm) this.tableLoading = false sublime.closeLoadingbar() @@ -424,6 +462,7 @@ layout("/layouts/platform.html"){ const pageForm = clone(this.pageForm) pageForm.personTypes = JSON.stringify(pageForm.personTypes) pageForm.userStates = JSON.stringify(pageForm.userStates) + pageForm.preparedBys = JSON.stringify(pageForm.preparedBys) pageForm.confirm = confirm const resp = await $.post(loc() + "/setMemberByCnd", pageForm) if (resp.code === 0) { @@ -498,6 +537,7 @@ layout("/layouts/platform.html"){ this.pageData(); this.personTypeOptions = await getDictOptions("UserType") this.userStateOptions = await getDictOptions("UserState") + this.preparedByOptions = await getDictOptions("PREPARED_BY") if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('SchoolUnionMemberAdmin')||@shiro.hasRole('H03')}" === 'true') { this.unions = await getUnions(null, false) } else { diff --git a/src/main/resources/views/platform/member/inquire/Integrate.html b/src/main/resources/views/platform/member/inquire/Integrate.html index a4f99b4..e0667b7 100644 --- a/src/main/resources/views/platform/member/inquire/Integrate.html +++ b/src/main/resources/views/platform/member/inquire/Integrate.html @@ -261,6 +261,31 @@ layout("/layouts/platform.html"){ + + 人员性质: + + + {{ item.name }} + + + 清空 + + 全部 + + + + 系统角色: @@ -539,6 +564,7 @@ layout("/layouts/platform.html"){ searchName: "username", personTypes: [], userStates: [], + preparedBys: [], memberStatus: [], year: moment().format('YYYY'), roleIds: [], @@ -556,6 +582,7 @@ layout("/layouts/platform.html"){ personTypeOptions: [], userStateOptions: [], + preparedByOptions: [], memberStatusOptions: [], userId: "", @@ -575,8 +602,9 @@ layout("/layouts/platform.html"){ {prop: 'idcard', label: '身份证号', width: 170}, {prop: 'position', label: '职务', sortable: true, checked: 0}, {prop: 'jobTitle', label: '职称', sortable: true, checked: 0}, - {prop: 'personType', label: '人员类型', sortable: true}, {prop: 'userState', label: '在职状态', sortable: true}, + {prop: 'personType', label: '人员类型', sortable: true}, + {prop: 'preparedBy', label: '人员性质', sortable: true}, {prop: 'unionname', label: '所属工会', sortable: true}, {prop: 'unitname', label: '所属单位', sortable: true}, {prop: 'threeUnitName', label: '所在科室', sortable: true}, @@ -621,6 +649,7 @@ layout("/layouts/platform.html"){ pageForm.threeUnitId = JSON.stringify(pageForm.threeUnitId) pageForm.personTypes = JSON.stringify(pageForm.personTypes) pageForm.userStates = JSON.stringify(pageForm.userStates) + pageForm.preparedBys = JSON.stringify(pageForm.preparedBys) pageForm.memberStatus = JSON.stringify(pageForm.memberStatus) pageForm.memberTypes = JSON.stringify(pageForm.memberTypes) @@ -642,14 +671,19 @@ layout("/layouts/platform.html"){ const memberStatus = JSON.stringify(this.pageForm.memberStatus) const personTypes = JSON.stringify(this.pageForm.personTypes) const userStates = JSON.stringify(this.pageForm.userStates) + const preparedBys = JSON.stringify(this.pageForm.preparedBys) window.location.href = loc() + "/doExport?unionId=" + this.pageForm.unionId + "&unitId=" + this.pageForm.unitId + "&year=" + this.pageForm.year - + "&memberStatus=" + memberStatus + "&personTypes=" + personTypes + "&userStates=" + userStates + + "&memberStatus=" + memberStatus + + "&personTypes=" + personTypes + + "&userStates=" + userStates + + "&preparedBys=" + preparedBys }, doExportByUnion() { const memberStatus = JSON.stringify(this.pageForm.memberStatus) const personTypes = JSON.stringify(this.pageForm.personTypes) const userStates = JSON.stringify(this.pageForm.userStates) + const preparedBys = JSON.stringify(this.pageForm.preparedBys) const unionId = JSON.stringify(this.pageForm.unionId) const unitId = JSON.stringify(this.pageForm.unitId) const unionGroupId = JSON.stringify(this.pageForm.unionGroupId) @@ -680,7 +714,7 @@ layout("/layouts/platform.html"){ + "&startDate=" + (startDate ? this.getDate(startDate) : '') + "&endDate=" + (endDate ? this.getDate(endDate) : '') + "&campus=" + (campus ? campus : '') + "&reverseSelection=" + (reverseSelection ? reverseSelection : '') + "&memberSearchName=" + (memberSearchName ? memberSearchName : '') + "&memberSearchKeyWord=" + (memberSearchKeyWord ? memberSearchKeyWord : '') + "&personTypes=" + personTypes - + "&userStates=" + userStates + "&props=" + JSON.stringify(props) + + "&userStates=" + userStates + "&preparedBys=" + preparedBys + "&props=" + JSON.stringify(props) }, getDate(date) { let year = date.getFullYear(); @@ -699,6 +733,15 @@ layout("/layouts/platform.html"){ } this.doSearch() }, + checkPreparedByType(state) { + let idx = this.pageForm.preparedBys.indexOf(state) + if (idx != -1) { + this.pageForm.preparedBys.splice(idx, 1) + } else { + this.pageForm.preparedBys.push(state) + } + this.doSearch() + }, checkMemberStatusType(state) { let idx = this.pageForm.memberStatus.indexOf(state) if (idx !== -1) { @@ -757,6 +800,7 @@ layout("/layouts/platform.html"){ pageForm.threeUnitId = JSON.stringify(pageForm.threeUnitId) pageForm.personTypes = JSON.stringify(pageForm.personTypes) pageForm.userStates = JSON.stringify(pageForm.userStates) + pageForm.preparedBys = JSON.stringify(pageForm.preparedBys) pageForm.memberStatus = JSON.stringify(pageForm.memberStatus) pageForm.memberTypes = JSON.stringify(pageForm.memberTypes) @@ -804,6 +848,7 @@ layout("/layouts/platform.html"){ this.pageForm.sexTypes = [] this.pageForm.personTypes = [] this.pageForm.userStates = [] + this.pageForm.preparedBys = [] this.pageForm.unionId = [] this.pageForm.unitId = [] this.pageForm.activityGroupId = [] @@ -858,6 +903,7 @@ layout("/layouts/platform.html"){ } this.personTypeOptions = await getDictOptions("UserType") this.userStateOptions = await getDictOptions("UserState") + this.preparedByOptions = await getDictOptions("PREPARED_BY") this.memberStatusOptions = await getDictOptions("memberStatusText") await this.getMenuOptions(); await this.getRolesAndUnion()