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