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();