This commit is contained in:
dev02 2023-07-12 11:28:38 +08:00
commit 1aaf6ce792
6 changed files with 87 additions and 30 deletions

View File

@ -18,10 +18,10 @@
"Port": "js2LutKe+rdjzdxMPQUrvQ==", "Port": "js2LutKe+rdjzdxMPQUrvQ==",
//"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30 //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30
//"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp
//"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome "Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut //"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut
//"Database": "2U+9jYGy0dCbMzLaguBXow==", //tpe_dome_mall //"Database": "2U+9jYGy0dCbMzLaguBXow==", //tpe_dome_mall
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==", "Root": "SzdxEgaJJ7tcTCrUl2zKsA==",
"Password": "FVAPxztxpY4gJJKQ/se4bQ==" "Password": "FVAPxztxpY4gJJKQ/se4bQ=="

View File

@ -419,11 +419,11 @@
let devNum = let devNum =
tarElePath.split("/")[0] + tarElePath.split("/")[0] +
"/" + "/" +
tarElePath.split("/")[1].split("_").slice(0, 8).join("_"); tarElePath.split("/")[1].split("_").slice(0, 9).join("_");
let devPath = let devPath =
tarElePath.split("/")[0] + tarElePath.split("/")[0] +
"/" + "/" +
tarElePath.split("/")[1].split("_").slice(0, 8).join("_"); tarElePath.split("/")[1].split("_").slice(0, 9).join("_");
let today = let today =
displayDate(new Date(), "date").replaceAll("/", "-") + "T00:00:00"; displayDate(new Date(), "date").replaceAll("/", "-") + "T00:00:00";
@ -439,7 +439,7 @@
// 今日用電量 // 今日用電量
getElectricMeterDayDataByBaja( getElectricMeterDayDataByBaja(
devNum + "_KWH", devNum,
n4Sup, n4Sup,
today, today,
tomorrow, tomorrow,
@ -453,7 +453,7 @@
// 今日用電量 (每小時) // 今日用電量 (每小時)
getElectricMeterHourDataByBaja( getElectricMeterHourDataByBaja(
devNum + "_KWH", devNum,
n4Sup, n4Sup,
yesterday, yesterday,
tomorrow, tomorrow,
@ -477,7 +477,7 @@
// 昨日用電量 // 昨日用電量
getElectricMeterDayDataByBaja( getElectricMeterDayDataByBaja(
devNum + "_KWH", devNum,
n4Sup, n4Sup,
yesterday, yesterday,
today, today,
@ -491,7 +491,7 @@
// 本週與上週用電量 (每天) // 本週與上週用電量 (每天)
getElectricMeterDayDataByBaja( getElectricMeterDayDataByBaja(
devNum + "_KWH", devNum,
n4Sup, n4Sup,
prevTwoWeek, prevTwoWeek,
tomorrow, tomorrow,
@ -1030,6 +1030,7 @@
onEvent("click", "button[id^=sysSubCardBtn]", function () { onEvent("click", "button[id^=sysSubCardBtn]", function () {
let subSysTag = $(this).data("id"); let subSysTag = $(this).data("id");
$(`#subSysBtn${subSysTag}`).click(); debugger
$(`#subSysBtn${subSysTag}[data-building-tag='${buildingTagOnJquery(pageAct.buiTag)}']`).click();
}); });
</script> </script>

View File

@ -203,7 +203,7 @@
) )
) { ) {
//顯示正常燈號 //顯示正常燈號
$(`#${matchDevice.device_number}_status`) $(`#${deviceNumber(matchDevice.device_number)}_status`)
.attr("data-light-type", "normal") .attr("data-light-type", "normal")
.data("light-type", "normal"); .data("light-type", "normal");
@ -218,7 +218,7 @@
({ device_number }) => device_number === matchDevice.device_number ({ device_number }) => device_number === matchDevice.device_number
) )
) { ) {
$(`#${matchDevice.device_number}_status`) $(`#${deviceNumber(matchDevice.device_number)}_status`)
.attr("data-light-type", "close") .attr("data-light-type", "close")
.data("light-type", "close"); .data("light-type", "close");
@ -236,11 +236,11 @@
) )
) { ) {
if (pageAct.sysSubTag === "L1") { if (pageAct.sysSubTag === "L1") {
$(`#${matchDevice.device_number}_status`) $(`#${deviceNumber(matchDevice.device_number)}_status`)
.attr("data-light-error-type", "error") .attr("data-light-error-type", "error")
.data("light-error-type", "error"); .data("light-error-type", "error");
} else { } else {
$(`#${matchDevice.device_number}_status`) $(`#${deviceNumber(matchDevice.device_number)}_status`)
.attr("data-light-type", "error") .attr("data-light-type", "error")
.data("light-type", "error"); .data("light-type", "error");
} }
@ -249,7 +249,7 @@
data.point_name == errDevPoiName && data.point_name == errDevPoiName &&
data.value !== matchDevice.device_error_point_value data.value !== matchDevice.device_error_point_value
) { ) {
$(`#${matchDevice.device_number}_status`) $(`#${deviceNumber(matchDevice.device_number)}_status`)
.attr("data-light-error-type", "") .attr("data-light-error-type", "")
.data("light-error-type", ""); .data("light-error-type", "");
alarmDbIdList = alarmDbIdList.filter( alarmDbIdList = alarmDbIdList.filter(
@ -457,7 +457,7 @@
// 從設備訂閱更新每個設備卡片即時點位 // 從設備訂閱更新每個設備卡片即時點位
function setDevItemPoiValBySub(data) { function setDevItemPoiValBySub(data) {
let pointSpan = $( 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) { if (pointSpan && pointSpan.data("point") == data.point_name) {
// console.log(data) // console.log(data)
@ -499,6 +499,7 @@
function setLightSchBlcok(obj) { function setLightSchBlcok(obj) {
let devNum = $(obj).parents(".device-wrap").data("number"); let devNum = $(obj).parents(".device-wrap").data("number");
let devPath = devNum.replaceAll("_", "/"); let devPath = devNum.replaceAll("_", "/");
devPath = deviceNumberOnProcess(devPath);
let iframe = `<iframe src="/ord?station:%7Cslot:/${devPath}/Sch|view:?fullScreen=true" style="min-height:100px;width:100%;height:100%"></iframe>`; let iframe = `<iframe src="/ord?station:%7Cslot:/${devPath}/Sch|view:?fullScreen=true" style="min-height:100px;width:100%;height:100%"></iframe>`;
$("#lightSchBlock").html(iframe); $("#lightSchBlock").html(iframe);
} }
@ -564,7 +565,7 @@
$.each(floObj.device_list, (index2, devObj) => { $.each(floObj.device_list, (index2, devObj) => {
allDevList.push(devObj); allDevList.push(devObj);
let devItem = getRiserPoiObj(); let devItem = getRiserPoiObj();
strHtml += `<div class="card m-1 border device-wrap" data-number="${devObj.device_number strHtml += `<div class="card m-1 border device-wrap" data-number="${deviceNumber(devObj.device_number)
}" data-position="${position}"> }" data-position="${position}">
<div class="card-body p-2"> <div class="card-body p-2">
<div class="d-flex mb-2"> <div class="d-flex mb-2">
@ -575,20 +576,20 @@
devObj.device_image devObj.device_image
}" class="profile-image rounded-circle" onerror="defDev(this)" alt="..."> }" class="profile-image rounded-circle" onerror="defDev(this)" alt="...">
</span> </span>
<a name="devItemName" data-number="${devObj.device_number <a name="devItemName" data-number="${deviceNumber(devObj.device_number)
}" href="javascript:;">${devObj.full_name }" href="javascript:;">${devObj.full_name
}</a> }</a>
</div> </div>
</div> </div>
<div class="d-flex mb-0 mt-2 align-items-center"> <div class="d-flex mb-0 mt-2 align-items-center">
<span id="${devObj.device_number <span id="${deviceNumber(devObj.device_number)
}_status" class="circle-light"></span> }_status" class="circle-light"></span>
<span class="${devItem ? "" : "d-none" <span class="${devItem ? "" : "d-none"
} ml-2">${devItem?.full_name } ml-2">${devItem?.full_name
}<span name="devItemPoiVal" data-point="${devItem?.points }<span name="devItemPoiVal" data-point="${devItem?.points
}"></span>${devItem?.unit}</span> }"></span>${devItem?.unit}</span>
<a href="javascript:;" name="devItem" data-id="${devObj.device_guid <a href="javascript:;" name="devItem" data-id="${devObj.device_guid
}" data-number="${devObj.device_number }" data-number="${deviceNumber(devObj.device_number)
}" data-name="${devObj.full_name }" data-name="${devObj.full_name
}" class=" ml-2 mb-0 " data-toggle="tooltip" title="默认的 Tooltip">詳細資料</a> }" class=" ml-2 mb-0 " data-toggle="tooltip" title="默认的 Tooltip">詳細資料</a>
</div> </div>
@ -602,6 +603,7 @@
if (!res.data || res.data.length == 0) { if (!res.data || res.data.length == 0) {
endPageLoading(); endPageLoading();
$(loadEle).Loading("close");
} else { } else {
// 訂閱 baja 設備 // 訂閱 baja 設備
if (pageAct.sysSubTag !== "L1" && pageAct.sysSubTag !== "M12") { if (pageAct.sysSubTag !== "L1" && pageAct.sysSubTag !== "M12") {
@ -694,8 +696,9 @@
// Card 即時狀態 // Card 即時狀態
function drawStateTabBlo(devNum) { function drawStateTabBlo(devNum) {
let devPath = devNum.replaceAll("_", "/"); let devPath = devNum.replaceAll("_", "/");
devPath = deviceNumberOnProcess(devPath);
let position = 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"] let width = buildMenuData[position + "_icon_click_url_width"]
? buildMenuData[position + "_icon_click_url_width"] + "px" ? buildMenuData[position + "_icon_click_url_width"] + "px"
: "100%"; : "100%";

View File

@ -1276,7 +1276,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
setSysTagForPageAct(this); setSysTagForPageAct(this);
$("#sysMonTopBtn").YTTab("set"); $("#sysMonTopBtn").YTTab("set");
$(`#subSysBtn${pageAct.sysSubTag}`).YTTab("set"); $(`#subSysBtn${pageAct.sysSubTag}`).YTTab("set");
debugger
if (pageAct.isShowBuildingInMenu) { if (pageAct.isShowBuildingInMenu) {
let building_tag = $(this).data("building-tag"); let building_tag = $(this).data("building-tag");
$(`#buildTab${building_tag}`).YTTab("set"); $(`#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", "yt:tab:change",
"[data-tabname=buildTab]", "[data-tabname=buildTab]",
function (e, arg) { 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.buiName = $(this).text();
pageAct.urn = $(this).data("urn"); pageAct.urn = $(this).data("urn");
$(this).parents("ul").find("a").removeClass("active"); $(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(); $(`#subSysBtn${lastPageAct.sysSubTag}`).click();
} else { } else {
$( $(
`#subSysBtn${lastPageAct.sysSubTag}[data-building-tag=${pageAct.buiTag}]` `#subSysBtn${lastPageAct.sysSubTag}[data-building-tag=${buildingTagOnJquery(pageAct.buiTag)}]`
).click(); ).click();
} }
} else { } else {
@ -1523,7 +1523,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
tbody tbody
.find("tr") .find("tr")
.eq(0) .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)); 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 = { let option = {
html: `<div class="card m-1 border device-wrap" data-number="${devNum}" data-position="left"> html: `<div class="card m-1 border device-wrap" data-number="${deviceNumber(devNum)}" data-position="left">
<div class="card-header p-3"> <div class="card-header p-3">
<div class="position-absolute mr-5" style="word-break: break-all;"> <div class="position-absolute mr-5" style="word-break: break-all;">
@ -1701,10 +1701,12 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
function devItemNameEvent() { function devItemNameEvent() {
onEvent("click", "[name=devItemName]", function () { onEvent("click", "[name=devItemName]", function () {
let devNum = $(this).data("number"); let devNum = $(this).data("number");
let devObj = $(`[name=devItem][data-number=${devNum}]`).data( let devObj = $(`[name=devItem][data-number=${deviceNumber(devNum)}]`).data(
"devobj" "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( a.html(
`<span id="buildTab${building.building_tag}" data-tabname="buildTab" data-urn="${building.urn_3D}">${building.building_name}</span>` `<span id="buildTab${buildingTagOnJquery(building.building_tag)}" data-tabname="buildTab" data-urn="${building.urn_3D}">${building.building_name}</span>`
); );
li.append(a); li.append(a);
let ul = creEle("ul", null, null, null, [ 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, page: page,
tabname: "systemMonitor", tabname: "systemMonitor",
"building-tag": building.building_tag, "building-tag": buildingTagOnJquery(building.building_tag),
}, },
"topFunBtn" "topFunBtn"
); );

View File

@ -13,7 +13,9 @@ function getAllLeafComponents(viewer, callback) {
var cbCount = 0; var cbCount = 0;
var tree; var tree;
var jsData = []; var jsData = [];
if(typeof viewer == 'undefined'){
return;
}
function getLeafComponentsRec(current, parent) { function getLeafComponentsRec(current, parent) {
cbCount++; cbCount++;
if (tree.getChildCount(current) != 0) { if (tree.getChildCount(current) != 0) {
@ -833,6 +835,9 @@ async function changeColorForHotspot(dbId, type = null, OnOff = false) {
// 更換 icon // 更換 icon
async function changeScaleForHotspot(dbId, type = true) { async function changeScaleForHotspot(dbId, type = true) {
if(typeof viewer == 'undefined'){
return;
}
const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization"); const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization");
let spriteErrIcon = baseForgeApiUrl + "/file/img/forge/sensor_circle.svg"; let spriteErrIcon = baseForgeApiUrl + "/file/img/forge/sensor_circle.svg";
if (location.href.indexOf("localhost:5966") != -1) { if (location.href.indexOf("localhost:5966") != -1) {
@ -848,6 +853,9 @@ async function changeScaleForHotspot(dbId, type = true) {
// 熱點 更換大小 // 熱點 更換大小
async function changeScaleForHotspot(dbId, type = true) { async function changeScaleForHotspot(dbId, type = true) {
if(typeof viewer == 'undefined'){
return;
}
const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization"); const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization");
let scale = 1; let scale = 1;
if (type) { if (type) {
@ -1266,17 +1274,26 @@ function getHopspotPoint(data) {
//呼叫載入熱圖 //呼叫載入熱圖
async function toLoadHeatmap(roomArr) { async function toLoadHeatmap(roomArr) {
if(typeof viewer == 'undefined'){
return;
}
const model = viewer.model; const model = viewer.model;
loadHeatmaps(model, roomArr); loadHeatmaps(model, roomArr);
} }
function setShadowShow(type = false) { function setShadowShow(type = false) {
if(typeof viewer == 'undefined'){
return;
}
viewer.setGroundShadow(type); viewer.setGroundShadow(type);
viewer.impl.sceneUpdated(true); viewer.impl.sceneUpdated(true);
} }
//============================= end =================================== //============================= end ===================================
function moveViewToDevice(letter) { function moveViewToDevice(letter) {
if(typeof viewer == 'undefined'){
return;
}
if (letter != "") { if (letter != "") {
viewer.clearSelection(); viewer.clearSelection();
viewer.select(letter); viewer.select(letter);

View File

@ -1253,3 +1253,37 @@ function setTopBuildingText(){
}) })
} }
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;
}