调试mk
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
import { getDictionary } from '@/api/system/dictbiz';
|
||||
import { processDelete, processSubmit } from '@/api/system/business-process';
|
||||
import { ElMessage } from 'element-plus';
|
||||
|
||||
export const MK_BIZ = {
|
||||
'customer-archive': {
|
||||
dictName: '提交客商审核流',
|
||||
subjectPrefix: '客商准入审批',
|
||||
rejected: ['rejected'],
|
||||
},
|
||||
'project-apply': {
|
||||
dictName: '提交项目审核流',
|
||||
subjectPrefix: '项目审批',
|
||||
rejected: ['rejected', 'change_rejected', 'withdrawn'],
|
||||
},
|
||||
'contract-manage': {
|
||||
dictName: '提交合同审核流',
|
||||
subjectPrefix: '合同审批',
|
||||
rejected: ['rejected', 'change_rejected', 'withdrawn'],
|
||||
},
|
||||
'waybill-manage': {
|
||||
dictName: '提交运单审核流',
|
||||
subjectPrefix: '运单审批',
|
||||
rejected: ['rejected', 'returned'],
|
||||
},
|
||||
'pre-settlement': {
|
||||
dictName: '提交预结算审核流',
|
||||
subjectPrefix: '预结算审批',
|
||||
rejected: ['returned'],
|
||||
},
|
||||
'formal-settlement': {
|
||||
dictName: '提交正式结算审核流',
|
||||
subjectPrefix: '正式结算审批',
|
||||
rejected: ['returned'],
|
||||
},
|
||||
'payment-application': {
|
||||
dictName: '提交付款审核流',
|
||||
subjectPrefix: '付款审批',
|
||||
rejected: ['returned'],
|
||||
},
|
||||
};
|
||||
|
||||
export async function resolveMkTemplateCode(dictName) {
|
||||
const res = await getDictionary({ code: 'mk_template' });
|
||||
const list = res?.data?.data || [];
|
||||
const matched = list.find(item => String(item.dictValue || '').trim() === dictName);
|
||||
const templateCode = matched?.dictKey;
|
||||
if (!templateCode) {
|
||||
ElMessage.warning(`未配置业务字典 mk_template「${dictName}」,无法提交审核流`);
|
||||
return Promise.reject(new Error(`未配置业务字典 mk_template「${dictName}」`));
|
||||
}
|
||||
return String(templateCode);
|
||||
}
|
||||
|
||||
export async function submitMkApprovalFlow({
|
||||
bizType,
|
||||
formInstanceId,
|
||||
subjectName = '',
|
||||
approvalStatus = '',
|
||||
}) {
|
||||
const conf = MK_BIZ[bizType];
|
||||
if (!conf) {
|
||||
return Promise.reject(new Error(`不支持的MK业务类型:${bizType}`));
|
||||
}
|
||||
if ((conf.rejected || []).includes(approvalStatus)) {
|
||||
await processDelete({ formInstanceId: String(formInstanceId) });
|
||||
}
|
||||
const templateCode = await resolveMkTemplateCode(conf.dictName);
|
||||
const subject = subjectName
|
||||
? `${conf.subjectPrefix}:${subjectName}`
|
||||
: `${conf.subjectPrefix}:${formInstanceId}`;
|
||||
return processSubmit({
|
||||
templateCode,
|
||||
formInstanceId: String(formInstanceId),
|
||||
subject,
|
||||
bizType,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user