From 7e07ac738b47027231803394dacb8a817733ede7 Mon Sep 17 00:00:00 2001 From: dev01 Date: Fri, 7 Jul 2023 18:15:23 +0800 Subject: [PATCH 1/4] =?UTF-8?q?building=5Ftag=20=E9=96=8B=E9=A0=AD?= =?UTF-8?q?=E8=8B=A5=E7=82=BA=E6=95=B8=E5=AD=97=E5=89=87=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E8=A3=9C=E4=B8=8A=20$3=20|=20Jquery=20selector=20=E7=84=A1?= =?UTF-8?q?=E6=B3=95=E5=90=AB=E6=9C=89$=EF=BC=8C=E5=9B=A0=E6=87=89?= =?UTF-8?q?=E8=AA=BF=E6=95=B4$3=E6=8B=BF=E6=8E=89=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E4=B8=8A=E9=9C=80=E8=A6=81=E6=99=82=E5=86=8D=E8=A3=9C=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Backend/appsettings.Development.json | 4 ++-- Frontend/_dashboard.html | 15 ++++++++------- Frontend/_sysMonAll.html | 16 +++++++++------- Frontend/index.html | 8 ++++---- Frontend/js/site.js | 23 +++++++++++++++++++++++ 5 files changed, 46 insertions(+), 20 deletions(-) diff --git a/Backend/appsettings.Development.json b/Backend/appsettings.Development.json index c20498b..060577f 100644 --- a/Backend/appsettings.Development.json +++ b/Backend/appsettings.Development.json @@ -18,10 +18,10 @@ "Port": "js2LutKe+rdjzdxMPQUrvQ==", //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30 //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp - //"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome + "Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office - "Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut + //"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut //"Database": "2U+9jYGy0dCbMzLaguBXow==", //tpe_dome_mall "Root": "SzdxEgaJJ7tcTCrUl2zKsA==", "Password": "FVAPxztxpY4gJJKQ/se4bQ==" diff --git a/Frontend/_dashboard.html b/Frontend/_dashboard.html index 1630c84..3472fb2 100644 --- a/Frontend/_dashboard.html +++ b/Frontend/_dashboard.html @@ -419,11 +419,11 @@ let devNum = tarElePath.split("/")[0] + "/" + - tarElePath.split("/")[1].split("_").slice(0, 8).join("_"); + tarElePath.split("/")[1].split("_").slice(0, 9).join("_"); let devPath = tarElePath.split("/")[0] + "/" + - tarElePath.split("/")[1].split("_").slice(0, 8).join("_"); + tarElePath.split("/")[1].split("_").slice(0, 9).join("_"); let today = displayDate(new Date(), "date").replaceAll("/", "-") + "T00:00:00"; @@ -439,7 +439,7 @@ // 今日用電量 getElectricMeterDayDataByBaja( - devNum + "_KWH", + devNum, n4Sup, today, tomorrow, @@ -453,7 +453,7 @@ // 今日用電量 (每小時) getElectricMeterHourDataByBaja( - devNum + "_KWH", + devNum, n4Sup, yesterday, tomorrow, @@ -477,7 +477,7 @@ // 昨日用電量 getElectricMeterDayDataByBaja( - devNum + "_KWH", + devNum, n4Sup, yesterday, today, @@ -491,7 +491,7 @@ // 本週與上週用電量 (每天) getElectricMeterDayDataByBaja( - devNum + "_KWH", + devNum, n4Sup, prevTwoWeek, tomorrow, @@ -1030,6 +1030,7 @@ onEvent("click", "button[id^=sysSubCardBtn]", function () { let subSysTag = $(this).data("id"); - $(`#subSysBtn${subSysTag}`).click(); + debugger + $(`#subSysBtn${subSysTag}[data-building-tag='${buildingTagOnJquery(pageAct.buiTag)}']`).click(); }); diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html index 0877eef..5e67a8a 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -54,6 +54,7 @@ $(function () { $(loadEle).Loading("start"); + debugger getBuildMenu((arr, data) => { buildMenuData = data; if (arr.indexOf(4) != -1) { @@ -203,7 +204,7 @@ ) ) { //顯示正常燈號 - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-type", "normal") .data("light-type", "normal"); @@ -218,7 +219,7 @@ ({ device_number }) => device_number === matchDevice.device_number ) ) { - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-type", "close") .data("light-type", "close"); @@ -236,11 +237,11 @@ ) ) { if (pageAct.sysSubTag === "L1") { - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-error-type", "error") .data("light-error-type", "error"); } else { - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-type", "error") .data("light-type", "error"); } @@ -249,7 +250,7 @@ data.point_name == errDevPoiName && data.value !== matchDevice.device_error_point_value ) { - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-error-type", "") .data("light-error-type", ""); alarmDbIdList = alarmDbIdList.filter( @@ -457,7 +458,7 @@ // 從設備訂閱更新每個設備卡片即時點位 function setDevItemPoiValBySub(data) { let pointSpan = $( - `.card.device-wrap[data-number=${data.device_number_full}] span[name=devItemPoiVal]` + `.card.device-wrap[data-number=${deviceNumber(data.device_number_full)}] span[name=devItemPoiVal]` ); if (pointSpan && pointSpan.data("point") == data.point_name) { // console.log(data) @@ -602,6 +603,7 @@ if (!res.data || res.data.length == 0) { endPageLoading(); + $(loadEle).Loading("close"); } else { // 訂閱 baja 設備 if (pageAct.sysSubTag !== "L1" && pageAct.sysSubTag !== "M12") { @@ -695,7 +697,7 @@ function drawStateTabBlo(devNum) { let devPath = devNum.replaceAll("_", "/"); let position = - $(`.card.device-wrap[data-number=${devNum}]`).data("position") || "left"; + $(`.card.device-wrap[data-number=${deviceNumber(devNum)}]`).data("position") || "left"; let width = buildMenuData[position + "_icon_click_url_width"] ? buildMenuData[position + "_icon_click_url_width"] + "px" : "100%"; diff --git a/Frontend/index.html b/Frontend/index.html index 7ea7b88..408ffc4 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -1326,7 +1326,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li "yt:tab:change", "[data-tabname=buildTab]", function (e, arg) { - pageAct.buiTag = $(this).prop("id").split("buildTab")[1]; + pageAct.buiTag = buildingTagOnProcess($(this).prop("id").split("buildTab")[1]); pageAct.buiName = $(this).text(); pageAct.urn = $(this).data("urn"); $(this).parents("ul").find("a").removeClass("active"); @@ -1474,7 +1474,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li $(`#subSysBtn${lastPageAct.sysSubTag}`).click(); } else { $( - `#subSysBtn${lastPageAct.sysSubTag}[data-building-tag=${pageAct.buiTag}]` + `#subSysBtn${lastPageAct.sysSubTag}[data-building-tag=${buildingTagOnJquery(pageAct.buiTag)}]` ).click(); } } else { @@ -2227,7 +2227,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li "" ); a.html( - `${building.building_name}` + `${building.building_name}` ); li.append(a); let ul = creEle("ul", null, null, null, [ @@ -2255,7 +2255,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li { page: page, tabname: "systemMonitor", - "building-tag": building.building_tag, + "building-tag": buildingTagOnJquery(building.building_tag), }, "topFunBtn" ); diff --git a/Frontend/js/site.js b/Frontend/js/site.js index fbff4e7..8b1c4f4 100644 --- a/Frontend/js/site.js +++ b/Frontend/js/site.js @@ -1252,4 +1252,27 @@ function setTopBuildingText(){ $(".top-building-text-container").load("_topBuildingText.html",function(){ }) +} + +function buildingTagOnJquery(building_tag){ + let frontSyntax = building_tag.slice(0,2); + if(frontSyntax == "$3"){ + return building_tag.slice(2,building_tag.length); + } + return building_tag; +} + +function buildingTagOnProcess(building_tag){ + if(!isNaN(parseInt(building_tag.slice(0,1)))){ + building_tag = "$3" + building_tag; + } + return building_tag; +} + +function deviceNumber(devNum){ + if(devNum.includes("$3")){ + devNum = devNum.replaceAll("$3",""); + } + return devNum; + } \ No newline at end of file From 93c03ae844f621600a60bd8d866253a3f7d1b5f0 Mon Sep 17 00:00:00 2001 From: dev01 Date: Mon, 10 Jul 2023 18:23:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[=E5=89=8D=E5=8F=B0][=E7=B3=BB=E7=B5=B1?= =?UTF-8?q?=E7=9B=A3=E6=8E=A7]=20=E9=BB=9E=E6=93=8A=20device=20=E5=8D=A1?= =?UTF-8?q?=E7=89=87=20data-number=20=E9=81=A9=E6=87=89=20building=5Ftag?= =?UTF-8?q?=20=E9=96=8B=E9=A0=AD=E7=82=BA=E6=95=B8=E5=AD=97=E8=BD=89?= =?UTF-8?q?=E6=8F=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/_sysMonAll.html | 3 +-- Frontend/index.html | 10 ++++++---- Frontend/js/forge/forgemodel.js | 19 ++++++++++++++++++- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html index 5e67a8a..1e63aff 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -54,7 +54,6 @@ $(function () { $(loadEle).Loading("start"); - debugger getBuildMenu((arr, data) => { buildMenuData = data; if (arr.indexOf(4) != -1) { @@ -576,7 +575,7 @@ devObj.device_image }" class="profile-image rounded-circle" onerror="defDev(this)" alt="..."> - ${devObj.full_name } diff --git a/Frontend/index.html b/Frontend/index.html index 408ffc4..570385a 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -1276,7 +1276,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li setSysTagForPageAct(this); $("#sysMonTopBtn").YTTab("set"); $(`#subSysBtn${pageAct.sysSubTag}`).YTTab("set"); - debugger + if (pageAct.isShowBuildingInMenu) { let building_tag = $(this).data("building-tag"); $(`#buildTab${building_tag}`).YTTab("set"); @@ -1570,7 +1570,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li : ""; let option = { - html: `
+ html: `
@@ -1701,10 +1701,12 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li function devItemNameEvent() { onEvent("click", "[name=devItemName]", function () { let devNum = $(this).data("number"); - let devObj = $(`[name=devItem][data-number=${devNum}]`).data( + let devObj = $(`[name=devItem][data-number=${deviceNumber(devNum)}]`).data( "devobj" ); - moveViewToDevice(devObj.forge_dbid); + if(devObj){ + moveViewToDevice(devObj.forge_dbid); + } }); } diff --git a/Frontend/js/forge/forgemodel.js b/Frontend/js/forge/forgemodel.js index 977fd34..eca1c6a 100644 --- a/Frontend/js/forge/forgemodel.js +++ b/Frontend/js/forge/forgemodel.js @@ -13,7 +13,9 @@ function getAllLeafComponents(viewer, callback) { var cbCount = 0; var tree; var jsData = []; - + if(typeof viewer == 'undefined'){ + return; + } function getLeafComponentsRec(current, parent) { cbCount++; if (tree.getChildCount(current) != 0) { @@ -833,6 +835,9 @@ async function changeColorForHotspot(dbId, type = null, OnOff = false) { // 更換 icon async function changeScaleForHotspot(dbId, type = true) { + if(typeof viewer == 'undefined'){ + return; + } const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization"); let spriteErrIcon = baseForgeApiUrl + "/file/img/forge/sensor_circle.svg"; if (location.href.indexOf("localhost:5966") != -1) { @@ -848,6 +853,9 @@ async function changeScaleForHotspot(dbId, type = true) { // 熱點 更換大小 async function changeScaleForHotspot(dbId, type = true) { + if(typeof viewer == 'undefined'){ + return; + } const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization"); let scale = 1; if (type) { @@ -1266,17 +1274,26 @@ function getHopspotPoint(data) { //呼叫載入熱圖 async function toLoadHeatmap(roomArr) { + if(typeof viewer == 'undefined'){ + return; + } const model = viewer.model; loadHeatmaps(model, roomArr); } function setShadowShow(type = false) { + if(typeof viewer == 'undefined'){ + return; + } viewer.setGroundShadow(type); viewer.impl.sceneUpdated(true); } //============================= end =================================== function moveViewToDevice(letter) { + if(typeof viewer == 'undefined'){ + return; + } if (letter != "") { viewer.clearSelection(); viewer.select(letter); From 5c3f2b62f8b4967121f3e5cc14dd313c50251a05 Mon Sep 17 00:00:00 2001 From: dev01 Date: Tue, 11 Jul 2023 18:31:08 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[=E7=B3=BB=E7=B5=B1=E7=9B=A3=E6=8E=A7]=20de?= =?UTF-8?q?vice=20card=20=E7=87=88=E8=99=9F=E5=8F=8A=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=20$3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/_sysMonAll.html | 4 ++-- Frontend/index.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html index 1e63aff..f7a261f 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -581,14 +581,14 @@
- ${devItem?.full_name }:${devItem?.unit} 詳細資料
diff --git a/Frontend/index.html b/Frontend/index.html index 570385a..832dc1e 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -1523,7 +1523,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li tbody .find("tr") .eq(0) - .append(creEle("td", res.data.device_number)); + .append(creEle("td", deviceNumber(res.data.device_number))); tbody.find("tr").eq(1).append(creEle("td", res.data.full_name)); } }, From 500c2badfea0747a37589b29940cf83c7f540ee3 Mon Sep 17 00:00:00 2001 From: dev01 Date: Wed, 12 Jul 2023 09:46:25 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=B0=87=20=E5=90=AB=E6=9C=89/=E7=9A=84dev?= =?UTF-8?q?iceNumber=20=E5=88=A4=E6=96=B7buildingtag=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=9C=89=E6=95=B8=E5=AD=97=E9=96=8B=E9=A0=AD=EF=BC=8C=E8=A3=9C?= =?UTF-8?q?=E4=B8=8A$3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/_sysMonAll.html | 4 +++- Frontend/js/site.js | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html index f7a261f..ecb41c1 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -499,6 +499,7 @@ function setLightSchBlcok(obj) { let devNum = $(obj).parents(".device-wrap").data("number"); let devPath = devNum.replaceAll("_", "/"); + devPath = deviceNumberOnProcess(devPath); let iframe = ``; $("#lightSchBlock").html(iframe); } @@ -564,7 +565,7 @@ $.each(floObj.device_list, (index2, devObj) => { allDevList.push(devObj); let devItem = getRiserPoiObj(); - strHtml += `
@@ -695,6 +696,7 @@ // Card 即時狀態 function drawStateTabBlo(devNum) { let devPath = devNum.replaceAll("_", "/"); + devPath = deviceNumberOnProcess(devPath); let position = $(`.card.device-wrap[data-number=${deviceNumber(devNum)}]`).data("position") || "left"; let width = buildMenuData[position + "_icon_click_url_width"] diff --git a/Frontend/js/site.js b/Frontend/js/site.js index 8b1c4f4..243efe6 100644 --- a/Frontend/js/site.js +++ b/Frontend/js/site.js @@ -1275,4 +1275,15 @@ function deviceNumber(devNum){ } return devNum; +} + +function deviceNumberOnProcess(devNum){ + if(devNum.includes("/")){ + tags = devNum.split("/"); + buildingTag = tags[1]; + buildingTag = buildingTagOnProcess(buildingTag); + devNum = tags[0] + "/" + buildingTag + "/" + tags.slice(2,tags.length).join("/") + } + return devNum; + } \ No newline at end of file