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

This commit is contained in:
YunaiV 2025-01-07 22:27:13 +08:00
parent eca1c83c56
commit 3f9408bfbe
4 changed files with 12 additions and 9 deletions

View File

@ -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,

View File

@ -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 @lesanConditionType
conditionExpression: string
conditionGroups: ConditionGroup
}

View File

@ -54,6 +54,7 @@
</el-radio>
</el-radio-group>
</el-form-item>
<!-- TODO @lesan112 使用枚举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) => {

View File

@ -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]
}>()