Commit 88ce93fd authored by 纪泽龙's avatar 纪泽龙

增加消警功能

parent eaa1ccd3
...@@ -8,7 +8,7 @@ VUE_APP_BASE_API = '/dev-api' ...@@ -8,7 +8,7 @@ VUE_APP_BASE_API = '/dev-api'
VUE_APP_MAP_CENTER = '石家庄' VUE_APP_MAP_CENTER = '石家庄'
#代理地址 #代理地址
VUE_APP_TARGET = 'http://36.148.23.59:8901/gassafety' VUE_APP_TARGET = 'http://192.168.2.28:8903/gassafety'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
/*
* @Author: your name
* @Date: 2021-07-16 10:06:43
* @LastEditTime: 2022-01-18 11:36:15
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /gassafety-web/src/api/enterprise/info.js
*/
import request from '@/utils/request' import request from '@/utils/request'
// 查询企业基本信息列表 // 查询企业基本信息列表
...@@ -51,3 +59,12 @@ export function exportInfo(query) { ...@@ -51,3 +59,12 @@ export function exportInfo(query) {
params: query params: query
}) })
} }
// 消除警报
export function handEliminationAlarm(query) {
return request({
url: 'dataMonitoring/deviceAlarm/handEliminationAlarm',
method: 'get',
params: query
})
}
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
}}</span> }}</span>
</div> </div>
</div> </div>
<div @click.stop="stopPropatation" class="btn"> <div @click.stop="stopPropatation" class="btn">
<span @mousedown.stop="deviceMore"> <span @mousedown.stop="deviceMore">
<el-button class="elbtn" type="primary">设备详情</el-button> <el-button class="elbtn" type="primary">设备详情</el-button>
...@@ -99,6 +100,9 @@ ...@@ -99,6 +100,9 @@
<span v-else @mousedown.stop="checkWork"> <span v-else @mousedown.stop="checkWork">
<el-button class="elbtn" type="primary">查看工单</el-button> <el-button class="elbtn" type="primary">查看工单</el-button>
</span> </span>
<span @click="handelR">
<el-button class="elbtn" type="primary">消警</el-button>
</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -107,12 +111,16 @@ ...@@ -107,12 +111,16 @@
<script> <script>
//line移入时的的infowindow //line移入时的的infowindow
import moment from "moment"; import moment from "moment";
// 消除警报
import { handEliminationAlarm } from "@/api/enterprise/info";
export default { export default {
props: { props: {
obj: { typs: Object }, obj: { typs: Object },
}, },
data() { data() {
return {}; return {
loading:null,
};
}, },
created() { created() {
// console.log("created", this.obj); // console.log("created", this.obj);
...@@ -200,7 +208,34 @@ export default { ...@@ -200,7 +208,34 @@ export default {
}, },
close() { close() {
this.obj.polyline.infoWindow.close(); this.obj.polyline.infoWindow.close();
this.obj.polyline.getExtData().class.view.domAllShow() this.obj.polyline.getExtData().class.view.domAllShow();
},
handelR() {
this.$confirm("是否消除警报")
.then((item) => {
if (item == "confirm") {
this.loading = this.$loading({
lock: true,
text: "Loading",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
handEliminationAlarm({
alarmId: this.obj.alarmId,
}).then((res) => {
if (res.code == 200) {
this.obj.polyline.getExtData().class.closeInfoWindow();
this.loading.close();
}
});
}
})
.catch((item) => {
console.log(item);
this.loading.close();
});
}, },
}, },
}; };
...@@ -242,7 +277,7 @@ export default { ...@@ -242,7 +277,7 @@ export default {
} }
.left { .left {
padding-left: 22px; padding-left: 22px;
width:100%; width: 100%;
overflow: hidden; overflow: hidden;
} }
.right { .right {
......
...@@ -473,9 +473,9 @@ export default { ...@@ -473,9 +473,9 @@ export default {
//抽屉是否收回 //抽屉是否收回
backFlag: true, backFlag: true,
mapStyle: true, mapStyle: true,
// 设备轮询用的定时器 // 设备轮询用的定时器
deviceTimer:null, deviceTimer: null,
}; };
}, },
created() { created() {
...@@ -691,18 +691,26 @@ export default { ...@@ -691,18 +691,26 @@ export default {
// 过滤报警管道 // 过滤报警管道
const polyLineArr = list.filter((item) => { const polyLineArr = list.filter((item) => {
return item.deviceType == "0"; return item.deviceType == "0" || item.deviceType=="管道";
}); });
// 过滤报警的其它设备 // 过滤报警的其它设备
const deviceArr = list.filter((item) => { const deviceArr = list.filter((item) => {
return item.deviceType != "0"; return item.deviceType != "管道" ;
}); });
// 管道 // 管道
console.log("polyLineArr",polyLineArr)
if (polyLineArr.length > 0) { if (polyLineArr.length > 0) {
polyLineArr.forEach((item) => { polyLineArr.forEach((item) => {
// 获取循报警设备的id // 获取循报警设备的id
const { deviceId, orderId, alarmId, alarmType, alarmValue, endTime } = const {
item; deviceId,
orderId,
alarmId,
alarmType,
alarmValue,
endTime,
dealStatus,
} = item;
console.log("endTime", endTime); console.log("endTime", endTime);
// 获取polyLine // 获取polyLine
const polyline = this.gaoMap.polyLines.filter((item) => { const polyline = this.gaoMap.polyLines.filter((item) => {
...@@ -718,35 +726,46 @@ export default { ...@@ -718,35 +726,46 @@ export default {
options.lineData.view = this; options.lineData.view = this;
options.lineData.alarmId = alarmId; options.lineData.alarmId = alarmId;
options.lineData.orderId = orderId; options.lineData.orderId = orderId;
if (endTime) { // dealStatus==4 就是取消报警状态
polyline.setOptions({ strokeColor: "#2EE7E7" }); if (endTime || dealStatus==4) {
// 判断管道颜色
const pipePressureObj = this.gaoMap.polyLines.filter(item=>{
return options.lineData.alarmId == item.getExtData().lineData.alarmId;
})[0];
const {pipePressure} = pipePressureObj.getExtData().lineData;
polyline.setOptions({ strokeColor: lineColor[pipePressure] });
options.lineData.alarmState = 0; options.lineData.alarmState = 0;
options.lineData.dealStatus=4
// 报警类型 // 报警类型
options.lineData.alarmType = null; options.lineData.alarmType = null;
// 报警信息 // 报警信息
options.lineData.alarmValue = null; options.lineData.alarmValue = null;
console.log("管道回复"); console.log("管道");
} else { } else {
// 报警声音 // 报警声音
this.audio(); this.audio();
polyline.setOptions({ strokeColor: "#ff0000" }); polyline.setOptions({ strokeColor: "#ff0000" });
options.lineData.alarmState = 1; options.lineData.alarmState = 1;
// 报警类型 // 报警类型
options.lineData.alarmType = alarmType; options.lineData.alarmType = alarmType;
// 报警信息 // 报警信息
options.lineData.alarmValue = alarmValue; options.lineData.alarmValue = alarmValue;
console.log("管道报警"); console.log("管道报警");
} }
polyline.setExtData(options); polyline.setExtData(options);
console.log("dealStatus",dealStatus)
const myP = this.allList[0].filter((item) => { const myP = this.allList[0].filter((item) => {
console.log(item.selfData.alarmState); console.log(item.selfData.alarmState);
return item.selfData.alarmState; return item.selfData.alarmState || item.selfData.dealStatus ==4;
})[0]; })[0];
// console.log("this.allList[0]", this.allList[0]); // console.log("this.allList[0]", this.allList[0]);
// console.log("myP", myP); // console.log("myP", myP);
// 改变左侧列表的状态(1报警,0,正常) // 改变左侧列表的状态(1报警,0,正常)
myP.alarmState = options.lineData.alarmState; console.log("myP", myP);
if (myP) {
myP.alarmState = options.lineData.alarmState;
}
} }
}); });
} }
...@@ -756,8 +775,15 @@ export default { ...@@ -756,8 +775,15 @@ export default {
if (deviceArr.length > 0) { if (deviceArr.length > 0) {
deviceArr.forEach((item) => { deviceArr.forEach((item) => {
// 获取循报警设备的id // 获取循报警设备的id
const { deviceId, alarmId, alarmType, alarmValue, endTime, orderId } = const {
item; deviceId,
alarmId,
alarmType,
alarmValue,
endTime,
orderId,
dealStatus,
} = item;
// 获取polyLine // 获取polyLine
const device = this.gaoMap.markers.filter((item) => { const device = this.gaoMap.markers.filter((item) => {
const { deviceId: id, troubleId } = item.getExtData(); const { deviceId: id, troubleId } = item.getExtData();
...@@ -771,7 +797,9 @@ export default { ...@@ -771,7 +797,9 @@ export default {
options.view = this; options.view = this;
options.alarmId = alarmId; options.alarmId = alarmId;
options.orderId = orderId; options.orderId = orderId;
if (endTime) { // dealStatus==4 就是取消报警状态
if (endTime || dealStatus == 4) {
options.alarmState = 0; options.alarmState = 0;
// 报警类型 // 报警类型
options.alarmType = null; options.alarmType = null;
...@@ -812,7 +840,7 @@ export default { ...@@ -812,7 +840,7 @@ export default {
// 3是流量计 4是压力表 // 3是流量计 4是压力表
if (device.getExtData().deviceType == 3) { if (device.getExtData().deviceType == 3) {
// 如果有endtime说明已经维护好了 // 如果有endtime说明已经维护好了
if (endTime) { if (endTime || dealStatus == 4) {
this.gaoMap.changeMarkIcon( this.gaoMap.changeMarkIcon(
device, device,
require(`@/assets/images/liuliangji.png`) require(`@/assets/images/liuliangji.png`)
...@@ -824,7 +852,7 @@ export default { ...@@ -824,7 +852,7 @@ export default {
); );
} }
} else if (device.getExtData().deviceType == 4) { } else if (device.getExtData().deviceType == 4) {
if (endTime) { if (endTime || dealStatus == 4) {
this.gaoMap.changeMarkIcon( this.gaoMap.changeMarkIcon(
device, device,
require(`@/assets/images/yalibiao.png`) require(`@/assets/images/yalibiao.png`)
...@@ -848,7 +876,7 @@ export default { ...@@ -848,7 +876,7 @@ export default {
"ws://36.148.23.59:8901/gassafety/websocketServer" "ws://36.148.23.59:8901/gassafety/websocketServer"
); );
// this.ws = new WebSocket( // this.ws = new WebSocket(
// "ws://192.168.2.23:8903/gassafety/websocketServer" // "ws://192.168.2.28:8903/gassafety/websocketServer"
// ); // );
this.ws.onopen = (evt) => { this.ws.onopen = (evt) => {
console.log("WebSockets开启"); console.log("WebSockets开启");
...@@ -858,6 +886,7 @@ export default { ...@@ -858,6 +886,7 @@ export default {
// console.log("Received Message: " + evt.data); // console.log("Received Message: " + evt.data);
// ws.close(); // ws.close();
const obj = JSON.parse(evt.data); const obj = JSON.parse(evt.data);
console.log("接受socketobj", obj);
this.statusChange([obj]); this.statusChange([obj]);
}; };
this.ws.onclose = () => { this.ws.onclose = () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment