From 93b7bbf5ae4ca29750b308ac548399ea795e39a8 Mon Sep 17 00:00:00 2001 From: lvjunzhao <967725@dms.yudean.com> Date: Mon, 17 Feb 2025 16:32:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=201.=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E4=BA=86=E8=87=AA=E5=8A=A8=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=EF=BC=8C=E9=87=8D=E6=96=B0get=E8=BF=87=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=9A=84taskList=20=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E6=89=A7=E8=A1=8CisPrevChooseApprove=E6=9D=A5=E5=9B=9E?= =?UTF-8?q?=E5=90=90=E5=87=BA=E6=96=B0=E7=9A=84result=20=EF=BC=8C=E7=BB=99?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=20=E5=B9=B6=E4=B8=94=E6=8A=8A=E8=AF=A5?= =?UTF-8?q?=E6=AC=A1=E6=98=AF=E5=90=A6=E6=89=A7=E8=A1=8C=E8=BF=87isAutoAgr?= =?UTF-8?q?ee=20=E5=9B=9E=E8=B0=83=E7=BB=99=E5=89=8D=E7=AB=AF=202.?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=8E=A5=E6=94=B6=E5=88=B0isAutoAgree?= =?UTF-8?q?=EF=BC=8C=E9=9C=80=E8=A6=81=E5=9C=A8result=20=E4=B8=AD=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=96=B0=E7=9A=84task=20=E6=9D=A5=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E5=8E=9F=E6=9C=AC=E7=9A=84onApproveClick=20=E6=9D=A5=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E5=BC=B9=E6=A1=86=E7=BB=99=E5=AE=A2=E6=88=B7=E9=A2=84?= =?UTF-8?q?=E9=80=89=E5=AE=A1=E6=89=B9=E4=BA=BA=203.=E5=9C=A8=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E4=B8=AD=E3=80=82=E5=B7=B2approveUserIds=20?= =?UTF-8?q?=E5=92=8C=E5=BD=93=E5=89=8D=E7=9A=84userStore.userInfo.id?= =?UTF-8?q?=E5=AF=B9=E6=AF=94=EF=BC=8C=E6=98=AF=E5=90=A6=E6=98=AF=E6=96=B0?= =?UTF-8?q?=E7=9A=84taskId=E8=8A=82=E7=82=B9=E7=9A=84=E5=BE=85=E5=AE=A1?= =?UTF-8?q?=E4=BA=BA=EF=BC=8C=E6=98=AF=E5=B0=B1=E7=BB=A7=E7=BB=AD=E5=BC=B9?= =?UTF-8?q?=E5=B1=82=E8=A7=A6=E5=8F=91=E9=80=89=E4=BA=BA=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=98=AF=E7=9A=84=E8=AF=9DflowSuccess?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/secondDev/approveFlowPage.vue | 31 +++++++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index f3b4a83..901c531 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -83,7 +83,9 @@ import ProcessInformation from '/@/views/workflow/task/components/flow/ProcessInformation.vue'; import { useI18n } from '/@/hooks/web/useI18n'; import { useMessage } from '/@/hooks/web/useMessage'; + import { useUserStore } from '/@/store/modules/user'; + const userStore = useUserStore(); const { t } = useI18n(); const { notification } = useMessage(); @@ -187,8 +189,10 @@ tabStore.closeTab(currentRoute, router); } - async function onApproveClick() { - await submit(); + async function onApproveClick(isAutoAgreeBreak = false) { + if (!isAutoAgreeBreak) { + await submit(); + } if (!validateSuccess.value) { return; } @@ -196,6 +200,10 @@ const nextNodes = await postGetNextTaskMaybeArrival(params); approvalData.approvedType = ApproveType.AGREE; approvalData.approvedResult = ApproveCode.AGREE; + //如果是自动同意触发的,关闭弹层的loading + if (isAutoAgreeBreak) { + opinionDlg.value.stopLoading() + } opinionDlg.value.toggleDialog({ action: 'agree', nextNodes, @@ -422,9 +430,22 @@ try { if (validateSuccess.value || values === 'reject' || values === 'finish') { let params = await getApproveParams(); - await postApproval(params); - flowSuccess(); - data.submitLoading = false; + let response = await postApproval(params); + // 判断返回值是否带有isAutoAgree 来判断中间是否有自动审批的业务,如有执行判断 + if (response != null && response.length != 0 && response[0].isAutoAgree == true) { + // 判断待审人员是否包含自己,不包含就直接flowSuccess + if (response[0].approveUserIds.includes(userStore.getUserInfo.id)) { + taskId.value = response[0].taskId; + data.submitLoading = false; + onApproveClick(false, true); + } else { + flowSuccess(); + data.submitLoading = false; + } + } else { + flowSuccess(); + data.submitLoading = false; + } } } catch (error) { flowFail(); From c1d342114bf2b4a2c52244e54b4461596b923689 Mon Sep 17 00:00:00 2001 From: lvjunzhao <967725@dms.yudean.com> Date: Wed, 19 Feb 2025 08:52:29 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=204.onApproveClick=20?= =?UTF-8?q?=E4=BC=A0=E5=8F=82=E5=A4=84=E7=90=86=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/secondDev/approveFlowPage.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index 901c531..df8cb08 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -437,7 +437,7 @@ if (response[0].approveUserIds.includes(userStore.getUserInfo.id)) { taskId.value = response[0].taskId; data.submitLoading = false; - onApproveClick(false, true); + onApproveClick(true); } else { flowSuccess(); data.submitLoading = false; From 891a08847654989c437b0366999ce791f5c703a2 Mon Sep 17 00:00:00 2001 From: lvjunzhao <967725@dms.yudean.com> Date: Wed, 19 Feb 2025 18:18:39 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=20=E6=8A=8AcheckIsAutoAgre?= =?UTF-8?q?e=20=E6=96=B9=E6=B3=95=E6=8F=90=E5=87=BA=E6=9D=A5=EF=BC=8C?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E6=96=B9=E6=B3=95=E5=A2=9E=E5=8A=A0=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/secondDev/approveFlowPage.vue | 40 +++++++++++++++---------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index df8cb08..4c15173 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -431,24 +431,34 @@ if (validateSuccess.value || values === 'reject' || values === 'finish') { let params = await getApproveParams(); let response = await postApproval(params); - // 判断返回值是否带有isAutoAgree 来判断中间是否有自动审批的业务,如有执行判断 - if (response != null && response.length != 0 && response[0].isAutoAgree == true) { - // 判断待审人员是否包含自己,不包含就直接flowSuccess - if (response[0].approveUserIds.includes(userStore.getUserInfo.id)) { - taskId.value = response[0].taskId; - data.submitLoading = false; - onApproveClick(true); - } else { - flowSuccess(); - data.submitLoading = false; - } - } else { - flowSuccess(); - data.submitLoading = false; - } + // 判断返回值是否带有isAutoAgree 来判断中间是否有自动审批的业务,如有再执行判断待审人员是否包含自己,不包含就直接flowSuccess + if (checkIsAutoAgree(response)) return + flowSuccess(); + data.submitLoading = false; } } catch (error) { flowFail(); } } + + /** + * 判断该次审核是否触发自动同意事务,并且检验返回得task 是否是自身作为被审需要弹框再次审核 + * @param response + */ + async function checkIsAutoAgree(response) { + if (response != null + && response.length != 0 + && response[0].isAutoAgree == true // + && response[0].approveUserIds.includes(userStore.getUserInfo.id)) { + console.error('will reSelect user=', response[0].taskId); + // 注入新得taskId + taskId.value = response[0].taskId; + data.submitLoading = false; + onApproveClick(true); + return true; + } else { + return false; + } + + } From 2850e8abf5582a30bba8d87a3c7b3ab155d3bed1 Mon Sep 17 00:00:00 2001 From: lvjunzhao <967725@dms.yudean.com> Date: Thu, 20 Feb 2025 09:37:04 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=20=E6=94=B9=E6=88=90?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/secondDev/approveFlowPage.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index 4c15173..2e8fefe 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -445,7 +445,7 @@ * 判断该次审核是否触发自动同意事务,并且检验返回得task 是否是自身作为被审需要弹框再次审核 * @param response */ - async function checkIsAutoAgree(response) { + function checkIsAutoAgree(response) { if (response != null && response.length != 0 && response[0].isAutoAgree == true //