From 7dbe6f0e68150c3f556e23af108665119782c03f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Sun, 29 Dec 2024 21:35:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flowable/domain/my/FlowTaskEntity.java | 36 ++ .../manage/domain/ProProjectInfoSubdepts.java | 11 + .../yanzhu/manage/domain/WxMenuConfig.java | 149 ++++++ .../manage/domain/WxMenuConfigRole.java | 66 +++ .../manage/mapper/WxMenuConfigMapper.java | 70 +++ .../manage/mapper/WxMenuConfigRoleMapper.java | 61 +++ .../mapper/flowable/FlowBusinessKeyMapper.xml | 18 +- .../manage/ProProjectInfoSubdeptsMapper.xml | 4 +- .../mapper/manage/WxMenuConfigMapper.xml | 111 +++++ .../mapper/manage/WxMenuConfigRoleMapper.xml | 65 +++ .../yanzhu/file/utils/FileUploadUtils.java | 4 +- .../controller/FlowBusinessKeyController.java | 32 ++ .../service/IFlowDefinitionService.java | 8 + .../impl/FlowBusinessKeyServiceImpl.java | 2 +- .../impl/FlowDefinitionServiceImpl.java | 15 + .../controller/BasSignetController.java | 48 ++ .../controller/ProProjectInfoController.java | 17 +- .../controller/wechat/WXPublicController.java | 58 +++ .../service/IWxMenuConfigRoleService.java | 61 +++ .../manage/service/IWxMenuConfigService.java | 69 +++ .../service/impl/BasSignetServiceImpl.java | 7 +- .../impl/WxMenuConfigRoleServiceImpl.java | 93 ++++ .../service/impl/WxMenuConfigServiceImpl.java | 107 +++++ .../system/controller/SysUserController.java | 11 + .../system/service/ISysUserService.java | 8 + .../service/impl/SysUserServiceImpl.java | 13 + .../com/yanzhu/system/vo/AlertUserPassVo.java | 55 +++ yanzhu-ui-app/miniprogram/api/flowable.js | 55 ++- yanzhu-ui-app/miniprogram/api/login.js | 4 +- yanzhu-ui-app/miniprogram/api/project.js | 16 + yanzhu-ui-app/miniprogram/api/publics.js | 27 +- yanzhu-ui-app/miniprogram/app.js | 1 + yanzhu-ui-app/miniprogram/app.json | 12 +- .../components/safety-bar-chart/index.js | 202 +++++---- .../pages/components/user-infos/index.js | 49 +- .../pages/components/user-infos/index.wxml | 16 +- .../pages/project_check/edit/index.js | 328 ------------- .../pages/project_check/edit/index.json | 7 - .../pages/project_check/edit/index.wxml | 59 --- .../pages/project_check/edit/index.wxss | 110 ----- .../pages/project_check/info/index.js | 429 ------------------ .../pages/project_check/info/index.json | 9 - .../pages/project_check/info/index.wxml | 222 --------- .../pages/project_check/info/index.wxss | 169 ------- .../pages/project_check/list/index.js | 163 ------- .../pages/project_check/list/index.wxml | 56 --- .../pages/project_check/list/index.wxss | 1 - .../project_flowable/approveTask/index.js | 107 +++-- .../project_flowable/approveTask/index.wxml | 389 +++++++++++----- .../project_flowable/detailTask/index.js | 64 ++- .../project_flowable/detailTask/index.wxml | 391 +++++++++++----- .../pages/project_flowable/subDepts/index.js | 270 +++++++++++ .../subDepts}/index.json | 0 .../project_flowable/subDepts/index.wxml | 57 +++ .../project_flowable/subDepts/index.wxss | 1 + .../project_flowable/subDeptsUsers/index.js | 66 +++ .../project_flowable/subDeptsUsers/index.json | 3 + .../project_flowable/subDeptsUsers/index.wxml | 2 + .../project_flowable/subDeptsUsers/index.wxss | 1 + .../miniprogram/pages/project_info/index.js | 297 ++---------- .../miniprogram/pages/project_info/index.json | 6 +- .../miniprogram/pages/project_info/index.wxml | 39 +- .../miniprogram/pages/project_info/index.wxss | 1 + .../miniprogram/pages/project_more/index.js | 156 +++++++ .../miniprogram/pages/project_more/index.json | 7 + .../miniprogram/pages/project_more/index.wxml | 119 +++++ .../miniprogram/pages/project_more/index.wxss | 23 + .../miniprogram/pages/sign_mags/index.js | 172 +++++++ .../miniprogram/pages/sign_mags/index.json | 5 + .../miniprogram/pages/sign_mags/index.wxml | 31 ++ .../miniprogram/pages/sign_mags/index.wxss | 251 ++++++++++ .../miniprogram/pages/updatePwd/index.js | 114 ----- .../miniprogram/pages/updatePwd/index.json | 7 - .../miniprogram/pages/updatePwd/index.wxml | 53 --- .../miniprogram/pages/updatePwd/index.wxss | 7 - 75 files changed, 3258 insertions(+), 2515 deletions(-) create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigRoleMapper.xml create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java create mode 100644 yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/vo/AlertUserPassVo.java delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/edit/index.js delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/edit/index.json delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/edit/index.wxml delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/edit/index.wxss delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/info/index.js delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/info/index.json delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/info/index.wxml delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/info/index.wxss delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/list/index.js delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/list/index.wxml delete mode 100644 yanzhu-ui-app/miniprogram/pages/project_check/list/index.wxss create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDepts/index.js rename yanzhu-ui-app/miniprogram/pages/{project_check/list => project_flowable/subDepts}/index.json (100%) create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDepts/index.wxml create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDepts/index.wxss create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDeptsUsers/index.js create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDeptsUsers/index.json create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDeptsUsers/index.wxml create mode 100644 yanzhu-ui-app/miniprogram/pages/project_flowable/subDeptsUsers/index.wxss create mode 100644 yanzhu-ui-app/miniprogram/pages/project_more/index.js create mode 100644 yanzhu-ui-app/miniprogram/pages/project_more/index.json create mode 100644 yanzhu-ui-app/miniprogram/pages/project_more/index.wxml create mode 100644 yanzhu-ui-app/miniprogram/pages/project_more/index.wxss create mode 100644 yanzhu-ui-app/miniprogram/pages/sign_mags/index.js create mode 100644 yanzhu-ui-app/miniprogram/pages/sign_mags/index.json create mode 100644 yanzhu-ui-app/miniprogram/pages/sign_mags/index.wxml create mode 100644 yanzhu-ui-app/miniprogram/pages/sign_mags/index.wxss delete mode 100644 yanzhu-ui-app/miniprogram/pages/updatePwd/index.js delete mode 100644 yanzhu-ui-app/miniprogram/pages/updatePwd/index.json delete mode 100644 yanzhu-ui-app/miniprogram/pages/updatePwd/index.wxml delete mode 100644 yanzhu-ui-app/miniprogram/pages/updatePwd/index.wxss diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java index bebd6c91..1447fa18 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java @@ -17,8 +17,14 @@ public class FlowTaskEntity extends BaseEntity { private static final long serialVersionUID = 1L; + private String businessImg; + private String businessKey; + private String businessMk1; + private String businessMk2; + private String businessMk3; + @ApiModelProperty("任务编号") private String taskId; @@ -121,6 +127,14 @@ public class FlowTaskEntity extends BaseEntity { this.taskId = taskId; } + public String getBusinessImg() { + return businessImg; + } + + public void setBusinessImg(String businessImg) { + this.businessImg = businessImg; + } + public String getExecutionId() { return executionId; } @@ -369,5 +383,27 @@ public class FlowTaskEntity extends BaseEntity { this.deptAncestors = deptAncestors; } + public String getBusinessMk1() { + return businessMk1; + } + public void setBusinessMk1(String businessMk1) { + this.businessMk1 = businessMk1; + } + + public String getBusinessMk2() { + return businessMk2; + } + + public void setBusinessMk2(String businessMk2) { + this.businessMk2 = businessMk2; + } + + public String getBusinessMk3() { + return businessMk3; + } + + public void setBusinessMk3(String businessMk3) { + this.businessMk3 = businessMk3; + } } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdepts.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdepts.java index 676ea686..6f739440 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdepts.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdepts.java @@ -39,6 +39,9 @@ public class ProProjectInfoSubdepts extends BaseEntity @Excel(name = "分包单位类型") private String subDeptType; + /** 分包单位类型 */ + private String subDeptTypeName; + /** 分包单位名称 */ @Excel(name = "分包单位名称") private String subDeptName; @@ -364,6 +367,14 @@ public class ProProjectInfoSubdepts extends BaseEntity this.leaderDegreeGrade = leaderDegreeGrade; } + public String getSubDeptTypeName() { + return subDeptTypeName; + } + + public void setSubDeptTypeName(String subDeptTypeName) { + this.subDeptTypeName = subDeptTypeName; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java new file mode 100644 index 00000000..b18ff661 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java @@ -0,0 +1,149 @@ +package com.yanzhu.manage.domain; + +import com.yanzhu.common.core.annotation.Excel; +import com.yanzhu.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 菜单配置对象 wx_menu_config + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public class WxMenuConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 项目主键 */ + @Excel(name = "项目主键") + private Long projectId; + + /** 菜单名称 */ + @Excel(name = "菜单名称") + private String menuName; + + /** 菜单标识 */ + @Excel(name = "菜单标识") + private String menuIdenti; + + /** 菜单图标 */ + @Excel(name = "菜单图标") + private String menuImg; + + /** 菜单地址 */ + @Excel(name = "菜单地址") + private String menuUrl; + + /** 删除状态(0 未删除 1 已删除) */ + private Long delFlag; + + /** 菜单排序 */ + @Excel(name = "菜单排序") + private Long menuSort; + + /** 菜单类型 */ + @Excel(name = "菜单类型") + private String menuType; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setMenuName(String menuName) + { + this.menuName = menuName; + } + + public String getMenuName() + { + return menuName; + } + public void setMenuIdenti(String menuIdenti) + { + this.menuIdenti = menuIdenti; + } + + public String getMenuIdenti() + { + return menuIdenti; + } + public void setMenuImg(String menuImg) + { + this.menuImg = menuImg; + } + + public String getMenuImg() + { + return menuImg; + } + public void setMenuUrl(String menuUrl) + { + this.menuUrl = menuUrl; + } + + public String getMenuUrl() + { + return menuUrl; + } + public void setDelFlag(Long delFlag) + { + this.delFlag = delFlag; + } + + public Long getDelFlag() + { + return delFlag; + } + public void setMenuSort(Long menuSort) + { + this.menuSort = menuSort; + } + + public Long getMenuSort() + { + return menuSort; + } + public void setMenuType(String menuType) + { + this.menuType = menuType; + } + + public String getMenuType() + { + return menuType; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("menuName", getMenuName()) + .append("menuIdenti", getMenuIdenti()) + .append("menuImg", getMenuImg()) + .append("menuUrl", getMenuUrl()) + .append("delFlag", getDelFlag()) + .append("menuSort", getMenuSort()) + .append("createTime", getCreateTime()) + .append("menuType", getMenuType()) + .toString(); + } +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java new file mode 100644 index 00000000..a5038de3 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java @@ -0,0 +1,66 @@ +package com.yanzhu.manage.domain; + +import com.yanzhu.common.core.annotation.Excel; +import com.yanzhu.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 菜单配置角色对象 wx_menu_config_role + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public class WxMenuConfigRole extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 菜单主键 */ + @Excel(name = "菜单主键") + private Long smcid; + + /** 角色主键 */ + @Excel(name = "角色主键") + private Long roleId; + + /** 用户主键 */ + @Excel(name = "用户主键") + private Long userId; + + public void setSmcid(Long smcid) + { + this.smcid = smcid; + } + + public Long getSmcid() + { + return smcid; + } + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + public Long getRoleId() + { + return roleId; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("smcid", getSmcid()) + .append("roleId", getRoleId()) + .append("userId", getUserId()) + .toString(); + } +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java new file mode 100644 index 00000000..3beac408 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java @@ -0,0 +1,70 @@ +package com.yanzhu.manage.mapper; + +import java.util.List; +import com.yanzhu.manage.domain.WxMenuConfig; + +/** + * 菜单配置Mapper接口 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public interface WxMenuConfigMapper +{ + /** + * 查询菜单配置 + * + * @param id 菜单配置主键 + * @return 菜单配置 + */ + public WxMenuConfig selectWxMenuConfigById(Long id); + + /** + * 查询菜单配置列表 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置集合 + */ + public List selectWxMenuConfigList(WxMenuConfig wxMenuConfig); + + /** + * 新增菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + public int insertWxMenuConfig(WxMenuConfig wxMenuConfig); + + /** + * 修改菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + public int updateWxMenuConfig(WxMenuConfig wxMenuConfig); + + /** + * 删除菜单配置 + * + * @param id 菜单配置主键 + * @return 结果 + */ + public int deleteWxMenuConfigById(Long id); + + /** + * 批量删除菜单配置 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWxMenuConfigByIds(Long[] ids); + + /** + * 查询微信用户菜单 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置集合 + */ + public List findUserMenuList(WxMenuConfig wxMenuConfig); + +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java new file mode 100644 index 00000000..e159068e --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.manage.mapper; + +import java.util.List; +import com.yanzhu.manage.domain.WxMenuConfigRole; + +/** + * 菜单配置角色Mapper接口 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public interface WxMenuConfigRoleMapper +{ + /** + * 查询菜单配置角色 + * + * @param smcid 菜单配置角色主键 + * @return 菜单配置角色 + */ + public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid); + + /** + * 查询菜单配置角色列表 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 菜单配置角色集合 + */ + public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole); + + /** + * 新增菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); + + /** + * 修改菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); + + /** + * 删除菜单配置角色 + * + * @param smcid 菜单配置角色主键 + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcid(Long smcid); + + /** + * 批量删除菜单配置角色 + * + * @param smcids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcids(Long[] smcids); +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml index c65252ad..d1d560d9 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml @@ -48,7 +48,12 @@ - select fa.* from vw_flow_finished fa + select fa.* + , sud.business_license_path as businessImg, bus.sub_dept_name as businessMk1, sdd.dict_label as businessMk2, sud.sub_dept_code as businessMk3 + , sus.user_picture as businessImg, sus.card_code as businessMk1, sdd.dict_label as businessMk2, bus.sub_dept_name as businessMk3 + from vw_flow_finished fa + left join pro_project_info_subdepts_users bus on bus.id = fa.businessKey left join pro_project_info_subdepts sud on sud.id = bus.sub_dept_id left join sys_dict_data sdd on sdd.dict_value = bus.sub_dept_type and sdd.dict_type='sub_dept_type' + left join pro_project_info_subdepts_users bus on bus.id = fa.businessKey left join sys_dict_data sdd on sdd.dict_value = bus.craft_post and sdd.dict_type='pro_craft_post' left join sys_user sus on sus.user_id = bus.user_id where fa.ASSIGNEE_=#{assigneeId} and fa.procDefName like concat('%', #{procDefName}, '%') @@ -127,6 +139,8 @@ and fa.startComName like concat('%', #{startComName}, '%') and fa.startProId = #{startProId} and fa.startProName like concat('%', #{startProName}, '%') + and fa.category = '1' + and fa.category in ('2','3','4') and fa.endTime between #{params.beginTime} and #{params.endTime} order by fa.endTime desc diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsMapper.xml index 3950f568..d6fc1d2e 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsMapper.xml @@ -11,6 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -35,9 +36,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select ps.id, ps.com_id, sd.dept_name as com_name, ps.project_id, pi.project_name, ps.sub_dept_type, ps.sub_dept_name, ps.sub_dept_code, ps.sub_dept_leader_id, ps.sub_dept_leader_name, ps.sub_dept_leader_code, ps.sub_dept_leader_phone, ps.business_license_path, ps.sub_dept_infos, ps.contract_infos, ps.use_dates, ps.start_work_dates, ps.end_work_dates, ps.use_status, ps.approve_status, ps.qr_code, ps.is_del, ps.create_by, ps.create_time, ps.update_by, ps.update_time, ps.remark from pro_project_info_subdepts ps + select ps.id, ps.com_id, sd.dept_name as com_name, ps.project_id, pi.project_name, ps.sub_dept_type, sdd.dict_label as sub_dept_type_name, ps.sub_dept_name, ps.sub_dept_code, ps.sub_dept_leader_id, ps.sub_dept_leader_name, ps.sub_dept_leader_code, ps.sub_dept_leader_phone, ps.business_license_path, ps.sub_dept_infos, ps.contract_infos, ps.use_dates, ps.start_work_dates, ps.end_work_dates, ps.use_status, ps.approve_status, ps.qr_code, ps.is_del, ps.create_by, ps.create_time, ps.update_by, ps.update_time, ps.remark from pro_project_info_subdepts ps left join pro_project_info pi on pi.id = ps.project_id left join sys_dept sd on sd.dept_id = pi.com_id + left join sys_dict_data sdd on sdd.dict_value = ps.sub_dept_type and sdd.dict_type = 'sub_dept_type' + + + and project_id = #{projectId} + and menu_name like concat('%', #{menuName}, '%') + and menu_type = #{menuType} + + + + + + + insert into wx_menu_config + + project_id, + menu_name, + menu_identi, + menu_img, + menu_url, + del_flag, + menu_sort, + create_time, + menu_type, + + + #{projectId}, + #{menuName}, + #{menuIdenti}, + #{menuImg}, + #{menuUrl}, + #{delFlag}, + #{menuSort}, + #{createTime}, + #{menuType}, + + + + + update wx_menu_config + + project_id = #{projectId}, + menu_name = #{menuName}, + menu_identi = #{menuIdenti}, + menu_img = #{menuImg}, + menu_url = #{menuUrl}, + del_flag = #{delFlag}, + menu_sort = #{menuSort}, + create_time = #{createTime}, + menu_type = #{menuType}, + + where id = #{id} + + + + delete from wx_menu_config where id = #{id} + + + + delete from wx_menu_config where id in + + #{id} + + + + + + + \ No newline at end of file diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigRoleMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigRoleMapper.xml new file mode 100644 index 00000000..c8b88da3 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigRoleMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + select smcid, role_id, user_id from wx_menu_config_role + + + + + + + + insert into wx_menu_config_role + + smcid, + role_id, + user_id, + + + #{smcid}, + #{roleId}, + #{userId}, + + + + + update wx_menu_config_role + + role_id = #{roleId}, + user_id = #{userId}, + + where smcid = #{smcid} + + + + delete from wx_menu_config_role where smcid = #{smcid} + + + + delete from wx_menu_config_role where smcid in + + #{smcid} + + + + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/utils/FileUploadUtils.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/utils/FileUploadUtils.java index c00f4770..fd0e78bf 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/utils/FileUploadUtils.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/utils/FileUploadUtils.java @@ -197,9 +197,9 @@ public class FileUploadUtils ex.printStackTrace(); } absPath = cutResult?(absPath+".sign.png"):absPath; - int w = ImgUtil.read(FileUtil.file(absPath)).getWidth()/20; + int w = ImgUtil.read(FileUtil.file(absPath)).getWidth(); ImgUtil.scale(FileUtil.file(absPath), - FileUtil.file(absPath + ".min.png"), w); + FileUtil.file(absPath + ".min.png"), 25/w); } } }catch (Exception ex){ diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java index ba7d8aa3..a60a657f 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java @@ -1,24 +1,32 @@ package com.yanzhu.flowable.controller; +import com.yanzhu.common.core.constant.Constants; import com.yanzhu.common.core.text.Convert; import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.core.web.controller.BaseController; import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.flowable.domain.my.FlowTaskEntity; import com.yanzhu.flowable.service.IFlowBusinessKeyService; +import com.yanzhu.flowable.service.IFlowDefinitionService; import com.yanzhu.system.api.domain.SysRole; import com.yanzhu.system.api.model.LoginUser; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.flowable.bpmn.model.UserTask; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -35,6 +43,12 @@ import java.util.stream.Collectors; @RequestMapping("/businessKey") public class FlowBusinessKeyController extends BaseController { + @Autowired + private RedisService redisService; + + @Autowired + private IFlowDefinitionService flowDefinitionService; + @Autowired private IFlowBusinessKeyService flowBusinessKeyService; @@ -70,6 +84,24 @@ public class FlowBusinessKeyController extends BaseController { return getDataTable(flowBusinessKeyService.selectAllFlowTaskByParams(flowTaskEntity)); } + /** + * 查询流程节点 + * @param deployId + * @return + */ + @ApiOperation(value = "查询流程节点") + @GetMapping("/readDeployNotes/{deployId}") + public AjaxResult readDeployNotes(@ApiParam(value = "流程定义id") @PathVariable(value = "deployId") String deployId) { + String key = "businessKey_readDeployNotes:" + deployId; + Object object = redisService.getCacheObject(key); + if (object != null) { + return success(object); + } + List list = flowDefinitionService.findFlowNodes(deployId); + redisService.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); + return success(list); + } + /** * 根据条件统计所有流任务 * @param flowTaskEntity diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/IFlowDefinitionService.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/IFlowDefinitionService.java index ce9f7af0..122ef8f0 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/IFlowDefinitionService.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/IFlowDefinitionService.java @@ -2,6 +2,7 @@ package com.yanzhu.flowable.service; import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.flowable.domain.dto.FlowProcDefDto; +import org.flowable.bpmn.model.UserTask; import java.io.IOException; import java.io.InputStream; @@ -91,4 +92,11 @@ public interface IFlowDefinitionService { * @return */ InputStream readImage(String deployId); + + /** + * 读取流程节点 + * @param deployId + * @return + */ + public List findFlowNodes(String deployId); } diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java index 4f526889..a7f33c81 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java @@ -44,7 +44,7 @@ public class FlowBusinessKeyServiceImpl implements IFlowBusinessKeyService { @Override public Map quueryCount(FlowTaskEntity flowTaskEntity) { flowTaskEntity.setActiveTags("await"); - int awaitSize = flowBusinessKeyMapper.selectAllFlowTaskByParams(flowTaskEntity).size(); + int awaitSize = flowBusinessKeyMapper.selectMyAwaitFlowTask(flowTaskEntity).size(); flowTaskEntity.setActiveTags("finished"); int finishedSize = flowBusinessKeyMapper.selectAllFlowTaskByParams(flowTaskEntity).size(); Map dataMap = new HashMap<>(); diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowDefinitionServiceImpl.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowDefinitionServiceImpl.java index e9b24d8a..8debdfaa 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowDefinitionServiceImpl.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowDefinitionServiceImpl.java @@ -19,6 +19,7 @@ import com.yanzhu.system.api.domain.SysUser; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.UserTask; import org.flowable.engine.repository.Deployment; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.repository.ProcessDefinitionQuery; @@ -110,6 +111,20 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl } */ + /** + * 读取流程节点 + * @param deployId + * @return + */ + @Override + public List findFlowNodes(String deployId){ + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployId).singleResult(); + //获得图片流 + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); + List list = bpmnModel.getProcesses().get(0).findFlowElementsOfType(UserTask.class); + return list; + } + /** * 导入流程文件 * diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/BasSignetController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/BasSignetController.java index 9e342e03..e912f2d3 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/BasSignetController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/BasSignetController.java @@ -1,19 +1,26 @@ package com.yanzhu.manage.controller; +import com.yanzhu.common.core.constant.CacheConstants; +import com.yanzhu.common.core.enums.DataSourceEnuns; +import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.common.core.utils.poi.ExcelUtil; import com.yanzhu.common.core.web.controller.BaseController; import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.core.web.page.TableDataInfo; import com.yanzhu.common.log.annotation.Log; import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.BasSignet; +import com.yanzhu.manage.domain.ProProjectInfo; import com.yanzhu.manage.service.IBasSignetService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Objects; /** * 业务签名管理Controller @@ -25,6 +32,9 @@ import java.util.List; @RequestMapping("/basSignet") public class BasSignetController extends BaseController { + @Autowired + private RedisService redisService; + @Autowired private IBasSignetService basSignetService; @@ -40,6 +50,44 @@ public class BasSignetController extends BaseController return getDataTable(list); } + /** + * 查询业务签名 + */ + @GetMapping("/findUserSignList/{proId}") + public AjaxResult findUserSignList(@PathVariable("proId") Long proId) + { + BasSignet basSignet = new BasSignet(); + basSignet.setProjectId(proId); + basSignet.setUserId(SecurityUtils.getUserId()); + List list = basSignetService.selectBasSignetList(basSignet); + return success(list); + } + + /** + * 查询业务签名 + */ + @PostMapping("/submitUserSign") + public AjaxResult submitUserSign(@RequestBody BasSignet pageBasSignet) + { + if(Objects.nonNull(pageBasSignet.getId())){ + BasSignet basSignet = basSignetService.selectBasSignetById(pageBasSignet.getId()); + basSignet.setSignetPath(pageBasSignet.getSignetPath()+".sign.png.min.png"); + basSignet.setUpdateBy(DataSourceEnuns.APP.getInfo()); + basSignet.setUpdateTime(DateUtils.getNowDate()); + return toAjax(basSignetService.updateBasSignet(basSignet)); + }else{ + ProProjectInfo proProjectInfo = redisService.getCacheObject(CacheConstants.PRO_PROJECT+pageBasSignet.getProjectId()); + BasSignet basSignet = new BasSignet(); + basSignet.setComId(proProjectInfo.getComId()); + basSignet.setProjectId(proProjectInfo.getId()); + basSignet.setUserId(SecurityUtils.getUserId()); + basSignet.setSignetPath(pageBasSignet.getSignetPath()+".sign.png.min.png"); + basSignet.setCreateBy(DataSourceEnuns.APP.getInfo()); + basSignet.setCreateTime(DateUtils.getNowDate()); + return toAjax(basSignetService.insertBasSignet(basSignet)); + } + } + /** * 导出业务签名管理列表 */ diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java index f57f2dc9..f0ae7409 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java @@ -1,6 +1,9 @@ package com.yanzhu.manage.controller; +import com.yanzhu.common.core.constant.Constants; import com.yanzhu.common.core.domain.R; +import com.yanzhu.common.core.utils.PageUtils; +import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.core.utils.bean.BeanUtils; import com.yanzhu.common.core.utils.poi.ExcelUtil; import com.yanzhu.common.core.web.controller.BaseController; @@ -8,8 +11,10 @@ import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.core.web.page.TableDataInfo; import com.yanzhu.common.log.annotation.Log; import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.annotation.InnerAuth; import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.ProProjectInfo; import com.yanzhu.manage.service.IProProjectInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -18,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; /** * 项目信息Controller @@ -29,6 +35,9 @@ import java.util.Map; @RequestMapping("/proProjectInfo") public class ProProjectInfoController extends BaseController { + @Autowired + private RedisService redisService; + @Autowired private IProProjectInfoService proProjectInfoService; @@ -123,7 +132,13 @@ public class ProProjectInfoController extends BaseController public TableDataInfo findMyProjectList(ProProjectInfo proProjectInfo) { startPage(); - List list = proProjectInfoService.selectProProjectInfoList(proProjectInfo); + String key="proProjectInfo_findMyProjectList-"+ PageUtils.getLocalPage().getPageNum()+"-"+PageUtils.getLocalPage().getPageSize()+"-"+SecurityUtils.getUserId()+"-"+proProjectInfo.getProjectName(); + List list = redisService.getCacheObject(key); + if(StringUtils.isNotEmpty(list)){ + return getDataTable(list); + } + list = proProjectInfoService.selectProProjectInfoList(proProjectInfo); + redisService.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); return getDataTable(list); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java new file mode 100644 index 00000000..a2657a58 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java @@ -0,0 +1,58 @@ +package com.yanzhu.manage.controller.wechat; + +import com.yanzhu.common.core.constant.Constants; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.redis.service.RedisService; +import com.yanzhu.common.security.utils.SecurityUtils; +import com.yanzhu.manage.domain.WxMenuConfig; +import com.yanzhu.manage.service.IWxMenuConfigService; +import com.yanzhu.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 公共信息Controller + * + * @author JiangYuQi + * @date 2024-08-25 + */ +@RestController +@RequestMapping("/wxPublic") +public class WXPublicController extends BaseController { + + @Autowired + private RedisService redisService; + + @Autowired + private IWxMenuConfigService wxMenuConfigService; + + /** + * 根据用户查询菜单信息 + * @param menuType + * @return + */ + @GetMapping("/v1/findUserMenuList/{proId}") + public AjaxResult findUserMenuList(@PathVariable("proId") Long proId, String menuType){ + //设置缓存 + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + String key="wxPublic_findUserMenuList-"+sysUser.getUserId()+"-"+proId+"-"+menuType; + Object obj=redisService.getCacheObject(key); + if(obj!=null){ + return success(obj); + } + WxMenuConfig query = new WxMenuConfig(); + query.setActiveProjectId(proId); + query.setMenuType(menuType); + query.setCurrentUserId(sysUser.getUserId()); + List list = wxMenuConfigService.findUserMenuList(query); + redisService.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); + return success(list); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java new file mode 100644 index 00000000..d21b3ce8 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java @@ -0,0 +1,61 @@ +package com.yanzhu.manage.service; + +import java.util.List; +import com.yanzhu.manage.domain.WxMenuConfigRole; + +/** + * 菜单配置角色Service接口 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public interface IWxMenuConfigRoleService +{ + /** + * 查询菜单配置角色 + * + * @param smcid 菜单配置角色主键 + * @return 菜单配置角色 + */ + public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid); + + /** + * 查询菜单配置角色列表 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 菜单配置角色集合 + */ + public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole); + + /** + * 新增菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); + + /** + * 修改菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); + + /** + * 批量删除菜单配置角色 + * + * @param smcids 需要删除的菜单配置角色主键集合 + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcids(Long[] smcids); + + /** + * 删除菜单配置角色信息 + * + * @param smcid 菜单配置角色主键 + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcid(Long smcid); +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java new file mode 100644 index 00000000..c7153c80 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java @@ -0,0 +1,69 @@ +package com.yanzhu.manage.service; + +import java.util.List; +import com.yanzhu.manage.domain.WxMenuConfig; + +/** + * 菜单配置Service接口 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +public interface IWxMenuConfigService +{ + /** + * 查询菜单配置 + * + * @param id 菜单配置主键 + * @return 菜单配置 + */ + public WxMenuConfig selectWxMenuConfigById(Long id); + + /** + * 查询菜单配置列表 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置集合 + */ + public List selectWxMenuConfigList(WxMenuConfig wxMenuConfig); + + /** + * 新增菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + public int insertWxMenuConfig(WxMenuConfig wxMenuConfig); + + /** + * 修改菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + public int updateWxMenuConfig(WxMenuConfig wxMenuConfig); + + /** + * 批量删除菜单配置 + * + * @param ids 需要删除的菜单配置主键集合 + * @return 结果 + */ + public int deleteWxMenuConfigByIds(Long[] ids); + + /** + * 删除菜单配置信息 + * + * @param id 菜单配置主键 + * @return 结果 + */ + public int deleteWxMenuConfigById(Long id); + + /** + * 查询微信用户菜单 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置集合 + */ + public List findUserMenuList(WxMenuConfig wxMenuConfig); +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BasSignetServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BasSignetServiceImpl.java index 2cef17fa..ae393e73 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BasSignetServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BasSignetServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; /** * 业务签名管理Service业务层处理 @@ -44,8 +45,10 @@ public class BasSignetServiceImpl implements IBasSignetService @Override public List selectBasSignetList(BasSignet basSignet) { - basSignet.setActiveComId(SecurityUtils.getLoginUser().getProjectDeptId()); - basSignet.setActiveProjectId(SecurityUtils.getLoginUser().getProjectId()); + if(Objects.isNull(basSignet.getProjectId())){ + basSignet.setActiveComId(SecurityUtils.getLoginUser().getProjectDeptId()); + basSignet.setActiveProjectId(SecurityUtils.getLoginUser().getProjectId()); + } return basSignetMapper.selectBasSignetList(basSignet); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java new file mode 100644 index 00000000..d57f2198 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java @@ -0,0 +1,93 @@ +package com.yanzhu.manage.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.manage.mapper.WxMenuConfigRoleMapper; +import com.yanzhu.manage.domain.WxMenuConfigRole; +import com.yanzhu.manage.service.IWxMenuConfigRoleService; + +/** + * 菜单配置角色Service业务层处理 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +@Service +public class WxMenuConfigRoleServiceImpl implements IWxMenuConfigRoleService +{ + @Autowired + private WxMenuConfigRoleMapper wxMenuConfigRoleMapper; + + /** + * 查询菜单配置角色 + * + * @param smcid 菜单配置角色主键 + * @return 菜单配置角色 + */ + @Override + public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid) + { + return wxMenuConfigRoleMapper.selectWxMenuConfigRoleBySmcid(smcid); + } + + /** + * 查询菜单配置角色列表 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 菜单配置角色 + */ + @Override + public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole) + { + return wxMenuConfigRoleMapper.selectWxMenuConfigRoleList(wxMenuConfigRole); + } + + /** + * 新增菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + @Override + public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole) + { + return wxMenuConfigRoleMapper.insertWxMenuConfigRole(wxMenuConfigRole); + } + + /** + * 修改菜单配置角色 + * + * @param wxMenuConfigRole 菜单配置角色 + * @return 结果 + */ + @Override + public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole) + { + return wxMenuConfigRoleMapper.updateWxMenuConfigRole(wxMenuConfigRole); + } + + /** + * 批量删除菜单配置角色 + * + * @param smcids 需要删除的菜单配置角色主键 + * @return 结果 + */ + @Override + public int deleteWxMenuConfigRoleBySmcids(Long[] smcids) + { + return wxMenuConfigRoleMapper.deleteWxMenuConfigRoleBySmcids(smcids); + } + + /** + * 删除菜单配置角色信息 + * + * @param smcid 菜单配置角色主键 + * @return 结果 + */ + @Override + public int deleteWxMenuConfigRoleBySmcid(Long smcid) + { + return wxMenuConfigRoleMapper.deleteWxMenuConfigRoleBySmcid(smcid); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java new file mode 100644 index 00000000..c0d9e607 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java @@ -0,0 +1,107 @@ +package com.yanzhu.manage.service.impl; + +import java.util.List; + +import com.yanzhu.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.manage.mapper.WxMenuConfigMapper; +import com.yanzhu.manage.domain.WxMenuConfig; +import com.yanzhu.manage.service.IWxMenuConfigService; + +/** + * 菜单配置Service业务层处理 + * + * @author JiangYuQi + * @date 2024-12-29 + */ +@Service +public class WxMenuConfigServiceImpl implements IWxMenuConfigService +{ + @Autowired + private WxMenuConfigMapper wxMenuConfigMapper; + + /** + * 查询菜单配置 + * + * @param id 菜单配置主键 + * @return 菜单配置 + */ + @Override + public WxMenuConfig selectWxMenuConfigById(Long id) + { + return wxMenuConfigMapper.selectWxMenuConfigById(id); + } + + /** + * 查询菜单配置列表 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置 + */ + @Override + public List selectWxMenuConfigList(WxMenuConfig wxMenuConfig) + { + return wxMenuConfigMapper.selectWxMenuConfigList(wxMenuConfig); + } + + /** + * 新增菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + @Override + public int insertWxMenuConfig(WxMenuConfig wxMenuConfig) + { + wxMenuConfig.setCreateTime(DateUtils.getNowDate()); + return wxMenuConfigMapper.insertWxMenuConfig(wxMenuConfig); + } + + /** + * 修改菜单配置 + * + * @param wxMenuConfig 菜单配置 + * @return 结果 + */ + @Override + public int updateWxMenuConfig(WxMenuConfig wxMenuConfig) + { + return wxMenuConfigMapper.updateWxMenuConfig(wxMenuConfig); + } + + /** + * 批量删除菜单配置 + * + * @param ids 需要删除的菜单配置主键 + * @return 结果 + */ + @Override + public int deleteWxMenuConfigByIds(Long[] ids) + { + return wxMenuConfigMapper.deleteWxMenuConfigByIds(ids); + } + + /** + * 删除菜单配置信息 + * + * @param id 菜单配置主键 + * @return 结果 + */ + @Override + public int deleteWxMenuConfigById(Long id) + { + return wxMenuConfigMapper.deleteWxMenuConfigById(id); + } + + /** + * 查询微信用户菜单 + * + * @param wxMenuConfig 菜单配置 + * @return 菜单配置集合 + */ + @Override + public List findUserMenuList(WxMenuConfig wxMenuConfig){ + return wxMenuConfigMapper.findUserMenuList(wxMenuConfig); + } +} diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java index 15082286..8326aa33 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java @@ -21,6 +21,7 @@ import com.yanzhu.system.api.domain.SysUser; import com.yanzhu.system.api.model.LoginUser; import com.yanzhu.system.domain.vo.TreeSelect; import com.yanzhu.system.service.*; +import com.yanzhu.system.vo.AlertUserPassVo; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; import java.util.List; import java.util.Map; @@ -321,6 +323,15 @@ public class SysUserController extends BaseController { return toAjax(userService.resetPwd(user)); } + /** + * 重置密码 + */ + @Log(title = "修改密码", businessType = BusinessType.UPDATE) + @PostMapping("/updatePwd") + public AjaxResult updatePwd(@RequestBody @Valid AlertUserPassVo vo) { + return toAjax(userService.updataUserPassWord(vo)); + } + /** * 状态修改 */ diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java index b359b88e..9240775c 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java @@ -1,6 +1,7 @@ package com.yanzhu.system.service; import com.yanzhu.system.api.domain.SysUser; +import com.yanzhu.system.vo.AlertUserPassVo; import java.util.List; import java.util.Map; @@ -239,4 +240,11 @@ public interface ISysUserService * @return 结果 */ public List> selectProjectsByUserId(Long userId); + + /** + * 修改用户密码 + * @param alertUserPassVo + * @return + */ + public int updataUserPassWord(AlertUserPassVo alertUserPassVo); } diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java index 46e53bb4..0e2e8c51 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java @@ -12,6 +12,7 @@ import com.yanzhu.system.domain.SysPost; import com.yanzhu.system.domain.SysUserPost; import com.yanzhu.system.domain.SysUserRole; import com.yanzhu.system.mapper.*; +import com.yanzhu.system.vo.AlertUserPassVo; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; @@ -652,4 +653,16 @@ public class SysUserServiceImpl implements ISysUserService return successMsg.toString(); } + /** + * 修改用户密码 + * @param alertUserPassVo + * @return + */ + @Override + public int updataUserPassWord(AlertUserPassVo alertUserPassVo){ + SysUser sysUser = userMapper.selectUserByUserId(SecurityUtils.getUserId()); + sysUser.setPassword(SecurityUtils.encryptPassword(alertUserPassVo.getPassword())); + return userMapper.updateUser(sysUser); + } + } diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/vo/AlertUserPassVo.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/vo/AlertUserPassVo.java new file mode 100644 index 00000000..b40b40b0 --- /dev/null +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/vo/AlertUserPassVo.java @@ -0,0 +1,55 @@ +package com.yanzhu.system.vo; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; + +/** + * 修改密码 + */ +@Data +public class AlertUserPassVo { + + private static final long serialVersionUID = 1L; + + /** + * 手机号码格式限制 + */ + public static final String MOBILE_PHONE_NUMBER_PATTERN = "^0{0,1}(13[0-9]|15[0-9]|14[0-9]|18[0-9])[0-9]{8}$"; + + /** + * 登录账号 + * @NotBlank(message = "登录账号不能为空") + * @Pattern(regexp = "^0{0,1}(13[0-9]|15[0-9]|14[0-9]|18[0-9])[0-9]{8}$", message = "手机号格式异常") + */ + private String loginName; + + @NotBlank(message = "登录密码不能为空") + @Size(min = 6, max = 20, message = "登录密码格式异常") + private String password; + + @NotBlank(message = "确认密码不能为空") + @Size(min = 6, max = 20, message = "确认密码格式异常") + private String confPass; + + /** + * 旧密码验证 + * @NotBlank(message = "旧密码不能为空") + * @Size(min = 6, max = 20, message = "旧密码格式异常") + */ + private String oldPass; + + /** + * @Pattern(regexp = "^[0-9]{6}$", message = "验证码格式异常") + */ + private String code; + + /** + * 来源 + * @NotBlank(message = "来源不能为空") + * @Pattern(regexp = "r|u", message = "来源异常") + */ + private String source; +} diff --git a/yanzhu-ui-app/miniprogram/api/flowable.js b/yanzhu-ui-app/miniprogram/api/flowable.js index a311cd8b..c3bda4b1 100644 --- a/yanzhu-ui-app/miniprogram/api/flowable.js +++ b/yanzhu-ui-app/miniprogram/api/flowable.js @@ -3,7 +3,7 @@ import {request} from '../utils/request' // 获取流程申请类型 export function myDefinitionList(data) { return request({ - url: '/wxApi/flowTask/myDefinitionList', + url: '/flowable/businessKey/myDefinitionList', method: 'get', data: data }) @@ -12,7 +12,7 @@ export function myDefinitionList(data) { // 启动流程实例 export function startProcessInstance(data) { return request({ - url: '/wxApi/flowTask/startProcessInstance', + url: '/flowable/businessKey/startProcessInstance', method: 'post', data: data }) @@ -21,7 +21,7 @@ export function startProcessInstance(data) { // 查询流程节点 export function readNotes(deployId) { return request({ - url: '/wxApi/flowTask/readNotes/'+deployId, + url: '/flowable/businessKey/readNotes/'+deployId, method: 'get' }) } @@ -29,7 +29,7 @@ export function readNotes(deployId) { // 查询流程节点 export function readDeployNotes(deployId) { return request({ - url: '/wxApi/flowTask/readDeployNotes/'+deployId, + url: '/flowable/businessKey/readDeployNotes/'+deployId, method: 'get' }) } @@ -37,7 +37,7 @@ export function readDeployNotes(deployId) { // 取消流程申请 export function stopProcess(data) { return request({ - url: '/wxApi/flowTask/stopProcess', + url: '/flowable/businessKey/stopProcess', method: 'post', data: data }) @@ -46,7 +46,7 @@ export function stopProcess(data) { // 撤回流程办理 export function revokeProcess(data) { return request({ - url: '/wxApi/flowTask/revokeProcess', + url: '/flowable/businessKey/revokeProcess', method: 'post', data: data }) @@ -55,7 +55,7 @@ export function revokeProcess(data) { // 审批任务流程 export function complete(data) { return request({ - url: '/wxApi/flowTask/complete', + url: '/flowable/task/complete', method: 'post', data: data }) @@ -64,7 +64,7 @@ export function complete(data) { // 驳回任务流程 export function reject(data) { return request({ - url: '/wxApi/flowTask/reject', + url: '/flowable/businessKey/reject', method: 'post', data: data }) @@ -73,7 +73,7 @@ export function reject(data) { // 退回任务流程 export function returnTask(data) { return request({ - url: '/wxApi/flowTask/return', + url: '/flowable/task/return', method: 'post', data: data }) @@ -82,7 +82,7 @@ export function returnTask(data) { // 委派任务流程 export function delegateTask(data) { return request({ - url: '/wxApi/flowTask/delegateTask', + url: '/flowable/businessKey/delegateTask', method: 'post', data: data }) @@ -91,7 +91,7 @@ export function delegateTask(data) { // 转办任务流程 export function assignTask(data) { return request({ - url: '/wxApi/flowTask/assignTask', + url: '/flowable/businessKey/assignTask', method: 'post', data: data }) @@ -100,7 +100,7 @@ export function assignTask(data) { // 删除流程实例 export function deleteInstance(instanceId) { return request({ - url: '/wxApi/flowTask/delete/'+instanceId, + url: '/flowable/businessKey/delete/'+instanceId, method: 'get' }) } @@ -108,7 +108,7 @@ export function deleteInstance(instanceId) { // 获取所有可回退的节点 export function returnList(data) { return request({ - url: '/wxApi/flowTask/returnList', + url: '/flowable/task/returnList', method: 'post', data: data }) @@ -117,25 +117,34 @@ export function returnList(data) { // 根据流程Id查询操作日志 export function findCommentByProcInsId(data) { return request({ - url: '/wxApi/flowTask/findCommentByProcInsId', + url: '/flowable/businessKey/findCommentByProcInsId', method: 'get', data: data }) } -// 根据条件查询我的代办任务 -export function myAwaitFlowTaskList(data) { +// 根据条件统计分包单位审批 +export function quueryCount(query) { return request({ - url: '/wxApi/flowTask/myAwaitFlowTaskList', - method: 'post', - data: data + url: '/flowable/businessKey/queryCount', + method: 'get', + params: query + }) +} + +// 根据条件查询我的代办任务 +export function myAwaitFlowTaskList(query) { + return request({ + url: '/flowable/businessKey/myAwaitFlowTaskList', + method: 'get', + params: query }) } // 根据条件查询我的已办任务 export function myFinishedFlowTaskList(query) { return request({ - url: '/wxApi/flowTask/myFinishedFlowTaskList', + url: '/flowable/businessKey/myFinishedFlowTaskList', method: 'get', params: query }) @@ -144,7 +153,7 @@ export function myFinishedFlowTaskList(query) { // 根据条件查询所有流申请 export function allInstanceList(data) { return request({ - url: '/wxApi/flowTask/allList', + url: '/flowable/businessKey/allList', method: 'get', data: data }) @@ -153,7 +162,7 @@ export function allInstanceList(data) { // 根据条件查询所有流申请 export function myInstanceList(data) { return request({ - url: '/wxApi/flowTask/myList', + url: '/flowable/businessKey/myList', method: 'get', data: data }) @@ -162,7 +171,7 @@ export function myInstanceList(data) { // 根据条件统计所有流程任务 export function queryTaskCount(data) { return request({ - url: '/wxApi/flowTask/queryCount', + url: '/flowable/businessKey/queryCount', method: 'get', data: data }) diff --git a/yanzhu-ui-app/miniprogram/api/login.js b/yanzhu-ui-app/miniprogram/api/login.js index dc07d9f7..19297524 100644 --- a/yanzhu-ui-app/miniprogram/api/login.js +++ b/yanzhu-ui-app/miniprogram/api/login.js @@ -38,7 +38,7 @@ export function maLogin(data) { // 登录方法 export function updatePwd(data) { return request({ - url: '/wxApi/updatePwd', + url: '/system/user/updatePwd', method: 'post', data: data, }) @@ -48,7 +48,7 @@ export function updatePwd(data) { export function loginOut() { return request({ 'url': '/auth/logout', - 'method': 'get' + 'method': 'delete' }) } diff --git a/yanzhu-ui-app/miniprogram/api/project.js b/yanzhu-ui-app/miniprogram/api/project.js index 79f9f35e..79b1bbaf 100644 --- a/yanzhu-ui-app/miniprogram/api/project.js +++ b/yanzhu-ui-app/miniprogram/api/project.js @@ -27,6 +27,14 @@ export function findProSubDeptsInfo(proId, phoneNumber) { }) } +// 查询项目参建单位信息 +export function findProSubDeptsInfoById(id) { + return request({ + url: '/manage/proProjectInfoSubdepts/' + id, + method: 'get' + }) +} + // 查询项目参建人员信息 export function findProSubDeptsUser(proId, phoneNumber) { return request({ @@ -43,6 +51,14 @@ export function findProSubDeptsUserById(id) { }) } +// 查询项目参建单位人员 +export function findProSubDeptsUserInfoById(id) { + return request({ + url: '/manage/proProjectInfoSubdeptsUsers/' + id, + method: 'get' + }) +} + // 查询项目参建单位人员 export function findProSubDeptsUserByParams(proId) { return request({ diff --git a/yanzhu-ui-app/miniprogram/api/publics.js b/yanzhu-ui-app/miniprogram/api/publics.js index ce8da2f7..f437011e 100644 --- a/yanzhu-ui-app/miniprogram/api/publics.js +++ b/yanzhu-ui-app/miniprogram/api/publics.js @@ -17,11 +17,27 @@ export function getUserInfo() { } // 查询用户菜单信息 -export function selectRoleMenuList(data) { +export function findUserMenuList(proId,menuType) { return request({ - url: '/wxApi/publics/v1/selectRoleMenuList', - method: 'get', - data: data + url: '/manage/wxPublic/v1/findUserMenuList/'+proId+'?menuType='+menuType, + method: 'get' + }) +} + +// 查询用户签名信息 +export function findUserSignList(proId) { + return request({ + url: '/manage/basSignet/findUserSignList/'+proId, + method: 'get' + }) +} + +// 保存用户签名信息 +export function submitUserSign(data) { + return request({ + url: '/manage/basSignet/submitUserSign', + method: 'post', + data:data }) } @@ -64,4 +80,5 @@ export function findProjectApplyData(id){ url: '/wxApi/publics/projectApply/'+id, method: 'get' }) -} \ No newline at end of file +} + diff --git a/yanzhu-ui-app/miniprogram/app.js b/yanzhu-ui-app/miniprogram/app.js index 8a6ea032..574494e8 100644 --- a/yanzhu-ui-app/miniprogram/app.js +++ b/yanzhu-ui-app/miniprogram/app.js @@ -26,6 +26,7 @@ import { App({ globalData: { userData: null, + subDeptUserData: null, useProjectId: '', useProjectName: '', searchProject: {}, diff --git a/yanzhu-ui-app/miniprogram/app.json b/yanzhu-ui-app/miniprogram/app.json index f3c29501..62b3875c 100644 --- a/yanzhu-ui-app/miniprogram/app.json +++ b/yanzhu-ui-app/miniprogram/app.json @@ -1,7 +1,6 @@ { "pages": [ "pages/login/login", - "pages/updatePwd/index", "pages/project_flowable/initTask/index", "pages/project_flowable/myFlowDefinition/index", "pages/project_flowable/await/index", @@ -10,12 +9,13 @@ "pages/project_flowable/detailTask/index", "pages/project_flowable/editTask/index", "pages/project_flowable/myProcessIns/index", + "pages/project_flowable/subDepts/index", + "pages/project_flowable/subDeptsUsers/index", "pages/project_info/index", "pages/project_list/index", - "pages/project_check/list/index", - "pages/project_check/edit/index", - "pages/project_check/info/index", - "pages/project_qr/index" + "pages/project_more/index", + "pages/project_qr/index", + "pages/sign_mags/index" ], "usingComponents": { "van-row": "@vant/weapp/row", @@ -46,7 +46,7 @@ "voucher-date": "pages/components/voucher-date/index", "voucher-datetime": "pages/components/voucher-datetime/index", "file-uploader": "pages/components/file-uploader/index", - "file-uploader-all":"pages/components/file-uploader-all/index", + "file-uploader-all": "pages/components/file-uploader-all/index", "project-select": "pages/components/project-select/index", "safety-pie-chart": "./components/safety-pie-chart/index", "safety-pie-charts": "./components/safety-pie-charts/index", diff --git a/yanzhu-ui-app/miniprogram/components/safety-bar-chart/index.js b/yanzhu-ui-app/miniprogram/components/safety-bar-chart/index.js index 47f24675..ba168145 100644 --- a/yanzhu-ui-app/miniprogram/components/safety-bar-chart/index.js +++ b/yanzhu-ui-app/miniprogram/components/safety-bar-chart/index.js @@ -6,21 +6,20 @@ Component({ * 组件的属性列表 */ properties: { - chartId:{ + chartId: { type: String }, - data:{ + data: { type: Array }, - height:{ + height: { type: Number } }, observers: { data: function (val) { - console.log(val) - this.initChart() + this.initChart() }, }, /** @@ -30,45 +29,50 @@ Component({ ec: { lazyLoad: true }, - chart:undefined, + chart: undefined, }, lifetimes: { - created: function(){ - //在组件实例刚刚被创建时执行,注意此时不能调用 setData + created: function () { + //在组件实例刚刚被创建时执行,注意此时不能调用 setData }, + attached: function () { //在组件实例进入页面节点树时执行 - + }, + ready: function () { // 在组件在视图层布局完成后执行 this.initChart(); }, + detached: function () { // 在组件实例被从页面节点树移除时执行 }, - + }, /** * 组件的方法列表 */ methods: { - initChart(){ - var id ='#' + this.data.chartId; + initChart() { + var id = '#' + this.data.chartId; this.component = this.selectComponent(id); - this.component.init((canvas, width, height, dpr) => { - let chart = echarts.init(canvas, null, { - width: width, - height: height, - devicePixelRatio: dpr + if(this.component!=null){ + this.component.init((canvas, width, height, dpr) => { + let chart = echarts.init(canvas, null, { + width: width, + height: height, + devicePixelRatio: dpr + }) + chart.setOption(this.getData()); + return chart; }) - chart.setOption(this.getData()); - return chart; - }) + } }, getData() { var data = this.data.data - + var max = data[0].total var nameData = []; var totalData = [] @@ -79,20 +83,20 @@ Component({ var notProp = [] var unitData = [] - for (let i = data.length-1; i >=0 ; i--) { + for (let i = data.length - 1; i >= 0; i--) { nameData.push(data[i].name); totalData.push(data[i].total) unitData.push(data[i].unit) background.push(100); yesMonitor.push(data[i].yesMonitor); notMonitor.push(data[i].notMonitor); - yesProp.push((data[i].yesMonitor/max)*100) - notProp.push((data[i].notMonitor/max)*100) + yesProp.push((data[i].yesMonitor / max) * 100) + notProp.push((data[i].notMonitor / max) * 100) } var legend = ["已监控", "未监控"] - - var option = { + + var option = { grid: { //图表的位置 top: "0%", @@ -105,45 +109,44 @@ Component({ top: "0", //icon: "circle", itemWidth: 10, - itemHeight:10, + itemHeight: 10, itemGap: 8, textStyle: { fontSize: 12, - color:'#c6d9fa' + color: '#c6d9fa' }, data: legend, }, xAxis: [{ - show: false, - }, + show: false, + }, //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 { show: false, } ], - yAxis: [ - { - type: 'category', - axisLabel: { - show: false, //让Y轴数据不显示 - }, - itemStyle: { + yAxis: [{ + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { - }, - axisTick: { - show: false, //隐藏Y轴刻度 - }, - axisLine: { - show: false, //隐藏Y轴线段 - }, - data: [], - },{ - show: false, - data: [], - axisLine: { - show: false - } - }], + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + }, { + show: false, + data: [], + axisLine: { + show: false + } + }], series: [ //数据条--------------------我是分割线君------------------------------// { @@ -166,43 +169,43 @@ Component({ rich: { //富文本 prop: { //自定义颜色 color: '#c6d9fa', - fontSize:'14', + fontSize: '14', }, - unit:{ + unit: { color: '#6c829a', - fontSize:'12', + fontSize: '12', }, - yes:{ + yes: { color: '#55adf7', - fontSize:'14', + fontSize: '14', }, - not:{ + not: { color: '#4677fa', - fontSize:'14', + fontSize: '14', }, - index:{ + index: { color: '#fcbc02', fontStyle: 'italic', - padding:[0,0,0,5], - fontSize:'14', + padding: [0, 0, 0, 5], + fontSize: '14', }, name: { width: 120, color: '#c6d9fa', - padding:[0,0,0,5], - fontSize:'14', + padding: [0, 0, 0, 5], + fontSize: '14', }, - color:{ + color: { color: '#8ca2be', - fontSize:'14', + fontSize: '14', }, - + }, - formatter: function(data) { + formatter: function (data) { //富文本固定格式{colorName|这里填你想要写的内容} //return '{arrow|}' - return '{index|No.'+(nameData.length-data.dataIndex)+'}{name|' + nameData[data.dataIndex] + '}{prop|' + totalData[data.dataIndex] + '}{unit| '+unitData[data.dataIndex]+'}{prop|(} {yes|'+yesMonitor[data.dataIndex]+'}{unit| '+unitData[data.dataIndex]+'/}{not|'+notMonitor[data.dataIndex]+'}{unit| '+unitData[data.dataIndex]+'}{prop|)} '; + return '{index|No.' + (nameData.length - data.dataIndex) + '}{name|' + nameData[data.dataIndex] + '}{prop|' + totalData[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '}{prop|(} {yes|' + yesMonitor[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '/}{not|' + notMonitor[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '}{prop|)} '; }, } }, @@ -223,41 +226,42 @@ Component({ } }, data: background - }, + }, { - type: 'bar', - //name:legend[0], - stack: '1', - legendHoverLink: false, - barWidth: 6, - itemStyle: { - normal: { - color: '#52adf4' + type: 'bar', + //name:legend[0], + stack: '1', + legendHoverLink: false, + barWidth: 6, + itemStyle: { + normal: { + color: '#52adf4' + }, + emphasis: { + color: '#52adf4' + } }, - emphasis: { - color: '#52adf4' - } - }, - data: yesProp - }, { - type: 'bar', - //name:legend[1], - stack: '1', - legendHoverLink: false, - barWidth: 6, - itemStyle: { - normal: { - color: '#4677ff' + data: yesProp + }, { + type: 'bar', + //name:legend[1], + stack: '1', + legendHoverLink: false, + barWidth: 6, + itemStyle: { + normal: { + color: '#4677ff' + }, + emphasis: { + color: '#4677ff' + } }, - emphasis: { - color: '#4677ff' - } - }, - data: notProp - }] + data: notProp + } + ] }; return option; } } -}) +}) \ No newline at end of file diff --git a/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.js b/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.js index 3c3a204f..f1897435 100644 --- a/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.js +++ b/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.js @@ -29,18 +29,11 @@ import { }, created() { - let that = this; - //获取缓存数据 - wx.getStorage({ - key: 'userinfo', - success: function (res) { - that.setData({ - userData: res.data, - loginName: res.data.loginName, - msgOpenId: res.data.msgOpenId || "", - }) - } - }) + this.setData({ + userData: app.globalData.userData, + loginName: app.globalData.userData.userName, + msgOpenId: "", + }) }, /** * 组件的方法列表 @@ -125,14 +118,13 @@ import { //退出登录 loginOut: function () { - loginOut({}).then(res => { + loginOut().then(res => { removeToken(); + wx.clearStorageSync(); + wx.redirectTo({ + url: '../login/login' + }) }); - wx.clearStorageSync(); - wx.setStorageSync('isReload', "1") - wx.redirectTo({ - url: '../login/index', - }) }, seeTap1() { @@ -167,7 +159,7 @@ import { */ submit: function () { var that = this; - if (that.data.oldPsw == '') { + if (false && that.data.oldPsw == '') { app.toast("请输入旧密码!"); return; } @@ -179,7 +171,7 @@ import { app.toast("两次密码输入不一致!"); return; } - if (that.data.oldPsw.length < 6) { + if (false && that.data.oldPsw.length < 6) { app.toast("请输入旧密码长度 [6-20]位字符!"); return; } @@ -201,14 +193,15 @@ import { updatePwd(data).then(res =>{ if(res.code==200){ app.toast("密码修改成功,请重新登录!",800); - removeToken(); - wx.clearStorageSync(); - wx.setStorageSync('isReload', "1"); - setTimeout(()=>{ - wx.redirectTo({ - url: '../login/index', - }); - },500) + loginOut().then(res =>{ + removeToken(); + wx.clearStorageSync(); + setTimeout(()=>{ + wx.redirectTo({ + url: '../login/login' + }); + },500) + }); } }); }, diff --git a/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.wxml b/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.wxml index 6a40e776..be5b3243 100644 --- a/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.wxml +++ b/yanzhu-ui-app/miniprogram/pages/components/user-infos/index.wxml @@ -6,7 +6,7 @@ - {{userData.deptName}} + {{userData.dept?userData.dept.deptName:userData.remark}} @@ -16,17 +16,17 @@ {{userData.nickName}} - {{userData.loginName}} - 消息未授权 - 消息已授权 + {{userData.userName}} + 消息未授权 + 消息已授权 - + 关注公众号才能成功开启消息通知 - - + + 授权消息通知 @@ -56,7 +56,7 @@ - + 旧密码 diff --git a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.js b/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.js deleted file mode 100644 index 85cfb199..00000000 --- a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.js +++ /dev/null @@ -1,328 +0,0 @@ -import { - findAllByCategory -} from '../../../api/publics' -import { - addApplyDetail -} from '../../../api/projectApply' -const app = getApp() -Page({ - - /** - * 页面的初始数据 - */ - data: { - options: {}, - dataList: [], - detailDataList: [], - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - this.setData({ - options: options, - }) - this.findMyDeptAssetsList(); - this.newApplyDetail(); - }, - - /** - * 栏目触发事件 - */ - onClickNav(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].activeId = null; - list[index].mainActiveIndex = e.detail.index; - this.setData({ - detailDataList: list - }) - console.log(e.detail.index, this.data.dataList); - }, - - /** - * 选项触发事件 - */ - onClickItem(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].detailId = e.detail.id; - list[index].detailName = e.detail.text; - list[index].showDetailsName = e.detail.detailName; - if (e.detail.units) { - let itemList = []; - e.detail.units.split(',').forEach((item, idx) => { - if (idx == 0) { - list[index].useUnitIndex = idx; - list[index].useUnit = item; - } - itemList.push({ - id: idx, - text: item - }); - }); - list[index].assetsUnits = itemList; - } - list[index].activeId = e.detail.id; - list[index].showDetailsPopup = false; - this.setData({ - detailDataList: list - }) - }, - - //新增问题 - newApplyDetail() { - var data = this.data.detailDataList - data.push({ - detailId: '', - detailName: '', - showDetailsName: '', - showDetailsPopup: false, - mainActiveIndex: 0, - activeId: [], - useUnit: "", - useUnitIndex: "", - assetsUnits: [], - applyNumber: "", - assetsVersion: "", - useReason: "" - }) - this.setData({ - detailDataList: data - }) - }, - - /** - * 删除申请详情 - * @param {*} e - */ - delApplyDetail(e) { - var index = e.currentTarget.dataset.index - var data = this.data.detailDataList - data.splice(index, 1); - this.setData({ - detailDataList: data - }) - }, - - //保存 - onSave() { - let { - detailDataList, - } = this.data; - //数据效验 - if (detailDataList.length > 0) { - for (let i = 0; i < detailDataList.length; i++) { - if (!detailDataList[i].detailId || !detailDataList[i].detailName || detailDataList[i].activeId.length == 0) { - app.toast("请选择申请明细!") - return false; - } - if (!detailDataList[i].applyNumber) { - app.toast("请填写申请数量!") - return false; - } - if (!detailDataList[i].useUnit) { - app.toast("请选择单位名称!") - return false; - } - } - } else { - app.toast("请添加申请明细!") - } - let that = this; - wx.showModal({ - title: '提示', - content: '是否确认添加申请内容?', - success: function (sm) { - if (sm.confirm) { - that.submit() - } else if (sm.cancel) { - console.log('用户点击取消'); - } - } - }) - }, - - submit() { - let { - options, - detailDataList, - dataList - } = this.data; - let applyDetailList = []; - detailDataList.forEach(detail => { - applyDetailList.push({ - superTypeKey: options.applyType, - typeId: dataList[detail.mainActiveIndex].id, - typeName: dataList[detail.mainActiveIndex].name, - assetsId: detail.detailId, - assetsName: detail.detailName, - number: detail.applyNumber, - assetsUnit: detail.useUnit, - assetsVersion: detail.assetsVersion, - useReason: detail.useReason, - pushType:3, - }); - }); - let params = { - id: options.id, - proProjectApplyDetailList: applyDetailList - } - addApplyDetail(params).then(res => { - if (res.code == '200') { - app.toast("添加申请内容成功!", 'success'); - //跳转页面 - wx.redirectTo({ - url: '../info/index?businessKey='+this.data.options.id, - }) - } - }); - }, - - //查询部门资产列表信息 - findMyDeptAssetsList() { - findAllByCategory(this.data.options.applyType).then(res => { - if (res.code == '200') { - let list = []; - res.data.forEach(item => { - let children = []; - item.childrenAssetsTypeList.forEach(child => { - children.push({ - id: child.id, - text: child.name, - units: child.unit, - detailName: item.name + ' > ' + child.name - }); - }) - list.push({ - id: item.id, - text: item.name, - children: children - }); - }); - this.setData({ - dataList: list - }) - } - }); - }, - - //输入申请数量 - onInputNumber(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - let value = e.detail.value; - list[index].applyNumber = value; - this.setData({ - detailDataList: list - }) - }, - - //选择资产单位 - onSelectUnit(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].useUnit = e.detail.text; - list[index].useUnitIndex = e.detail.id; - this.setData({ - detailDataList: list - }) - }, - - //输入规格型号 - onInputVersion(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].assetsVersion = e.detail.value; - this.setData({ - detailDataList: list - }) - }, - - //输入使用说明 - onInputUseReason(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].useReason = e.detail.value; - this.setData({ - detailDataList: list - }) - }, - - //关闭申请明细选择 - onShowPopup(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].showDetailsPopup = true; - this.setData({ - detailDataList: list - }) - }, - - //关闭申请明细选择 - onClosePopup(e) { - var index = e.currentTarget.dataset.index - let list = this.data.detailDataList; - list[index].showDetailsPopup = false; - this.setData({ - detailDataList: list - }) - }, - - returnToPage: function () { - /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ - wx.redirectTo({ - url: '../info/index?businessKey='+this.data.options.id, - }) - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.json b/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.json deleted file mode 100644 index cbc8710a..00000000 --- a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "usingComponents": { - "van-popup": "@vant/weapp/popup", - "van-tree-select": "@vant/weapp/tree-select/index" - }, - "navigationStyle":"custom" -} \ No newline at end of file diff --git a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.wxml b/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.wxml deleted file mode 100644 index b9bef5c8..00000000 --- a/yanzhu-ui-app/miniprogram/pages/project_check/edit/index.wxml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - 新增申请明细 - - - - - - - - 申请明细 {{ format.indexNumFormat(index) }} - - 删除 - - - - - - - - - - - - - - - - - - - - - - - -