From 8dc867acb676747ebe9d384783cdab88d603e72f Mon Sep 17 00:00:00 2001 From: libertyspy Date: Mon, 16 Mar 2026 15:48:33 +0800 Subject: [PATCH] UPDATE: VERSION-20260316 --- .../decision/communication/communication.vue | 13 +- .../src/views/decision/communication/node.vue | 5 +- .../decision/communication/nodes-card.vue | 30 ++-- .../decision/communication/platform-card.vue | 1 + .../views/decision/communication/relation.ts | 134 ++++++++++++++++++ .../src/views/decision/communication/types.ts | 18 ++- .../src/views/decision/communication/utils.ts | 49 +++++++ modeler/src/views/decision/graph/canvas.ts | 2 +- modeler/src/views/decision/graph/element.ts | 2 +- modeler/src/views/decision/graph/hooks.ts | 1 + modeler/src/views/decision/graph/index.ts | 14 +- modeler/src/views/decision/graph/utils.ts | 4 +- 12 files changed, 239 insertions(+), 34 deletions(-) create mode 100644 modeler/src/views/decision/communication/relation.ts diff --git a/modeler/src/views/decision/communication/communication.vue b/modeler/src/views/decision/communication/communication.vue index 061844a..757fe09 100644 --- a/modeler/src/views/decision/communication/communication.vue +++ b/modeler/src/views/decision/communication/communication.vue @@ -63,6 +63,7 @@ import { createGraphScenarioElement, createGraphTaskElementFromScenario } from ' import PlatformCard from './platform-card.vue'; import NodesCard from './nodes-card.vue'; import { saveScenario } from './api'; +import {resolveConnectionRelation} from './relation' const TeleportContainer = defineComponent(getTeleport()); @@ -194,7 +195,6 @@ export default defineComponent({ }; const handleSelect = (scenario: Scenario) => { - console.info('handleSelect', scenario); let nodeGraph: GraphContainer | null = null; try { nodeGraph = JSON.parse(scenario.communicationGraph as unknown as string) as unknown as GraphContainer; @@ -210,10 +210,10 @@ export default defineComponent({ currentScenario.value = { ...scenario, graph: nodeGraph, + relations: [] }; currentScenarioEditing.value = true; createElements(); - }; const createElements = () => { @@ -228,7 +228,6 @@ export default defineComponent({ if (currentScenario.value?.graph.nodes) { currentScenario.value?.graph.nodes.forEach(ele => { const node = createGraphScenarioElement(ele as GraphTaskElement); - console.info('create node: ', ele); // 将节点添加到画布 graph.value?.addNode(node as Node); }); @@ -255,10 +254,11 @@ export default defineComponent({ name: null, description: null, communicationGraph: null, + relations: [], graph: { edges: [], nodes: [], - } + }, }; currentGraph.value = { edges: [], @@ -341,6 +341,10 @@ export default defineComponent({ const handleSave = () => { const graphData: GraphContainer = resolveGraph(graph.value as Graph); + + const relations = resolveConnectionRelation(graph.value as Graph); + console.error('relations',relations) + console.info('handleSave', graphData); if (!currentScenario.value) { message.error('当前决策树不存在'); @@ -350,6 +354,7 @@ export default defineComponent({ ...currentScenario.value, graph: graphData, communicationGraph: JSON.stringify(graphData), + relations: relations }; if (!newScenario.name) { message.error('场景名称不能为空.'); diff --git a/modeler/src/views/decision/communication/node.vue b/modeler/src/views/decision/communication/node.vue index edd3b0f..cc074e7 100644 --- a/modeler/src/views/decision/communication/node.vue +++ b/modeler/src/views/decision/communication/node.vue @@ -23,9 +23,11 @@ >
@@ -38,9 +40,11 @@
@@ -130,7 +134,6 @@ export default defineComponent({ onMounted(() => { _props.node?.on('change:data', handleDataChange); - console.error('element',element.value) }); onUnmounted(() => { diff --git a/modeler/src/views/decision/communication/nodes-card.vue b/modeler/src/views/decision/communication/nodes-card.vue index da38e98..745febd 100644 --- a/modeler/src/views/decision/communication/nodes-card.vue +++ b/modeler/src/views/decision/communication/nodes-card.vue @@ -27,7 +27,7 @@