diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 20fd9337..55692086 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -1492,6 +1492,8 @@ public class DepositoryRecordController { recordPById.setApplicantTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(recordPById.getApplicantTime()))); recordPById.setDepartmentheadTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(recordPById.getDepartmentheadTime()))); recordPById.setDepositoryManagerTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(recordPById.getDepositoryManagerTime()))); + + // 获取平衡岗人员 String balancePoster = recordPById.getBalancePoster(); Map balancePosterIconPhoto = new HashMap<>(); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index 78f3b90e..bb9b0c68 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -2143,52 +2143,25 @@ public class PageController { } } // 申请人 - UserByPort userByPort = PublicConfig.FindUserById(recordP.getApplicantId(), userKey, token); + UserByPort applicantUser = PublicConfig.FindUserById(recordP.getApplicantId(), userKey, token); + // 部门负责人 - String departmentheads = recordP.getDepartmenthead(); - String[] split = departmentheads.split(","); + // 获取部门负责人人员 + String departmenthead = recordP.getDepartmenthead(); StringBuilder departmentHeadName = new StringBuilder(); - for (String value : split) { - if ("".equals(value)) { - continue; - } - UserByPort departmenthead = PublicConfig.FindUserById(ObjectFormatUtil.toInteger(value.trim()), userKey, token); - departmentHeadName.append(departmenthead.getName()).append(","); - } - - // 仓储中心负责人 - String manager = recordP.getDepositoryManager(); - String[] depositoryManagerId = new String[0]; - if (manager != null) { - depositoryManagerId = manager.split(","); - } - List depositoryManager = new ArrayList<>(); - // 仓储中心负责人名称 - StringBuilder depositoryManagerNames = new StringBuilder(); - for (String s : depositoryManagerId) { - if ("".equals(s)) { - continue; - } - Integer managerid = ObjectFormatUtil.toInteger(s.trim()); - UserByPort user = PublicConfig.FindUserById(managerid, userKey, token); - depositoryManager.add(user); - depositoryManagerNames.append(user.getName()).append(","); - } - // 平衡岗人员 - String balancePoster = recordP.getBalancePoster(); - StringBuilder balancePosterName = new StringBuilder(); - if (balancePoster != null && !"".equals(balancePoster)) { - String[] strings = balancePoster.split(","); - for (String string : strings) { - if (!"".equals(string)) { - UserByPort user = PublicConfig.FindUserById(ObjectFormatUtil.toInteger(string), userKey, token); - balancePosterName.append(user.getName()).append(","); + Map departmentHeadIconPhoto = new HashMap<>(); + if (departmenthead != null) { + String[] split = departmenthead.split(","); + for (String s : split) { + if (!"".equals(s)) { + UserByPort departmentUser = PublicConfig.FindUserById(ObjectFormatUtil.toInteger(s), userKey, token); + String name = departmentUser.getMaindeparmentname() + "-" + departmentUser.getName(); + departmentHeadIconPhoto.put(name, departmentUser.getIconphoto()); + departmentHeadName.append("name").append(","); } } - String balancePosterTime = recordP.getBalancePosterTime(); - if (balancePosterTime != null && !"".equals(balancePosterTime) && !"0".equals(balancePosterTime)) { - recordP.setBalancePosterTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(balancePosterTime))); - } + recordP.setDepartmentheadUserIconPhoto(departmentHeadIconPhoto); + recordP.setDepartmenthead(departmentHeadName.toString()); } // 获取出库的所有仓库 @@ -2212,10 +2185,10 @@ public class PageController { recordP.setPCode(placeCode.toString()); recordP.setApplicantTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(recordP.getApplicantTime()))); recordP.setDepartmentheadTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(recordP.getDepartmentheadTime()))); - recordP.setDepositoryManagerName(depositoryManagerNames.toString()); - recordP.setBalancePosterName(balancePosterName.toString()); - recordP.setApplicantName(userByPort.getMaindeparmentname() + "_" + userByPort.getName()); + recordP.setApplicantName(applicantUser.getMaindeparmentname() + "_" + applicantUser.getName()); + recordP.setApplicantUserIconPhoto(applicantUser.getIconphoto()); recordP.setDepartmentheadName(departmentHeadName.toString()); + recordP.setDepartmentheadUserIconPhoto(departmentHeadIconPhoto); recordP.setDepositoryName(depositoryName.toString()); recordP.setQuantity(sumQuantity); recordP.setPrice(sumPrice); @@ -2517,23 +2490,6 @@ public class PageController { // 获取当前仓库是否为开放仓库 mv.addObject("depositoryManagerText", "负责人"); - // 获取平衡岗人员 - String balancePoster = applicationOutRecordPById.getBalancePoster(); - StringBuilder balancePosterName = new StringBuilder(); - if (balancePoster != null) { - String[] split = balancePoster.split(","); - for (String s : split) { - if (!"".equals(s)) { - UserByPort userByPort = PublicConfig.FindUserById(ObjectFormatUtil.toInteger(s), userKey, token); - balancePosterName.append(userByPort.getName()).append(","); - } - } - applicationOutRecordPById.setBalancePosterTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(applicationOutRecordPById.getBalancePosterTime()))); - } else { - applicationOutRecordPById.setBalancePosterTime(""); - applicationOutRecordPById.setBalancePoster(""); - } - // 获取出库子单 List applicationOutRecordMinByParent = depositoryRecordService.findApplicationOutRecordMinByParent(applicationOutRecordPById.getId()); // 展示物料名 @@ -2665,21 +2621,6 @@ public class PageController { departmentHeadName.append(name).append(","); useAdminorgName = departmenthead.getMaindeparmentname(); } - // 仓储中心负责人 - String manager = applicationOutRecordPById.getDepositoryManager(); - String[] depositoryManagerId = new String[0]; - if (manager != null) { - depositoryManagerId = manager.split(","); - } - StringBuilder depositoryManagerNames = new StringBuilder(); - for (String s : depositoryManagerId) { - if ("".equals(s)) { - continue; - } - Integer managerid = ObjectFormatUtil.toInteger(s); - UserByPort user = PublicConfig.FindUserById(managerid, userKey, token); - depositoryManagerNames.append(user.getName()); - } // 设置使用部门为第一个审批节点人所在的部门 applicationOutRecordPById.setUseAdminorgName(useAdminorgName); @@ -2713,17 +2654,13 @@ public class PageController { applicationOutRecordPById.setApplicantUserIconPhoto(userByPort.getIconphoto()); applicationOutRecordPById.setDepartmentheadName(departmentHeadName.toString()); applicationOutRecordPById.setDepartmentheadUserIconPhoto(departmentHeadUserIcon); - applicationOutRecordPById.setDepositoryManagerName(depositoryManagerNames.toString()); applicationOutRecordPById.setApplicantTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(applicationOutRecordPById.getApplicantTime()))); - applicationOutRecordPById.setDepartmentheadTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(applicationOutRecordPById.getDepartmentheadTime()))); - applicationOutRecordPById.setDepositoryManagerTime(DateUtil.TimeStampToDateTime(ObjectFormatUtil.toLong(applicationOutRecordPById.getDepositoryManagerTime()))); applicationOutRecordPById.setPrice(sumPrice); applicationOutRecordPById.setQuantity(sumQuantity); applicationOutRecordPById.setMname(mname.toString()); applicationOutRecordPById.setMcode(mcode.toString()); applicationOutRecordPById.setDepositoryName(depositoryName.toString()); applicationOutRecordPById.setPCode(placeCode.toString()); - applicationOutRecordPById.setBalancePosterName(balancePosterName.toString()); mv.addObject("record", applicationOutRecordPById); mv.addObject("outDisposer", outDisposer.toString()); mv.addObject("recordMinList", recordMinPList); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java index 92813162..fd6bfcd8 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java @@ -1786,8 +1786,8 @@ public class QyWxOperationService { // 获取第一个节点成员uid List userIdList = new ArrayList<>(); - if (flag == 11) { - // 如果是办公用品库 + if (flag == 11 || flag == 21) { + // 如果是办公用品库或中心仓 List departmentHeadForUserToken = PublicConfig.findDepartmentHeadByUser(applicantUser.getMaindeparment(), userKey, token); @@ -1803,7 +1803,7 @@ public class QyWxOperationService { } - else if (flag == 12) { + else if (flag == 12 ) { // 如果是备品备件库 // 获取申请用户所在部门的设备员 @@ -2058,7 +2058,7 @@ public class QyWxOperationService { String s = HttpUtils.doPost(url, jsonString); JSONObject jsonObject = JSONObject.parseObject(s); jsonObject.put("otherDepartmentIdList", JSONObject.toJSONString(otherDepartmentIdList)); - log.info("发送出库审批结果:" + s); + log.info("发送出库审批结果:" + s+";发送给企业微信的数据:"+jsonString); return jsonObject; } diff --git a/src/main/resources/templates/pages/application/application-review.html b/src/main/resources/templates/pages/application/application-review.html index fb2ee6a2..2f34e26b 100644 --- a/src/main/resources/templates/pages/application/application-review.html +++ b/src/main/resources/templates/pages/application/application-review.html @@ -32,7 +32,7 @@ 申请编号 - 123456 + 123456 @@ -72,63 +72,8 @@ 状态 - - 申请人 - 申请人 - - - 请求提交时间 - 1970-01-01 08:00:00 - - - - - - 申请备注 - 申请备注 - - - 负责人 - 部门负责人 - - - 审核意见 - 审核意见 - - - - 审核时间 - - 1970-01-01 08:00:00 - - - - - 负责人 - - - - 审核意见 - 审核意见 - - - - 审核时间 - - 1970-01-01 08:00:00 - - - - - - - - 负责人 - - + @@ -143,14 +88,14 @@ -
+
-
+
-
+
+ +
+
+ +
+

