From 8244050ea0ae7639cecce5942f40282bd48f78fc Mon Sep 17 00:00:00 2001 From: lizhixian <18210040298@163.com> Date: Wed, 5 Mar 2025 17:31:45 +0800 Subject: [PATCH] =?UTF-8?q?review=EF=BC=9A=E4=BB=A3=E7=A0=81=E5=AE=A1?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/ProcessInstanceOperationButton.vue | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue index 37dbc7b6..74dfbb32 100644 --- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue +++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue @@ -44,7 +44,11 @@ :rows="4" /> - +
{ }) if (data && data.length > 0) { data.forEach((node: any) => { + // 如果是发起人自选,并且没有审批人 或者 是审批人自选 if ( - isEmpty(node.tasks) && - isEmpty(node.candidateUsers) && - (CandidateStrategy.START_USER_SELECT === node.candidateStrategy || - CandidateStrategy.APPROVE_USER_SELECT === node.candidateStrategy) + (isEmpty(node.tasks) && + isEmpty(node.candidateUsers) && + CandidateStrategy.START_USER_SELECT === node.candidateStrategy) || + CandidateStrategy.APPROVE_USER_SELECT === node.candidateStrategy ) { nextAssigneesActivityNode.value.push(node) } @@ -741,6 +746,20 @@ const initNextAssigneesFormField = async () => { const selectNextAssigneesConfirm = (id: string, userList: any[]) => { approveReasonForm.nextAssignees[id] = userList?.map((item: any) => item.id) } +/** 审批通过时,校验每个自选审批人的节点是否都已配置了审批人 */ +const validateNextAssignees = () => { + // 如果需要自选审批人,则校验自选审批人 + if (Object.keys(nextAssigneesActivityNode.value).length > 0) { + // 校验每个节点是否都已配置审批人 + for (const item of nextAssigneesActivityNode.value) { + if (isEmpty(approveReasonForm.nextAssignees[item.id])) { + message.warning('下一个节点的审批人不能为空!') + return false + } + } + } + return true +} /** 处理审批通过和不通过的操作 */ const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) => { @@ -757,12 +776,8 @@ const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) => } if (pass) { - // 如果需要自选审批人,则校验自选审批人 - if (Object.keys(nextAssigneesActivityNode.value).length > 0 - && Object.keys(approveReasonForm.nextAssignees).length === 0) { - message.warning('下一个节点的审批人不能为空!') - return - } + const nextAssigneesValid = validateNextAssignees() + if (!nextAssigneesValid) return const variables = getUpdatedProcessInstanceVariables() // 审批通过数据 const data = {