From ccc9308481e8165598280767e824cce1fa0dedad Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Sat, 20 Sep 2025 11:14:46 +0800
Subject: [PATCH] feat:编辑不刷新

---
 src/views/resource/components/spotDetails.vue |   61 +++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 18 deletions(-)

diff --git a/src/views/resource/components/spotDetails.vue b/src/views/resource/components/spotDetails.vue
index f3ce942..074377d 100644
--- a/src/views/resource/components/spotDetails.vue
+++ b/src/views/resource/components/spotDetails.vue
@@ -460,27 +460,52 @@
   viewer?.entities.removeAll();
 };
 // 编辑
+// const handleSelectionChange = row => {
+//   let curRowIsSelect = row;
+//   curRowIsSelect && handleLocationPolygon(row);
+//   selectionIds.value = row.id;
+//   selectionList.value = row;
+
+//   if (isEditing.value) {
+//     //当前已编辑 → 取消编辑(关闭绘制、重置状态)
+//     isEditing.value = false;
+//     handleUpDateDrawState(false); //取消绘制
+//   } else {
+//     // 当前未编辑 → 开启编辑(仅异常图斑可编辑)
+//     if (row.is_exception === 2 && curRowIsSelect) {
+//       isEditing.value = true;
+//       handleUpDateDrawState(true); //开启绘制
+    
+//     } else {
+//       ElMessage.warning('仅异常图斑支持编辑绘制');
+//       isEditing.value = false;
+//     }
+//   }
+// };
 const handleSelectionChange = row => {
-  let curRowIsSelect = row;
-  curRowIsSelect && handleLocationPolygon(row);
+  // 如果是同一个图斑且正在编辑,则取消编辑
+  if (selectionIds.value === row.id && isEditing.value) {
+    isEditing.value = false;
+    handleUpDateDrawState(false);
+    selectionIds.value = null;
+    selectionList.value = [];
+    return;
+  }
+
+  // 定位到选中的图斑
+  handleLocationPolygon(row);
+  
+  // 仅异常图斑可编辑
+  if (row.is_exception !== 2) {
+    ElMessage.warning('仅异常图斑支持编辑绘制');
+    return;
+  }
+
+  // 设置编辑状态
   selectionIds.value = row.id;
   selectionList.value = row;
-
-  if (isEditing.value) {
-    //当前已编辑 → 取消编辑(关闭绘制、重置状态)
-    isEditing.value = false;
-    handleUpDateDrawState(false); //取消绘制
-  } else {
-    // 当前未编辑 → 开启编辑(仅异常图斑可编辑)
-    if (row.is_exception === 2 && curRowIsSelect) {
-      isEditing.value = true;
-      handleUpDateDrawState(true); //开启绘制
-    
-    } else {
-      ElMessage.warning('仅异常图斑支持编辑绘制');
-      isEditing.value = false;
-    }
-  }
+  isEditing.value = true;
+  handleUpDateDrawState(true);
 };
 const handleUpDateDrawState = show => {
   isEditing.value = show; // 同步编辑状态

--
Gitblit v1.9.3