✨ 组织类型接业务字典,并支持多所属组织与MK再提交

组织管理类型改为 organization_type;用户所属组织支持多选;提交MK前保留原审批状态以识别通过后再提交。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-29 03:15:27 +08:00
parent 4418836fcd
commit 1ed524f80f
16 changed files with 182 additions and 58 deletions
+11 -2
View File
@@ -89,13 +89,22 @@ export async function resolveMkTemplateCode(dictName, list) {
return String(templateCode);
}
/**
* 是否属于「审核通过后再提交」需要新建表单实例的状态
*/
export function isMkApprovedStatus(bizType, approvalStatus) {
const conf = MK_BIZ[bizType];
if (!conf) return false;
return (conf.approved || []).includes(approvalStatus);
}
/**
* 提交 MK 审核流
* @param {Object} options
* @param {string} options.bizType 业务类型
* @param {string|number} options.bizId 业务主键(后端据此生成/复用 formInstanceId)
* @param {string} [options.subjectName] 标题后缀
* @param {string} [options.approvalStatus] 当前审批状态(驳回态会先 delete;通过态强制新建实例)
* @param {string} [options.approvalStatus] 提交前的审批状态(须在业务 submit 改状态前取值;通过态强制新建实例)
*/
export async function submitMkApprovalFlow({
bizType,
@@ -115,7 +124,7 @@ export async function submitMkApprovalFlow({
return;
}
const bizIdText = String(bizId);
const forceNewFormInstance = (conf.approved || []).includes(approvalStatus);
const forceNewFormInstance = isMkApprovedStatus(bizType, approvalStatus);
// 审核通过后再提交必须新建流程;其余场景已有有效实例则跳过
if (!forceNewFormInstance) {
const existsRes = await hasMkProcessInstance({ bizId: bizIdText });