fayuanjiangbei/src/main.js

343 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
import Plugin from 'v-fit-columns';
Vue.use(Plugin);
import * as echarts from 'echarts'
import 'echarts-gl'
Vue.prototype.$echarts = echarts
import moment from 'moment'
//定义一个全局过滤器实现日期格式化
Vue.filter('datefmt', function (input, fmtstring) {//当input为时间戳时需转为Number类型
// 使用momentjs这个日期格式化类库实现日期的格式化功能
return moment(input).format(fmtstring);
});
Vue.prototype.$moment = moment
import 'amfe-flexible'; //引入amfe-flexible做rem适配
import './assets/index.css';
import mqttConfig from './utils/mqttConfig.js';
Vue.config.productionTip = false
//mqtt订阅
var currentTopics = null;
var client = null; //mqtt客户端连接
var callback = null; //回调
let mqtt = new mqttConfig(currentTopics); // 初始化mqtt
//订阅mqtt
window.PubScribe = function (topic, _callback,) {
callback = _callback;
if (currentTopics != null) {
//取消currentTopics主题订阅
if (client != null) {
client.unsubscribe(currentTopics);
currentTopics = null;
}
}
if (client == null) {
client = mqtt.createConnect(() => {
//客户端订阅主题
client.subscribe(['FirstLevel','SecondLevel','ThirdLevel'], {
qos: 0
}, (err) => {
if (!err) {
//console.log("订阅成功0", ['FirstLevel','SecondLevel','ThirdLevel']);
} else {
//console.log('订阅失败');
}
});
client.on("message", (topic, message) => {
//数据分类
try {
callback(topic, message);
} catch (error) {
}
});
});
} else {
// if (topic != null) {
// console.log("topic", topic)
// currentTopics = topic;
// client.subscribe(currentTopics, {
// qos: 0
// }, (err) => {
// if (!err) {
// console.log("订阅成功1");
// } else {
// console.log('消息订阅失败!')
// }
// });
// }
}
}
window.PubScribe(null,realInfo);
window.alarmAllLevel = []
window.alarmFirstLevel = []
window.alarmSecondLevel = []
window.alarmThirdLevel = []
// window.mouseOver = function (c) {
// console.log("c",c);
// }
// window.mouseOver("移入");
// window["mouseOver"] = (c) => {
// // alert("goPage:"+b);
// console.log("移入");
// };
// window["mouseLeave"] = (d) => {
// // alert("goPage:"+b);
// console.log("移出");
// };
function realInfo(topic, message) {
switch (topic) {
// 接收托片
case "FirstLevel":
try {
// window.alarmFirstLevel= []
const utf8decoder = new TextDecoder();
const u8arr = new Uint8Array(message);
const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串
const msg = JSON.parse(temp); //这一步报错则返回的是二进制流图片不报错则返回的是JSON的错误提示数据
console.log("msg",msg)
for (let i = 0; i < msg.length; i++) {
window.alarmFirstLevel.splice(0,window.alarmFirstLevel.length);
window.alarmFirstLevel.push(msg[i])
getWarning1(msg[i].DeviceName)
getWarningData1(msg[i].DeviceName,msg[i].DeviceId)
}
// window.alarmFirstLevel= msg
// alarmAllLevel
//消防,电梯、动环系统
} catch (error) {}
break;
case "SecondLevel":
try {
const utf8decoder = new TextDecoder();
const u8arr = new Uint8Array(message);
const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串
const msg = JSON.parse(temp); //这一步报错则返回的是二进制流图片不报错则返回的是JSON的错误提示数据
for (let i = 0; i < msg.length; i++) {
window.alarmSecondLevel.splice(0,window.alarmSecondLevel.length);
window.alarmSecondLevel.push(msg[i])
}
} catch (error) {}
break;
case "ThirdLevel":
try {
const utf8decoder = new TextDecoder();
const u8arr = new Uint8Array(message);
const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串
const msg = JSON.parse(temp); //这一步报错则返回的是二进制流图片不报错则返回的是JSON的错误提示数据
for (let i = 0; i < msg.length; i++) {
window.alarmThirdLevel.splice(0,window.alarmThirdLevel.length);
window.alarmThirdLevel.push(msg[i])
window.getsecurity(msg[i].Remark1)
// window.changeBtnSecurity(msg[i].DeviceSubtype)
}
} catch (error) {}
break;
}
}
//消防联动
function getWarning1 (name) {
var newName = ''
if (name.indexOf("法院一层") != -1) {
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("自助立案") != -1 ||
name.indexOf("门厅") != -1 ||
name.indexOf("展厅") != -1
) {
newName = "消防联动,主楼一层,公共区"
window.getWarning(newName);
// console.log("消防联动,主楼一层,公共区");
} else {
// console.log("消防联动,主楼一层,办公区");
newName = "消防联动,主楼一层,办公区"
window.getWarning(newName);
}
} else if (name.indexOf("法院四层") != -1) {
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("自助立案") != -1
) {
newName = "消防联动,主楼四层,公共区"
window.getWarning(newName);
// console.log("消防联动,主楼四层,公共区");
} else {
// console.log("消防联动,主楼四层,办公区");
newName = "消防联动,主楼四层,办公区"
window.getWarning(newName);
}
} else if (name.indexOf("法院二层") != -1) {
//console.log("消防联动 主楼二层");
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("自助立案") != -1
) {
newName = "消防联动,主楼二层,公共区"
window.getWarning(newName);
//console.log("消防联动,主楼二层,公共区");
} else {
// console.log("消防联动,主楼二层,办公区");
newName = "消防联动,主楼二层,办公区"
window.getWarning(newName);
}
} else if (name.indexOf("法院三层") != -1) {
// console.log("消防联动 主楼三层");
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("自助立案") != -1
) {
newName = "消防联动,主楼三层,公共区"
window.getWarning(newName);
} else {
// console.log("消防联动,主楼三层,办公区");
newName = "消防联动,主楼三层,办公区"
window.getWarning(newName);
}
} else if (name.indexOf("辅楼1层") != -1) {
console.log("消防联动 辅楼一层",name);
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("自助立案") != -1
) {
newName = "消防联动,辅楼一层,公共区"
window.getWarning(newName);
console.log("消防联动,辅楼一层,公共区");
//console.log("消防联动,辅楼一层,公共区");
} else {
newName = "消防联动,辅楼一层,办公区"
window.getWarning(newName);
// console.log("消防联动,辅楼一层,办公区");
}
} else if (name.indexOf("辅楼2层") != -1) {
// console.log("消防联动 辅楼二层");
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1
) {
newName = "消防联动,辅楼二层,公共区"
window.getWarning(newName);
// console.log("消防联动,辅楼二层,公共区");
} else {
// console.log("消防联动,辅楼二层,办公区");
newName = "消防联动,辅楼二层,办公区"
window.getWarning(newName);
}
} else if (name.indexOf("辅楼3层") != -1) {
//console.log("消防联动 辅楼三层");
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("电梯") != -1
) {
newName = "消防联动,辅楼三层,公共区"
window.getWarning(newName);
//console.log("消防联动,辅楼三层,公共区");
} else {
newName = "消防联动,辅楼三层,办公区"
window.getWarning(newName);
// console.log("消防联动,辅楼三层,办公区");
}
} else if (name.indexOf("辅楼4层") != -1) {
//console.log("消防联动 辅楼四层");
if (
name.indexOf("走道") != -1 ||
name.indexOf("大厅") != -1 ||
name.indexOf("楼梯") != -1 ||
name.indexOf("电梯") != -1
) {
newName = "消防联动,辅楼四层,公共区"
window.getWarning(newName);
// console.log("消防联动,辅楼四层,公共区");
} else {
// console.log("消防联动,辅楼四层,办公区");
newName = "消防联动,辅楼四层,办公区"
window.getWarning(newName);
}
}
}
//消防报警模型变红
function getWarningData1(name,DeviceId) {
var newNameWarning = ''
if (name.indexOf("法院一层") != -1) {
newNameWarning = "RTU1."+DeviceId+"/"+name
window.getWarningData(newNameWarning);
} else if (name.indexOf("法院四层") != -1) {
newNameWarning = "RTU1."+DeviceId+"/"+name
window.getWarningData(newNameWarning);
} else if (name.indexOf("法院二层") != -1) {
newNameWarning = "RTU1."+DeviceId+"/"+name
window.getWarningData(newNameWarning);
} else if (name.indexOf("法院三层") != -1) {
newNameWarning = "RTU1."+DeviceId+"/"+name
window.getWarningData(newNameWarning);
} else if (name.indexOf("辅楼1层") != -1) {
console.log("name1111",name)
newNameWarning = "辅楼一层,"+"RTU1."+DeviceId+"/辅楼1层2层"+'.'+name.split(".")[1]+'.'+name.split(".")[2]
window.getWarningData(newNameWarning);
} else if (name.indexOf("辅楼2层") != -1) {
newNameWarning = "辅楼二层,"+"RTU1."+DeviceId+"/辅楼1层2层"+'.'+name.split(".")[1]+'.'+name.split(".")[2]
window.getWarningData(newNameWarning);
} else if (name.indexOf("辅楼3层") != -1) {
newNameWarning = "辅楼三层"+"RTU1."+DeviceId+"/辅楼3层4层"+'.'+name.split(".")[1]+'.'+name.split(".")[2]
} else if (name.indexOf("辅楼4层") != -1) {
newNameWarning = "辅楼四层"+"RTU1."+DeviceId+"/辅楼3层4层"+'.'+name.split(".")[1]+'.'+name.split(".")[2]
window.getWarningData(newNameWarning);
}
}
// function getWarning(name) {
// console.log("name",name)
// }
// function getWarningData(name) {
// console.log("name",name)
// }
// function changeBtnSecurity(name) {
// console.log("name",name)
// // window.changeBtnSecurity(name);
// }
// //安防报警
// function getsecurity (name) {
// console.log("name",name)
// }
new Vue({
router,
render: h => h(App)
}).$mount('#app')