343 lines
12 KiB
JavaScript
343 lines
12 KiB
JavaScript
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')
|