From 4418836fcd46447fe474a89ac756c2a6b8f9717b Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Tue, 29 Sep 2026 02:44:49 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E5=90=8E=E5=86=8D=E6=8F=90=E4=BA=A4=E5=BC=BA=E5=88=B6=E6=96=B0?= =?UTF-8?q?=E5=BB=BAMK=E8=A1=A8=E5=8D=95=E5=AE=9E=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- src/utils/mk-approval.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/utils/mk-approval.js b/src/utils/mk-approval.js index a9071d2..3562545 100644 --- a/src/utils/mk-approval.js +++ b/src/utils/mk-approval.js @@ -7,46 +7,55 @@ export const MK_BIZ = { dictName: '提交客商审核流', subjectPrefix: '客商准入审批', rejected: ['rejected'], + approved: ['approved'], }, 'project-apply': { dictName: '提交项目审核流', subjectPrefix: '项目审批', rejected: ['rejected', 'change_rejected', 'withdrawn'], + approved: ['approved', 'change_approved'], }, 'contract-manage': { dictName: '提交合同审核流', subjectPrefix: '合同审批', rejected: ['rejected', 'change_rejected', 'withdrawn'], + approved: ['approved', 'change_approved'], }, 'pre-settlement': { dictName: '提交预结算审核流', subjectPrefix: '预结算审批', rejected: ['returned'], + approved: ['approved'], }, 'formal-settlement': { dictName: '提交正式结算审核流', subjectPrefix: '正式结算审批', rejected: ['returned'], + approved: ['approved'], }, 'payment-application': { dictName: '提交付款审核流', subjectPrefix: '付款审批', rejected: ['returned'], + approved: ['approved'], }, 'invoice-application': { dictName: '提交开票审核流', subjectPrefix: '开票审批', rejected: ['returned'], + approved: ['approved'], }, 'invoice-receipt': { dictName: '提交收票审核流', subjectPrefix: '收票审批', rejected: ['returned'], + approved: ['approved'], }, 'bill-payment': { dictName: '提交汇票付款审核流', subjectPrefix: '汇票付款审批', rejected: ['returned'], + approved: ['approved'], }, }; @@ -86,7 +95,7 @@ export async function resolveMkTemplateCode(dictName, list) { * @param {string} options.bizType 业务类型 * @param {string|number} options.bizId 业务主键(后端据此生成/复用 formInstanceId) * @param {string} [options.subjectName] 标题后缀 - * @param {string} [options.approvalStatus] 当前审批状态(驳回态会先 delete) + * @param {string} [options.approvalStatus] 当前审批状态(驳回态会先 delete;通过态强制新建实例) */ export async function submitMkApprovalFlow({ bizType, @@ -106,10 +115,13 @@ export async function submitMkApprovalFlow({ return; } const bizIdText = String(bizId); - // 先查 MK 流程实例:已有数据则不删除、不重新提交 - const existsRes = await hasMkProcessInstance({ bizId: bizIdText }); - if (existsRes?.data?.data) { - return; + const forceNewFormInstance = (conf.approved || []).includes(approvalStatus); + // 审核通过后再提交必须新建流程;其余场景已有有效实例则跳过 + if (!forceNewFormInstance) { + const existsRes = await hasMkProcessInstance({ bizId: bizIdText }); + if (existsRes?.data?.data) { + return; + } } if ((conf.rejected || []).includes(approvalStatus)) { await processDelete({ bizId: bizIdText }); @@ -123,5 +135,6 @@ export async function submitMkApprovalFlow({ bizId: bizIdText, subject, bizType, + forceNewFormInstance, }); }