jyyhq/witDisplay/js/securityPrevention/securityPrevention.js

256 lines
8.3 KiB
JavaScript
Raw Normal View History

2025-02-10 12:18:11 +08:00
$(function(){
$('#map').load('../../page/svg/svgMap_3D_red.svg',function(){
deviceNum();
})
//接口状态数量
interfaceStatus();
getPortStatusNum();
//设备告警表格
deviceWarnData();
//防区告警表格
defenceWarnData();
})
//根据uuid绑定svg内部的id和每个防区的线条数量
const idMap = new Map([
["83d8402f147a4752b533253a9b8efdcc",4],
["693b822a29c6485c89e20bf2f0361e71",8],
["d9d05050d8c54012b2888eb5c085c63a",4],
["0244961a68cb402a89081ef73947dc9a",12],
["399d97e087a84144a1e5cb41ab32e084",4],
["1de47425c6ff404883ac17b061f4d093",4],
["1de47425c6ff404883ac17b061f4d027",8]
])
function webscoketIndexSvg(strs){
var arr = strs.split(",");//uuid-code-status
for (var i = 0; i < arr.length; i++) {
var lineNum = idMap.get(arr[i].split("-")[0]);//防区线数量
var status = arr[i].split("-")[2];//防区状态
var lineColor = status == 5 ? "#FF3636" : "#23ee63";
if(arr[i].split("-")[1] == 2){
//第七房区
for (var k = 5; k <= 8; k++) {
changColor("a_"+arr[i].split("-")[0] +"_"+ k,lineColor);
}
}else{
//1-6防区
for (var k = 1; k <= lineNum; k++) {
changColor("a_"+arr[i].split("-")[0] +"_"+ k,lineColor);
}
}
}
}
//修改防区线颜色
function changColor(code,lineColor){
var svg = Snap(`#${code}`);
svg.attr({
stroke: lineColor,
});
}
function deviceNum() {
$.ajax({
type: 'POST',
url: dataUrl + 'electronicMap/deviceCount',
data: "",
dataType: 'json',
success: function(res) {
let deviceCount = res.obj.deviceCount;
var Monitoring = parseInt(deviceCount[0].camera)-(parseInt(deviceCount[0].camera1) + parseInt(deviceCount[0].camera2) + parseInt(deviceCount[0].camera3) + parseInt(deviceCount[0].camera4));
$('#map').find('#svg_795').text(parseInt(deviceCount[0].camera1));
$('#map').find('#svg_793').text(parseInt(deviceCount[0].camera2));
$('#map').find('#svg_800').text(parseInt(deviceCount[0].camera3));
$('#map').find('#svg_803').text(Monitoring);
$('#map').find('#svg_783').text(parseInt(deviceCount[0].camera4));
$('#map').find('#svg_801').text(parseInt(deviceCount[1].stand));
$('#map').find('#svg_796').text(parseInt(deviceCount[2].switch));
$('#map').find('#svg_804').text(parseInt(deviceCount[3].firefight-deviceCount[5].firefight3-deviceCount[4].firefight1)); //监控消防栓
$('#map').find('#svg_802').text(parseInt(deviceCount[5].firefight3)); //3号消防栓
$('#map').find('#svg_792').text(parseInt(deviceCount[4].firefight1)); //1号消防栓
}
});
}
/**
* 智慧用电-接口状态数量
*/
function interfaceStatus() {
$.ajax({
type: 'POST',
url: dataUrl + 'electricity/interfaceStatus', // 请求地址
data: "type=2",
dataType: 'json',
success: function(res) {
let interface = res.obj.electricityBean;
document.getElementById('requestNum').innerText = parseInt(interface.requestNum);
document.getElementById('successNum').innerText = parseInt(interface.successNum);
document.getElementById('errorNum').innerText = parseInt(interface.errorNum);
}
});
}
//获取今日告警数量
function getPortStatusNum() {
$.ajax({
type: 'POST',
url: dataUrl + 'securityPrevent/getPortStatusNum', // 请求地址
dataType: 'json', // 服务器返回数据类型
data: "", //获取提交的表单字段
success: function(data) {
var resMsg = data.resMsg;
if ("数据获取成功" === resMsg) {
let fireBeanInfo = data.obj.fireBean;
document.getElementById('openNumToday').innerText = fireBeanInfo.openNumToday;
document.getElementById('openNumThisMonth').innerText = fireBeanInfo.openNumThisMonth;
document.getElementById('openNumThisYear').innerText = fireBeanInfo.openNumThisYear;
}
},
error: function(XMLHttpRequest, textStatus, e) {
// layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {
icon: 16,
scrollbar: false
});
}
});
}
//设备告警表格
function deviceWarnData(){
$.ajax({
type: 'POST',
url: dataUrl + "securityPrevent/getDeviceAlarm",
data: "",
dataType: 'json',
// async:false,
success: function(res) {
deviceWarnList(res.obj);
},
});
}
function deviceWarnList(data){
let equipNum = 6;
if(data.deviceAlarm.length < equipNum){
equipNum = data.deviceAlarm.length;
}
var html = ""
for (var i = 0; i < equipNum; i++) {
html += "<div style='font-size: 12px'>"
html += "<span>" + (i + 1) + "</span>"
// html += "<span>" +data.deviceAlarm[i].deviceName+ "</span>"
html += "<span>" +data.deviceAlarm[i].deviceType+ "</span>"
html += "<span>" +data.deviceAlarm[i].alarmType+ "</span>"
html += "<span>" +data.deviceAlarm[i].alarmTime+ "</span>"
html += "</div>"
}
$(".deviceWarn>.table").append(html)
}
//防区告警表格
function defenceWarnData(){
$.ajax({
type: 'POST',
url: dataUrl + "securityPrevent/getAreaAlarm",
data: "",
dataType: 'json',
// async:false,
success: function(res) {
defenceWarnList(res.obj);
},
});
}
function defenceWarnList(data){
let equipNum = 6;
if(data.areaAlarm.length < equipNum){
equipNum = data.areaAlarm.length;
}
var html = ""
for (var i = 0; i < equipNum; i++) {
html += "<div style='font-size: 12px'>"
html += "<span>" + (i + 1) + "</span>"
html += "<span>" +data.areaAlarm[i].deviceName+ "</span>"
html += "<span>" +data.areaAlarm[i].alarmType+ "</span>"
html += "<span>" +data.areaAlarm[i].alarmTime+ "</span>"
html += "</div>"
}
$(".defenceWarn>.table").append(html)
}
//设备告警详情
function deviceWarnClick(){
var index = layer.open({
title: ['设备告警', 'color: #fff; cursor: move;background: transparent;float: left;'],
type: 2,
closeBtn: 2,
content: '../../page/securityPrevention/child/deviceWarnList.html',
area: ["70%", "96%"],
maxmin: false
/*btn: ['', ''],
success: function (layero, index) {
// localStorage.setItem("subName",params.name);
//var myIframe = window[layero.find('iframe')[0]['name']];
//var fnc = myIframe.setData(params.name); //aaa()为子页面的方法
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// submited.click();
},*/
});
}
//防区告警详情
function defenceWarnClick(){
var index = layer.open({
title: ['防区告警', 'color: #fff; cursor: move;background: transparent;float: left;'],
type: 2,
closeBtn: 2,
content: '../../page/securityPrevention/child/defenceWarnList.html',
area: ["70%", "780px"],
maxmin: false
/*btn: ['', ''],
success: function (layero, index) {
// localStorage.setItem("subName",params.name);
//var myIframe = window[layero.find('iframe')[0]['name']];
//var fnc = myIframe.setData(params.name); //aaa()为子页面的方法
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// submited.click();
},*/
});
}
//接口状态点击
function interfaceStateClick(){
var index = layer.open({
title: ['接口状态','color: #fff'],
type: 2,
closeBtn: 2,
content: '../../page/index/child/interfaceState.html',
area: ["70%", "780px"],
maxmin: false
/*btn: ['', ''],
success: function (layero, index) {
// localStorage.setItem("subName",params.name);
//var myIframe = window[layero.find('iframe')[0]['name']];
//var fnc = myIframe.setData(params.name); //aaa()为子页面的方法
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// submited.click();
},*/
});
}