| | |
| | | show-checkbox |
| | | node-key="id" |
| | | default-expand-all |
| | | :expand-on-click-node="false" |
| | | @check="handleCheck" |
| | | :props="{ |
| | | label: 'name', |
| | |
| | | <!-- 操作按钮组 --> |
| | | <div class="tree-node-actions"> |
| | | <el-button |
| | | |
| | | icon="el-icon-location" |
| | | type="text" |
| | | @click="handleLocation(node)" |
| | |
| | | |
| | | <script setup> |
| | | import { ElMessage } from 'element-plus'; |
| | | import { treeDataApi, deleteFenceApi } from '@/api/layer/index'; |
| | | import { treeDataApi, deleteFenceApi,deleteFolderApi } from '@/api/layer/index'; |
| | | import { inject, onMounted } from 'vue'; |
| | | const emit = defineEmits(['update:coverData', 'update:deitData', 'newFencesMethods']); |
| | | import EventBus from '@/utils/eventBus'; |
| | |
| | | const res = await treeDataApi(); |
| | | treeAllData.value = res.data.data; |
| | | console.log('接口数据', treeAllData.value); |
| | | |
| | | setupWatch(); |
| | | } catch (error) { |
| | | console.error('获取数据失败:', error); |
| | |
| | | newVal => { |
| | | const matchedCategory = treeAllData.value.find(item => item.name === newVal); |
| | | treeData.value = matchedCategory.children; |
| | | |
| | | if (treeData.value && treeData.value.length > 0) { |
| | | const folderNode = treeData.value[0]; |
| | | // 赋值给 layerParams |
| | |
| | | const handleCheck = (checkedNodesData, checkedKeysData) => { |
| | | const filteredNodes = checkedKeysData.checkedNodes.filter(node => node.level === 3); |
| | | checkedNodes.value = checkedNodesData.checkedNodes; |
| | | console.log(' checkedKeysData.checkedNodes', checkedNodes.value); |
| | | |
| | | checkedKeys.value = filteredNodes.map(node => node.id); |
| | | coverData.value = filteredNodes; |
| | | emit('update:coverData', coverData.value); |
| | |
| | | } |
| | | }; |
| | | // 定位按钮事件 |
| | | const handleLocation = node => { |
| | | console.log('定位操作,节点:', node); |
| | | const handleLocation = (node) => { |
| | | if (node.data.level === 2) { |
| | | const folderChildren = node.data.children || []; |
| | | const childrenIds = folderChildren.map(child => child.id); |
| | | treeRef.value.setCheckedKeys(childrenIds); |
| | | checkedKeys.value = childrenIds; |
| | | checkedNodes.value = folderChildren; |
| | | coverData.value = folderChildren; |
| | | emit('update:coverData', coverData.value); |
| | | } |
| | | }; |
| | | |
| | | // 编辑按钮事件 |
| | | const handleEdit = node => { |
| | | if (node.data.level == 2) { |
| | |
| | | |
| | | // 删除按钮事件 |
| | | const handleDelete = node => { |
| | | let id = node.data.id; |
| | | deleteFenceApi(id).then(res => { |
| | | if (res.status === 200) { |
| | | ElMessage({ |
| | | message: '删除成功', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | let id = node.data.id; |
| | | if(node.data.level === 2 ){ |
| | | deleteFolderApi(id).then(res => { |
| | | if (res.status === 200) { |
| | | ElMessage({ |
| | | message: '删除成功', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | }else if(node.data.level === 3){ |
| | | deleteFenceApi(id).then(res => { |
| | | if (res.status === 200) { |
| | | ElMessage({ |
| | | message: '删除成功', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | gettreeDataApi(); |
| | | }; |
| | | // 新增围栏 |