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, }; }, });