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')