| | |
| | | // 添加更新模型的方法 |
| | | function updateModel() { |
| | | if (!processNodeTree.value) { |
| | | processNodeTree.value = { |
| | | name: '发起人', |
| | | type: BpmNodeTypeEnum.START_USER_NODE, |
| | | id: NodeId.START_USER_NODE_ID, |
| | | // 默认为空,需要进行配置 |
| | | // 默认流程结构:发起人 → 审批人 → 结束 |
| | | // 审批人默认指定为超级管理员,保证新建/修改后三节点齐全且可直接保存(用户可自行调整审批人) |
| | | const adminUser = userOptions.value.find( |
| | | (user: SystemUserApi.User) => user.username === 'admin', |
| | | ); |
| | | const approveNode: SimpleFlowNode = { |
| | | id: `Activity_${Date.now()}_${Math.floor(Math.random() * 10000)}`, |
| | | name: '审批人', |
| | | type: BpmNodeTypeEnum.USER_TASK_NODE, |
| | | showText: '', |
| | | childNode: { |
| | | id: NodeId.END_EVENT_NODE_ID, |
| | |
| | | type: BpmNodeTypeEnum.END_EVENT_NODE, |
| | | }, |
| | | }; |
| | | if (adminUser) { |
| | | // candidateStrategy 30 = 指定成员,指向超级管理员 |
| | | approveNode.candidateStrategy = 30; |
| | | approveNode.candidateParam = String(adminUser.id); |
| | | approveNode.showText = `指定成员:${adminUser.nickname || adminUser.username}`; |
| | | } |
| | | processNodeTree.value = { |
| | | name: '发起人', |
| | | type: BpmNodeTypeEnum.START_USER_NODE, |
| | | id: NodeId.START_USER_NODE_ID, |
| | | // 默认为空,需要进行配置 |
| | | showText: '', |
| | | childNode: approveNode, |
| | | }; |
| | | // 初始化时也触发一次保存 |
| | | saveSimpleFlowModel(processNodeTree.value); |
| | | } |