From 90428641d9df6f89d5dc798559c757009ac6cd37 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 27 Jun 2024 11:28:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF+=E5=BC=80=E5=A7=8B=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E8=A2=AB=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/workflow/common/shortcut.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/ui/src/workflow/common/shortcut.ts b/ui/src/workflow/common/shortcut.ts index edd55fa88..082d850e3 100644 --- a/ui/src/workflow/common/shortcut.ts +++ b/ui/src/workflow/common/shortcut.ts @@ -86,12 +86,29 @@ export function initDefaultShortcut(lf: LogicFlow, graph: GraphModel) { confirmButtonText: '确定', cancelButtonText: '取消' } - + const elements = graph.getSelectElements(true) + lf.clearSelectElements() + if (elements.nodes.length == 0 && elements.edges.length == 0) { + return + } + if (elements.edges.length > 0 && elements.nodes.length == 0) { + elements.edges.forEach((edge: any) => lf.deleteEdge(edge.id)) + return + } + const nodes = elements.nodes.filter((node) => ['start-node', 'base-node'].includes(node.type)) + if (nodes.length > 0) { + ElMessage.error({ + message: `${nodes[0].properties?.stepName}节点不允许删除`, + type: 'success', + showClose: true, + duration: 1500 + }) + return + } ElMessageBox.confirm('确定删除该节点?', defaultOptions).then(() => { if (!keyboardOptions?.enabled) return true if (graph.textEditElement) return true - const elements = graph.getSelectElements(true) - lf.clearSelectElements() + elements.edges.forEach((edge: any) => lf.deleteEdge(edge.id)) elements.nodes.forEach((node: any) => lf.deleteNode(node.id)) })