zhanghaijun 1 год назад
Родитель
Сommit
8d5fe5e333

+ 15 - 0
src/components/business/EasyProcess/common/data.ts

@@ -39,3 +39,18 @@ export const nodeConfigData: Record<EasyProcess.NodeType, EasyProcess.Node> = {
 }
 
 export const blankProcessData: EasyProcess.NodeConfig = nodeConfigData['start'].defaultNode
+
+export const getNodeConfig = (type: EasyProcess.NodeType) => {
+  return (
+    nodeConfigData[type] || {
+      title: '未知节点',
+      color: '#FFFFFF',
+      bgColor: '#3CB371',
+      canAdd: false,
+      canRemoved: true,
+      hasDrawer: false,
+      icon: { name: 'condition', color: '#3CB371' },
+      defaultNode: { nodeName: '未知节点', nodeType: 'other', nodeData: {} }
+    }
+  )
+}

+ 0 - 8
src/components/business/EasyProcess/config/defaultConfig.js

@@ -1,8 +0,0 @@
-// 默认流程配置
-export const defaultConfig = {
-  nodeConfig: {
-    nodeName: '发起人',
-    nodeType: 'start',
-    config: {}
-  }
-}

+ 0 - 127
src/components/business/EasyProcess/config/nodeConfig.js

@@ -1,127 +0,0 @@
-import { ROUTER, CONDITION, START, APPROVER, NOTIFY } from './nodeType'
-
-// 节点配置
-export const nodeConfig = {}
-
-// 路由节点配置
-nodeConfig[ROUTER] = {
-  title: '条件分支', // 节点标题
-  canAdd: true, // 节点是否可以增加
-  hasDrawer: false, // 节点是否可以进行配置
-  icon: {
-    // 图标
-    name: 'router', // 图标名
-    color: '#3CB371' // 颜色
-  },
-  defaultNode: {
-    // 默认节点结构,用于添加节点时
-    nodeName: '路由',
-    nodeType: 'router',
-    config: {},
-    childNode: null,
-    conditionNodes: [
-      {
-        nodeName: '条件',
-        nodeType: 'condition',
-        isLastCondition: false,
-        config: {},
-        childNode: null
-      },
-      {
-        nodeName: '条件',
-        nodeType: 'condition',
-        isLastCondition: true,
-        config: {},
-        childNode: null
-      }
-    ]
-  }
-}
-
-// 条件节点配置
-nodeConfig[CONDITION] = {
-  title: '条件', // 节点标题
-  color: '#FFFFFF', // 节点标题颜色
-  bgColor: '#3CB371', // 节点标题背景颜色
-  canAdd: false, // 节点是否可以增加
-  canRemoved: true, // 节点是否能够移除
-  hasDrawer: true, // 节点是否可以进行配置
-  icon: {
-    // 图标
-    name: 'condition', // 图标名
-    color: '#3CB371' // 颜色
-  },
-  defaultNode: {
-    nodeName: '条件',
-    nodeType: 'condition',
-    isLastCondition: false,
-    config: {},
-    childNode: {}
-  }
-}
-
-// 发起人节点配置
-nodeConfig[START] = {
-  title: '发起人', // 节点标题
-  color: '#FFFFFF', // 节点标题颜色
-  bgColor: '#1e83e9', // 节点标题背景颜色
-  canAdd: false, // 节点是否可以增加
-  canRemoved: false, // 节点是否能够移除
-  hasDrawer: true, // 节点是否可以进行配置
-  icon: {
-    // 图标
-    name: 'start', // 图标名
-    color: '#1e83e9' // 颜色
-  },
-  defaultNode: {
-    // 默认节点结构,用于添加节点时
-    nodeName: '发起人',
-    nodeType: 'start',
-    config: {},
-    childNode: null
-  }
-}
-
-// 审核人节点配置
-nodeConfig[APPROVER] = {
-  title: '审核人', // 节点标题
-  color: '#FFFFFF', // 节点标题颜色
-  bgColor: '#FF8C00', // 节点标题背景颜色
-  canAdd: true, // 节点是否可以增加
-  canRemoved: true, // 节点是否能够移除
-  hasDrawer: true, // 节点是否可以进行配置
-  icon: {
-    // 图标
-    name: 'approver', // 图标名
-    color: '#FF8C00' // 颜色
-  },
-  defaultNode: {
-    // 默认节点结构,用于添加节点时
-    nodeName: '审批人',
-    nodeType: 'approver',
-    config: {},
-    childNode: null
-  }
-}
-
-// 抄送人节点配置
-nodeConfig[NOTIFY] = {
-  title: '抄送人', // 节点标题
-  color: '#FFFFFF', // 节点标题颜色
-  bgColor: '#808000', // 节点标题背景颜色
-  canAdd: true, // 节点是否可以增加
-  canRemoved: true, // 节点是否能够移除
-  hasDrawer: true, // 节点是否可以进行配置
-  icon: {
-    // 图标
-    name: 'notify', // 图标名
-    color: '#808000' // 颜色
-  },
-  defaultNode: {
-    // 默认节点结构,用于添加节点时
-    nodeName: '抄送人',
-    nodeType: 'notify',
-    config: {},
-    childNode: null
-  }
-}

