From b266e82b9a377fa35a766f7a3a2f5aa95f3c9125 Mon Sep 17 00:00:00 2001
From: duheng <2286773002@qq.com>
Date: 星期五, 28 三月 2025 17:57:03 +0800
Subject: [PATCH] 修改首页场所列表

---
 WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LogicMarkLeadLabel.js |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LogicMarkLeadLabel.js b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LogicMarkLeadLabel.js
index 779a462..c293d95 100644
--- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LogicMarkLeadLabel.js
+++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LogicMarkLeadLabel.js
@@ -1,9 +1,9 @@
 锘�//寮曠嚎鏍囩
 
-//涓氬姟鏍囨敞寮曠嚎鏍囩id鍒楄〃
+//id鍒楄〃
 let _logicMarkLeadLabelIds = new Set();
 
-//璁剧疆涓氬姟鏍囨敞寮曠嚎鏍囩
+//璁剧疆
 function setLogicMarkLeadLabels(obj) {
     initialDrawableContainer();
     clearLogicMarkLeadLabels();
@@ -15,11 +15,40 @@
     });
 }
 
-//娣诲姞涓氬姟鏍囨敞寮曠嚎鏍囩
+//鏇存柊
+function updateLogicMarkLeadLabel(item) {
+    if (_drawableContainer == null) {
+        return;
+    }
+    if (_logicMarkLeadLabelIds.size > 0) {
+        let leadLabelId = getLogicMarkLeadLabelId(item.id);
+        let leadLabel = _drawableContainer.getItemById(leadLabelId);
+        leadLabel.setText(item.text);
+    }
+}
+
+//鏇存柊鍒楄〃
+function updateLogicMarkLeadLabels(data) {
+    if (data != null && data.length > 0) {
+        data.forEach(x => {
+            updateLogicMarkLeadLabel(x);
+        });
+    }
+}
+
+//娣诲姞
 function addLogicMarkLeadLabel(item) {
     if (_drawableContainer == null) {
         return;
     }
+    let leadLabel = createLogicMarkLeadLabel(item);
+    var leadLabelId = getLogicMarkLeadLabelId(item.id);
+    _logicMarkLeadLabelIds.add(leadLabelId);
+    _drawableContainer.addItem(leadLabel);
+}
+
+//鍒涘缓
+function createLogicMarkLeadLabel(item) {
     //寮曠嚎鏍囩鐨勯厤缃被
     let leadLabelConfig = new Glodon.Bimface.Plugins.Drawable.LeadLabelConfig();
     //寮曠嚎鎶樼偣鐨勭浉瀵逛綅缃�
@@ -28,9 +57,11 @@
     leadLabelConfig.text = item.text;
     //寮曠嚎鏍囩鍏宠仈鐨勬瀯浠�
     leadLabelConfig.objectId = item.id;
-    leadLabelConfig.id = "LogicMarkLeadLabel" + item.id;
-    _logicMarkLeadLabelIds.add(leadLabelConfig.id);
-
+    if (!isEmpty(item.distance)) {
+        leadLabelConfig.visibleDistance = item.distance;
+    }
+    var leadLabelId = getLogicMarkLeadLabelId(item.id);
+    leadLabelConfig.id = leadLabelId;
     let boundingBox = _modeler.getBoundingBoxById(item.id);
     let boundingBoxMin = boundingBox.min;
     let boundingBoxMax = boundingBox.max;
@@ -44,12 +75,14 @@
     leadLabelConfig.draggable = false;
     //寮曠嚎鏍囩鐨勮鍥�
     leadLabelConfig.viewer = _viewer;
+    //鏂囨湰鑷�傚簲
+    leadLabelConfig.width = null;
 
     let leadLabel = new Glodon.Bimface.Plugins.Drawable.LeadLabel(leadLabelConfig);
-    _drawableContainer.addItem(leadLabel);
+    return leadLabel;
 }
 
-//娓呴櫎涓氬姟鏍囨敞寮曠嚎鏍囩
+//娓呴櫎
 function clearLogicMarkLeadLabels() {
     if (_drawableContainer == null) {
         return;
@@ -60,5 +93,9 @@
     }
 }
 
+//鑾峰彇id
+function getLogicMarkLeadLabelId(id) {
+    return "LogicMarkLeadLabel" + id;
+}
 
 

--
Gitblit v1.9.3