diff --git a/src/api/bpm/processInstance/index.ts b/src/api/bpm/processInstance/index.ts index a0f263de..9a99a91e 100644 --- a/src/api/bpm/processInstance/index.ts +++ b/src/api/bpm/processInstance/index.ts @@ -36,7 +36,7 @@ export type ApprovalTaskInfo = { assigneeUser: User status: number reason: string - sign: string // TODO @lesan:字段改成 signPicUrl 签名照片。只有 sign 感觉是签名文本哈。 + signPicUrl: string } // 审批节点信息 diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/RouterNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/RouterNodeConfig.vue index 6748a736..a7c4ac9b 100644 --- a/src/components/SimpleProcessDesignerV2/src/nodes-config/RouterNodeConfig.vue +++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/RouterNodeConfig.vue @@ -86,7 +86,7 @@ const currentNode = useWatchNode(props) // 节点名称 const { nodeName, showInput, clickIcon, blurEvent } = useNodeName(NodeType.ROUTER_BRANCH_NODE) const routerGroups = ref([]) -const nodeOptions = ref() +const nodeOptions = ref([]) const conditionRef = ref([]) /** 保存配置 */ @@ -94,7 +94,7 @@ const saveConfig = async () => { // 校验表单 let valid = true for (const item of conditionRef.value) { - if (!(await item.validate())) { + if (item && !(await item.validate())) { valid = false } } @@ -109,7 +109,7 @@ const saveConfig = async () => { } // 显示路由分支节点配置, 由父组件传过来 const showRouteNodeConfig = (node: SimpleFlowNode) => { - getRouterNode() + getRouterNode(processNodeTree?.value) routerGroups.value = [] nodeName.value = node.name if (node.routerGroups) { @@ -172,15 +172,14 @@ const deleteRouterGroup = (index: number) => { routerGroups.value.splice(index, 1) } -const getRouterNode = () => { - // TODO @lesan 还需要满足以下要求 +// 递归获取所有节点 +const getRouterNode = (node) => { + // TODO 最好还需要满足以下要求 // 并行分支、包容分支内部节点不能跳转到外部节点 // 条件分支节点可以向上跳转到外部节点 - let node = processNodeTree?.value - nodeOptions.value = [] while (true) { if (!node) break - if (node.type !== NodeType.ROUTER_BRANCH_NODE) { + if (node.type !== NodeType.ROUTER_BRANCH_NODE && node.type !== NodeType.CONDITION_NODE) { nodeOptions.value.push({ label: node.name, value: node.id @@ -189,6 +188,11 @@ const getRouterNode = () => { if (!node.childNode || node.type === NodeType.END_EVENT_NODE) { break } + if (node.conditionNodes && node.conditionNodes.length) { + node.conditionNodes.forEach((item) => { + getRouterNode(item) + }) + } node = node.childNode } } diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue index 64acc2c3..8e18b756 100644 --- a/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue +++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue @@ -440,217 +440,8 @@ - - -
- - {{ listener.name }} - - - - -
- - - - - - - -
-
- - - -
-
- - - -
-
- - - - - - - - -
-
- -
-
- - 添加一行 - -
- -
-
- - - -
-
- - - -
-
- - - - - - - - -
-
- -
-
- - 添加一行 - -
-
-
-
+