256 lines
8.3 KiB
JavaScript
256 lines
8.3 KiB
JavaScript
|
|
$(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();
|
||
|
|
},*/
|
||
|
|
});
|
||
|
|
}
|