From b97f9aa32b4cab767da609c5b4e64f5efb8ed605 Mon Sep 17 00:00:00 2001 From: libertyspy Date: Wed, 1 Apr 2026 11:32:53 +0800 Subject: [PATCH] UPDATE: VERSION-20260401 --- .../src/views/decision/designer/designer.vue | 32 +++++++++++++------ modeler/src/views/decision/designer/tree.ts | 1 + 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/modeler/src/views/decision/designer/designer.vue b/modeler/src/views/decision/designer/designer.vue index 4be2cfd..428d109 100644 --- a/modeler/src/views/decision/designer/designer.vue +++ b/modeler/src/views/decision/designer/designer.vue @@ -114,6 +114,7 @@ export default defineComponent({ const platforms = ref([]); const nodeCommands = ref([]) const currentScenarioId = ref(null); + const currentPlatformId = ref(null); const { handleGraphEvent, @@ -243,6 +244,8 @@ export default defineComponent({ const handleSelectTree = (tree: BehaviorTree) => { destroyGraph(); + currentPlatformId.value = null; + currentScenarioId.value = null; console.info('handleSelectTree', tree); findOneTreeById(tree.id).then(r => { @@ -302,6 +305,21 @@ export default defineComponent({ }); }; + const resolveQuery = ()=> { + let scenarioId = Number(currentRoute.query.scenario); + if (!isNaN(scenarioId)) { + currentScenarioId.value = scenarioId; + } else { + currentScenarioId.value = null; + } + let platformId = Number(currentRoute.query.platform); + if (!isNaN(platformId)) { + currentPlatformId.value = platformId; + } else { + currentPlatformId.value = null; + } + } + const handleCreateTree = () => { destroyGraph(); @@ -312,6 +330,7 @@ export default defineComponent({ englishName: null, xmlContent: null, createdAt: null, + platformId: currentPlatformId.value, graph: { edges: [], nodes: [], @@ -387,16 +406,10 @@ export default defineComponent({ window.addEventListener('resize', handleResize); console.log('节点挂载完成'); - let scenarioId = Number(currentRoute.query.scenario); - if (!isNaN(scenarioId)) { - currentScenarioId.value = scenarioId; - } else { - currentScenarioId.value = null; - } + resolveQuery(); - let platformId = Number(currentRoute.query.platform); - if (!isNaN(platformId)) { - findOneTreeByPlatformId(platformId).then(r => { + if (currentPlatformId.value) { + findOneTreeByPlatformId(currentPlatformId.value).then(r => { if (r.data) { handleSelectTree(r.data); } else { @@ -404,6 +417,7 @@ export default defineComponent({ } }); } else { + currentPlatformId.value = null; handleCreateTree(); } }); diff --git a/modeler/src/views/decision/designer/tree.ts b/modeler/src/views/decision/designer/tree.ts index 64e6d37..b1acb18 100644 --- a/modeler/src/views/decision/designer/tree.ts +++ b/modeler/src/views/decision/designer/tree.ts @@ -19,6 +19,7 @@ export interface BehaviorTree { englishName: NullableString, xmlContent: NullableString, graph: GraphContainer + platformId: null | number } export interface BehaviorTreeRequest extends BehaviorTree {