From 47cc2075f101266ac4b44976679aef10345cce6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MSI-7950X=5C=E5=88=98=E6=B3=BD=E6=98=8E?= Date: Wed, 13 May 2026 16:15:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=BB=E5=B8=83=E8=8A=82=E7=82=B9=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/flow/FlowCanvas.vue | 209 ++++++------------ frontend/src/views/flow/FlowEditor.vue | 13 +- frontend/src/views/flow/FlowNode.vue | 64 +++++- .../flow/node-configs/ConditionConfig.vue | 32 ++- .../src/views/flow/node-configs/LlmConfig.vue | 51 ++--- .../src/views/flow/node-configs/McpConfig.vue | 33 ++- .../views/flow/node-configs/OutputConfig.vue | 32 ++- .../src/views/flow/node-configs/RagConfig.vue | 32 ++- .../views/flow/node-configs/ToolConfig.vue | 48 ++-- .../views/flow/node-configs/TriggerConfig.vue | 19 +- .../flow/node-configs/WecomNotifyConfig.vue | 29 ++- 11 files changed, 261 insertions(+), 301 deletions(-) diff --git a/frontend/src/views/flow/FlowCanvas.vue b/frontend/src/views/flow/FlowCanvas.vue index 274dbd9..ea145bf 100644 --- a/frontend/src/views/flow/FlowCanvas.vue +++ b/frontend/src/views/flow/FlowCanvas.vue @@ -1,42 +1,45 @@ + \ No newline at end of file diff --git a/frontend/src/views/flow/FlowEditor.vue b/frontend/src/views/flow/FlowEditor.vue index 84db651..dca30e6 100644 --- a/frontend/src/views/flow/FlowEditor.vue +++ b/frontend/src/views/flow/FlowEditor.vue @@ -10,8 +10,6 @@ 保存 验证 - 撤销 - 重做 上架到企微 @@ -56,6 +54,8 @@ @pane-click="onPaneClick" @drop="onDrop" @node-delete="removeNode" + @update:nodes="(v: any) => nodes = v" + @update:edges="(v: any) => edges = v" /> @@ -160,11 +160,6 @@ const colorMap: Record = { output: '#722ed1', } -function undo() { canvasRef.value?.undo() } -function redo() { canvasRef.value?.redo() } -const canUndo = computed(() => canvasRef.value?.canUndo ?? false) -const canRedo = computed(() => canvasRef.value?.canRedo ?? false) - const selectedNode = computed(() => nodes.value.find((n: any) => n.id === selectedNodeId.value) || null) function getMiniMapColor(node: any) { @@ -183,7 +178,7 @@ function onDrop(event: DragEvent) { if (!dataStr) return const nodeData = JSON.parse(dataStr) const id = `node_${++nodeCounter}` - canvasRef.value?.addNodes?.([{ + nodes.value.push({ id, type: 'custom', position: { x: 100 + nodeCounter * 50, y: 100 + nodeCounter * 30 }, @@ -196,7 +191,7 @@ function onDrop(event: DragEvent) { }, draggable: true, connectable: true, - }]) + }) } function getDefaultConfig(type: string) { diff --git a/frontend/src/views/flow/FlowNode.vue b/frontend/src/views/flow/FlowNode.vue index b3fbeb7..8fb113c 100644 --- a/frontend/src/views/flow/FlowNode.vue +++ b/frontend/src/views/flow/FlowNode.vue @@ -5,6 +5,7 @@

{{ data?.typeDesc || '' }}

+

{{ configSummary }}

@@ -24,13 +25,18 @@ + + \ No newline at end of file + diff --git a/frontend/src/views/flow/node-configs/ConditionConfig.vue b/frontend/src/views/flow/node-configs/ConditionConfig.vue index 47a53bf..39a2d8f 100644 --- a/frontend/src/views/flow/node-configs/ConditionConfig.vue +++ b/frontend/src/views/flow/node-configs/ConditionConfig.vue @@ -3,7 +3,7 @@ 条件配置 - + @@ -11,28 +11,28 @@ - +
支持变量: {{input_data}}, {{status}}, {{result}}
分支配置 - + - + 高级选项 - + - + @@ -41,18 +41,16 @@