申请人:

+

+ + +

+

+

+
+
+
+ +
+

审批人:审批中

+
+ + +
+
+
+
@@ -243,6 +216,11 @@ } + // 用于构造审批节点 + function createApprovalNode(nodeName, record, timeLineStartItemForId) { + + } + // 用于标志是否为第一次提交 let flagForForm = false; layui.use(['form', 'step'], function () { @@ -261,38 +239,222 @@ stepItems: [] }); - let departmentheadTime = $("#departmentheadTime").text(); - let balancePosterTime = $("#balancePosterTime").text(); - if (departmentheadTime != null && departmentheadTime !== "" && departmentheadTime !== "0") { - $("#departmentheadTimeT").show(); - $("#departmentheadMessageT").show(); - $("#review").hide(); - if (balancePosterTime !== null && balancePosterTime === "0") { - // 如果不是空且为0 - $("#balancePosterNameT").show(); - $("#reviewForBalance").show(); - - } else if(balancePosterTime !== null && balancePosterTime !== "0" && balancePosterTime !== ""){ - $("#depositoryManagerNameT").show(); - $("#balancePosterNameT").show(); - $("#balancePosterMessageT").show(); - $("#balancePosterTimeT").show(); - - $("#check").show(); - }else{ - $("#depositoryManagerNameT").show(); - $("#check").show(); - + let id = $("#id").val(); + + /** + * 用于生成审批节点 + * @param nodeName 当前节点名称 + * @param record 当前数据 + * @param timeLineStartItemForId 开始行 + */ + createApprovalNode = function (nodeName, record, timeLineStartItemForId) { + let timeLineEndItem = `
`; + let approvalNode; + let nodeState = record[nodeName + "Pass"]; + if (nodeState === "3") { + // 如果平衡岗未审批 + let approvalNodeForTitleName = '

审批人:审批中

'; + let UserIconPhoto = record[nodeName + "UserIconPhoto"]; + let approvalNodeForIconPhoto = ''; + for (let key in UserIconPhoto) { + if (UserIconPhoto.hasOwnProperty(key)) { + let depositoryManagerIconPhotoItem = '
' + + '头像' + + '' + key + '' + + '
'; + approvalNodeForIconPhoto += depositoryManagerIconPhotoItem; + } + } + approvalNode = timeLineStartItemForId + approvalNodeForTitleName + approvalNodeForIconPhoto + timeLineEndItem; + + } else { + let approvalNodeForTitleName = '

审批人:'; + let approvalNodeForDisposeMessage = '

审批意见:' + record[nodeName + "Message"] + '

'; + let timeLineStartItemForIcon; + let UserIconPhoto = record[nodeName + "UserIconPhoto"]; + let approvalNodeForIconPhoto = ''; + for (let key in UserIconPhoto) { + if (UserIconPhoto.hasOwnProperty(key)) { + let IconPhotoItem = '
' + + '头像' + + '' + key + '' + + '
'; + if (nodeState === "1") { + IconPhotoItem += '已通过    '; + } else if (nodeState === "2") { + IconPhotoItem += '已驳回    '; + } + IconPhotoItem += record[nodeName + "Time"] + '
'; + approvalNodeForIconPhoto += IconPhotoItem; + } + } + if (nodeState === "1") { + // 如果审批通过 + timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-ok"); + approvalNodeForTitleName += '已通过

'; + + } else if (nodeState === "2") { + timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-close"); + approvalNodeForTitleName += '已驳回'; + } + approvalNode = timeLineStartItemForIcon + approvalNodeForTitleName + approvalNodeForIconPhoto + approvalNodeForDisposeMessage + timeLineEndItem; } + return approvalNode; + }; - } + $.ajax({ + url: "/depositoryRecord/getApplicationOutRecord", + type: "post", + dataType: 'json', + data: JSON.stringify({"id": id}), + contentType: "application/json;charset=utf-8", + beforeSend: function () { + this.layerIndex = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); + }, + success: function (res) { + record = res.data; + + // 用于创造时间线节点 + let timeLineStartItem = `
+ +
`; + let timeLineEndItem = `
`; + + // 获取第一个审批节点 + let firstApprovalNode = $("#firstApprovalNode"); + // 获取第一个审批节点图标 + let firstApprovalNodeIcon = $("#firstApprovalNodeIcon"); + // 获取第一个审批节点标题 + let firstApprovalNodeTitle = $("#firstApprovalNodeTitle"); + // 获取第一个审批节点用户名 + let firstApprovalNodeUserName = $("#firstApprovalNodeUserName"); + + + // 获取部门负责人节点审批相关信息(第一个节点) + let departmentheadTime = record.departmentheadTime; + let departmentheadPass = record.departmentheadPass; + let departmentheadMessage = record.departmentheadMessage; + // 获取仓储中心负责人节点审批相关信息(第二个节点) + let depositoryManagerPass = record.depositoryManagerPass; + // 获取平衡岗人员相关信息 + let balancePoster = record.balancePoster; + let balancePosterPass = record.balancePosterPass; + + if (departmentheadPass !== "3") { + // 如果已经进行了审批 + firstApprovalNodeIcon.removeClass("layui-icon-friends"); // 删除当前图标 + let firstApprovalTime = '
'; + // 如果部门负责人审批时间不为空 + if (departmentheadPass === "1") { + firstApprovalNodeTitle.text("审批人:已通过"); + firstApprovalNodeIcon.addClass("layui-icon-ok"); // 更换为审批通过 + firstApprovalTime += "已通过    "; + } else { + firstApprovalTime += "已驳回    "; + firstApprovalNodeTitle.text("审批人:已驳回"); + firstApprovalNodeIcon.addClass("layui-icon-close"); // 更换为审批未通过 + } + firstApprovalTime = firstApprovalTime + departmentheadTime + '
'; + firstApprovalNodeUserName.after(firstApprovalTime); + firstApprovalNodeUserName.after("

审批意见:" + departmentheadMessage + "

"); + + // 声明用于depositoryManager节点是第几个节点(默认第二个审批节点) + let flagForBalancerNode = 2; + // 配置平衡岗节点(第二个节点) + if (balancePoster !== "" && departmentheadPass === "1") { + let nodeName = "balancePoster"; + let timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode"); + let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId); + // 如果需要平衡岗且第一个节点审批完成 + if (balancePosterPass === "3") { + flagForBalancerNode = -1; // 不展示 + } else { + if (balancePosterPass === "1") { + // 如果平衡岗审批通过 + flagForBalancerNode = 3; // 为第三个节点 + } else if (balancePosterPass === "2") { + // 如果平衡岗未审批通过 + flagForBalancerNode = -1; // 不展示 + } + } + firstApprovalNode.after(approvalNode); + } + + // 配置仓储管理员节点(第三或第二个节点) + if (depositoryManagerPass !== "4" && departmentheadPass === "1" && flagForBalancerNode !== -1) { + + let timeLineStartItemForId; + if (flagForBalancerNode === 2) { + // 如果是第二个节点 + timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode"); + } else { + // 如果是第三个节点 + timeLineStartItemForId = timeLineStartItem.replace("placeholder", "thirdApprovalNode"); + } + + // 如果可以查看该节点 + let nodeName = "depositoryManager"; + let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId); + if (flagForBalancerNode === 2) { + // 如果是第二个节点 + firstApprovalNode.after(approvalNode); + } else { + // 如果是第三个节点 + $("#secondApprovalNode").after(approvalNode); + } + } + + // 配置出库人员节点 + if (departmentheadPass === "1" && (depositoryManagerPass === "4" || depositoryManagerPass === "1")) { + let completeOutTime = record.outTime; + let pass = record.pass; + let approvalNodeForCompleteOutUserName = '

出库人员:'; + let approvalCompleteOutNode; + let completeOutUserIconPhoto = record.completeOutUserIconPhoto; + let approvalNodeForCompleteOutUserIconPhoto = ''; + for (let key in completeOutUserIconPhoto) { + if (completeOutUserIconPhoto.hasOwnProperty(key)) { + let depositoryManagerIconPhotoItem = '

' + + '头像' + + '' + key + '' + + '

'; + approvalNodeForCompleteOutUserIconPhoto += depositoryManagerIconPhotoItem; + } + } + if (pass === 1) { + approvalNodeForCompleteOutUserName += '

'; + let approvalNodeForCompleteOutState = '

处理状态:出库完成

'; + let approvalNodeForCompleteOutTime = '

完成时间:' + completeOutTime + '

'; + approvalCompleteOutNode = timeLineStartItem.replace("layui-icon-friends", "layui-icon-ok") + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + approvalNodeForCompleteOutState + approvalNodeForCompleteOutTime + timeLineEndItem; + } else { + approvalNodeForCompleteOutUserName += '出库中'; + approvalCompleteOutNode = timeLineStartItem + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + timeLineEndItem; + } + if (flagForBalancerNode === 2) { + if (depositoryManagerPass !== "4") { + + $("#secondApprovalNode").after(approvalCompleteOutNode); + } else { + firstApprovalNode.after(approvalCompleteOutNode); + } + } else if (flagForBalancerNode === 3) { + $("#thirdApprovalNode").after(approvalCompleteOutNode); + } + } + + } + + layer.close(this.layerIndex); + + } + }); reviewForBalance = function (pass) { if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.balancePosterPass = 1; } else { @@ -307,7 +469,7 @@ if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.departmentheadPass = 1; } else { @@ -318,12 +480,11 @@ } }; - check = function (pass) { if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.depositoryManagerPass = 1; } else { diff --git a/src/main/resources/templates/pages/application/my-task.html b/src/main/resources/templates/pages/application/my-task.html index 2986f09a..ddb54a6e 100644 --- a/src/main/resources/templates/pages/application/my-task.html +++ b/src/main/resources/templates/pages/application/my-task.html @@ -393,7 +393,7 @@ area: ['30%', '100%'], content: '/application_review?id=' + item, end: function () { - flow.reload() + initIncompleteOutTask() } }); } diff --git a/target/classes/templates/pages/application/application-review.html b/target/classes/templates/pages/application/application-review.html index fb2ee6a2..2f34e26b 100644 --- a/target/classes/templates/pages/application/application-review.html +++ b/target/classes/templates/pages/application/application-review.html @@ -32,7 +32,7 @@ 申请编号 - 123456 + 123456 @@ -72,63 +72,8 @@ 状态 - - 申请人 - 申请人 - - - 请求提交时间 - 1970-01-01 08:00:00 - - - - - - 申请备注 - 申请备注 - - - 负责人 - 部门负责人 - - - 审核意见 - 审核意见 - - - - 审核时间 - - 1970-01-01 08:00:00 - - - - - 负责人 - - - - 审核意见 - 审核意见 - - - - 审核时间 - - 1970-01-01 08:00:00 - - - - - - - - 负责人 - - + @@ -143,14 +88,14 @@ -
+
-
+
-
+
+ +
+
+ +
+

申请人:

+

+ + +

+

+

+
+
+
+ +
+

审批人:审批中

+
+ + +
+
+
+
@@ -243,6 +216,11 @@ } + // 用于构造审批节点 + function createApprovalNode(nodeName, record, timeLineStartItemForId) { + + } + // 用于标志是否为第一次提交 let flagForForm = false; layui.use(['form', 'step'], function () { @@ -261,38 +239,222 @@ stepItems: [] }); - let departmentheadTime = $("#departmentheadTime").text(); - let balancePosterTime = $("#balancePosterTime").text(); - if (departmentheadTime != null && departmentheadTime !== "" && departmentheadTime !== "0") { - $("#departmentheadTimeT").show(); - $("#departmentheadMessageT").show(); - $("#review").hide(); - if (balancePosterTime !== null && balancePosterTime === "0") { - // 如果不是空且为0 - $("#balancePosterNameT").show(); - $("#reviewForBalance").show(); - - } else if(balancePosterTime !== null && balancePosterTime !== "0" && balancePosterTime !== ""){ - $("#depositoryManagerNameT").show(); - $("#balancePosterNameT").show(); - $("#balancePosterMessageT").show(); - $("#balancePosterTimeT").show(); - - $("#check").show(); - }else{ - $("#depositoryManagerNameT").show(); - $("#check").show(); - + let id = $("#id").val(); + + /** + * 用于生成审批节点 + * @param nodeName 当前节点名称 + * @param record 当前数据 + * @param timeLineStartItemForId 开始行 + */ + createApprovalNode = function (nodeName, record, timeLineStartItemForId) { + let timeLineEndItem = `
`; + let approvalNode; + let nodeState = record[nodeName + "Pass"]; + if (nodeState === "3") { + // 如果平衡岗未审批 + let approvalNodeForTitleName = '

审批人:审批中

'; + let UserIconPhoto = record[nodeName + "UserIconPhoto"]; + let approvalNodeForIconPhoto = ''; + for (let key in UserIconPhoto) { + if (UserIconPhoto.hasOwnProperty(key)) { + let depositoryManagerIconPhotoItem = '
' + + '头像' + + '' + key + '' + + '
'; + approvalNodeForIconPhoto += depositoryManagerIconPhotoItem; + } + } + approvalNode = timeLineStartItemForId + approvalNodeForTitleName + approvalNodeForIconPhoto + timeLineEndItem; + + } else { + let approvalNodeForTitleName = '

审批人:'; + let approvalNodeForDisposeMessage = '

审批意见:' + record[nodeName + "Message"] + '

'; + let timeLineStartItemForIcon; + let UserIconPhoto = record[nodeName + "UserIconPhoto"]; + let approvalNodeForIconPhoto = ''; + for (let key in UserIconPhoto) { + if (UserIconPhoto.hasOwnProperty(key)) { + let IconPhotoItem = '
' + + '头像' + + '' + key + '' + + '
'; + if (nodeState === "1") { + IconPhotoItem += '已通过    '; + } else if (nodeState === "2") { + IconPhotoItem += '已驳回    '; + } + IconPhotoItem += record[nodeName + "Time"] + '
'; + approvalNodeForIconPhoto += IconPhotoItem; + } + } + if (nodeState === "1") { + // 如果审批通过 + timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-ok"); + approvalNodeForTitleName += '已通过

'; + + } else if (nodeState === "2") { + timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-close"); + approvalNodeForTitleName += '已驳回'; + } + approvalNode = timeLineStartItemForIcon + approvalNodeForTitleName + approvalNodeForIconPhoto + approvalNodeForDisposeMessage + timeLineEndItem; } + return approvalNode; + }; - } + $.ajax({ + url: "/depositoryRecord/getApplicationOutRecord", + type: "post", + dataType: 'json', + data: JSON.stringify({"id": id}), + contentType: "application/json;charset=utf-8", + beforeSend: function () { + this.layerIndex = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0}); + }, + success: function (res) { + record = res.data; + + // 用于创造时间线节点 + let timeLineStartItem = `
+ +
`; + let timeLineEndItem = `
`; + + // 获取第一个审批节点 + let firstApprovalNode = $("#firstApprovalNode"); + // 获取第一个审批节点图标 + let firstApprovalNodeIcon = $("#firstApprovalNodeIcon"); + // 获取第一个审批节点标题 + let firstApprovalNodeTitle = $("#firstApprovalNodeTitle"); + // 获取第一个审批节点用户名 + let firstApprovalNodeUserName = $("#firstApprovalNodeUserName"); + + + // 获取部门负责人节点审批相关信息(第一个节点) + let departmentheadTime = record.departmentheadTime; + let departmentheadPass = record.departmentheadPass; + let departmentheadMessage = record.departmentheadMessage; + // 获取仓储中心负责人节点审批相关信息(第二个节点) + let depositoryManagerPass = record.depositoryManagerPass; + // 获取平衡岗人员相关信息 + let balancePoster = record.balancePoster; + let balancePosterPass = record.balancePosterPass; + + if (departmentheadPass !== "3") { + // 如果已经进行了审批 + firstApprovalNodeIcon.removeClass("layui-icon-friends"); // 删除当前图标 + let firstApprovalTime = '
'; + // 如果部门负责人审批时间不为空 + if (departmentheadPass === "1") { + firstApprovalNodeTitle.text("审批人:已通过"); + firstApprovalNodeIcon.addClass("layui-icon-ok"); // 更换为审批通过 + firstApprovalTime += "已通过    "; + } else { + firstApprovalTime += "已驳回    "; + firstApprovalNodeTitle.text("审批人:已驳回"); + firstApprovalNodeIcon.addClass("layui-icon-close"); // 更换为审批未通过 + } + firstApprovalTime = firstApprovalTime + departmentheadTime + '
'; + firstApprovalNodeUserName.after(firstApprovalTime); + firstApprovalNodeUserName.after("

审批意见:" + departmentheadMessage + "

"); + + // 声明用于depositoryManager节点是第几个节点(默认第二个审批节点) + let flagForBalancerNode = 2; + // 配置平衡岗节点(第二个节点) + if (balancePoster !== "" && departmentheadPass === "1") { + let nodeName = "balancePoster"; + let timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode"); + let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId); + // 如果需要平衡岗且第一个节点审批完成 + if (balancePosterPass === "3") { + flagForBalancerNode = -1; // 不展示 + } else { + if (balancePosterPass === "1") { + // 如果平衡岗审批通过 + flagForBalancerNode = 3; // 为第三个节点 + } else if (balancePosterPass === "2") { + // 如果平衡岗未审批通过 + flagForBalancerNode = -1; // 不展示 + } + } + firstApprovalNode.after(approvalNode); + } + + // 配置仓储管理员节点(第三或第二个节点) + if (depositoryManagerPass !== "4" && departmentheadPass === "1" && flagForBalancerNode !== -1) { + + let timeLineStartItemForId; + if (flagForBalancerNode === 2) { + // 如果是第二个节点 + timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode"); + } else { + // 如果是第三个节点 + timeLineStartItemForId = timeLineStartItem.replace("placeholder", "thirdApprovalNode"); + } + + // 如果可以查看该节点 + let nodeName = "depositoryManager"; + let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId); + if (flagForBalancerNode === 2) { + // 如果是第二个节点 + firstApprovalNode.after(approvalNode); + } else { + // 如果是第三个节点 + $("#secondApprovalNode").after(approvalNode); + } + } + + // 配置出库人员节点 + if (departmentheadPass === "1" && (depositoryManagerPass === "4" || depositoryManagerPass === "1")) { + let completeOutTime = record.outTime; + let pass = record.pass; + let approvalNodeForCompleteOutUserName = '

出库人员:'; + let approvalCompleteOutNode; + let completeOutUserIconPhoto = record.completeOutUserIconPhoto; + let approvalNodeForCompleteOutUserIconPhoto = ''; + for (let key in completeOutUserIconPhoto) { + if (completeOutUserIconPhoto.hasOwnProperty(key)) { + let depositoryManagerIconPhotoItem = '

' + + '头像' + + '' + key + '' + + '

'; + approvalNodeForCompleteOutUserIconPhoto += depositoryManagerIconPhotoItem; + } + } + if (pass === 1) { + approvalNodeForCompleteOutUserName += '

'; + let approvalNodeForCompleteOutState = '

处理状态:出库完成

'; + let approvalNodeForCompleteOutTime = '

完成时间:' + completeOutTime + '

'; + approvalCompleteOutNode = timeLineStartItem.replace("layui-icon-friends", "layui-icon-ok") + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + approvalNodeForCompleteOutState + approvalNodeForCompleteOutTime + timeLineEndItem; + } else { + approvalNodeForCompleteOutUserName += '出库中'; + approvalCompleteOutNode = timeLineStartItem + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + timeLineEndItem; + } + if (flagForBalancerNode === 2) { + if (depositoryManagerPass !== "4") { + + $("#secondApprovalNode").after(approvalCompleteOutNode); + } else { + firstApprovalNode.after(approvalCompleteOutNode); + } + } else if (flagForBalancerNode === 3) { + $("#thirdApprovalNode").after(approvalCompleteOutNode); + } + } + + } + + layer.close(this.layerIndex); + + } + }); reviewForBalance = function (pass) { if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.balancePosterPass = 1; } else { @@ -307,7 +469,7 @@ if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.departmentheadPass = 1; } else { @@ -318,12 +480,11 @@ } }; - check = function (pass) { if (!flagForForm) { flagForForm = true; let data = {}; - data.id = $("#id").text(); + data.id = id; if (pass === 1) { data.depositoryManagerPass = 1; } else { diff --git a/target/classes/templates/pages/application/my-task.html b/target/classes/templates/pages/application/my-task.html index 2986f09a..ddb54a6e 100644 --- a/target/classes/templates/pages/application/my-task.html +++ b/target/classes/templates/pages/application/my-task.html @@ -393,7 +393,7 @@ area: ['30%', '100%'], content: '/application_review?id=' + item, end: function () { - flow.reload() + initIncompleteOutTask() } }); }