mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-09 08:52:41 +08:00
fix: 检查所有route->router
This commit is contained in:
parent
077dfdcddd
commit
777564673e
@ -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)
|
||||||
|
@ -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({
|
||||||
|
@ -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
|
||||||
|
@ -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
|
@ -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()
|
||||||
// 打开节点配置
|
// 打开节点配置
|
@ -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)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user