-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000") {
+ } else {
+ // pageAct.mainStatus = res.data;
+ pageAct.mainStatus = true;
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ }
+
+ function isShowBuildingInMenu() {
+ let url = baseApiUrl + "/Utility/isShowBuilding";
+
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000") {
+ } else {
+ // pageAct.isShowBuildingInMenu = res.data;
+ pageAct.isShowBuildingInMenu = false;
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ }
+
+ function startPageLoading() {
+ if (!loadingTip) {
+ loadingTip = YT.Alert.Tip("資料讀取中...", "show");
+ }
+ }
+
+ function endPageLoading() {
+ if (loadingTip != null) {
+ $(loadingTip.ele).YTAlert().hide();
+ loadingTip = null;
+ }
+ }
+
+ function iniFroList() {
+ url = baseApiUrl + "/api/GetUsrFroList";
+ let hasMonitor = false;
+
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+ } else {
+ let strHtml = `
`;
+
+ $.each(res.data, function (i, v) {
+ if (v.authCode == "PF1") {
+ strHtml += `
+ `;
+
+ hasMonitor = true;
+ } else {
+ let icon =
+ v.authCode == "PF2"
+ ? "fa-chart-pie"
+ : v.authCode == "PF3"
+ ? "fa-chart-area"
+ : v.authCode == "PF4"
+ ? "fa-chart-line"
+ : v.authCode == "PF5"
+ ? "fa-bell"
+ : v.authCode == "PF6"
+ ? "fa-server"
+ : v.authCode == "PF7"
+ ? "fa-image"
+ : v.authCode == "PF8"
+ ? "fa-user"
+ : "";
+ strHtml += `
`;
+ }
+ });
+
+ $("#froLisPage").html(strHtml);
+
+ // $("#homeBtn").YTNavbar("init");
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ }
+
+ function getSysMonBtnList() {
+ let url = null;
+ let sendData = {};
+ if (pageAct.isShowBuildingInMenu) {
+ url = baseApiUrl + "/api/Device/GetSysMonMainSub";
+ sendData = {};
+ objSendData.Data = sendData;
+ ytAjax = new YourTeam.Ajax(
+ url,
+ objSendData,
+ function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+ } else {
+ $("#sysMonBtnList").html("");
+
+ $.each(res.data, (i, building) => {
+ let li = creEle("li", null, null, null, []);
+ let a = creA(
+ building.building_name,
+ { href: "javascript:;" },
+ [],
+ null,
+ {
+ "nb-node-type": "parent",
+ },
+ ""
+ );
+ a.html(
+ `
${building.building_name
+ }`
+ );
+ li.append(a);
+ let ul = creEle("ul", null, null, null, [
+ "yt-navbar-dropdown",
+ ]);
+ $.each(building.history_Main_Systems, (index, mainSysObj) => {
+ $.each(
+ mainSysObj.history_Sub_systems,
+ (index2, subSysObj) => {
+ let page = "systemMonitor";
+ if (subSysObj.sub_system_tag == "EL") {
+ page = "sysElevator";
+ }
+ // console.log(subSysObj.sub_system_tag)
+ // if (subSysObj.sub_system_tag == "M12") {
+ // page = "sysSensor";
+ // }
+
+ let li2 = creEle("li");
+ let a2 = creA(
+ subSysObj.full_name,
+ { href: "javascript:;" },
+ [],
+ `subSysBtn${subSysObj.sub_system_tag}`,
+ {
+ page: page,
+ tabname: "systemMonitor",
+ "building-tag": buildingTagOnJquery(
+ building.building_tag
+ ),
+ },
+ "topFunBtn"
+ );
+ li2.append(a2);
+ ul.append(li2);
+
+ a2.data("subSysObj", subSysObj);
+ subSysObj.main_system_tag = mainSysObj.main_system_tag;
+ }
+ );
+ });
+ 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);
+ $("#sysMonBtnList").append(li);
+ });
+ $("#sysMonTopBtn").YTNavbar("init", { onlyOneOpen: true });
+
+ $("span[id^=buildTab]")
+ .first()
+ .YTTab("setAndClick", { triggerType: "first" });
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ } else {
+ url = baseApiUrl + "/api/Device/GetMainSub";
+ sendData = {
+ building_tag: pageAct.buiTag,
+ };
+ objSendData.Data = sendData;
+ ytAjax = new YourTeam.Ajax(
+ url,
+ objSendData,
+ function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+ } else {
+ $("#sysMonBtnList").html("");
+
+ $.each(res.data.history_Main_Systems, (index, mainSysObj) => {
+ $.each(
+ mainSysObj.history_Sub_systems,
+ (index2, subSysObj) => {
+ let page = "systemMonitor";
+ if (subSysObj.sub_system_tag == "EL") {
+ page = "sysElevator";
+ }
+ // console.log(subSysObj.sub_system_tag)
+ // if (subSysObj.sub_system_tag == "M12") {
+ // page = "sysSensor";
+ // }
+
+ let li = creEle("li");
+ let a = creA(
+ subSysObj.full_name,
+ { href: "javascript:;" },
+ [],
+ `subSysBtn${subSysObj.sub_system_tag}`,
+ { page: page, tabname: "systemMonitor" },
+ "topFunBtn"
+ );
+ li.append(a);
+
+ a.data("subSysObj", subSysObj);
+ subSysObj.main_system_tag = mainSysObj.main_system_tag;
+ $("#sysMonBtnList").append(li);
+ if (index === 0 && index2 === 0) {
+ pageAct.sysMainTag = mainSysObj.main_system_tag;
+ pageAct.sysSubName = subSysObj.full_name;
+ pageAct.sysSubObj = subSysObj;
+ pageAct.sysSubTag = subSysObj.sub_system_tag;
+ $(`#subSysBtn${subSysObj.sub_system_tag}`).addClass(
+ "active"
+ );
+ }
+ }
+ );
+ });
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ }
+ }
+
+ function getLogo() {
+ url = baseApiUrl + "/api/GetLogo";
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ $("[name=webLogo]").attr("src", baseImgUrl + "/img/" + res.data);
+ },
+ null,
+ "POST"
+ ).send();
+ }
+
+ function getUserInfo() {
+ let url = baseApiUrl + varApiUrl + "getUserFull";
+
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000") {
+ } else {
+ pageAct.userInfo = res.data;
+ let user = res.data;
+ $("#usrName").text(user.full_name);
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ }
+
+ var noticeOptArr = [];
+ function getAlarmFromDB() {
+ let url = baseApiUrl + "/api/AlarmCard";
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+ } else {
+ let datas = res.data;
+ }
+ },
+ null,
+ "POST",
+ true
+ ).send();
+ }
+
+ function getAlarm() {
+ let now = new Date().getTime();
+ let noticeObj = [
+ { title: "異常編號", data: "uuid" },
+ { title: "異常等級", data: "priority" },
+ { title: "異常類別", data: "alarmClass" },
+ { title: "設備名稱", data: "full_name" },
+ { title: "異常訊息", data: "msgText" },
+ ];
+ // 向 niagara 取得告警資料
+ getDeviceAlarmCardByBaja(null, now, false, false, function (bajaDatas) {
+ let datas = bajaDatas.data;
+ let titleHtml = `異常通知`;
+ let notices = [];
+ // 遍歷每個告警資料
+ $.each(datas ?? [], (idx, data) => {
+ if (noticeOptArr.findIndex((x) => x.id == data.uuid) == -1) {
+ // 針對該告警對象的設備,從 allDevices 找出設備名稱
+ datas[idx].full_name = allDevices.filter(
+ (x) => x.device_number == data.devicePath
+ )[0]?.full_name;
+
+ let div1 = creDiv(["col-12"]);
+ let button = creBtn(
+ "確認",
+ "noticeChkBtn",
+ null,
+ ["btn btn-sm btn-secondary ml-auto col-4"],
+ { uuid: data.uuid }
+ );
+ let btnDiv = creDiv(["d-flex m-0 gap-5 mt-2"]);
+ btnDiv.append(button);
+ // 繪製 每行告警資訊
+ noticeObj.forEach((notice) => {
+ let div2 = creDiv(["row", "m-0"]);
+ let span1 = creSpan(notice.title + ":", ["m-0"]);
+ if (notice.data === "uuid") {
+ data[notice.data] = data[notice.data].split("-")[0];
+ }
+ span1.append(creSpan(data[notice.data]));
+ div2.append(span1);
+ div1.append(div2);
+ });
+
+ div1.append(btnDiv);
+ // 拚湊 YTNotice 通知套件所需參數
+ let main = {
+ title: titleHtml,
+ content: div1.outerHtml(),
+ type: "warning",
+ id: data.uuid,
+ hasCloseBtn: true,
+ timeText: displayDate(data.timestamp),
+ };
+ noticeOptArr.push(main);
+ notices.push(main);
+ }
+ });
+ if (notices.length != 0) {
+ $("#noticeBlock").YTNotice(
+ "add_many",
+ notices.oSort("id").reverse()
+ );
+ }
+ });
+ }
+
+ function getAllDevice() {
+ let url = baseApiUrl + "/api/Device/GetAllDevice";
+ let result = [];
+
+ ytAjax = new YourTeam.Ajax(
+ url,
+ null,
+ function (res) {
+ if (!res || res.code != "0000" || !res.data) {
+ } else {
+ result = res.data;
+ }
+ },
+ null,
+ "POST"
+ ).send();
+ return result;
+ }
+
+ function loadNoticeConSta() {
+ let noticeStatus = localStorage.getItem("noticeStatus");
+ chaNoticeConSta(noticeStatus ?? "show");
+ }
+
+ function chaNoticeConSta(type = null) {
+ let showText = $("#toggleNoticeBtn #noticeConText").data("show");
+ let hideText = $("#toggleNoticeBtn #noticeConText").data("hide");
+ let iconArr = ["fal fa-comment-slash", "fal fa-comment-dots"];
+ $("#noticeConIcon").removeClass(iconArr[0]).removeClass(iconArr[1]);
+ if (type != null) {
+ if (type == "hide") {
+ setHide();
+ } else if (type == "show") {
+ setShow();
+ }
+ } else {
+ if ($("#noticeBlock").is(":visible")) {
+ setHide();
+ } else if (!$("#noticeBlock").is(":visible")) {
+ setShow();
+ }
+ }
+
+ function setShow() {
+ $("#toggleNoticeBtn").find("#noticeConText").text(hideText);
+ $("#noticeConIcon").addClass(iconArr[0]);
+ $("#noticeBlock").show();
+ $("#noticeBlock").animate({ opacity: 1 }, 200);
+ localStorage.setItem("noticeStatus", "show");
+ }
+
+ function setHide() {
+ $("#toggleNoticeBtn").find("#noticeConText").text(showText);
+ $("#noticeConIcon").addClass(iconArr[1]);
+ $("#noticeBlock").animate({ opacity: 0 }, 200, function () {
+ $("#noticeBlock").hide();
+ });
+ localStorage.setItem("noticeStatus", "hide");
+ }
+ }
+