Merge branch 'MCUT' of https://gitea.mjm-staging.developers-homelab.net/BIMS/BIMS into MCUT
This commit is contained in:
commit
9b0ad0fbd6
@ -267,57 +267,7 @@
|
|||||||
};
|
};
|
||||||
var contractCapacity = 0;
|
var contractCapacity = 0;
|
||||||
|
|
||||||
var sysIconList = [
|
|
||||||
{ mainSys: "EE", subSys: "E1", iconClass: "./gif/E1_white.png" },
|
|
||||||
{ mainSys: "EE", subSys: "E2", iconClass: "./gif/E2_white.png" },
|
|
||||||
{ mainSys: "EE", subSys: "E3", iconClass: "./gif/E3_white.png" },
|
|
||||||
{ mainSys: "EE", subSys: "E4", iconClass: "./gif/E4-1_white.png" }, // 電表
|
|
||||||
{ mainSys: "LT", subSys: "L1", iconClass: "./gif/L1_white.png" },
|
|
||||||
{ mainSys: "LT", subSys: "L2", iconClass: "./gif/L2_white.png" }, // 景觀照明 0131目前沒有
|
|
||||||
{ mainSys: "ME", subSys: "M1", iconClass: "./gif/M1_white.png" }, // 儲冰 0131目前沒有
|
|
||||||
{ mainSys: "ME", subSys: "M5", iconClass: "./gif/M5-2_white.png" }, // 送排風
|
|
||||||
{ mainSys: "ME", subSys: "M8", iconClass: "./gif/M8_white.png" }, // 排油煙0131目前沒有
|
|
||||||
{ mainSys: "ME", subSys: "M10", iconClass: "./gif/M10_white.png" },
|
|
||||||
{ mainSys: "ME", subSys: "M12", iconClass: "./gif/M12_white.png" },
|
|
||||||
{ mainSys: "ELEV", subSys: "EL", iconClass: "./gif/EL_white.png" },
|
|
||||||
{ mainSys: "FE", subSys: "F1", iconClass: "./gif/F1_white.png" },
|
|
||||||
{ mainSys: "FE", subSys: "F2", iconClass: "./gif/lamp_white.png" }, // 排煙 0131目前沒有
|
|
||||||
{ mainSys: "WP", subSys: "W1", iconClass: "./gif/W1_white.png" }, // 電子水表0131目前沒有
|
|
||||||
{ mainSys: "WP", subSys: "W2", iconClass: "./gif/W2_white.png" },
|
|
||||||
{ mainSys: "WP", subSys: "P1", iconClass: "./gif/P1_white.png" },
|
|
||||||
{ mainSys: "S", subSys: "C", iconClass: "./gif/C_white.png" }, // CCTV
|
|
||||||
{ mainSys: "S", subSys: "P", iconClass: "./gif/P_white.png" }, // 緊急求救
|
|
||||||
{ mainSys: "S", subSys: "R", iconClass: "./gif/R_white.png" }, // 門禁
|
|
||||||
{ mainSys: "P", subSys: "PSC", iconClass: "./gif/PSC_white.png" }, // 停管
|
|
||||||
{ mainSys: "W3", subSys: "W1", iconClass: "./gif/W3_white.png" }, // 0131目前沒有
|
|
||||||
];
|
|
||||||
|
|
||||||
var tempSysSubText = [
|
|
||||||
{ text: "水錶系統", mainSys: "WP", subSys: "W1" },
|
|
||||||
{ text: "空調系統", mainSys: "ME", subSys: "M10" }, // 2
|
|
||||||
{ text: "照明系統", mainSys: "LT", subSys: "L1" }, // 3
|
|
||||||
{ text: "CCTV系統", mainSys: "S", subSys: "C" }, //12
|
|
||||||
{ text: "太陽能管理", mainSys: "S", subSys: "C" }, //12
|
|
||||||
{ text: "冰水主機", mainSys: "WP", subSys: "W2" }, // 6
|
|
||||||
{ text: "緊急發電機", mainSys: "EE", subSys: "E3" }, //10
|
|
||||||
{ text: "電梯系統", mainSys: "ELEV", subSys: "EL" }, // 1
|
|
||||||
{ text: "環境感測設備", mainSys: "ME", subSys: "M12" }, // 4
|
|
||||||
{ text: "電錶系統", mainSys: "EE", subSys: "E4" }, // 5
|
|
||||||
{ text: "高壓配電盤", mainSys: "EE", subSys: "E1" }, // 7
|
|
||||||
{ text: "汙廢水設備", mainSys: "WP", subSys: "P1" }, // 8
|
|
||||||
{ text: "低壓配電盤", mainSys: "EE", subSys: "E2" }, //9
|
|
||||||
{ text: "消防設備", mainSys: "FE", subSys: "F1" }, //11
|
|
||||||
{ text: "門禁系統", mainSys: "S", subSys: "R" }, //13
|
|
||||||
{ text: "停管系統", mainSys: "P", subSys: "PSC" }, //14
|
|
||||||
{ text: "緊急求救系統", mainSys: "S", subSys: "P" }, //15
|
|
||||||
{ text: "送排風系統", mainSys: "ME", subSys: "M5" }, //16
|
|
||||||
//{ text: "景觀照明系統", mainSys: "LT", subSys: "L2", },
|
|
||||||
//{ text: "儲冰系統", mainSys: "ME", subSys: "M1", },
|
|
||||||
// { text: "排油煙設備", mainSys: "ME", subSys: "M8", },
|
|
||||||
//{ text: "排煙系統", mainSys: "FE", subSys: "F2", },
|
|
||||||
//{ text: "電子水錶", mainSys: "WP", subSys: "W1", },
|
|
||||||
// { text: "熱水系統", mainSys: "W3", subSys: "W1", },
|
|
||||||
];
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(loadEle).Loading("start");
|
$(loadEle).Loading("start");
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
.yt-navbar::-webkit-scrollbar-thumb:hover {
|
.yt-navbar::-webkit-scrollbar-thumb:hover {
|
||||||
background: #555;
|
background: #555;
|
||||||
}
|
}
|
||||||
.yt-left-navbar { position: fixed; left: 0; top: 0; height: 100%; z-index: 10; background-color: rgb(25 25 25 / 95%); width: auto; max-width: 300px; margin-top: 4.125rem; }
|
.yt-left-navbar { position: absolute; left: 0; top: 0; height: calc(100% - 4.125rem); z-index: 10; background-color: rgb(25 25 25 / 95%); width: auto; max-width: 300px; margin-top: 4.125rem; }
|
||||||
.yt-navbar-content ul { padding: 1rem 0rem; list-style-type: none; }
|
.yt-navbar-content ul { padding: 1rem 0rem; list-style-type: none; }
|
||||||
.yt-navbar-content ul li { position: relative; display: flex; flex-wrap: wrap; flex-direction: column; }
|
.yt-navbar-content ul li { position: relative; display: flex; flex-wrap: wrap; flex-direction: column; }
|
||||||
.yt-navbar-content ul li a { font-size: 0.9rem; padding: 0.75rem 1rem 0.75rem 2rem; position: relative; width: 100%; display:flex; justify-content: space-between;}
|
.yt-navbar-content ul li a { font-size: 0.9rem; padding: 0.75rem 1rem 0.75rem 2rem; position: relative; width: 100%; display:flex; justify-content: space-between;}
|
||||||
@ -29,14 +29,16 @@
|
|||||||
.yt-navbar-content ul li a:active, .yt-navbar-content ul li a.active { background-color: var(--theme-light); }
|
.yt-navbar-content ul li a:active, .yt-navbar-content ul li a.active { background-color: var(--theme-light); }
|
||||||
|
|
||||||
.yt-navbar ul li a[data-nb-node-type=parent]::after {
|
.yt-navbar ul li a[data-nb-node-type=parent]::after {
|
||||||
content: "◀";
|
content: ">";
|
||||||
margin-left:1rem;
|
font-family: cursive;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-left:4rem;
|
||||||
transform:rotate(0deg);
|
transform:rotate(0deg);
|
||||||
transition:0.2s
|
transition:0.2s
|
||||||
}
|
}
|
||||||
|
|
||||||
.yt-navbar ul li a[data-nb-node-type=parent][data-nb-node-status=open]::after {
|
.yt-navbar ul li a[data-nb-node-type=parent][data-nb-node-status=open]::after {
|
||||||
transform:rotate(-90deg);
|
transform:rotate(90deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.yt-navbar-content ul li a[data-nb-node-type=parent] span:hover {
|
.yt-navbar-content ul li a[data-nb-node-type=parent] span:hover {
|
||||||
@ -59,5 +61,5 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.yt-navbar-content ul.yt-navbar-dropdown li a {
|
.yt-navbar-content ul.yt-navbar-dropdown li a {
|
||||||
padding: 0.75rem 0.5rem 0.75rem 2.5rem;
|
padding: 0.75rem 0.5rem 0.75rem 3.5rem;
|
||||||
}
|
}
|
||||||
|
@ -1029,6 +1029,58 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
var allDevices = [];
|
var allDevices = [];
|
||||||
var tempSubTag = ["M10", "M12"]; // 溫度向小類
|
var tempSubTag = ["M10", "M12"]; // 溫度向小類
|
||||||
|
|
||||||
|
var sysIconList = [
|
||||||
|
{ mainSys: "EE", subSys: "E1", iconClass: "./gif/E1_white.png" },
|
||||||
|
{ mainSys: "EE", subSys: "E2", iconClass: "./gif/E2_white.png" },
|
||||||
|
{ mainSys: "EE", subSys: "E3", iconClass: "./gif/E3_white.png" },
|
||||||
|
{ mainSys: "EE", subSys: "E4", iconClass: "./gif/E4-1_white.png" }, // 電表
|
||||||
|
{ mainSys: "LT", subSys: "L1", iconClass: "./gif/L1_white.png" },
|
||||||
|
{ mainSys: "LT", subSys: "L2", iconClass: "./gif/L2_white.png" }, // 景觀照明 0131目前沒有
|
||||||
|
{ mainSys: "ME", subSys: "M1", iconClass: "./gif/M1_white.png" }, // 儲冰 0131目前沒有
|
||||||
|
{ mainSys: "ME", subSys: "M5", iconClass: "./gif/M5-2_white.png" }, // 送排風
|
||||||
|
{ mainSys: "ME", subSys: "M8", iconClass: "./gif/M8_white.png" }, // 排油煙0131目前沒有
|
||||||
|
{ mainSys: "ME", subSys: "M10", iconClass: "./gif/M10_white.png" },
|
||||||
|
{ mainSys: "ME", subSys: "M12", iconClass: "./gif/M12_white.png" },
|
||||||
|
{ mainSys: "ELEV", subSys: "EL", iconClass: "./gif/EL_white.png" },
|
||||||
|
{ mainSys: "FE", subSys: "F1", iconClass: "./gif/F1_white.png" },
|
||||||
|
{ mainSys: "FE", subSys: "F2", iconClass: "./gif/lamp_white.png" }, // 排煙 0131目前沒有
|
||||||
|
{ mainSys: "WP", subSys: "W1", iconClass: "./gif/W1_white.png" }, // 電子水表0131目前沒有
|
||||||
|
{ mainSys: "WP", subSys: "W2", iconClass: "./gif/W2_white.png" },
|
||||||
|
{ mainSys: "WP", subSys: "P1", iconClass: "./gif/P1_white.png" },
|
||||||
|
{ mainSys: "S", subSys: "C", iconClass: "./gif/C_white.png" }, // CCTV
|
||||||
|
{ mainSys: "S", subSys: "P", iconClass: "./gif/P_white.png" }, // 緊急求救
|
||||||
|
{ mainSys: "S", subSys: "R", iconClass: "./gif/R_white.png" }, // 門禁
|
||||||
|
{ mainSys: "P", subSys: "PSC", iconClass: "./gif/PSC_white.png" }, // 停管
|
||||||
|
{ mainSys: "W3", subSys: "W1", iconClass: "./gif/W3_white.png" }, // 0131目前沒有
|
||||||
|
];
|
||||||
|
|
||||||
|
var tempSysSubText = [
|
||||||
|
{ text: "水錶系統", mainSys: "WP", subSys: "W1" },
|
||||||
|
{ text: "空調系統", mainSys: "ME", subSys: "M10" }, // 2
|
||||||
|
{ text: "照明系統", mainSys: "LT", subSys: "L1" }, // 3
|
||||||
|
{ text: "CCTV系統", mainSys: "S", subSys: "C" }, //12
|
||||||
|
{ text: "太陽能管理", mainSys: "S", subSys: "C" }, //12
|
||||||
|
{ text: "冰水主機", mainSys: "WP", subSys: "W2" }, // 6
|
||||||
|
{ text: "緊急發電機", mainSys: "EE", subSys: "E3" }, //10
|
||||||
|
{ text: "電梯系統", mainSys: "ELEV", subSys: "EL" }, // 1
|
||||||
|
{ text: "環境感測設備", mainSys: "ME", subSys: "M12" }, // 4
|
||||||
|
{ text: "電錶系統", mainSys: "EE", subSys: "E4" }, // 5
|
||||||
|
{ text: "高壓配電盤", mainSys: "EE", subSys: "E1" }, // 7
|
||||||
|
{ text: "汙廢水設備", mainSys: "WP", subSys: "P1" }, // 8
|
||||||
|
{ text: "低壓配電盤", mainSys: "EE", subSys: "E2" }, //9
|
||||||
|
{ text: "消防設備", mainSys: "FE", subSys: "F1" }, //11
|
||||||
|
{ text: "門禁系統", mainSys: "S", subSys: "R" }, //13
|
||||||
|
{ text: "停管系統", mainSys: "P", subSys: "PSC" }, //14
|
||||||
|
{ text: "緊急求救系統", mainSys: "S", subSys: "P" }, //15
|
||||||
|
{ text: "送排風系統", mainSys: "ME", subSys: "M5" }, //16
|
||||||
|
//{ text: "景觀照明系統", mainSys: "LT", subSys: "L2", },
|
||||||
|
//{ text: "儲冰系統", mainSys: "ME", subSys: "M1", },
|
||||||
|
// { text: "排油煙設備", mainSys: "ME", subSys: "M8", },
|
||||||
|
//{ text: "排煙系統", mainSys: "FE", subSys: "F2", },
|
||||||
|
//{ text: "電子水錶", mainSys: "WP", subSys: "W1", },
|
||||||
|
// { text: "熱水系統", mainSys: "W3", subSys: "W1", },
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 頁面 Loading 建立
|
* 頁面 Loading 建立
|
||||||
* */
|
* */
|
||||||
@ -2095,7 +2147,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
<i class="fal fa-home fa-2x"></i><br>首頁
|
<i class="fal fa-home fa-2x"></i><br>首頁
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<button class="dropdown-item" name="topFunBtn" data-tabname="topFunBtn" data-page="dashboard" type="button">儀錶板</button>
|
<button class="dropdown-item d-none" name="topFunBtn" data-tabname="topFunBtn" data-page="dashboard" type="button" >儀錶板</button>
|
||||||
<button class="dropdown-item" name="topFunBtn" data-tabname="topFunBtn" data-page="schoolView" type="button">校園總覽</button>
|
<button class="dropdown-item" name="topFunBtn" data-tabname="topFunBtn" data-page="schoolView" type="button">校園總覽</button>
|
||||||
<button class="dropdown-item" name="topFunBtn" data-tabname="topFunBtn" data-page="elecSingleLine" type="button">電表單線圖</button>
|
<button class="dropdown-item" name="topFunBtn" data-tabname="topFunBtn" data-page="elecSingleLine" type="button">電表單線圖</button>
|
||||||
</div>
|
</div>
|
||||||
@ -2215,11 +2267,30 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
const ulLen = ul.find("li").length;
|
||||||
|
for(let i = 0; i < 8 - ulLen; i++){
|
||||||
|
let li2 = creEle("li");
|
||||||
|
let a2 = creA(
|
||||||
|
tempSysSubText[i].text,
|
||||||
|
{ href: "javascript:;" },
|
||||||
|
[],
|
||||||
|
`subSysBtn${tempSysSubText[i].subSys}`,
|
||||||
|
{
|
||||||
|
page: "systemMonitor",
|
||||||
|
tabname: "systemMonitor",
|
||||||
|
"building-tag": building.building_tag,
|
||||||
|
},
|
||||||
|
"topFunBtn"
|
||||||
|
);
|
||||||
|
li2.append(a2);
|
||||||
|
ul.append(li2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
li.append(ul);
|
li.append(ul);
|
||||||
$("#sysMonBtnList").append(li);
|
$("#sysMonBtnList").append(li);
|
||||||
});
|
});
|
||||||
$("#sysMonTopBtn").YTNavbar("init");
|
$("#sysMonTopBtn").YTNavbar("init",{onlyOneOpen: true});
|
||||||
|
|
||||||
$("span[id^=buildTab]").first().YTTab("setAndClick",{triggerType:"first"});
|
$("span[id^=buildTab]").first().YTTab("setAndClick",{triggerType:"first"});
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -3,14 +3,14 @@
|
|||||||
// var baseImgUrl = "https://localhost:44376"; // 本地開發用
|
// var baseImgUrl = "https://localhost:44376"; // 本地開發用
|
||||||
|
|
||||||
// Mitsubishi
|
// Mitsubishi
|
||||||
var baseApiUrl = "http://220.132.206.5:8005"; // production 用
|
// var baseApiUrl = "http://220.132.206.5:8005"; // production 用
|
||||||
var baseImgUrl = "http://220.132.206.5:8053"; // production 用
|
var baseImgUrl = "http://220.132.206.5:8053"; // production 用
|
||||||
|
|
||||||
// WSP
|
// WSP
|
||||||
// var baseApiUrl = "http://192.168.0.136:8005"; // production 用
|
// var baseApiUrl = "http://192.168.0.136:8005"; // production 用
|
||||||
// var baseImgUrl = "http://192.168.0.136:8053"; // production 用
|
// var baseImgUrl = "http://192.168.0.136:8053"; // production 用
|
||||||
|
|
||||||
// var baseApiUrl = "http://localhost:3604";
|
var baseApiUrl = "http://localhost:3604";
|
||||||
//var baseImgUrl = "http://localhost:8848";
|
//var baseImgUrl = "http://localhost:8848";
|
||||||
|
|
||||||
var varRegApiUrl = "/reg/api/"; //註冊API路徑
|
var varRegApiUrl = "/reg/api/"; //註冊API路徑
|
||||||
|
@ -103,16 +103,16 @@ function getAlarmByBaja(
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackTime, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmClass = '" +
|
"local:|foxs:|alarm:|bql:select timestamp, ackTime, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmClass = '" +
|
||||||
alarmClass +
|
alarmClass +
|
||||||
"' and timestamp.millis > " +
|
"' and timestamp.millis > " +
|
||||||
startDate_millisecond +
|
startDate_millisecond +
|
||||||
" and timestamp.millis < " +
|
" and timestamp.millis < " +
|
||||||
endDate_millisecond +
|
endDate_millisecond +
|
||||||
" and sourceState " +
|
" and sourceState " +
|
||||||
_recoverState +
|
_recoverState +
|
||||||
" and ackState " +
|
" and ackState " +
|
||||||
_ackState +
|
_ackState +
|
||||||
" order by timestamp asc"
|
" order by timestamp asc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -202,8 +202,8 @@ function getOneDeviceAlarmTop10ByBaja(devicePath, callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select top 10 timestamp, ackState, alarmData, alarmData.sourceName, sourceState, uuid, alarmData.msgText, normalTime where alarmData.sourceName like '%" +
|
"local:|foxs:|alarm:|bql:select top 10 timestamp, ackState, alarmData, alarmData.sourceName, sourceState, uuid, alarmData.msgText, normalTime where alarmData.sourceName like '%" +
|
||||||
devicePath +
|
devicePath +
|
||||||
"%' order by timestamp desc"
|
"%' order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -300,8 +300,8 @@ function getOneSystemAlarmStateByBaja(systemPath, callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" +
|
"local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" +
|
||||||
systemPath +
|
systemPath +
|
||||||
"%' order by timestamp desc"
|
"%' order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -355,10 +355,10 @@ function getOneSystemStateByBaja(systemPath, callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select top 1 alarmData, alarmData.sourceName, sourceState where alarmData.sourceName like '%" +
|
"|alarm:|bql:select top 1 alarmData, alarmData.sourceName, sourceState where alarmData.sourceName like '%" +
|
||||||
systemPath +
|
systemPath +
|
||||||
"%' order by timestamp desc"
|
"%' order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -415,8 +415,8 @@ function getAlarmCountByBaja(callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select COUNT(*) where sourceState = 'offnormal'"
|
"|alarm:|bql:select COUNT(*) where sourceState = 'offnormal'"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -463,8 +463,8 @@ function getRecoverCountByBaja(callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select COUNT(*) where normalTime != null"
|
"|alarm:|bql:select COUNT(*) where normalTime != null"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -510,8 +510,8 @@ function getCheckedAckedCountByBaja(callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select COUNT(*) where ackState='acked'"
|
"|alarm:|bql:select COUNT(*) where ackState='acked'"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -557,8 +557,8 @@ function getUnCheckedAckedCountByBaja(callback) {
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select COUNT(*) where ackState='unacked'"
|
"|alarm:|bql:select COUNT(*) where ackState='unacked'"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -588,8 +588,8 @@ function getSystemAlarmByBaja(callback) {
|
|||||||
//baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where isAlarm").get()
|
//baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where isAlarm").get()
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:" +
|
"local:|foxs:" +
|
||||||
port +
|
port +
|
||||||
"|alarm:|bql:select alarmClass where sourceState = 'offnormal'"
|
"|alarm:|bql:select alarmClass where sourceState = 'offnormal'"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -704,8 +704,8 @@ function getOneDeviceAlarmByBaja(devicePath, callback) {
|
|||||||
// console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc");
|
// console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc");
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmData.sourceName like '%" +
|
"local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where alarmData.sourceName like '%" +
|
||||||
devicePath +
|
devicePath +
|
||||||
"%' order by timestamp desc"
|
"%' order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -765,18 +765,6 @@ function getOtherAlarmByBaja(
|
|||||||
console.log(
|
console.log(
|
||||||
"告警2",
|
"告警2",
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
||||||
startUrl +
|
|
||||||
"timestamp.millis <= " +
|
|
||||||
endDate_millisecond +
|
|
||||||
" and sourceState " +
|
|
||||||
_recoverState +
|
|
||||||
" and ackState " +
|
|
||||||
_ackState +
|
|
||||||
" order by timestamp desc"
|
|
||||||
);
|
|
||||||
require(["baja!"], function (baja) {
|
|
||||||
baja.Ord.make(
|
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
|
||||||
startUrl +
|
startUrl +
|
||||||
"timestamp.millis <= " +
|
"timestamp.millis <= " +
|
||||||
endDate_millisecond +
|
endDate_millisecond +
|
||||||
@ -785,6 +773,18 @@ function getOtherAlarmByBaja(
|
|||||||
" and ackState " +
|
" and ackState " +
|
||||||
_ackState +
|
_ackState +
|
||||||
" order by timestamp desc"
|
" order by timestamp desc"
|
||||||
|
);
|
||||||
|
require(["baja!"], function (baja) {
|
||||||
|
baja.Ord.make(
|
||||||
|
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
||||||
|
startUrl +
|
||||||
|
"timestamp.millis <= " +
|
||||||
|
endDate_millisecond +
|
||||||
|
" and sourceState " +
|
||||||
|
_recoverState +
|
||||||
|
" and ackState " +
|
||||||
|
_ackState +
|
||||||
|
" order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
@ -863,51 +863,54 @@ function getAllDeviceAlarmByBaja(
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
||||||
startUrl +
|
startUrl +
|
||||||
"timestamp.millis <= " +
|
"timestamp.millis <= " +
|
||||||
endDate_millisecond +
|
endDate_millisecond +
|
||||||
" and sourceState " +
|
" and sourceState " +
|
||||||
_recoverState +
|
_recoverState +
|
||||||
" and ackState " +
|
" and ackState " +
|
||||||
_ackState +
|
_ackState +
|
||||||
" order by timestamp desc"
|
" order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
return table.cursor({
|
return table.cursor({
|
||||||
each: function (record) {
|
each: function (record) {
|
||||||
let main = {};
|
if (record.get("alarmData").get("sourceName")) {
|
||||||
// const alarmDisplayName = record.get('alarmData').get('sourceName').split(":")[1] ?? record.get('alarmData').get('sourceName').split(":")[0]
|
let main = {};
|
||||||
const alarmDisplayName =
|
// console.log("告警", record.get("alarmData").get("sourceName"));
|
||||||
record.get("alarmData").get("sourceName").split(":")[1] ??
|
// const alarmDisplayName = record.get('alarmData').get('sourceName').split(":")[1] ?? record.get('alarmData').get('sourceName').split(":")[0]
|
||||||
record.get("alarmData").get("sourceName");
|
const alarmDisplayName =
|
||||||
_sourceTmp = alarmDisplayName.split("_");
|
record.get("alarmData").get("sourceName").split(":")[1] ??
|
||||||
let _bfName = _sourceTmp[1] + "-" + _sourceTmp[4];
|
record.get("alarmData").get("sourceName");
|
||||||
let _sourceName = _sourceTmp.slice(0, 8).join("_");
|
_sourceTmp = alarmDisplayName.split("_");
|
||||||
_sourceTmp = _sourceTmp[7] + "-" + _sourceTmp[8];
|
let _bfName = _sourceTmp[1] + "-" + _sourceTmp[4];
|
||||||
|
let _sourceName = _sourceTmp.slice(0, 8).join("_");
|
||||||
|
_sourceTmp = _sourceTmp[7] + "-" + _sourceTmp[8];
|
||||||
|
|
||||||
main.buildingFloorName_zh = _bfName;
|
main.buildingFloorName_zh = _bfName;
|
||||||
main.sourceName_zh = _sourceName;
|
main.sourceName_zh = _sourceName;
|
||||||
main.uuid = record.get("uuid").$val;
|
main.uuid = record.get("uuid").$val;
|
||||||
main.timestamp = record.get("timestamp").$cEncStr;
|
main.timestamp = record.get("timestamp").$cEncStr;
|
||||||
main.alarmClass = record.get("alarmClass");
|
main.alarmClass = record.get("alarmClass");
|
||||||
main.point = _sourceTmp;
|
main.point = _sourceTmp;
|
||||||
main.sourceTmp = _sourceTmp;
|
main.sourceTmp = _sourceTmp;
|
||||||
main.devicePath = _sourceName;
|
main.devicePath = _sourceName;
|
||||||
main.msgText = record.get("alarmData").get("msgText");
|
main.msgText = record.get("alarmData").get("msgText");
|
||||||
main.normalTime = record.get("normalTime");
|
main.normalTime = record.get("normalTime");
|
||||||
main.priority = record.get("priority");
|
main.priority = record.get("priority");
|
||||||
main.ackedTime = record.get("ackTime").$cEncStr;
|
main.ackedTime = record.get("ackTime").$cEncStr;
|
||||||
main.ackState = record.get("ackState").$ordinal;
|
main.ackState = record.get("ackState").$ordinal;
|
||||||
if (_sourceTmp.includes("undefined")) {
|
if (_sourceTmp.includes("undefined")) {
|
||||||
// console.log(main.ackState)
|
// console.log(main.ackState)
|
||||||
main.buildingFloorName_zh = "";
|
main.buildingFloorName_zh = "";
|
||||||
//main.alarmClass = "系統異常";
|
//main.alarmClass = "系統異常";
|
||||||
main.sourceTmp = "";
|
main.sourceTmp = "";
|
||||||
//main.msgText = "";
|
//main.msgText = "";
|
||||||
|
}
|
||||||
|
_result.data.push(main);
|
||||||
|
_index++;
|
||||||
}
|
}
|
||||||
_result.data.push(main);
|
|
||||||
_index++;
|
|
||||||
},
|
},
|
||||||
after: function () {
|
after: function () {
|
||||||
_result.count = _index;
|
_result.count = _index;
|
||||||
@ -943,14 +946,14 @@ function getDeviceAlarmCardByBaja(
|
|||||||
require(["baja!"], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
baja.Ord.make(
|
baja.Ord.make(
|
||||||
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
"local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime where " +
|
||||||
startUrl +
|
startUrl +
|
||||||
"timestamp.millis <= " +
|
"timestamp.millis <= " +
|
||||||
endDate_millisecond +
|
endDate_millisecond +
|
||||||
" and sourceState " +
|
" and sourceState " +
|
||||||
_recoverState +
|
_recoverState +
|
||||||
" and ackState " +
|
" and ackState " +
|
||||||
_ackState +
|
_ackState +
|
||||||
" order by timestamp desc"
|
" order by timestamp desc"
|
||||||
)
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
|
@ -42,40 +42,42 @@ function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millise
|
|||||||
require(['baja!'], function (baja) {
|
require(['baja!'], function (baja) {
|
||||||
console.log('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond);
|
console.log('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond);
|
||||||
baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
|
baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
|
||||||
.then(function (table) {
|
.then(function (table) {
|
||||||
return table.cursor({
|
$(loadEle).Loading("start");
|
||||||
each: function (record) {
|
return table.cursor({
|
||||||
console.log(record.get('timestamp'))
|
each: function (record) {
|
||||||
// if (_index == 0)
|
console.log(record.get('timestamp'))
|
||||||
// _ss += '{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
|
// if (_index == 0)
|
||||||
// + '"}';
|
// _ss += '{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
|
||||||
// else
|
// + '"}';
|
||||||
// _ss += ',{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
|
// else
|
||||||
// + '"}';
|
// _ss += ',{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
|
||||||
_ss.push({deviceName:deviceName, value:record.get('value'), timestamp:record.get('timestamp').$cEncStr
|
// + '"}';
|
||||||
});
|
_ss.push({deviceName:deviceName, value:record.get('value'), timestamp:record.get('timestamp').$cEncStr
|
||||||
_index++;
|
|
||||||
},
|
|
||||||
after: function () {
|
|
||||||
_result={count: _index, data: _ss}
|
|
||||||
// _result += '{' + '"count": ' + _index + ', "data":[';
|
|
||||||
// _result += _ss;
|
|
||||||
// _result += ']}';
|
|
||||||
if (typeof callback === 'function') {
|
|
||||||
// console.log(_result)
|
|
||||||
_result = JSON.stringify(_result)
|
|
||||||
callback(_result);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
limit: -1,
|
|
||||||
offset: 0
|
|
||||||
});
|
});
|
||||||
})
|
_index++;
|
||||||
.catch(()=>{
|
},
|
||||||
console.log("error");
|
after: function () {
|
||||||
// const res = JSON.stringify({count:0, data:[]})
|
$(loadEle).Loading("close");
|
||||||
callback()
|
_result={count: _index, data: _ss}
|
||||||
|
// _result += '{' + '"count": ' + _index + ', "data":[';
|
||||||
|
// _result += _ss;
|
||||||
|
// _result += ']}';
|
||||||
|
if (typeof callback === 'function') {
|
||||||
|
// console.log(_result)
|
||||||
|
_result = JSON.stringify(_result)
|
||||||
|
callback(_result);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
limit: -1,
|
||||||
|
offset: 0
|
||||||
});
|
});
|
||||||
|
})
|
||||||
|
.catch(()=>{
|
||||||
|
console.log("error");
|
||||||
|
// const res = JSON.stringify({count:0, data:[]})
|
||||||
|
callback()
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,10 +35,15 @@ class YourTeamNavbar {
|
|||||||
this.element = option.element;
|
this.element = option.element;
|
||||||
this.type = option.type ?? "left";
|
this.type = option.type ?? "left";
|
||||||
this.isOpen = false;
|
this.isOpen = false;
|
||||||
|
this.onlyOneOpen = false;
|
||||||
this.init();
|
this.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
init = function () {
|
init = function (option = {}) {
|
||||||
|
// this = Object.assign(option ?? {});
|
||||||
|
Object.keys(option).forEach(k => {
|
||||||
|
this[k] = option[k];
|
||||||
|
});
|
||||||
this.initClose();
|
this.initClose();
|
||||||
this.checkIsOpen();
|
this.checkIsOpen();
|
||||||
$(this.element)[0]._ytNavbar = this;
|
$(this.element)[0]._ytNavbar = this;
|
||||||
@ -115,24 +120,43 @@ class YourTeamNavbar {
|
|||||||
$(this.element).find("[data-nb-node-type=parent]").on("click",this.nbNodeParentOnClick.bind(this))
|
$(this.element).find("[data-nb-node-type=parent]").on("click",this.nbNodeParentOnClick.bind(this))
|
||||||
}
|
}
|
||||||
|
|
||||||
nbNodeParentOnClick(e){
|
closeParentCollapse(ele,isAnimation = true){
|
||||||
if(this.chkNbNodeParentIsOpen(e.target)){
|
$(ele).data("nb-node-status","close").attr("data-nb-node-status","close");
|
||||||
$(e.target).data("nb-node-status","close").attr("data-nb-node-status","close");
|
$(ele).next("ul").css({transform:"translateY(-5%)"});
|
||||||
$(e.target).next("ul").css({transform:"translateY(-5%)"});
|
if(isAnimation){
|
||||||
$(e.target).next("ul").animate({
|
$(ele).next("ul").animate({
|
||||||
opacity:0,
|
opacity:0,
|
||||||
},200, () => {
|
},200, () => {
|
||||||
$(e.target).next("ul").hide();
|
$(ele).next("ul").hide();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$(e.target).data("nb-node-status","open").attr("data-nb-node-status","open");
|
$(ele).next("ul").css({opacity:0}).hide();
|
||||||
$(e.target).next("ul").show();
|
}
|
||||||
$(e.target).next("ul").animate({
|
}
|
||||||
|
|
||||||
|
openParentCollapse(ele){
|
||||||
|
$(ele).data("nb-node-status","open").attr("data-nb-node-status","open");
|
||||||
|
$(ele).next("ul").show();
|
||||||
|
$(ele).next("ul").animate({
|
||||||
opacity:1,
|
opacity:1,
|
||||||
},200)
|
},200)
|
||||||
$(e.target).next("ul").css({transform:"translateY(0%)"});
|
$(ele).next("ul").css({transform:"translateY(0%)"});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
nbNodeParentOnClick(e){
|
||||||
|
if(this.chkNbNodeParentIsOpen(e.target)){
|
||||||
|
|
||||||
|
this.closeParentCollapse(e.target);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if(this.onlyOneOpen === true){
|
||||||
|
this.closeParentCollapse($(this.element).find("[data-nb-node-type=parent]").filter((i,ele) => ele != e.target),false);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.openParentCollapse(e.target)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,9 +164,16 @@ class YourTeamNavbar {
|
|||||||
return $(ele).is("[data-nb-node-status=open]");
|
return $(ele).is("[data-nb-node-status=open]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
openAllCollapse(){
|
||||||
|
$(this.element).find("[data-nb-node-type=parent]").each((i,ele) => {
|
||||||
|
if(!this.chkNbNodeParentIsOpen(ele)){
|
||||||
|
$(this.element).find("[data-nb-node-type=parent]").click();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$.fn.YTNavbar = function (method) {
|
$.fn.YTNavbar = function (method,...arg) {
|
||||||
let nbObj = $(this)[0]._ytNavbar;
|
let nbObj = $(this)[0]._ytNavbar;
|
||||||
let target = $(this).data("target");
|
let target = $(this).data("target");
|
||||||
if (!nbObj && $(target).length != 0) {
|
if (!nbObj && $(target).length != 0) {
|
||||||
@ -156,7 +187,9 @@ $.fn.YTNavbar = function (method) {
|
|||||||
} else if (method == "hide") {
|
} else if (method == "hide") {
|
||||||
nbObj.close();
|
nbObj.close();
|
||||||
} else if (method == "init") {
|
} else if (method == "init") {
|
||||||
nbObj.init();
|
nbObj.init(arg[0]);
|
||||||
|
} else if(method == "openAllCollapse") {
|
||||||
|
nbObj.openAllCollapse();
|
||||||
}
|
}
|
||||||
|
|
||||||
return nbObj;
|
return nbObj;
|
||||||
|
Loading…
Reference in New Issue
Block a user