diff --git a/Frontend/_dashboard.html b/Frontend/_dashboard.html
index b0a07c3..de3331f 100644
--- a/Frontend/_dashboard.html
+++ b/Frontend/_dashboard.html
@@ -240,11 +240,30 @@
var tarElePath = '';
var sysSubList = [];
-
+ var floList = []; //每個樓層
+ var subSeviceData = []; //每個設備訂閱點位值
+ var allEleDevList = [];
+ var viewer3DNodeIds = [];
+ var elev3DBind = {};
+ var elev3DOption = {};
+ var elev3DObj = [];
+ var sysIconList = [
+ { mainSys: "EE", subSys: "E1", iconClass: "fal fa-grip-vertical"},
+ { mainSys: "EE", subSys: "E2", iconClass: "fal fa-grip-horizontal"},
+ { mainSys: "EE", subSys: "E3", iconClass: "fal fa-bolt"},
+ { mainSys: "EE", subSys: "E4", iconClass: "fal fa-car-battery"},
+ { mainSys: "LT", subSys: "L1", iconClass: "fal fa-lightbulb-on"},
+ { mainSys: "ME", subSys: "M10", iconClass: "fal fa-wind"},
+ { mainSys: "ME", subSys: "M12", iconClass: "fal fa-snowflake"},
+ { mainSys: "ELEV", subSys: "EL", iconClass: "fal fa-door-open"},
+ ]
$(document).ready(function () {
show3DModel();
getSubList();
+ getElevData();
getFirstEletric();
+ subDeviceSetStatus();
+ timeOutGetData();
});
// 從數字週數轉為中文週數
@@ -298,9 +317,10 @@
if (contest.indexOf(subSysObj.sub_system_tag) != -1) {
sysSubList.push({ sysMainTag: mainSysObj.main_system_tag, sysSubTag: subSysObj.sub_system_tag });
}
+ let iconClass = sysIconList.filter(x => x.mainSys == mainSysObj.main_system_tag && x.subSys == subSysObj.sub_system_tag)[0]?.iconClass;
strHtml += `
-
-
+
+
`;
})
})
@@ -503,6 +523,7 @@
options: eveDayElecChartOptions
})
}
+
// 圖表 - 這週與上週用電量 (折線圖)
function chartEveWeeksElec(curWeekData, prevWeekData) {
@@ -581,6 +602,7 @@
options: eveWeekElecChartOptions
})
}
+
// 圖表 - 異常與賦歸圖表 (圓餅圖)
function chartErrRec(labels,datas) {
@@ -660,58 +682,216 @@
options: errChkChartOptions
})
}
- //從 baja 訂閱 左下角各系統小類異常狀態
+
+ // 從 baja 訂閱 左下角各系統小類異常狀態
function getAlarmSub() {
var tipEle = '';
//if (sysSubList.length != 0) {
// tipEle = YT.Alert.Tip("資料讀取中...","show");
//}
- $(`.data-group i.fa-lightbulb-on`).removeClass("blink");
- //debugger
- $.each(sysSubList, (idx, sysSubObj) => {
- //let myBaja = new subscriptionAlarms();
- //let ordPath = {
- // "building_tag": pageAct.buiTag,
- // "system_tag": sysSubObj.sysMainTag,
- // "name_tag": sysSubObj.sysSubTag,
- //};
- //console.log("ordPath",ordPath)
- //myBaja.setSubscribeAlarmsByBql(ordPath);
- //myBaja.setSubscribeAlarmsCallBack((data) => {
- // if (data.sourceState == "Offnormal") {
- // let devNum = data.system.replaceAll("_", "/");
-
- // $(`.dev-group[data-id*='${devNum}'] i.fa-lightbulb-on`).addClass("blink");
- // }
- //})
- //myBaja.setSubscribeAlarmEndCallBack((data) => {
- // console.log(idx,sysSubList.length)
- // if (idx == sysSubList.length - 1) {
- // $(tipEle.ele).YTAlert().hide();
- // }
- //})
+ /*$(`.dev-group i.fa-lightbulb-on`)*/
+
+ getSystemAlarmByBaja((data) => {
+ console.log(data)
+ $.each(data.data, (idx, alaObj) => {
+ if (alaObj.alarmClass.indexOf("_") != -1) {
+ let mainSubSys = alaObj.alarmClass.split("_").slice(0, 2).join("/");
+ $(`.btn-group.dev-group[data-id*='${mainSubSys}'] i`).addClass("blink");
+ }
+ })
+ $(`.dev-group i.fa-lightbulb-on.blink`).each((idx, ele) => {
+ let devPath = $(ele).parents(".dev-group").data("id");
+ let sysPath = devPath.split("/").slice(3, 5).join("/");
+ let alaDevPath = data.data.map(x => x.alarmClass?.split("_").slice(0, 2).join("/"));
+ if (alaDevPath.indexOf(sysPath) == -1) {
+ $(ele).removeClass("blink");
+ }
+ })
})
-
-
-
- //$(".dev-group").each((idx, ele) => {
- // let path = $(ele).data("id");
- // let start = (new Date()).getTime();
- // console.log("path enter baja:", path);
- // getOneSystemStateByBaja(path, (data) => {
- // let end = (new Date()).getTime();
- // console.log("執行時間 :" + (end - start) / 1000 + " 秒","path : " + path, "輸出結果 :"+ data)
-
-
- // })
- //})
}
+ // 取得電梯資料
+ function getElevData() {
+ let url = baseApiUrl + "/api/Device/GetDeviceList";
+ let sendData = {
+ sub_system_tag: "EL",
+ building_tag: pageAct.buiTag,
+ };
+ objSendData.Data = sendData;
+ ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+
+ } else {
+ $.each(res.data, (index, floObj) => {
+ let masters = floObj.device_list.map(x => x.device_number?.split("_")[5]).Distinct();
+ $.each(masters, (idx, master) => {
+ floObj.device_list.filter(x => x.device_number?.split("_")[5] == master).forEach((devObj) => {
+ allEleDevList.push(devObj);
+ allEleDevList = allEleDevList.oSort("priority");
+ })
+ })
+ })
+
+ }
+ }, null, "POST").send();
+ }
+
+ function timeOutGetData() {
+ setInterval(() => {
+ getAlarmSub();
+ },3000)
+ }
function show3DModel() {
launchViewer(pageAct.urn, (viewer, nodeIds) => {
- console.log("nodeIds",nodeIds)
+ nodeIds = Array.from(nodeIds);
+ $.each(nodeIds, (idx, item) => {
+ elev3DBind[item[0]] = item[1];
+ })
+ nodeIds = nodeIds.map(x => x[1]);
+ $.each(nodeIds, function (idx, node) {
+ let options = {
+ element: $("#forgeViewer"),
+ viewer: viewer,
+ nodeId: node,
+ floorHeight: elev3DOption.floorHeight ?? [],
+ inited: function () {
+
+ }
+ }
+ let elevator3DObj = new elevator3D(options);
+ let devNum = Object.keys(elev3DBind).filter(x => elev3DBind[x] == node)[0];
+ let subData = subSeviceData.filter(x => x.device_number == devNum)[0];
+
+ if (elev3DObj.filter(x => x.nodeId == node).length == 0) {
+ elev3DObj.push({ id: devNum, nodeId: node, obj: elevator3DObj });
+ }
+
+ if (subData) {
+ let elevObj = elev3DObj.filter(x => x.nodeId == node)[0];
+ if (!elevObj.id) {
+ elevObj.id = devNum;
+ }
+ elevObj.obj = Object.assign(elevObj, elevator3DObj ?? {})
+ elevObj.obj.init(function () {
+ let frags = elevObj.obj.fragProxys.filter(x => x.nodeId == node);
+ frags.forEach((fragProxy) => {
+ fragProxy.frag.position.z = elev3DOption.floorHeight.filter(x => x.floor == subData["CP"])[0]?.height ?? 0;
+ fragProxy.frag.updateAnimTransform()
+ })
+ elevObj.obj.viewer.impl.sceneUpdated(true);
+ })
+
+
+ }
+ })
});
}
+
+ function subDeviceSetStatus() {
+ let subOrdPath = {
+ "building_tag": pageAct.buiTag,
+ "system_tag": "ELEV",
+ "name_tag": "EL",
+ };
+ myBaja = new subscriptionDevices();
+ myBaja.setSubscribeDevicesByBql(subOrdPath);
+ myBaja.setSubscribeDevicesCallBack(function (data) {
+ try {
+
+ if (allEleDevList.length == 0) {
+ return false;
+ }
+ data.device_number = data.device_number_full;
+ let matchDevice = allEleDevList.filter(x => x.device_number == data.device_number)[0];
+ let master = matchDevice.device_number.split("_")[5];
+
+ if (data.point_name == "CP") {
+ if (elev3DObj.length != 0) {
+ let elevObj = elev3DObj.filter(x => x.nodeId == elev3DBind[matchDevice.device_number])[0];
+ if (elevObj && elevObj.id) {
+ elevObj.obj.setElevatorFloor(data.value)
+ elevObj.obj.movElevator();
+ }
+ }
+ }
+
+ //將訂閱值塞入 subSeviceData
+ if (subSeviceData.findIndex(x => x.device_number == matchDevice.device_number) == -1) {
+ let obj = {};
+ obj.device_number = matchDevice.device_number;
+ subSeviceData.push(obj)
+ }
+
+ let subData = subSeviceData.filter(x => x.device_number == matchDevice.device_number)[0];
+
+ if (subData) {
+ subData[data.point_name] = data.value;
+ }
+ } catch (e) {
+ console.log("e", e)
+ }
+ });
+ myBaja.setSubscribeDeviceEndCallBack(function (data) {
+
+ let devNumArr = data.map(x => { return { devNum: x.device_number_full, priority: allEleDevList.filter(y => y.device_number == x.device_number_full)[0]?.priority } }).DistinctBy("devNum");
+ devNumArr = devNumArr.oSort("priority");
+ $.each(devNumArr, (idx, devObj) => {
+ devNum = devObj.devNum;
+ let subData = subSeviceData.filter(x => x.device_number == devNum)[0];
+
+ if (subData) {
+ //// 左側 3D 電梯 nodeID 與 device_number match
+ //if (Object.keys(elev3DBind).indexOf(devNum) == -1 && viewer3DNodeIds.length != 0) {
+ // elev3DBind[devNum] = viewer3DNodeIds[Object.keys(elev3DBind).length];
+ //}
+ // 左側 3D 電梯 Viewer Option 設置
+ /*elev3DOption.nodes = Object.keys(elev3DBind).map(x => elev3DBind[x]);*/
+
+ floList = Object.keys(subData).filter(x => x.startsWith("SP_FLS_")).map(x => x?.split("SP_FLS_")[1]);
+
+ elev3DOption.nodeId = elev3DBind[devNum];
+ elev3DOption.floorHeight = floList.map((x) => { return { floor: x } });
+ elev3DOption.floorHeight.forEach((floObj, idx) => {
+ if (floObj.floor.startsWith("B")) {
+ let floor = parseInt(floObj.floor.split("B")[1].split("F")[0]);
+ floObj.height = floor * -13;
+ } else {
+ let floor = parseInt(floObj.floor.split("F")[0]);
+ if (floor == 1) {
+ floObj.height = 0;
+ } else if (floor == 2) {
+ floObj.height = 14.75;
+ } else {
+ floObj.height = (14.75 + ((floor - 2) * 9.75));
+ }
+ }
+ })
+
+ if (elev3DObj.length != 0) {
+ let elevObj = elev3DObj.filter(x => x.nodeId == elev3DBind[devNum])[0];
+ if (!elevObj.id) {
+ elevObj.id = devNum;
+ }
+ elevObj.obj = Object.assign(elevObj.obj, elev3DOption);
+ elevObj.obj.init(function () {
+ let frags = elevObj.obj.fragProxys.filter(x => x.nodeId == elev3DBind[devNum]);
+ frags.forEach((fragProxy) => {
+ fragProxy.frag.position.z = elev3DOption.floorHeight.filter(x => x.floor == subData["CP"])[0]?.height ?? 0;
+ fragProxy.frag.updateAnimTransform();
+ })
+ elevObj.obj.viewer.impl.sceneUpdated(true);
+ });
+ }
+ }
+ })
+
+ })
+ }
+
+ onEvent("click", "button[id^=sysSubCardBtn]", function () {
+ let subSysTag = $(this).data("id");
+ $(`#subSysBtn${subSysTag}`).click();
+ })
\ No newline at end of file
diff --git a/Frontend/_sysElevator.html b/Frontend/_sysElevator.html
index c51bd78..406a992 100644
--- a/Frontend/_sysElevator.html
+++ b/Frontend/_sysElevator.html
@@ -53,21 +53,21 @@
-
+
@@ -78,20 +78,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -912,6 +942,21 @@
}
}
+ function actLightByPoiEx(pointName1, selector, pointName2, exCond) {
+ $(selector).removeClass("bg-orange").removeClass("bg-red");
+ if (getValueByName(pointName2) == exCond) {
+ if (pointName1 == "falseText") {
+ $(selector).addClass("bg-secondary");
+ $(selector).parent("div").prev().find("label").text("取消控制");
+ } else {
+ $(selector).addClass("bg-red");
+ $(selector).parent("div").prev().find("label").text("控制");
+ }
+ } else {
+ $(selector).addClass("bg-success");
+ }
+ }
+
if (allDevList.length == 0) {
return false;
}
@@ -944,18 +989,27 @@
$(`#${matchDevice.device_number}_card [name=downFloArrow]`).removeClass("light-flash-c");
}
}
-
- //消防回歸
- actLightByPoi("FE", "#emerReturn");
- //群控故障
- actLightByPoi("GCM", "#groConFail");
- //緊急電源
- actLightByPoi("EPS", "#emerPower");
- //火災回歸
- actLightByPoi("FER", "#fireReturn");
- //地震管制
- actLightByPoi("EER", "#earQuaCon");
-
+ console.log(data.device_number.split("_").slice(-1))
+ if (data.device_number.split("_").slice(-1) == "N1" && master == "BANK1") {
+ //消防回歸
+ actLightByPoi("FE", "#emerReturn");
+ //群控故障
+ actLightByPoi("GCM", "#groConFail");
+ //緊急電源
+ actLightByPoi("EPS", "#emerPower");
+ //火災回歸
+ actLightByPoi("FER", "#fireReturn");
+ //地震管制
+ actLightByPoi("EER", "#earQuaCon");
+ if (data.point_name == "DNO" || data.point_name == "SP_RCS") {
+ //遠端休止
+ actLightByPoiEx("SP_RCS", "#disRes", "DNO", "trueText");
+ }
+ if (data.point_name == "COR" || data.point_name == "SP_RET") {
+ //RET運轉
+ actLightByPoiEx("SP_RET", "#retOpe", "COR", "falseText");
+ }
+ }
//將訂閱值塞入 subSeviceData
if (subSeviceData.findIndex(x => x.device_number == matchDevice.device_number) == -1) {
@@ -980,11 +1034,11 @@
// 電梯管理 不服務樓層 detail
subDeviceSetEleManNotSerFloor(master);
} catch (e) {
- console.log("e",e)
+ console.log("e", e)
}
});
myBaja.setSubscribeDeviceEndCallBack(function (data) {
-
+
let devNumArr = data.map(x => { return { devNum: x.device_number_full, priority: allDevList.filter(y => y.device_number == x.device_number_full)[0]?.priority } }).DistinctBy("devNum");
devNumArr = devNumArr.oSort("priority");
$.each(devNumArr, (idx, devObj) => {
@@ -1117,9 +1171,9 @@
elevObj.setElevFloor(matchDevice.device_number, subData["CP"]);
}
-
- if (isFirstLoad3D == false && elev3DObj.length != 0) {
+
+ if (elev3DObj.length != 0) {
let elevObj = elev3DObj.filter(x => x.nodeId == elev3DBind[devNum])[0];
if (elevObj && elevObj.id) {
elevObj.obj.setElevatorFloor(subData["CP"])
@@ -1297,7 +1351,7 @@
{ id: "vip", text: "VIP" },
{ id: "onlyRun", text: "獨立運轉" },
{ id: "manual", text: "手動" },
- { id: "runOpe", text: "運轉保養" },
+ { id: "runOpe", text: "保養運轉" },
{ id: "returnFin", text: "回歸完了" },
{ id: "notSerFloor", text: "不服務樓層" },
];
@@ -1766,7 +1820,7 @@
min: 1
},
layoutSize: '100%',
- layoutCenter: [],
+ layoutCenter: ['40%','50%'],
zoom: 1.2,
silent: true
},
diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html
index 27a516a..ae64eb7 100644
--- a/Frontend/_sysMonAll.html
+++ b/Frontend/_sysMonAll.html
@@ -54,8 +54,10 @@
}
myBaja.setSubscribeDevicesByBql(ordPath);
myBaja.setSubscribeDevicesCallBack(function (data) {
-
- let matchDevice = allDevList.filter(x => x.device_number.split("_")[x.device_number.split("_").length - 1] == data.device_number)[0];
+ let matchDevice = allDevList.filter(x => x.device_number == data.device_number_full)[0];
+ if (!matchDevice) {
+ return false;
+ }
let norDevPoiName = matchDevice.device_normal_point_name;
let cloDevPoiName = matchDevice.device_close_point_name;
let errDevPoiName = matchDevice.device_error_point_name;
@@ -70,6 +72,10 @@
}
setLightColor();
});
+
+ myBaja.setSubscribeDeviceEndCallBack(function (data) {
+ endPageLoading();
+ });
}
//根據 data-type 設置顏色 (判斷後台是否有設定,若無則帶預設)
diff --git a/Frontend/_sysMonFloor.html b/Frontend/_sysMonFloor.html
index 55779ed..fb1f7f0 100644
--- a/Frontend/_sysMonFloor.html
+++ b/Frontend/_sysMonFloor.html
@@ -47,7 +47,6 @@
} else {
chartHandler(`${baseImgUrl}/upload/floor_map/${res.data[0].floor_map_name}`);
- /*allDeviceRowData = res.data[0].device_list;*/
getDevice(res.data[0].device_list);
}
}, null, "POST").send();
diff --git a/Frontend/css/site.css b/Frontend/css/site.css
index 4fbff64..11a8c3f 100644
--- a/Frontend/css/site.css
+++ b/Frontend/css/site.css
@@ -109,7 +109,15 @@ input.toggle:checked {
width: 100%;
height: 100vh;
position: fixed;
- z-index: 2000;
+ z-index: 3000;
+}
+
+.dropdown-menu {
+ z-index:3000;
+}
+
+.adsk-viewing-viewer {
+ top:0px;
}
.lds-ring {
diff --git a/Frontend/index.html b/Frontend/index.html
index 81900a5..61d97a0 100644
--- a/Frontend/index.html
+++ b/Frontend/index.html
@@ -1478,13 +1478,15 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
系統監控
+
diff --git a/Frontend/js/forge/forgemodel.js b/Frontend/js/forge/forgemodel.js
index 5b3f854..c3e9009 100644
--- a/Frontend/js/forge/forgemodel.js
+++ b/Frontend/js/forge/forgemodel.js
@@ -127,7 +127,7 @@ class elevator3D {
this.ele = option.element;
this.viewer = option.viewer;
this.nodeId = option.nodeId;
- this.speed = option.speed ?? 0.3;
+ this.speed = option.speed ?? 0.03;
this.fragProxys = [];
this.fragProxy = null;
this.initCallback = option.inited ?? null;
@@ -191,22 +191,17 @@ class elevator3D {
let tree = this.viewer.model.getData().instanceTree;
let nodeId = this.nodeId;
let fragProxyZ = 0;
- let movStatus = this.movStatus; // 0=no 1=up 2=down
let fragProxy = this.fragProxys.filter(x => x.nodeId == nodeId)[0]?.frag;
if (!fragProxy) {
return;
}
changeColor(nodeId);
- console.log("movStatus:" + movStatus, "fragProxy.position.z:" + fragProxy.position.z.roundDecimal(2), "targetFloorZ:" + this.targetFloorZ.roundDecimal(2))
- //if ((movStatus == 2 && fragProxy.position.z.roundDecimal(2) < this.targetFloorZ.roundDecimal(2)) ||
- // (movStatus == 1 && fragProxy.position.z.roundDecimal(2) > this.targetFloorZ.roundDecimal(2)) ||
- // fragProxy.position.z.roundDecimal(2) == this.targetFloorZ.roundDecimal(2)) {
- // this.movStatus = 0;
- // recoverTransparentBuilding();
- // hideColor(nodeId);
- // return;
- //}
+ if ((this.movStatus == 2 && fragProxy.position.z.roundDecimal(2) < this.targetFloorZ.roundDecimal(2)) ||
+ (this.movStatus == 1 && fragProxy.position.z.roundDecimal(2) > this.targetFloorZ.roundDecimal(2)) ||
+ fragProxy.position.z.roundDecimal(2) == this.targetFloorZ.roundDecimal(2)) {
+ stoped(this);
+ }
//if (movStatus == 0) {
// recoverTransparentBuilding();
@@ -224,10 +219,10 @@ class elevator3D {
let fragProxy = this.viewer.impl.getFragmentProxy(this.viewer.model, frag);
fragProxy.getAnimTransform();
//let fragPosition = new THREE.Vector3(0, 0, 15);// 一樓0 二樓15 三樓 26
- if (movStatus == 2) {
+ if (this.movStatus == 2) {
fragProxy.position.z -= this.speed;
}
- else if (movStatus == 1) {
+ else if (this.movStatus == 1) {
fragProxy.position.z += this.speed;
}
this.fragProxys.filter(x => x.nodeId == nodeId && x.fragId == frag)[0].frag.position.z = fragProxy.position.z;
@@ -237,39 +232,37 @@ class elevator3D {
}, true);
this.viewer.impl.sceneUpdated(true);
- setTransparentBuilding();
+ /*setTransparentBuilding();*/
let movElevator = $(this.ele)[0]._elevator3D.filter(x => x.nodeId == this.nodeId)[0]?.obj.movElevator.bind(this);
- console.log("fragProxyZ:" + fragProxyZ, "targetFloorZ:" + this.targetFloorZ)
-
-
- if (movStatus == 2) {
+ if (this.movStatus == 2) {
if (fragProxyZ >= this.targetFloorZ) {
requestAnimationFrame(() => {
movElevator();
});
} else {
- this.movStatus = 0;
- recoverTransparentBuilding();
- hideColor(nodeId);
- return;
+ stoped(this);
}
}
- else if (movStatus == 1) {
+ else if (this.movStatus == 1) {
if (fragProxyZ <= this.targetFloorZ) {
requestAnimationFrame(() => {
movElevator();
});
} else {
- this.movStatus = 0;
- recoverTransparentBuilding();
- hideColor(nodeId);
- return;
+ stoped(this);
}
+ } else {
+ stoped(this);
}
-
+ function stoped(obj) {
+ obj.movStatus = 0;
+ /*recoverTransparentBuilding();*/
+ hideColor(nodeId);
+ return;
+ }
//let fragPosition = new THREE.Vector3(position);// 一樓0 二樓15 三樓 26
//fragProxy.position = fragPosition;
@@ -561,11 +554,18 @@ function setTransparency(nodeId, opacity) {
}
function changeColor(nodeId) {//電梯變綠色
- var color = new THREE.Vector4(0, 1, 0, 1);
- viewer.setThemingColor(nodeId, color);
+ let instanceTree = viewer.model.getData().instanceTree;
+ instanceTree.enumNodeChildren(nodeId, function (chiNodeId) {
+ var color = new THREE.Vector4(0, 1, 0, 1);
+ viewer.setThemingColor(chiNodeId, color);
+ },true)
}
function hideColor(nodeId) {//顏色改成透明
- var color = new THREE.Vector4(0, 1, 0, 0);
- viewer.setThemingColor(nodeId, color);
+ let instanceTree = viewer.model.getData().instanceTree;
+ instanceTree.enumNodeChildren(nodeId, function (chiNodeId) {
+ var color = new THREE.Vector4(0, 1, 0, 0);
+ viewer.setThemingColor(chiNodeId, color);
+ },true)
+
}
\ No newline at end of file
diff --git a/Frontend/js/n4js/alarmbaja.js b/Frontend/js/n4js/alarmbaja.js
index a937268..b64bf1a 100644
--- a/Frontend/js/n4js/alarmbaja.js
+++ b/Frontend/js/n4js/alarmbaja.js
@@ -430,8 +430,7 @@ function getUnCheckedAckedCountByBaja(callback) {
* @param {any} callback
*/
function getSystemAlarmByBaja(callback) {
- var _result = "";
- var _ss = "";
+ var _result = { count: 0, data: [] };
var _index = 0;
require(['baja!'], function (baja) {
@@ -440,16 +439,14 @@ function getSystemAlarmByBaja(callback) {
.then(function (table) {
return table.cursor({
each: function (record) {
- if (_index == 0)
- _ss += '{"alarmClass":"' + record.get('alarmClass') + '"}';
- else
- _ss += ',{"alarmClass":"' + record.get('alarmClass') + '"}';
+ let main = {};
+ main.alarmClass = record.get('alarmClass');
+
+ _result.data.push(main);
_index++;
},
after: function () {
- _result += '{' + '"count": ' + _index + ', "data":[';
- _result += _ss;
- _result += ']}';
+ _result.count = _index;
if (typeof callback === 'function') {
callback(_result);
}
diff --git a/Frontend/js/n4js/bajatest.js b/Frontend/js/n4js/bajatest.js
index d77655a..94492f0 100644
--- a/Frontend/js/n4js/bajatest.js
+++ b/Frontend/js/n4js/bajatest.js
@@ -155,7 +155,7 @@ function BajaSubscribeDevicesByBql() {
var target_device_number_split = this.getDisplay("slotPath").split('/');
- var target_device_number = target_device_number_split[7];
+ var target_device_number = target_device_number_split[8];
//console.log(target_device_number);
var point_name = this.getDisplay("name");
var facets = this.getDisplay("facets");
diff --git a/Frontend/js/site.js b/Frontend/js/site.js
index 4d5e78a..35149a7 100644
--- a/Frontend/js/site.js
+++ b/Frontend/js/site.js
@@ -181,7 +181,7 @@ class ElevatorHandler {
this.eleWra = $("");
this.speed = 0.3;
this.movStatus = {}; // {id:elevator01,value:0} 0=no 1=up 2=down
- this.floorHeight = typeof option.fHeight == "undefined" ? 50 : option.fHeight;
+ this.floorHeight = typeof option.fHeight == "undefined" ? 60 : option.fHeight;
this.floorWidth = typeof option.fWidth == "undefined" ? 45 : option.fWidth;
this.floors = typeof option.floors == "undefined" ? [{}] : option.floors;
this.elevators = typeof option.elevators == "undefined" ? [{}] : option.elevators; // {id:elevator01}
@@ -259,7 +259,7 @@ class ElevatorHandler {
}
else {
let div = creDiv(["d-flex", "justify-content-center", "align-items-end", "h-100"]);
- div.append(``)
+ div.append(``)
td.append(div)
}
tr.append(td);
diff --git a/Frontend/js/yourteam/plugins/yt-tab/yt-tab.js b/Frontend/js/yourteam/plugins/yt-tab/yt-tab.js
index f6f5b32..e18c733 100644
--- a/Frontend/js/yourteam/plugins/yt-tab/yt-tab.js
+++ b/Frontend/js/yourteam/plugins/yt-tab/yt-tab.js
@@ -43,7 +43,12 @@ class YourTeamTab {
}
this.event();
$(`[data-tabname=${this.tabName}][data-tabrole=child]`).css("display", "none");
- $(`[data-tabname=${this.tabName}][data-target]`).first().trigger("click");
+ if ($(`[data-tabname=${this.tabName}][data-target].active`).length == 0) {
+ $(`[data-tabname=${this.tabName}][data-target]`).first().trigger("click");
+ } else {
+ $(`[data-tabname=${this.tabName}][data-target].active`).first().trigger("click");
+ }
+
_ytTabInited.push(this.tabName);
}
diff --git a/Frontend/js/yourteam/plugins/yt-tooltip/yt-tooltip.js b/Frontend/js/yourteam/plugins/yt-tooltip/yt-tooltip.js
index a5d153c..f0b9dc2 100644
--- a/Frontend/js/yourteam/plugins/yt-tooltip/yt-tooltip.js
+++ b/Frontend/js/yourteam/plugins/yt-tooltip/yt-tooltip.js
@@ -85,7 +85,7 @@ $.fn.YTTooltip = function (option) {
} else if (obj.direction == "right") {
left = offset.left + toolWidth + width > bodyWidth ? offset.left - toolWidth - 10 : offset.left + width + 10;
} else if (obj.direction == "bottom") {
- top = offset.top + toolHeight + height > bodyHeight ? offset.top - toolHeight - 10 : offset.top + height + 10;
+ top = offset.top + toolHeight + height > bodyHeight ? offset.top + height + 10 : offset.top + height + 10;
} else if (obj.direction == "top") {
top = offset.top < toolHeight ? offset.top + height + 5 : offset.top - toolHeight - 10;
}