From 901db5224f1bb130918a16396d8682bb9f3e4580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A3=E4=BA=9B=E8=8A=B1=E5=84=BF?= <1156921458@qq.com> Date: Fri, 17 Oct 2025 08:54:14 +0800 Subject: [PATCH] .. --- ...ndMemberBranchUnionApprovalController.java | 9 +- .../controller/FundMemberMineController.java | 1 + .../controller/FundMemberQueryController.java | 2 +- ...ndMemberSchoolUnionApprovalController.java | 15 +- .../controller/FundMemberWriteController.java | 1 + .../ProposalQueryComprehensiveController.java | 40 +++ .../ProposalQueryComprehensiveParam.java | 6 + .../dayofficework/fund/member/mine/index.html | 3 - .../member/schoolUnionApproval/index.html | 20 +- .../fund/member/write/index.html | 14 +- .../proposal/query/comprehensive/index.html | 254 +++++++++++++----- 11 files changed, 272 insertions(+), 93 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberBranchUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberBranchUnionApprovalController.java index a980f3bf..2dfeba63 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberBranchUnionApprovalController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberBranchUnionApprovalController.java @@ -14,6 +14,7 @@ import io.swagger.annotations.Api; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.util.NutMap; @@ -81,9 +82,11 @@ public class FundMemberBranchUnionApprovalController { cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); } - - if (StrUtil.isNotBlank(searchKeyword)) { - cnd.where().andLike("info.title", searchKeyword); + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.orLike("info.loginName", pageForm.getSearchKeyword()); + seg.orLike("info.userName", pageForm.getSearchKeyword()); + cnd.and(seg); } cnd.groupBy("t.id"); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberMineController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberMineController.java index fbfa3c99..27b8bc23 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberMineController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberMineController.java @@ -74,6 +74,7 @@ public class FundMemberMineController { $condition """); Cnd cnd = Cnd.NEW(); + cnd.andEX("YEAR(info.submitTime)", "=", year); cnd.and("info.createdBy", "=", SecurityUtil.getUserId()); sql.setCondition(cnd); Pagination pagination = fundMemberService.listPageMap(pageNumber, pageSize, sql); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberQueryController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberQueryController.java index b396f3e3..5611817e 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberQueryController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberQueryController.java @@ -74,7 +74,7 @@ public class FundMemberQueryController { u.userState, u.unitName, u.unionName, - (SELECT changeTime FROM fund_member_change_record WHERE loginName = u.loginName AND isJoin = 1 ORDER BY changeTime DESC) joinTime + (SELECT changeTime FROM fund_member_change_record WHERE loginName = u.loginName AND isJoin = 1 ORDER BY changeTime DESC limit 1) joinTime FROM vw_user u $condition diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberSchoolUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberSchoolUnionApprovalController.java index fdc6735f..a810e9c3 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberSchoolUnionApprovalController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberSchoolUnionApprovalController.java @@ -14,6 +14,7 @@ import io.swagger.annotations.Api; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.util.NutMap; @@ -40,7 +41,7 @@ public class FundMemberSchoolUnionApprovalController { @At @SaCheckPermission("fundMember.schoolUnionApproval") - public Result pageData(PageForm pageForm, String taskId, String searchKeyword, Integer year, boolean approval) { + public Result pageData(PageForm pageForm, String unionId, Integer year, boolean approval) { Sql sql = Sqls.create(""" SELECT info.*, @@ -71,7 +72,7 @@ public class FundMemberSchoolUnionApprovalController { """); Cnd cnd = Cnd.NEW(); cnd.and("t.taskName", "=", "xgh"); - if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())){ + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); } @@ -81,10 +82,14 @@ public class FundMemberSchoolUnionApprovalController { cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); } - - if (StrUtil.isNotBlank(searchKeyword)) { - cnd.where().andLike("info.title", searchKeyword); + cnd.andEX("YEAR(info.submitTime)", "=", year); + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.orLike("info.loginName", pageForm.getSearchKeyword()); + seg.orLike("info.userName", pageForm.getSearchKeyword()); + cnd.and(seg); } + cnd.andEX("info.unionId", "=", unionId); cnd.groupBy("t.id"); cnd.desc("t.createdAt"); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberWriteController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberWriteController.java index be01d65e..89830adb 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberWriteController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/fund/member/controller/FundMemberWriteController.java @@ -69,6 +69,7 @@ public class FundMemberWriteController { Dict args = Dict.create(); args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode()); args.set(FlowConst.FORM_DATA, fundMember); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "userState", fundMember.getUserState()); ProcessInstance instance = flowEngine.startProcessInstanceByKey("FUND_MEMBER", fundMember.getId(), SecurityUtil.getUserId(), args); // 自动完成第一个申请任务 diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryComprehensiveController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryComprehensiveController.java index fb649933..ed3f3cff 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryComprehensiveController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryComprehensiveController.java @@ -1,6 +1,7 @@ package com.budwk.app.zhgh.democratic.proposal.controller.query; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; @@ -23,6 +24,7 @@ import org.nutz.mvc.annotation.Param; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Arrays; @IocBean @At("/platform/proposal/query/comprehensive") @@ -71,9 +73,47 @@ public class ProposalQueryComprehensiveController { LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10 LEFT JOIN proposal_reply_unit pru ON pru.proposalId = info.id + LEFT JOIN wf_process_task replyTask on replyTask.processInstanceId = ins.id AND replyTask.taskState = 20 AND replyTask.taskName in ('master_reply','slave_reply','opinion_master_reply') $condition """); Cnd cnd = Cnd.NEW(); + if(ArrayUtil.isNotEmpty(pageForm.getOrigins())){ + SqlExpressionGroup seg = new SqlExpressionGroup(); + + // 案名 + if(ArrayUtil.contains(pageForm.getOrigins(),"name")){ + for (String keyword : pageForm.getCommonKeyword().split(" ")) { + seg.orLike("info.name", keyword); + } + } + + // 案由 + if(ArrayUtil.contains(pageForm.getOrigins(),"brief")){ + for (String keyword : pageForm.getCommonKeyword().split(" ")) { + seg.orLike("info.brief", keyword); + } + } + + // 提案人 + if(ArrayUtil.contains(pageForm.getOrigins(),"createUserName")){ + for (String keyword : pageForm.getCommonKeyword().split(" ")) { + seg.orLike("info.createUserName", keyword); + seg.orLike("info.createUserLoginName", keyword); + } + } + + // 答复内容 + if(ArrayUtil.contains(pageForm.getOrigins(),"answer")){ + for (String keyword : pageForm.getCommonKeyword().split(" ")) { + seg.orLike("JSON_EXTRACT(replyTask.variable,'$.tf_opinion')", keyword); + } + } + + if(!seg.isEmpty()){ + cnd.and(seg); + } + } + if(StrUtil.isNotBlank(pageForm.getUndertakeUnitId())){ } diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/param/ProposalQueryComprehensiveParam.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/param/ProposalQueryComprehensiveParam.java index 25901f80..ecf68437 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/param/ProposalQueryComprehensiveParam.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/param/ProposalQueryComprehensiveParam.java @@ -20,6 +20,8 @@ public class ProposalQueryComprehensiveParam extends PageForm { private String code; @ApiModelProperty(name = "教代会ID") private String sessionId; + @ApiModelProperty(name = "教代会ID") + private String[] sessionIds; @ApiModelProperty(name = "代表团ID") private String delegationId; @ApiModelProperty(name = "提案人姓名") @@ -50,10 +52,14 @@ public class ProposalQueryComprehensiveParam extends PageForm { @ApiModelProperty(name = "征集进度状态") private Integer[] collectIds; + @ApiModelProperty(name = "提案来源") + private String[] origins; + @ApiModelProperty(name = "通用关键字") private String commonKeyword; + /** * 构建通用查询参数 * diff --git a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/mine/index.html b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/mine/index.html index 3bb1bcb0..37e0d336 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/mine/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/mine/index.html @@ -9,9 +9,6 @@ layout("/layouts/platform.html"){ - - - diff --git a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/schoolUnionApproval/index.html b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/schoolUnionApproval/index.html index 6501bebd..5ead82a5 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/schoolUnionApproval/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/schoolUnionApproval/index.html @@ -9,8 +9,19 @@ layout("/layouts/platform.html"){ - - + + + + + + + @@ -93,7 +104,8 @@ layout("/layouts/platform.html"){ approval: false }, formData: {}, - showApprovalForm: false + showApprovalForm: false, + unionOptions: [] } }, methods: { @@ -154,6 +166,8 @@ layout("/layouts/platform.html"){ }, }, created() { + //工会查询 + this.$businessTool.listUnion().then((res) => (this.unionOptions = res)) this.pageData() } }) diff --git a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/write/index.html b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/write/index.html index f30244fc..9e585186 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/fund/member/write/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/fund/member/write/index.html @@ -79,10 +79,6 @@ layout("/layouts/platform.html"){ - - - - @@ -145,7 +141,7 @@ layout("/layouts/platform.html"){ ], address: [{required: true, message: '请输入家庭住址', trigger: 'blur'}], joinWorkTime: [{required: true, message: '请选择参加工作时间', trigger: 'blur'}], - retireTime: [{required: true, message: '请选择退休时间', trigger: 'blur'}], + retireTime: [{required: false, message: '请选择退休时间', trigger: 'blur'}], mobile: [{required: true, message: '请输入手机号码', trigger: 'blur'}, { pattern: /^1[3456789]\d{9}$/, @@ -219,7 +215,7 @@ layout("/layouts/platform.html"){ }).then(res => { if (res.code === 0) { this.$message.success("提交成功") - commonUtil.pjaxPush('/platform/suggestionBox/mine') + commonUtil.pjaxPush('/platform/fundMember/mine') } }) }) @@ -235,7 +231,7 @@ layout("/layouts/platform.html"){ } }) } else { - const {username, loginname, sex, birthday, mobile, union} = this.$store.state.user + const {username, loginname, sex, birthday, mobile, union, userState, idCard} = this.$store.state.user this.formData = { userName: username, loginName: loginname, @@ -243,7 +239,9 @@ layout("/layouts/platform.html"){ birthday: birthday, mobile: mobile, unionId: union?.id, - unionName: union?.name + unionName: union?.name, + userState: userState, + idCard: idCard } } } diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html index 06626bbf..e7114323 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html @@ -6,61 +6,174 @@ layout("/layouts/platform.html"){ .el-tag { cursor: pointer; } + + .search-container { + display: flex; + align-items: center; + min-height: 50px; + border-bottom: 1px solid #ddd; + padding: 12px 0; + margin-bottom: 0; + } + + .search-label { + width: 90px; + margin-right: 10px; + font-weight: normal; + color: #333; + font-size: 14px; + } + + .search-content { + flex: 1; + display: flex; + gap: 5px; + } + + .custom-search-box { + display: flex; + align-items: center; + width: 100%; + background: #ffffff; + border: 1px solid #ccc; + border-radius: 3px; + } + + .custom-search-box:hover { + border-color: #999; + } + + .custom-search-box:focus-within { + border-color: #4a90e2; + box-shadow: 0 0 3px rgba(74, 144, 226, 0.3); + } + + .search-input { + flex: 1; + height: 35px; + padding: 0 10px; + border: none; + outline: none; + font-size: 14px; + color: #333; + background: transparent; + font-family: inherit; + width: 100%; + } + + .search-input::placeholder { + color: #999; + } + + .filter-row { + display: flex; + align-items: center; + min-height: 50px; + border-bottom: 1px dashed rgb(230, 230, 230); + } + + .filter-label { + width: 90px; + margin-right: 10px; + } + + .filter-tags { + flex: 1; + display: flex; + gap: 5px; + }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+
万能搜索
+
+ +
+
+ +
+
搜索来源
+
+ + {{ item.label }} + +
+
+ +
+
届次
+
+ + {{ item.fullName }} + +
+
+
+
提案类别
+
+ + {{ item.name }} + +
+
+
+
立案结果
+
+ + {{ item.label }} + +
+
+
+
立案类型
+
+ + {{ item.label }} + +
+
+ + - + @@ -78,28 +191,9 @@ layout("/layouts/platform.html"){ v-for="item in unitOptions"> - - - - - - - - - - - - - - - - - - - -
+