fix: 检查所有route->router

This commit is contained in:
Lesan 2025-01-09 09:19:23 +08:00
parent 077dfdcddd
commit 777564673e
6 changed files with 29 additions and 30 deletions

View File

@ -46,7 +46,7 @@
</div> </div>
<div class="handler-item-text">延迟器</div> <div class="handler-item-text">延迟器</div>
</div> </div>
<div class="handler-item" @click="addNode(NodeType.ROUTE_BRANCH_NODE)"> <div class="handler-item" @click="addNode(NodeType.ROUTER_BRANCH_NODE)">
<!-- TODO @芋艿 需要更换一下iconfont的图标 --> <!-- TODO @芋艿 需要更换一下iconfont的图标 -->
<div class="handler-item-icon copy"> <div class="handler-item-icon copy">
<span class="iconfont icon-size icon-copy"></span> <span class="iconfont icon-size icon-copy"></span>
@ -241,12 +241,12 @@ const addNode = (type: number) => {
} }
emits('update:childNode', data) emits('update:childNode', data)
} }
if (type === NodeType.ROUTE_BRANCH_NODE) { if (type === NodeType.ROUTER_BRANCH_NODE) {
const data: SimpleFlowNode = { const data: SimpleFlowNode = {
id: 'GateWay_' + generateUUID(), id: 'GateWay_' + generateUUID(),
name: NODE_DEFAULT_NAME.get(NodeType.ROUTE_BRANCH_NODE) as string, name: NODE_DEFAULT_NAME.get(NodeType.ROUTER_BRANCH_NODE) as string,
showText: '', showText: '',
type: NodeType.ROUTE_BRANCH_NODE, type: NodeType.ROUTER_BRANCH_NODE,
childNode: props.childNode childNode: props.childNode
} }
emits('update:childNode', data) emits('update:childNode', data)

View File

@ -45,8 +45,8 @@
@update:flow-node="handleModelValueUpdate" @update:flow-node="handleModelValueUpdate"
/> />
<!-- 路由分支节点 --> <!-- 路由分支节点 -->
<RouteNode <RouterNode
v-if="currentNode && currentNode.type === NodeType.ROUTE_BRANCH_NODE" v-if="currentNode && currentNode.type === NodeType.ROUTER_BRANCH_NODE"
:flow-node="currentNode" :flow-node="currentNode"
@update:flow-node="handleModelValueUpdate" @update:flow-node="handleModelValueUpdate"
/> />
@ -73,7 +73,7 @@ import ExclusiveNode from './nodes/ExclusiveNode.vue'
import ParallelNode from './nodes/ParallelNode.vue' import ParallelNode from './nodes/ParallelNode.vue'
import InclusiveNode from './nodes/InclusiveNode.vue' import InclusiveNode from './nodes/InclusiveNode.vue'
import DelayTimerNode from './nodes/DelayTimerNode.vue' import DelayTimerNode from './nodes/DelayTimerNode.vue'
import RouteNode from './nodes/RouteNode.vue' import RouterNode from './nodes/RouterNode.vue'
import { SimpleFlowNode, NodeType } from './consts' import { SimpleFlowNode, NodeType } from './consts'
import { useWatchNode } from './node' import { useWatchNode } from './node'
defineOptions({ defineOptions({

View File

@ -48,7 +48,7 @@ export enum NodeType {
/** /**
* *
*/ */
ROUTE_BRANCH_NODE = 54 ROUTER_BRANCH_NODE = 54
} }
export enum NodeId { export enum NodeId {
@ -116,7 +116,7 @@ export interface SimpleFlowNode {
// 延迟设置 // 延迟设置
delaySetting?: DelaySetting delaySetting?: DelaySetting
// 路由分支 // 路由分支
routerGroups?: RouteCondition[] routerGroups?: RouterCondition[]
defaultFlowId?: string defaultFlowId?: string
// 签名 // 签名
signEnable?: boolean signEnable?: boolean
@ -471,7 +471,7 @@ NODE_DEFAULT_TEXT.set(NodeType.COPY_TASK_NODE, '请配置抄送人')
NODE_DEFAULT_TEXT.set(NodeType.CONDITION_NODE, '请设置条件') NODE_DEFAULT_TEXT.set(NodeType.CONDITION_NODE, '请设置条件')
NODE_DEFAULT_TEXT.set(NodeType.START_USER_NODE, '请设置发起人') NODE_DEFAULT_TEXT.set(NodeType.START_USER_NODE, '请设置发起人')
NODE_DEFAULT_TEXT.set(NodeType.DELAY_TIMER_NODE, '请设置延迟器') NODE_DEFAULT_TEXT.set(NodeType.DELAY_TIMER_NODE, '请设置延迟器')
NODE_DEFAULT_TEXT.set(NodeType.ROUTE_BRANCH_NODE, '请设置路由节点') NODE_DEFAULT_TEXT.set(NodeType.ROUTER_BRANCH_NODE, '请设置路由节点')
export const NODE_DEFAULT_NAME = new Map<number, string>() export const NODE_DEFAULT_NAME = new Map<number, string>()
NODE_DEFAULT_NAME.set(NodeType.USER_TASK_NODE, '审批人') NODE_DEFAULT_NAME.set(NodeType.USER_TASK_NODE, '审批人')
@ -479,7 +479,7 @@ NODE_DEFAULT_NAME.set(NodeType.COPY_TASK_NODE, '抄送人')
NODE_DEFAULT_NAME.set(NodeType.CONDITION_NODE, '条件') NODE_DEFAULT_NAME.set(NodeType.CONDITION_NODE, '条件')
NODE_DEFAULT_NAME.set(NodeType.START_USER_NODE, '发起人') NODE_DEFAULT_NAME.set(NodeType.START_USER_NODE, '发起人')
NODE_DEFAULT_NAME.set(NodeType.DELAY_TIMER_NODE, '延迟器') NODE_DEFAULT_NAME.set(NodeType.DELAY_TIMER_NODE, '延迟器')
NODE_DEFAULT_NAME.set(NodeType.ROUTE_BRANCH_NODE, '路由分支') NODE_DEFAULT_NAME.set(NodeType.ROUTER_BRANCH_NODE, '路由分支')
// 候选人策略。暂时不从字典中取。 后续可能调整。控制显示顺序 // 候选人策略。暂时不从字典中取。 后续可能调整。控制显示顺序
export const CANDIDATE_STRATEGY: DictDataVO[] = [ export const CANDIDATE_STRATEGY: DictDataVO[] = [
@ -660,7 +660,7 @@ export const DELAY_TYPE = [
/** /**
* *
*/ */
export type RouteCondition = { export type RouterCondition = {
nodeId: string nodeId: string
conditionType: ConditionType conditionType: ConditionType
conditionExpression: string conditionExpression: string

View File

@ -37,7 +37,7 @@
:value="node.value" :value="node.value"
/> />
</el-select> </el-select>
<el-button class="mla" type="danger" link @click="deleteRouteGroup(index)" <el-button class="mla" type="danger" link @click="deleteRouterGroup(index)"
>删除</el-button >删除</el-button
> >
</div> </div>
@ -46,7 +46,7 @@
</el-card> </el-card>
</el-form> </el-form>
<el-button class="w-1/1" type="primary" :icon="Plus" @click="addRouteGroup"> <el-button class="w-1/1" type="primary" :icon="Plus" @click="addRouterGroup">
新增路由分支 新增路由分支
</el-button> </el-button>
</div> </div>
@ -61,11 +61,11 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { Plus } from '@element-plus/icons-vue' import { Plus } from '@element-plus/icons-vue'
import { SimpleFlowNode, NodeType, ConditionType, RouteCondition } from '../consts' import { SimpleFlowNode, NodeType, ConditionType, RouterCondition } from '../consts'
import { useWatchNode, useDrawer, useNodeName } from '../node' import { useWatchNode, useDrawer, useNodeName } from '../node'
import Condition from './components/Condition.vue' import Condition from './components/Condition.vue'
defineOptions({ defineOptions({
name: 'RouteNodeConfig' name: 'RouterNodeConfig'
}) })
const message = useMessage() // const message = useMessage() //
const props = defineProps({ const props = defineProps({
@ -80,8 +80,8 @@ const { settingVisible, closeDrawer, openDrawer } = useDrawer()
// //
const currentNode = useWatchNode(props) const currentNode = useWatchNode(props)
// //
const { nodeName, showInput, clickIcon, blurEvent } = useNodeName(NodeType.ROUTE_BRANCH_NODE) const { nodeName, showInput, clickIcon, blurEvent } = useNodeName(NodeType.ROUTER_BRANCH_NODE)
const routerGroups = ref<RouteCondition[]>([]) const routerGroups = ref<RouterCondition[]>([])
const nodeOptions = ref() const nodeOptions = ref()
// //
@ -96,7 +96,7 @@ const saveConfig = async () => {
} }
// //
const showRouteNodeConfig = (node: SimpleFlowNode) => { const showRouteNodeConfig = (node: SimpleFlowNode) => {
getRoutableNode() getRouterNode()
routerGroups.value = [] routerGroups.value = []
nodeName.value = node.name nodeName.value = node.name
if (node.routerGroups) { if (node.routerGroups) {
@ -132,7 +132,7 @@ const getShowText = () => {
return `${routerGroups.value.length}条路由分支` return `${routerGroups.value.length}条路由分支`
} }
const addRouteGroup = () => { const addRouterGroup = () => {
routerGroups.value.push({ routerGroups.value.push({
nodeId: '', nodeId: '',
conditionType: ConditionType.RULE, conditionType: ConditionType.RULE,
@ -157,12 +157,11 @@ const addRouteGroup = () => {
}) })
} }
const deleteRouteGroup = (index: number) => { const deleteRouterGroup = (index: number) => {
routerGroups.value.splice(index, 1) routerGroups.value.splice(index, 1)
} }
// TODO @lesan router const getRouterNode = () => {
const getRoutableNode = () => {
// TODO @lesan // TODO @lesan
// //
// //
@ -170,7 +169,7 @@ const getRoutableNode = () => {
nodeOptions.value = [] nodeOptions.value = []
while (true) { while (true) {
if (!node) break if (!node) break
if (node.type !== NodeType.ROUTE_BRANCH_NODE) { if (node.type !== NodeType.ROUTER_BRANCH_NODE) {
nodeOptions.value.push({ nodeOptions.value.push({
label: node.name, label: node.name,
value: node.id value: node.id

View File

@ -31,7 +31,7 @@
{{ currentNode.showText }} {{ currentNode.showText }}
</div> </div>
<div class="node-text" v-else> <div class="node-text" v-else>
{{ NODE_DEFAULT_TEXT.get(NodeType.ROUTE_BRANCH_NODE) }} {{ NODE_DEFAULT_TEXT.get(NodeType.ROUTER_BRANCH_NODE) }}
</div> </div>
<Icon v-if="!readonly" icon="ep:arrow-right-bold" /> <Icon v-if="!readonly" icon="ep:arrow-right-bold" />
</div> </div>
@ -49,17 +49,17 @@
:current-node="currentNode" :current-node="currentNode"
/> />
</div> </div>
<RouteNodeConfig v-if="!readonly && currentNode" ref="nodeSetting" :flow-node="currentNode" /> <RouterNodeConfig v-if="!readonly && currentNode" ref="nodeSetting" :flow-node="currentNode" />
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { SimpleFlowNode, NodeType, NODE_DEFAULT_TEXT } from '../consts' import { SimpleFlowNode, NodeType, NODE_DEFAULT_TEXT } from '../consts'
import NodeHandler from '../NodeHandler.vue' import NodeHandler from '../NodeHandler.vue'
import { useNodeName2, useWatchNode, useTaskStatusClass } from '../node' import { useNodeName2, useWatchNode, useTaskStatusClass } from '../node'
import RouteNodeConfig from '../nodes-config/RouteNodeConfig.vue' import RouterNodeConfig from '../nodes-config/RouterNodeConfig.vue'
defineOptions({ defineOptions({
name: 'RouteNode' name: 'RouterNode'
}) })
const props = defineProps({ const props = defineProps({
@ -77,7 +77,7 @@ const readonly = inject<Boolean>('readonly')
// //
const currentNode = useWatchNode(props) const currentNode = useWatchNode(props)
// //
const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.ROUTE_BRANCH_NODE) const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.ROUTER_BRANCH_NODE)
const nodeSetting = ref() const nodeSetting = ref()
// //

View File

@ -129,7 +129,7 @@ const setSimpleModelNodeTaskStatus = (
simpleModel.type === NodeType.CONDITION_BRANCH_NODE || simpleModel.type === NodeType.CONDITION_BRANCH_NODE ||
simpleModel.type === NodeType.PARALLEL_BRANCH_NODE || simpleModel.type === NodeType.PARALLEL_BRANCH_NODE ||
simpleModel.type === NodeType.INCLUSIVE_BRANCH_NODE || simpleModel.type === NodeType.INCLUSIVE_BRANCH_NODE ||
simpleModel.type === NodeType.ROUTE_BRANCH_NODE simpleModel.type === NodeType.ROUTER_BRANCH_NODE
) { ) {
// //
if (finishedActivityIds.includes(simpleModel.id)) { if (finishedActivityIds.includes(simpleModel.id)) {