diff --git a/modeler/src/views/decision/api.ts b/modeler/src/views/decision/api.ts index 400af77..f79637d 100644 --- a/modeler/src/views/decision/api.ts +++ b/modeler/src/views/decision/api.ts @@ -27,6 +27,9 @@ export const findOneTreeById = (id: number): Promise => { + return req.delete(`/system/behaviortree/${id}`); +}; export const updateTree = (rt: Partial): Promise => { return req.postJson(`/system/behaviortree`, rt); @@ -35,18 +38,3 @@ export const updateTree = (rt: Partial): Promise => export const createTree = (rt: Partial): Promise => { return req.putJson(`/system/behaviortree`, rt); }; - - -// export const findOneTreeById = (id: number): Promise => { -// return req.postJson(`/tree-details`,{ -// tree_id: id -// }); -// }; -// -// export const updateTree = (rt: Partial): Promise => { -// return req.postJson('/update-tree', rt); -// }; -// -// export const createTree = (rt: Partial): Promise => { -// return req.postJson('/update-tree', rt); -// }; diff --git a/modeler/src/views/decision/trees-card.vue b/modeler/src/views/decision/trees-card.vue index 342dd7c..69bf61f 100644 --- a/modeler/src/views/decision/trees-card.vue +++ b/modeler/src/views/decision/trees-card.vue @@ -8,16 +8,29 @@ + + import { defineComponent, onMounted, ref } from 'vue'; -import { PlusOutlined } from '@ant-design/icons-vue'; +import { CheckOutlined, DeleteOutlined, EditFilled, PlusOutlined } from '@ant-design/icons-vue'; import type { BehaviorTree, BehaviorTreeRequest } from './types'; -import { findTreesByQuery } from './api'; +import { deleteOneTreeById, findTreesByQuery } from './api'; import { substring } from '@/utils/strings'; export default defineComponent({ emits: ['select-tree'], components: { - PlusOutlined + CheckOutlined, + PlusOutlined, + DeleteOutlined, + EditFilled, }, setup(_props, { emit }) { const behaviorTrees = ref([]); @@ -50,6 +66,7 @@ export default defineComponent({ }); const activeKey = ref(1) const totalTress = ref(0); + const loadTress = () => { findTreesByQuery(behaviorTreeQuery.value).then(r => { behaviorTrees.value = r.rows; @@ -63,6 +80,14 @@ export default defineComponent({ loadTress(); }; + const handleDelete = (item: BehaviorTree) => { + deleteOneTreeById(item.id).then(r => { + if (r.code === 200) { + loadTress(); + } + }); + }; + const columns = [ { title: '名称', @@ -97,6 +122,7 @@ export default defineComponent({ customRow, handleSelect, handleChange, + handleDelete, }; }, }) @@ -111,14 +137,27 @@ export default defineComponent({ padding: 4px 15px; cursor: pointer; color: rgb(130 196 233); + position: relative; + + .ks-tree-actions { + position: absolute; + right: 10px; + display: none; + } &:hover { background: #0d2d4e; + + .ks-tree-actions { + display: block; + } } + } } &.ks-trees-collapse { + .ant-collapse-content-box { padding: 0; height: 40vh;