From 54657202523b8151459170ef6003684922630fdd Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 17 Nov 2025 14:47:43 +0800
Subject: [PATCH] feat:切换tab清空复选框的数据
---
src/views/layerManagement/components/leftList.vue | 20 +++++++++++++++-----
src/views/layerManagement/index.vue | 17 +++++++++--------
2 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 2ce3a5a..25a3eaf 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -77,7 +77,7 @@
icon="el-icon-location"
@click.stop="handleLocation(node)"
:disabled="node.data.level === 2 && (!node.data.children || node.data.children.length === 0)"
- class="location-btn"
+ class="location-btn"
></el-button>
<el-button icon="el-icon-edit" link @click.stop="handleEdit(node)"></el-button>
<el-button icon="el-icon-delete" link @click.stop="handleDelete(node)"></el-button>
@@ -108,7 +108,7 @@
const checkedKeys = ref([]); // 存储勾选的节点key
const treeRef = ref(null); // 获取tree实例
const checkedNodes = ref([]); // 存储勾选的节点数据
-const props = defineProps(['activeName']);
+const props = defineProps(['activeName','resetCheck']);
const formData = ref({
isPush: undefined,
page: 1,
@@ -190,8 +190,6 @@
};
// 定位按钮事件
const handleLocation = node => {
-console.log('11',node.data);
-
if (node.data.level === 2) {
layerParams.value.isSingleLocating = false;
// 新增:标记当前定位的文件夹ID
@@ -374,7 +372,19 @@
ElMessage.success('取消同步成功');
});
}
-
+// 切换tab清空复选框的数据
+watch(
+ () => props.resetCheck,
+ (newVal) => {
+ if (newVal !== undefined) {
+ checkedKeys.value = [];
+ checkedNodes.value = [];
+ coverData.value = [];
+ treeRef.value?.setCheckedKeys([]);
+ }
+ },
+ { immediate: true }
+);
onMounted(() => {
failuresList();
gettreeDataApi();
diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index eedbc17..0c56040 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -23,6 +23,7 @@
@update:editFolder="handleFolder"
:activeName="activeName"
@newFencesMethods="newFencesMethods"
+ :reset-check="resetCheck"
></leftList>
<rightEdit
v-if="layerParams.addNest || layerParams.editNest"
@@ -97,20 +98,23 @@
editFolderData: null,
editingIsProhibited: false, //禁止编辑
isDetailShow: false,
- isSingleLocating:false ,
+ isSingleLocating:false , //是否是单个定位
currentLocationFolderId:null,
});
-
+const resetCheck = ref(false);
const handleClick = tab => {
const clickedTab = tabData.value.find(item => item.type === tab.paneName);
activeType.value = clickedTab.type;
activeName.value = clickedTab.name;
getdataFolderApi();
parentMethod();
+ handleCoverDataUpdate([])
layerParams.value.addNest = false
layerParams.value.editNest = false
layerParams.value.addFolder = false
layerParams.value.editFolder = false
+ resetCheck.value = !resetCheck.value;
+
};
const refreshMethod = () => {
getdataFolderApi();
@@ -170,11 +174,8 @@
};
// 点击显示区域
const handleCoverDataUpdate = data => {
-// console.log('daa',data);
-
selectDataList.value = data;
- if (selectDataList.value.length > 0) {
-
+ if (selectDataList.value?.length > 0) {
loadDataToMap(selectDataList.value);
} else {
viewer.entities.removeAll();
@@ -221,7 +222,7 @@
: item.category_id === 3
? colorMap.border3
: Cesium.Color.YELLOW;
- viewer.entities.add({
+ viewer.entities.add({
id: `polygon_${item.id}`,
customType: 'fence_polygon',
customInfo: item,
@@ -377,7 +378,7 @@
let cartographic = Cesium.Cartographic.fromCartesian(item);
let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
- let height = Cesium.Math.toDegrees(cartographic.height); //高度
+ let height = Cesium.Math.toDegrees(cartographic.height); //高度
return {
lng: _.round(lng, 6),
lat: _.round(lat, 6),
--
Gitblit v1.9.3