Jelajahi Sumber

【代码评审】BPM:Simple 设计器 - 路由分支

YunaiV 7 bulan lalu
induk
melakukan
3f9408bfbe

+ 1 - 0
src/components/SimpleProcessDesignerV2/src/NodeHandler.vue

@@ -236,6 +236,7 @@ const addNode = (type: number) => {
     emits('update:childNode', data)
   }
   if (type === NodeType.ROUTE_BRANCH_NODE) {
+    // TODO @lesan:高亮那边,需要考虑下。
     const data: SimpleFlowNode = {
       id: 'GateWay_' + generateUUID(),
       name: NODE_DEFAULT_NAME.get(NodeType.ROUTE_BRANCH_NODE) as string,

+ 2 - 2
src/components/SimpleProcessDesignerV2/src/consts.ts

@@ -98,7 +98,7 @@ export interface SimpleFlowNode {
   // 审批节点的审批人与发起人相同时,对应的处理类型
   assignStartUserHandlerType?: number
   // 创建任务监听器
-  createTaskListener: ListenerHandler
+  createTaskListener?: ListenerHandler
   // 条件类型
   conditionType?: ConditionType
   // 条件表达式
@@ -646,7 +646,7 @@ export const DELAY_TYPE = [
  */
 export type RouteCondition = {
   nodeId: string
-  conditionType: number
+  conditionType: number // TODO @lesan:ConditionType
   conditionExpression: string
   conditionGroups: ConditionGroup
 }

+ 2 - 0
src/components/SimpleProcessDesignerV2/src/nodes-config/RouteNodeConfig.vue

@@ -54,6 +54,7 @@
               </el-radio>
             </el-radio-group>
           </el-form-item>
+          <!-- TODO @lesan:1)1、2 使用枚举;2)默认先 条件组关系,再 条件表达式;3)这种可以封装成一个小组件么? -->
           <el-form-item
             v-if="item.conditionType === 1"
             label="条件表达式"
@@ -278,6 +279,7 @@ const getShowText = () => {
   return `${routeGroup.value.length}条路由分支`
 }
 
+// TODO @lesan:这个需要实现么?
 const changeConditionType = () => {}
 
 const deleteConditionGroup = (conditions, index) => {

+ 7 - 7
src/components/SimpleProcessDesignerV2/src/nodes/RouteNode.vue

@@ -10,7 +10,9 @@
       >
         <div class="node-title-container">
           <!-- TODO @芋艿 需要更换一下iconfont的图标 -->
-          <div class="node-title-icon copy-task"><span class="iconfont icon-copy"></span></div>
+          <div class="node-title-icon copy-task">
+            <span class="iconfont icon-copy"></span>
+          </div>
           <input
             v-if="!readonly && showInput"
             type="text"
@@ -47,11 +49,7 @@
         :current-node="currentNode"
       />
     </div>
-    <RouteNodeConfig
-      v-if="!readonly && currentNode"
-      ref="nodeSetting"
-      :flow-node="currentNode"
-    />
+    <RouteNodeConfig v-if="!readonly && currentNode" ref="nodeSetting" :flow-node="currentNode" />
   </div>
 </template>
 <script setup lang="ts">
@@ -59,16 +57,18 @@ import { SimpleFlowNode, NodeType, NODE_DEFAULT_TEXT } from '../consts'
 import NodeHandler from '../NodeHandler.vue'
 import { useNodeName2, useWatchNode, useTaskStatusClass } from '../node'
 import RouteNodeConfig from '../nodes-config/RouteNodeConfig.vue'
+
 defineOptions({
   name: 'RouteNode'
 })
+
 const props = defineProps({
   flowNode: {
     type: Object as () => SimpleFlowNode,
     required: true
   }
 })
-// 定义事件,更新父组件
+// 定义事件,更新父组件
 const emits = defineEmits<{
   'update:flowNode': [node: SimpleFlowNode | undefined]
 }>()