From 194ef691d476c224e780db30b193d93ccd8f3a9a Mon Sep 17 00:00:00 2001 From: dev01 Date: Wed, 30 Nov 2022 12:29:56 +0800 Subject: [PATCH] =?UTF-8?q?[Frontend][=E9=9B=BB=E6=A2=AF=E7=AE=A1=E7=90=86?= =?UTF-8?q?]=203D=E9=9B=BB=E6=A2=AF=E7=A8=8B=E5=BA=8F=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/_sysElevator.html | 101 +++++++++++++++++++++++++------------ 1 file changed, 70 insertions(+), 31 deletions(-) diff --git a/Frontend/_sysElevator.html b/Frontend/_sysElevator.html index 62baf97..c45699f 100644 --- a/Frontend/_sysElevator.html +++ b/Frontend/_sysElevator.html @@ -51,10 +51,10 @@
- -
@@ -917,6 +917,7 @@ setCards(); subDeviceSetStatus(); setEleManTable(); + }) function getFloDevList() { @@ -1015,6 +1016,12 @@ let main = {}; // 匯入 Master 名稱` main.devName = master; + let subData = subSeviceData.filter(x => x.device_number.split("_")[5] == master)[0]; + $.each(Object.keys(subData), (idx3, subKey) => { + if (subKey.startsWith("SP_FLS_")) { + main[subKey] = subData[subKey]; + } + }) main._rowType = "master"; result.push(main); // 該 Master 底下的設備 @@ -1033,7 +1040,6 @@ result.push(main); }) }) - console.log("redraw", result) return result; } @@ -1110,11 +1116,20 @@ } else { let strHtml = ``; + let masterArr = []; + let masDiv = ""; $.each(res.data, (index, floObj) => { + $.each(floObj.device_list, (index2, devObj) => { allDevList.push(devObj); - - strHtml += `
+ if (masterArr.indexOf(devObj?.device_number?.split("_")[5]) == -1) { + let master = devObj?.device_number?.split("_")[5]; + masDiv = creDiv(["col-12"]); + masDiv.append(creEle("h2", master, null, null)) + masterArr.push(master); + } + + strHtml += `
號機別 : ${devObj.full_name}
@@ -1127,10 +1142,10 @@
`; + masDiv.append(strHtml) }) - }) - $("#eleCards").html(strHtml); + $("#eleCards").html(masDiv); initPopover(); //平面圖載入 chartHandler(`${baseImgUrl}/upload/floor_map/${res.data[0].floor_map_name}`); @@ -1298,7 +1313,7 @@ }, { "title": "休止", - "data": "RCS", + "data": "SP_RCS", }, { "title": "獨立運轉", @@ -1306,17 +1321,21 @@ }, { "title": "VIP", - "data": "VIP", + "data": "SP_VIP", }, { "title": "回歸", - "data": "RET", + "data": "SP_RET", }, { "title": "不服務樓層", "data": null, "render": function (data, type, row) { - return Object.keys(row).filter(x => x.startsWith("SP_FLS_") && row[x] == "trueText").map(x => x?.split("SP_FLS_")[1]).join("、"); + let result = ""; + if (row._rowType == "master") { + result = Object.keys(row).filter(x => x.startsWith("SP_FLS_") && row[x] == "trueText").map(x => x?.split("SP_FLS_")[1]).join("、"); + } + return result; } }, { @@ -1337,7 +1356,6 @@ ]; eleManTable = new YourTeam.JqDataTables.getTableByStatic(tag, datas, columns, column_defs, null, null, null, null, "tpi"); - console.log(eleManTable) } // 電梯管理 Modal - 設置 Detail 訂閱內容 @@ -1356,7 +1374,7 @@ $("#eleManModal #detDevDiv [name=devName]").text(matchDevice.full_name); $("#eleManModal #detDevDiv [name=status]").text(subData["ST"]); - $("#eleManModal #detDevDiv [name=curFloor]").text(subData["CP"] + "F"); + $("#eleManModal #detDevDiv [name=curFloor]").text(subData["CP"]); $("#eleManModal #detDevDiv [name=preMea]").prop("checked", bajaValToBool(subData["SP_DP"])); //防疫對策 $("#eleManModal #detDevDiv [name=stop]").prop("checked", bajaValToBool(subData["SP_RCS"])); $("#eleManModal #detDevDiv [name=onlyOpe]").prop("checked", bajaValToBool(subData["SP_IND"])); @@ -1374,6 +1392,7 @@ $("#notSerFloTable").html(setNotSerFloTable(allSerFloors)); let notSerFloors = Object.keys(subData).filter(x => x.startsWith("SP_FLS_") && subData[x] == "trueText").map(x => x?.split("SP_FLS_")[1]); + $(`[name^=notSerChk]`).prop("checked", false); $.each(notSerFloors, (idx, floor) => { $(`[name=notSerChk${floor}]`).prop("checked", true); @@ -1397,7 +1416,7 @@ datas.push({ row: idx, col: 1, - data: ``, + data: ``, }) }) $.each(rows, (index, row) => { @@ -1451,7 +1470,7 @@ let master = $(this).prop("id").split("eleManMasEdit")[1]; let subData = subSeviceData.filter(x => x.device_number.split("_")[5] == master)[0]; $("#bajaMasSche").html(""); - + $("#detMasDiv").data("devnum", subData.device_number); // 電梯管理 Modal 切換到 detail 頁面 modalTogDiv("#eleManModal", "#tabDiv", "#detMasDiv", "next", function () { subDeviceSetEleManNotSerFloor(master); @@ -1462,10 +1481,21 @@ }) // 電梯管理 Modal 不服務樓層 設定不服務樓層(BAJA) - onEvent("click", "#eleManTable [name^=notSerChk]", function () { + onEvent("change", "#notSerFloTable [name^=notSerChk]", function () { + let devNum = $("#detMasDiv").data("devnum"); + let devNumPath = devNum?.split("_").join("/"); + let checked = $(this).prop("checked"); + let tarPoint = $(this).data("point"); require(['baja!'], function (baja) { - baja.Ord.make("local:|foxs:|station:|slot:/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1").get() - .then(function (table) { + baja.Ord.make(`local:|foxs:|station:|slot:/${devNumPath}`).get() + .then(function (folder) { + folder.getSlots().isComponent().eachValue(function (point) { + if (point.getDisplayName() == tarPoint) { + point.set1({ + value: checked + }) + } + }) }); }); @@ -1473,18 +1503,21 @@ // 電梯管理 Modal 設備 設定點位(BAJA) onEvent("change", "#eleManDevTable input:checkbox", function () { - debugger let devNum = $("#detDevDiv").data("devnum"); - let point = $(this).data("point"); - let val = $(this).val(); + let tarPoint = $(this).data("point"); + let checked = $(this).prop("checked"); let devNumPath = devNum?.split("_").join("/"); require(['baja!'], function (baja) { - baja.Ord.make(`local:|foxs:|station:|slot:${devNumPath}`).get() - .then(function (dev) { - dev.set({ - slot: point, - value:val == "on"? true : false, + baja.Ord.make(`local:|foxs:|station:|slot:/${devNumPath}`).get() + .then(function (folder) { + folder.getSlots().isComponent().eachValue(function (point) { + if (point.getDisplayName() == tarPoint) { + point.set1({ + value: checked + }) + } }) + }); }); @@ -1524,7 +1557,7 @@ } //===================================================================== - // 樓層平面圖 + // ↓ 樓層平面圖 ↓ //===================================================================== function getDevice(devList) { let selected_floor = devList[0]; @@ -1600,7 +1633,7 @@ } return item; }); - console.log(currentData) + if (currentData == null || currentData.length == 0) { this.currentData = []; } @@ -1646,7 +1679,7 @@ // animationDurationUpdate: 1500, tooltip: { formatter: function (params) { - console.log("23", params) + if (params.data.device_node_guid != undefined && params.data.device_node_guid != null && params.data.device_node_guid != "") { return `名稱:${params.data.device_node_full_name}
Guid:${params.data.device_node_guid}` @@ -2298,16 +2331,22 @@ } } + //===================================================================== + // ↑ 樓層平面圖 ↑ + //===================================================================== + //載入3D模型 function load3DModel() { + launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MFRFU1QlRTMlODAlOTEubndk'); + setElevatorSpeed(0.2) + setElevatorFloor(3) + movElevator() } - function show3D() { if (isFirstLoad3D) { isFirstLoad3D = false; load3DModel(); } } -