+ 0 - 10
src/components/business/EasyProcess/config/nodeType.js

@@ -1,10 +0,0 @@
-// 路由
-export const ROUTER = 'router'
-// 条件
-export const CONDITION = 'condition'
-// 发起人
-export const START = 'start'
-// 审核人
-export const APPROVER = 'approver'
-// 抄送人
-export const NOTIFY = 'notify'

+ 5 - 2
src/components/business/EasyProcess/node/NodeWrap.vue

@@ -1,7 +1,11 @@
 <template>
   <div class="ep-node-wrap" v-if="props.node">
     <!-- 路由节点 -->
-    <RouterNode :node="props.node" @removeNode="removeNode" v-if="props.node.nodeType == ROUTER" />
+    <RouterNode
+      :node="props.node"
+      @removeNode="removeNode"
+      v-if="props.node.nodeType == 'router'"
+    />
     <!-- 普通节点 -->
     <BaseNode
       :node="props.node"
@@ -24,7 +28,6 @@
   import BaseNode from './base/BaseNode.vue'
   import RouterNode from './router/routerNode.vue'
   import { onMounted } from 'vue'
-  import { ROUTER } from '../config/nodeType'
 
   const props = defineProps({
     node: {

+ 3 - 4
src/components/business/EasyProcess/node/base/BaseNode.vue

@@ -64,9 +64,8 @@
     onUnmounted,
     inject
   } from 'vue'
-  import { nodeConfigData } from '../../common/data.ts'
+  import { nodeConfigData, getNodeConfig } from '../../common/data.ts'
   import { getUUID } from '../../common/common.util.ts'
-  import { START, CONDITION } from '../../config/nodeType'
   import { KEY_VALIDATOR } from '../../config/keys'
 
   const props = defineProps({
@@ -124,7 +123,7 @@
   })
 
   const isStart = computed(() => {
-    return props.node.nodeType == START
+    return props.node.nodeType == 'start'
   })
 
   // 节点验证结果是否异常
@@ -158,7 +157,7 @@
 
   // 判断当前节点是否为条件节点
   const isCondition = () => {
-    if (props.node.nodeType == CONDITION) {
+    if (props.node.nodeType == 'condition') {
       return true
     }
     return false

+ 1 - 2
src/components/business/EasyProcess/node/router/routerNode.vue

@@ -38,7 +38,6 @@
   import { onMounted } from 'vue'
   import { copy } from '../../common/common.util.ts'
   import { nodeConfigData } from '../../common/data.ts'
-  import { CONDITION } from '../../config/nodeType'
 
   const props = defineProps({
     node: {
@@ -62,7 +61,7 @@
 
   // 添加条件分支
   const addCondition = () => {
-    let defaultNode = copy(nodeConfigData[CONDITION].defaultNode)
+    let defaultNode = copy(nodeConfigData['condition'].defaultNode)
     let length = props.node.conditionNodes.length
     props.node.conditionNodes.splice(length - 1, 0, defaultNode)
   }

+ 9 - 9
src/views/train/monitor/data/flow.json

@@ -4,13 +4,13 @@
   "nodeConfig": {
     "nodeName": "发起人",
     "nodeType": "start",
-    "config": {
+    "nodeData": {
       "name": null
     },
     "childNode": {
       "nodeName": "审批人",
       "nodeType": "approver",
-      "config": {
+      "nodeData": {
         "name": null
       },
       "childNode": {
@@ -21,13 +21,13 @@
             "nodeName": "条件",
             "nodeType": "condition",
             "isLastCondition": false,
-            "config": {
+            "nodeData": {
               "days": 1
             },
             "childNode": {
               "nodeName": "审批人",
               "nodeType": "approver",
-              "config": {
+              "nodeData": {
                 "name": "赵六"
               }
             }
@@ -36,13 +36,13 @@
             "nodeName": "条件",
             "nodeType": "condition",
             "isLastCondition": false,
-            "config": {
+            "nodeData": {
               "days": 3
             },
             "childNode": {
               "nodeName": "审批人",
               "nodeType": "approver",
-              "config": {
+              "nodeData": {
                 "name": "老王"
               }
             }
@@ -51,20 +51,20 @@
             "nodeName": "条件",
             "nodeType": "condition",
             "isLastCondition": true,
-            "config": {},
+            "nodeData": {},
             "childNode": {}
           }
         ],
         "childNode": {
           "nodeName": "审批人",
           "nodeType": "approver",
-          "config": {
+          "nodeData": {
             "name": "李四"
           },
           "childNode": {
             "nodeName": "抄送人",
             "nodeType": "notify",
-            "config": {
+            "nodeData": {
               "name": "王五"
             }
           }