From 42b15fc6d2468ebbc392bc2eacc1505dbc259594 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 29 Oct 2025 13:45:10 +0800
Subject: [PATCH] feat:全选显示
---
src/views/layerManagement/components/leftList.vue | 36 +++++++++++++++++++++---------------
1 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 0c36462..ba1a79e 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -43,7 +43,7 @@
type="text"
@click="handleLocation(node)"
></el-button>
- <el-button icon="el-icon-edit" type="text" @click="handleEdit(node)"></el-button>
+ <el-button icon="el-icon-edit" type="text" @click.stop="handleEdit(node)"></el-button>
<el-button icon="el-icon-delete" type="text" @click="handleDelete(node)"></el-button>
</div>
</div>
@@ -56,7 +56,7 @@
<script setup>
import { treeDataApi } from '@/api/layer/index';
import { inject, onMounted } from 'vue';
-const emit = defineEmits(['update:coverData']);
+const emit = defineEmits(['update:coverData', 'update:deitData']);
const coverData = ref();
const layerParams = inject('layerParams');
const checkedKeys = ref([]); // 存储勾选的节点key
@@ -80,40 +80,45 @@
try {
const res = await treeDataApi();
treeAllData.value = res.data.data;
- console.log('接口获取数据', treeAllData.value);
+
setupWatch();
} catch (error) {
console.error('获取数据失败:', error);
}
};
+
const setupWatch = () => {
watch(
() => props.activeName,
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
+ layerParams.value.total_count = folderNode.total_count ?folderNode.total_count :0;
+ layerParams.value.total_area = folderNode.total_area ? folderNode.total_area :0;
+ }
},
{ immediate: true }
);
};
-
const handleCheck = (checkedNodesData, checkedKeysData) => {
-const filteredNodes = checkedKeysData.checkedNodes.filter(node => node.level === 3);
+ const filteredNodes = checkedKeysData.checkedNodes.filter(node => node.level === 3);
checkedNodes.value = checkedNodesData.checkedNodes;
- checkedKeys.value = filteredNodes.map(node => node.id);
+ checkedKeys.value = filteredNodes.map(node => node.id);
coverData.value = filteredNodes;
emit('update:coverData', coverData.value);
};
// 全选方法
const selectAll = () => {
if (treeRef.value) {
-
- const allFenceKeys = treeData.value.flatMap(folder =>
- folder.children.map(fence => fence.id) // folder 是 level 2,children 是 level 3
+ const allFenceKeys = treeData.value.flatMap(
+ folder => folder.children.map(fence => fence.id) // folder 是 level 2,children 是 level 3
);
-
- const allFenceNodes = treeData.value.flatMap(folder => folder.children);
+ const allFenceNodes = treeData.value.flatMap(folder => folder.children);
if (checkedKeys.value.length === allFenceKeys.length) {
// 取消全选:清空 keys 和数据
treeRef.value.setCheckedKeys([]);
@@ -127,7 +132,6 @@
checkedNodes.value = allFenceNodes; // 存储 level 3 数据
coverData.value = allFenceNodes; // 同步 coverData
}
-
emit('update:coverData', coverData.value);
}
};
@@ -138,8 +142,11 @@
// 编辑按钮事件
const handleEdit = node => {
- console.log('编辑操作,节点:', node.data);
- emit('update:coverData', [node.data]);
+ checkedKeys.value = [];
+ checkedNodes.value = [];
+ coverData.value = [];
+ layerParams.value.editNest = true;
+ emit('update:deitData', node.data);
};
// 删除按钮事件
@@ -149,7 +156,6 @@
// 新增围栏
const addFence = () => {
layerParams.value.addNest = true;
-
};
// 新增文件夹
const addFolder = () => {};
--
Gitblit v1.9.3