Ver Fonte

pref: 审批节点提示优化

wuwenyi há 7 horas atrás
pai
commit
2b496ccbf5
1 ficheiros alterados com 16 adições e 9 exclusões
  1. 16 9
      src/views/flow/designer/useFlowDesigner.ts

+ 16 - 9
src/views/flow/designer/useFlowDesigner.ts

@@ -659,6 +659,13 @@ export function useFlowDesigner(lfContainer: Ref<HTMLDivElement | undefined>) {
     optionDialogVisible.value = false
   }
 
+  function getNodeDisplayName(node: any): string {
+    // LogicFlow 的 node.text 可能是 { value: '节点名' },直接拼接会变成 [object Object]
+    const text = node?.text
+    const value = text && typeof text === 'object' ? text.value : text
+    return String(value || node?.name || '未命名节点')
+  }
+
   function validateFlow(graphData: any): string | null {
     const nodes = graphData.nodes || []
     const edges = graphData.edges || []
@@ -676,15 +683,15 @@ export function useFlowDesigner(lfContainer: Ref<HTMLDivElement | undefined>) {
         const assigneeType = props.assigneeType ?? 'ROLE'
         const assigneeValue = props.assigneeValue || props.approver
         if (assigneeType === 'ROLE' && !assigneeValue && props.subNodesEnabled !== true) {
-          return `审批节点 ${node.text || node.name} 未选择审批角色`
+          return `审批节点 ${getNodeDisplayName(node)} 未选择审批角色`
         }
         if (assigneeType === 'EXTERNAL') {
           if (props.subNodesEnabled === true) {
-            return `审批节点 "${node.text || node.name}" 使用外部指定审批人时不支持子节点`
+            return `审批节点 ${getNodeDisplayName(node)} 使用外部指定审批人时不支持子节点`
           }
           const nodeKey = String(props.nodeKey || '').trim()
           if (!nodeKey) {
-            return `审批节点 "${node.text || node.name}" 未填写节点编码(nodeKey)`
+            return `审批节点 ${getNodeDisplayName(node)} 未填写节点编码(nodeKey)`
           }
           if (externalNodeKeys.has(nodeKey)) {
             return `节点编码 "${nodeKey}" 重复,请保证每个外部指定节点编码唯一`
@@ -694,14 +701,14 @@ export function useFlowDesigner(lfContainer: Ref<HTMLDivElement | undefined>) {
         if (props.subNodesEnabled === true) {
           const subNodes = props.subNodes || []
           if (subNodes.length === 0) {
-            return `审批节点 "${node.text || node.name}" 已启用子节点,请至少配置一个子节点`
+            return `审批节点 ${getNodeDisplayName(node)} 已启用子节点,请至少配置一个子节点`
           }
           for (let i = 0; i < subNodes.length; i++) {
             const sub = subNodes[i]
             const subAssigneeType = sub.assigneeType ?? 'ROLE'
             const subAssigneeValue = sub.assigneeValue
             if (subAssigneeType === 'ROLE' && !subAssigneeValue) {
-              return `审批节点 ${node.text || node.name} 的子节点 ${i + 1} 未选择审批角色`
+              return `审批节点 ${getNodeDisplayName(node)} 的子节点 ${i + 1} 未选择审批角色`
             }
           }
         }
@@ -721,7 +728,7 @@ export function useFlowDesigner(lfContainer: Ref<HTMLDivElement | undefined>) {
         node.type !== 'end-node' &&
         node.type !== 'end'
       ) {
-        return `节点 "${node.text || node.name}" 是孤立节点,请删除或连接`
+        return `节点 ${getNodeDisplayName(node)} 是孤立节点,请删除或连接`
       }
     }
     // 检查条件分支:有且只能有一个默认分支,非默认分支必须填写条件
@@ -739,17 +746,17 @@ export function useFlowDesigner(lfContainer: Ref<HTMLDivElement | undefined>) {
             return props.isDefault || (!props.condition && !e.condition)
           })
           if (defaultEdges.length === 0) {
-            return `条件节点 "${node.text || node.name}" 需要至少一条默认分支`
+            return `条件节点 ${getNodeDisplayName(node)} 需要至少一条默认分支`
           }
           if (defaultEdges.length > 1) {
-            return `条件节点 "${node.text || node.name}" 只能有一条默认分支`
+            return `条件节点 ${getNodeDisplayName(node)} 只能有一条默认分支`
           }
           const invalid = outEdges.some((e: any) => {
             const props = e.properties || {}
             return !props.isDefault && !props.condition && !e.condition
           })
           if (invalid) {
-            return `条件节点 "${node.text || node.name}" 的非默认分支必须填写条件表达式`
+            return `条件节点 ${getNodeDisplayName(node)} 的非默认分支必须填写条件表达式`
           }
         }
       }