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..ecb41c1 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -203,7 +203,7 @@ ) ) { //顯示正常燈號 - $(`#${matchDevice.device_number}_status`) + $(`#${deviceNumber(matchDevice.device_number)}_status`) .attr("data-light-type", "normal") .data("light-type", "normal"); @@ -218,7 +218,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 +236,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 +249,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 +457,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) @@ -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 += `
@@ -575,20 +576,20 @@ devObj.device_image }" class="profile-image rounded-circle" onerror="defDev(this)" alt="..."> - ${devObj.full_name }
- ${devItem?.full_name }:${devItem?.unit} 詳細資料
@@ -602,6 +603,7 @@ if (!res.data || res.data.length == 0) { endPageLoading(); + $(loadEle).Loading("close"); } else { // 訂閱 baja 設備 if (pageAct.sysSubTag !== "L1" && pageAct.sysSubTag !== "M12") { @@ -694,8 +696,9 @@ // Card 即時狀態 function drawStateTabBlo(devNum) { let devPath = devNum.replaceAll("_", "/"); + devPath = deviceNumberOnProcess(devPath); 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..832dc1e 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"); @@ -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 { @@ -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)); } }, @@ -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); + } }); } @@ -2227,7 +2229,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 +2257,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/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); diff --git a/Frontend/js/site.js b/Frontend/js/site.js index fbff4e7..243efe6 100644 --- a/Frontend/js/site.js +++ b/Frontend/js/site.js @@ -1252,4 +1252,38 @@ 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; + +} + +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