From 36215cf59b289d3f8f5bfcb9aaad86b6d131e213 Mon Sep 17 00:00:00 2001
From: jihongshun <1151753686@qq.com>
Date: 星期四, 04 九月 2025 08:48:50 +0800
Subject: [PATCH] 支持删除  合并处理  点击合并后禁止键盘事件 排除继续监听事件重新组合数组

---
 src/views/system/shootPoint/components/shootPointDialog.vue |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/views/system/shootPoint/components/shootPointDialog.vue b/src/views/system/shootPoint/components/shootPointDialog.vue
index 0434ff1..d4bb63b 100644
--- a/src/views/system/shootPoint/components/shootPointDialog.vue
+++ b/src/views/system/shootPoint/components/shootPointDialog.vue
@@ -55,6 +55,10 @@
                               <i 
                                 class="el-icon-success" 
                               ></i>
+                              <i 
+                                class="el-icon-delete" 
+                                @click.stop="deleteItem(wp)"
+                              ></i>
                               <div class="waypoint-contnet">
                                 <span class="waypoint-index">{{ wp.label +'----'  +wp.children[0].label }}</span>
                                 <span v-for="(action, aIndex) in wp.children[0].actions" 
@@ -800,6 +804,7 @@
       console.log(this.treeData)
       console.log(this.waypoints)
       console.log(data)
+      console.log(this.lastTableArr)
       const byLabel = this.addOrUpdate(this.lastTableArr, data, 'label', this)
       this.waypoints  = this.lastTableArr
       console.log(byLabel)
@@ -822,6 +827,33 @@
     },
     clickItem(value){
         this.$refs.initMap.editAction(value);  
+    },
+    extractNumberFromLabel(label){
+      const match = label.match(/(\d+)/); // 鑾峰彇鏍囩涓殑鏁板瓧
+      return match ? match[0] : null;
+    },
+    deleteItem(item){
+      this.treeData = this.treeData.filter(obj=>obj.id != item.id)
+      this.lastTableArr = this.lastTableArr.filter(obj=>obj.id != item.id)
+      const data1LabelNumber = this.extractNumberFromLabel(item.label);
+
+      // 鍒涘缓涓�涓柊鐨凟ntityCollection锛屽彧淇濈暀涓嶅尮閰嶇殑瀹炰綋
+      const filteredEntities = window.viewerM.entities.values.filter(entity => {
+        const entityIdNumber =  this.extractNumberFromLabel(entity.id); // 鎻愬彇瀹炰綋鐨刬d涓殑鏁板瓧
+        return entityIdNumber !== data1LabelNumber; // 濡傛灉鏁板瓧涓嶄竴鑷达紝淇濈暀璇ュ疄浣�
+      });
+      // 娓呯┖鍘熸潵鐨別ntities闆嗗悎骞堕噸鏂版坊鍔犺繃婊ゅ悗鐨勫疄浣�
+      window.viewerM.entities.removeAll(); // 娓呯┖鎵�鏈夊疄浣�
+      filteredEntities.forEach(entity => window.viewerM.entities.add(entity))
+      console.log(item)
+      console.log(this.treeData)
+       console.log(this.lastTableArr)
+      console.log(window.viewerM.entities.values)
+      // console.log(window.viewerM.entities.values[0].id)
+      // console.log(window.viewerM.entities.values[1].id)
+      // console.log(window.viewerM.entities.values[2].id)
+      // console.log(window.viewerM.entities.values[3].id)
+
     }
   }
 }

--
Gitblit v1.9.3