From 3946bc561a605898d326056035d6c88186eb58fd Mon Sep 17 00:00:00 2001 From: yitaikarma Date: Mon, 13 Apr 2026 14:25:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A1=8C=E4=B8=BA=E6=A0=91?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/decision/designer/trees-card.vue | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/modeler/src/views/decision/designer/trees-card.vue b/modeler/src/views/decision/designer/trees-card.vue index 6354bb1..2cced9e 100644 --- a/modeler/src/views/decision/designer/trees-card.vue +++ b/modeler/src/views/decision/designer/trees-card.vue @@ -29,6 +29,12 @@ + + + import { defineComponent, onMounted, ref } from 'vue'; -import { CheckOutlined, DeleteOutlined, EditFilled, PlusOutlined } from '@ant-design/icons-vue'; +import { CheckOutlined, CopyOutlined, DeleteOutlined, EditFilled, PlusOutlined } from '@ant-design/icons-vue'; import type { BehaviorTree, BehaviorTreeRequest } from './tree'; -import { deleteOneTreeById, findTreesByQuery } from './api'; +import { copyTree, deleteOneTreeById, findTreesByQuery } from './api'; import { substring } from '@/utils/strings'; export default defineComponent({ emits: ['select-tree', 'create-tree'], components: { CheckOutlined, + CopyOutlined, PlusOutlined, DeleteOutlined, EditFilled, @@ -95,6 +102,14 @@ export default defineComponent({ }); }; + const handleCopy = (item: BehaviorTree) => { + copyTree({ id: item.id }).then(r => { + if (r.code === 200) { + loadTress(); + } + }); + }; + const columns = [ { title: '名称', @@ -133,6 +148,7 @@ export default defineComponent({ handleSelect, handleChange, handleDelete, + handleCopy, }; }, });