From b040d81c856a77f280b38037e78a8b6a8bdb31ab Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 08 七月 2025 15:51:15 +0800
Subject: [PATCH] 泥位计

---
 src/components/menu/Device.vue |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/components/menu/Device.vue b/src/components/menu/Device.vue
index 22b7f18..a055fb9 100644
--- a/src/components/menu/Device.vue
+++ b/src/components/menu/Device.vue
@@ -58,13 +58,46 @@
         >
           <template #default="{ node, data }">
             <span v-if="!data.children" class="device-tree-item">
-              <span class="device-item-text">{{ node.label }}</span>
+              <span class="device-item-text" :title="node.label">{{
+                node.label
+              }}</span>
             </span>
             <span v-else class="device-tree-category">
               {{ node.label }} ({{ data.children.length }})
             </span>
           </template>
         </el-tree>
+
+        <!-- <el-tree
+          v-show="!isLoading"
+          :data="deviceTree"
+          default-expand-all
+          node-key="deviceId"
+          :props="treeProps"
+          @node-click="handleTreeNodeClick"
+          class="device-tree"
+        >
+          <template #default="{ node, data }">
+            <span v-if="!data.children" class="device-tree-item">
+              <el-tooltip :content="node.label" placement="top" effect="dark">
+                <span class="device-item-text" :title="node.label">{{
+                  node.label
+                }}</span>
+              </el-tooltip>
+            </span>
+            <span v-else class="device-tree-category">
+              <el-tooltip
+                :content="`${node.label} (${data.children.length})`"
+                placement="top"
+                effect="dark"
+              >
+                <span :title="`${node.label} (${data.children.length})`"
+                  >{{ node.label }} ({{ data.children.length }})</span
+                >
+              </el-tooltip>
+            </span>
+          </template>
+        </el-tree> -->
       </div>
     </div>
   </div>
@@ -73,7 +106,7 @@
 <script setup>
 import { ref, computed, onMounted, watch, onBeforeUnmount } from "vue";
 import { useRoute, onBeforeRouteUpdate } from "vue-router";
-import { createPoint, removeEntities, clearAllPoints } from "@/utils/map";
+import { createPoint, clearAllPoints } from "@/utils/map";
 import { deviceDictList, getDictName } from "@/constant/dict.js";
 import { initeWaterPrimitiveView } from "@/utils/water"; //鐩告満flyTo鍑芥暟锛屽悗缁璷ptions鍒楄〃涓湁瀵瑰簲缁忕含搴﹀悗寮冪敤
 import { useSimStore } from "@/store/simulation";
@@ -144,10 +177,11 @@
   });
 };
 
+// 鍗曚釜鐐规覆鏌�
 const DevicePoints = async (item) => {
   // 鏍规嵁闇�姹傚彲澧炲垹
   item.type = getDictName(deviceDictList, item.dictDeviceType);
-  item.name = item.deviceName
+  item.name = item.deviceName;
   // item.name = item.deviceName.split(selectValue.value)[1] || item.deviceName;
   item.id = item.deviceId;
   item.className = "device";
@@ -271,7 +305,10 @@
   }));
 });
 
-function handleTreeNodeClick(data) {
+function handleTreeNodeClick(data, node) {
+  if (data.children) {
+    return; // 涓�绾ц妭鐐癸紝涓嶆墽琛岀偣鍑婚�昏緫
+  }
   if (selectValue.value) {
     // 姝ゅ璋冪敤鏄洜涓篏isView椤甸潰浼氬湪鐐瑰嚮涓嬩竴涔¢晣涔嬪墠鎶婁笂涓�涓�夋嫨鐨勫尯鍩熺殑闅愭偅鐐规竻闄ゆ帀锛堝鏋滃垰濂介�夋嫨浜嗗瓩鑳℃矡锛岄偅涔堜笅涓�涓偣鍑诲皢浼氭竻绌哄瓩鑳℃矡鐨勯殣鎮g偣锛�
     initializeDevicePoints();
@@ -404,6 +441,7 @@
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
+  display: inline-block;
 }
 
 :deep(.el-select__placeholder) {

--
Gitblit v1.9.3