Commit ea9efa47 authored by 耿迪迪's avatar 耿迪迪

Merge branch 'master' of ssh://111.61.77.35:15/gengdidi/gassafety

parents c1e012ed e65747c5
...@@ -59,6 +59,6 @@ export function selectAlarmDevice() { ...@@ -59,6 +59,6 @@ export function selectAlarmDevice() {
return request({ return request({
url: '/dataMonitoring/deviceAlarm/selectAlarmDevice', url: '/dataMonitoring/deviceAlarm/selectAlarmDevice',
method: 'get', method: 'get',
params: query // params: query
}) })
} }
...@@ -118,8 +118,8 @@ ...@@ -118,8 +118,8 @@
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
ref="editForm" ref="editForm"
:model="editForm" :model="editForm"
label-width="135px" label-width="135px"
> >
<el-col> <el-col>
<el-form-item v-show="false" label="管道id" prop="pipeId"> <el-form-item v-show="false" label="管道id" prop="pipeId">
...@@ -144,10 +143,10 @@ ...@@ -144,10 +143,10 @@
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button :loading="okLoading" type="primary" @click="ok" <el-button :loading="okLoading" type="primary" @click="ok"
> </el-button > </el-button
> >
<el-button @click="dialogVisible = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
...@@ -224,14 +223,14 @@ export default { ...@@ -224,14 +223,14 @@ export default {
}, },
}; };
}, },
computed:{ computed: {
myTitle(){ myTitle() {
if(this.editForm.pipeId){ if (this.editForm.pipeId) {
return `修改管道信息` return `修改管道信息`;
}else{ } else {
return `新增管道信息` return `新增管道信息`;
} }
} },
}, },
created() { created() {
console.log("lineData", this.lineData, this.lnglatsArr, this.pipeLength); console.log("lineData", this.lineData, this.lnglatsArr, this.pipeLength);
...@@ -241,7 +240,7 @@ export default { ...@@ -241,7 +240,7 @@ export default {
// 如果是新建的里面天蝎过东西就存档 // 如果是新建的里面天蝎过东西就存档
console.log("内部lineDate", this.target.getExtData()); console.log("内部lineDate", this.target.getExtData());
const { lineData } = this.target.getExtData(); const { lineData } = this.target.getExtData();
console.log(lineData) console.log(lineData);
if (lineData) { if (lineData) {
this.editForm = { ...lineData }; this.editForm = { ...lineData };
} }
......
...@@ -118,8 +118,8 @@ ...@@ -118,8 +118,8 @@
</el-form> </el-form>
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -111,8 +111,8 @@ ...@@ -111,8 +111,8 @@
</el-form> </el-form>
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
</el-form> </el-form>
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
<!-- 报警状态 --> <!-- 报警状态 -->
<div class="warn-wrapper" v-if="true"> <div class="warn-wrapper" v-if="true">
<div class="warn-content"> <div class="warn-content">
<div>报警状态:<span>报警</span></div> <div>报警状态:<span>报警({{alarmType}})</span></div>
<div>详细信息:<span>管线两端设备压差较大,管线可能泄漏</span></div> <div>详细信息:<span>{{alarmValue?alarmValue:"-"}}</span></div>
</div> </div>
<div class="btn"> <div class="btn">
<el-button class="elbtn" type="primary">设备详情</el-button> <el-button class="elbtn" type="primary">设备详情</el-button>
...@@ -95,6 +95,11 @@ export default { ...@@ -95,6 +95,11 @@ export default {
props: { props: {
obj: { typs: Object }, obj: { typs: Object },
}, },
data(){
return {
}
},
created() { created() {
console.log("created", this.obj); console.log("created", this.obj);
}, },
...@@ -103,6 +108,12 @@ export default { ...@@ -103,6 +108,12 @@ export default {
bigImageArr() { bigImageArr() {
return [this.obj.iconUrl]; return [this.obj.iconUrl];
}, },
alarmType(){
return this.obj.polyline.getExtData().lineData.alarmType;
},
alarmValue(){
return this.obj.polyline.getExtData().lineData.alarmValue;
}
}, },
methods: { methods: {
moment, moment,
......
...@@ -63,13 +63,13 @@ ...@@ -63,13 +63,13 @@
<!-- 报警状态 --> <!-- 报警状态 -->
<div class="warn-wrapper" v-if="true"> <div class="warn-wrapper" v-if="true">
<!-- <div class="warn-content"> <div class="warn-content">
<div>报警状态:<span>报警</span></div> <div>报警状态:<span>报警({{data.alarmType}})</span></div>
<div>详细信息:<span>管线两端设备压差较大,管线可能泄漏</span></div> <div>详细信息:<span>{{data.alarmValue?data.alarmValue :"-"}}</span></div>
</div> --> </div>
<div class="btn"> <div class="btn">
<el-button class="elbtn" type="primary">设备详情</el-button> <el-button class="elbtn" type="primary">设备详情</el-button>
<el-button class="elbtn" type="primary">生成工单</el-button> <el-button v-if="title=='压力表'|| title=='流量计' " class="elbtn" type="primary">生成工单</el-button>
</div> </div>
</div> </div>
</div> </div>
......
<template> <template>
<div class="wrapper"> <div class="wrapper">
<span class="left">{{data.userName}}:</span> <span class="left">姓名: {{ data.userName }}</span>
<span class="right">{{data.createTime}}</span> <span class="right">时间: {{ data.createTime }}</span>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props:{ props: {
data:{ data: {
type:Object type: Object,
} },
},
created() {
console.log("data", this.data);
}, },
created(){
console.log("data",this.data)
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wrapper{ .wrapper {
width: 166px; // width: 166px;
height: 54px; height: 54px;
background: #0D4F88; background: #0d4f88;
font-size: 14px; font-size: 14px;
color:#fff; color: #fff;
box-sizing: border-box; box-sizing: border-box;
padding:7px 0px 7px 8px; padding: 7px 7px 7px 8px;
box-shadow: 0 0 20px -5px #0D4F88; box-shadow: 0 0 20px -5px #0d4f88;
border-radius: 4px; border-radius: 4px;
span{ span {
word-break: break-all; word-break: break-all;
display: inline-block; display: block;
vertical-align: top; // vertical-align: top;
&.right{ // &.right {
width:90px; // width: 90px;
padding-left:4px; // padding-left: 4px;
} // }
} }
} }
</style> </style>
\ No newline at end of file
...@@ -62,10 +62,10 @@ ...@@ -62,10 +62,10 @@
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button :loading="okLoading" type="primary" @click="ok" <el-button :loading="okLoading" type="primary" @click="ok"
>确 定 >确 定
</el-button> </el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -184,6 +184,58 @@ export const constantRoutes = [ ...@@ -184,6 +184,58 @@ export const constantRoutes = [
} }
] ]
}, },
{
path: '/realtimeData',
component: Layout,
hidden: true,
children: [
{
path: 'realtimedetail',
component: (resolve) => require(['@/views/dataMonitoring/realtimeData/realtimedetail'], resolve),
name: 'realtimeData-realtimedetail',
meta: { title: '详情' }
}
],
},
{
path: '/realtimeData',
component: Layout,
hidden: true,
children: [
{
path: 'index',
component: (resolve) => require(['@/views/dataMonitoring/realtimeData/index'], resolve),
name: 'index',
meta: { title: '返回' }
}
]
},
{
path: '/reportData',
component: Layout,
hidden: true,
children: [
{
path: 'reportdetail',
component: (resolve) => require(['@/views/dataMonitoring/reportData/reportdetail'], resolve),
name: 'reportData-reportdetail',
meta: { title: '详情' }
}
],
},
{
path: '/reportData',
component: Layout,
hidden: true,
children: [
{
path: 'index',
component: (resolve) => require(['@/views/dataMonitoring/reportData/index'], resolve),
name: 'index',
meta: { title: '返回' }
}
]
},
{ {
path: '/gen', path: '/gen',
component: Layout, component: Layout,
......
...@@ -26,7 +26,6 @@ const mutations = { ...@@ -26,7 +26,6 @@ const mutations = {
}, },
TOGGLE_DEVICE: (state, device) => { TOGGLE_DEVICE: (state, device) => {
state.device = device state.device = device
console.log(123)
}, },
SET_SIZE: (state, size) => { SET_SIZE: (state, size) => {
state.size = size state.size = size
......
...@@ -47,7 +47,7 @@ class gaodeMap { ...@@ -47,7 +47,7 @@ class gaodeMap {
myMap = null; myMap = null;
showInfoWindow = null; showInfoWindow = null;
// 工人轨迹用的窗口 // 工人轨迹用的窗口
markerPassedPolylineInfoWindow=null; markerPassedPolylineInfoWindow = null;
//构造函数中设置中央点默认值 //构造函数中设置中央点默认值
constructor(center) { constructor(center) {
...@@ -216,6 +216,7 @@ class gaodeMap { ...@@ -216,6 +216,7 @@ class gaodeMap {
// // e.target.content = this.getMarketContent(data); // // e.target.content = this.getMarketContent(data);
// }); // });
marker.on("mouseover", e => { marker.on("mouseover", e => {
that.markerType = markerType;
e.target.content = this.getMarketContent(data); e.target.content = this.getMarketContent(data);
infoWindow.setContent(e.target.content); infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition()); infoWindow.open(map, e.target.getPosition());
...@@ -244,10 +245,11 @@ class gaodeMap { ...@@ -244,10 +245,11 @@ class gaodeMap {
DEVICE_TYPE.INSPECTOR != markerType && DEVICE_TYPE.INSPECTOR != markerType &&
DEVICE_TYPE.SMALLINSPECTOR != markerType DEVICE_TYPE.SMALLINSPECTOR != markerType
) { ) {
marker.content = this.getMarketContent(data); // marker.content = this.getMarketContent(data, markerInfoWindow);
marker.on("mouseover", infoOpen); marker.on("mouseover", infoOpen);
marker.on("mouseout", infoClose); marker.on("mouseout", infoClose);
marker.setExtData(data); marker.setExtData(data);
that.deviceType = markerType; that.deviceType = markerType;
let editWindow = that.createInfowindow("编辑"); let editWindow = that.createInfowindow("编辑");
editWindow.fileArr = editWindow.fileArr =
...@@ -325,7 +327,25 @@ class gaodeMap { ...@@ -325,7 +327,25 @@ class gaodeMap {
} }
function infoOpen(e) { function infoOpen(e) {
// 删除克隆出来的线的clonedom if (e.target.getExtData().alarmState == 1) {
that.markerType = e.target.getExtData().deviceType;
// 警告状态这样就要换infowindow
e.target.content = that.getMarketContent(
e.target.getExtData(),
markerInfoWindowWarn
);
} else {
// 初始化为1的时候是没有的,所以需要判断一下
that.markerType =
e.target.getExtData().deviceType + "" == 1
? "2"
: e.target.getExtData().deviceType + "";
console.log(typeof e.target.getExtData().deviceType);
e.target.content = that.getMarketContent(
e.target.getExtData(),
markerInfoWindow
);
}
let options = map.getStatus(); let options = map.getStatus();
options.scrollWheel = false; options.scrollWheel = false;
...@@ -366,8 +386,8 @@ class gaodeMap { ...@@ -366,8 +386,8 @@ class gaodeMap {
* @param data * @param data
* @returns {string} * @returns {string}
*/ */
getMarketContent(data) { getMarketContent(data, markerInfoWindow) {
// let markerInfoWindow = markerInfoWindowWarn; console.log("this.markerType", this.markerType);
switch (this.markerType) { switch (this.markerType) {
case DEVICE_TYPE.REGEULATORBOX: { case DEVICE_TYPE.REGEULATORBOX: {
const dom = createPop(markerInfoWindow, { const dom = createPop(markerInfoWindow, {
...@@ -522,7 +542,13 @@ class gaodeMap { ...@@ -522,7 +542,13 @@ class gaodeMap {
} }
} }
} }
changeMarkIcon(marker,iconUrl){
let icon = new AMap.Icon({
opacity: 0.1,
image: iconUrl
});
marker.setIcon(icon);
}
workerManView(options) { workerManView(options) {
// const {} =options; // const {} =options;
const notice = createPop(workerManView, { const notice = createPop(workerManView, {
...@@ -576,10 +602,11 @@ class gaodeMap { ...@@ -576,10 +602,11 @@ class gaodeMap {
}); });
// removeLineInfoWindow // removeLineInfoWindow
marker.passedPolyline.on("mouseover", e => { marker.passedPolyline.on("mouseover", e => {
const dom = createPop(removeLineInfoWindow, { const dom = createPop(removeLineInfoWindow, {
map:this,marker map: this,
marker
}); });
marker.infoWindow = new AMap.InfoWindow({ marker.infoWindow = new AMap.InfoWindow({
isCustom: true, isCustom: true,
...@@ -594,7 +621,7 @@ class gaodeMap { ...@@ -594,7 +621,7 @@ class gaodeMap {
// e.stopPropagation(); // e.stopPropagation();
// }) // })
this.markerPassedPolylineInfoWindow = infoWindow; this.markerPassedPolylineInfoWindow = marker.infoWindow;
console.log(e.lnglat); console.log(e.lnglat);
}); });
...@@ -670,35 +697,18 @@ class gaodeMap { ...@@ -670,35 +697,18 @@ class gaodeMap {
this.polyLines.push(polyline); this.polyLines.push(polyline);
// 信息窗体 // 信息窗体
const dom = createPop(lineInfoWindow, {
obj: { a: 123, editorPage: true, ...item, polyline }
});
// console.log("domdomdomdomdom",dom)
//console.log("dom", dom.$el);
dom.$el.addEventListener("mouseover", () => {
let options = this.myMap.getStatus();
options.scrollWheel = false;
this.myMap.setStatus(options);
});
dom.$el.addEventListener("mouseout", () => {
let options = this.myMap.getStatus();
options.scrollWheel = true;
this.myMap.setStatus(options);
});
let infoWindow = new AMap.InfoWindow({
isCustom: true,
autoMove: false,
content: dom.$el,
//信息船体偏移量
offset: new AMap.Pixel(0, 0),
anchor: "left-top"
});
this.newLineAddEvent(polyline); this.newLineAddEvent(polyline);
polyline.infoWindow = infoWindow;
//添加事件 //添加事件
polyline.on("mouseover", e => { polyline.on("mouseover", e => {
if (this.lineType == 1) return; if (this.lineType == 1) return;
// 生成infoWindow
let infoWindow;
// 警告状态时
if (e.target.getExtData().lineData.alarmState == 1) {
infoWindow = this.lineMouseOver(polyline, lineInfoWindowWarn, item);
} else {
infoWindow = this.lineMouseOver(polyline, lineInfoWindow, item);
}
infoWindow.open(map, e.lnglat); infoWindow.open(map, e.lnglat);
// 上方导航的高 // 上方导航的高
const topBar = 81; const topBar = 81;
...@@ -741,24 +751,19 @@ class gaodeMap { ...@@ -741,24 +751,19 @@ class gaodeMap {
//console.log("靠下了"); //console.log("靠下了");
Y = -infoWindowHeight - 20; Y = -infoWindowHeight - 20;
} }
polyline.setOptions({ strokeColor: "#FF5A67" }); if (polyline.getExtData().lineData.alarmState == 1) {
polyline.setOptions({ strokeColor: "#ff0000" });
}else{
polyline.setOptions({ strokeColor: "#FF5A67" });
}
console.log ( polyline.getOptions() );
infoWindow.setOffset(new AMap.Pixel(X, Y)); infoWindow.setOffset(new AMap.Pixel(X, Y));
// 这个是为了盖住vue里的东西
// polyline.cloneDom = infoWindow.dom.cloneNode(true);
// polyline.cloneDom.style.top = infoWindow.dom.offsetTop + 80 + "px";
// polyline.cloneDom.style.left = infoWindow.dom.offsetLeft + 100 + "px";
// // 先删除之前的,后增加现在的
// this.removeCloneDom();
// document.body.appendChild(polyline.cloneDom);
// infoWindow.close();
// this.addCloneDome(polyline, infoWindow);
// infoWindow.close();
// 检测是否与底部bottondata碰撞
this.boxCollision(infoWindow.dom); this.boxCollision(infoWindow.dom);
this.showInfoWindow = infoWindow; this.showInfoWindow = infoWindow;
// const // const
}); });
polyline.on("mouseout", e => { polyline.on("mouseout", e => {
if (polyline.getExtData().lineData.alarmState == 1) return;
polyline.setOptions({ strokeColor: "#F7FE38" }); polyline.setOptions({ strokeColor: "#F7FE38" });
// infoWindow.close(); // infoWindow.close();
}); });
...@@ -769,6 +774,31 @@ class gaodeMap { ...@@ -769,6 +774,31 @@ class gaodeMap {
// 缩放地图到合适的视野级别 // 缩放地图到合适的视野级别
// map.setFitView(); // map.setFitView();
} }
lineMouseOver(polyline, lineInfoWindow, item) {
let dom = createPop(lineInfoWindow, {
obj: { a: 123, editorPage: true, ...item, polyline }
});
dom.$el.addEventListener("mouseover", () => {
let options = this.myMap.getStatus();
options.scrollWheel = false;
this.myMap.setStatus(options);
});
dom.$el.addEventListener("mouseout", () => {
let options = this.myMap.getStatus();
options.scrollWheel = true;
this.myMap.setStatus(options);
});
let infoWindow = new AMap.InfoWindow({
isCustom: true,
autoMove: false,
content: dom.$el,
//信息船体偏移量
offset: new AMap.Pixel(0, 0),
anchor: "left-top"
});
polyline.infoWindow = infoWindow;
return infoWindow;
}
// 碰撞检测 // 碰撞检测
boxCollision(infowindowDom) { boxCollision(infowindowDom) {
// gis地图页面的bottomdata组件 // gis地图页面的bottomdata组件
...@@ -828,8 +858,8 @@ class gaodeMap { ...@@ -828,8 +858,8 @@ class gaodeMap {
this.markerInfoWindow && this.markerInfoWindow.close(); this.markerInfoWindow && this.markerInfoWindow.close();
this.workerManInfoWindow && this.workerManInfoWindow.close(); this.workerManInfoWindow && this.workerManInfoWindow.close();
// 工人的轨迹线条用的 // 工人的轨迹线条用的
this.markerPassedPolylineInfoWindow && this.markerPassedPolylineInfoWindow.close(); this.markerPassedPolylineInfoWindow &&
this.markerPassedPolylineInfoWindow.close();
} }
// 关闭转化到vue的dom // 关闭转化到vue的dom
removeCloneDom() { removeCloneDom() {
......
...@@ -178,6 +178,13 @@ ...@@ -178,6 +178,13 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:data:remove']" v-hasPermi="['system:data:remove']"
>删除</el-button> >删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="showDetail(scope.row)"
v-hasPermi="['system:data:export']"
>详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -386,6 +393,15 @@ export default { ...@@ -386,6 +393,15 @@ export default {
} }
}); });
}, },
//详情按钮
showDetail(row) {
this.$router.push({
path: '/realtimeData/realtimedetail',
query:{
orderId : row.orderId
}
}) //带参跳转
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const deviceReportDataIds = row.deviceReportDataId || this.ids; const deviceReportDataIds = row.deviceReportDataId || this.ids;
......
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
</el-table-column> </el-table-column>
<el-table-column label="通讯状态" align="center" prop="communicationStatus" /> <el-table-column label="通讯状态" align="center" prop="communicationStatus" />
<el-table-column label="设备状态" align="center" prop="deviceStatus" /> <el-table-column label="设备状态" align="center" prop="deviceStatus" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
...@@ -178,8 +178,14 @@ ...@@ -178,8 +178,14 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:data:remove']" v-hasPermi="['system:data:remove']"
>删除</el-button> >删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="showDetail(scope.row)"
>详情</el-button>
</template> </template>
</el-table-column> </el-table-column> -->
</el-table> </el-table>
<pagination <pagination
...@@ -366,6 +372,15 @@ export default { ...@@ -366,6 +372,15 @@ export default {
this.title = "修改设备监控"; this.title = "修改设备监控";
}); });
}, },
/** 工单详细信息跳转 */
showDetail(row) {
this.$router.push({
path: '/reportData/reportdetail',
query:{
orderId : row.orderId
}
}) //带参跳转
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="top"> <div class="top">
<span>设备报警最新记录</span> <span>设备报警最新记录</span>
<span @click="repeatClick" class="repeat">刷新</span> <span @click="repeatClick" class="repeat">刷新</span>
<span @click="moreClick" class="more">更多</span> <span @click="moreClick" class="more">更多>></span>
</div> </div>
<div class="bottom right-bottom-data-left"> <div class="bottom right-bottom-data-left">
......
...@@ -110,6 +110,7 @@ import gaodeMap, { ...@@ -110,6 +110,7 @@ import gaodeMap, {
DEVICE_TYPE, DEVICE_TYPE,
mapOperateType, mapOperateType,
} from "utils/gaodeMapView.js"; } from "utils/gaodeMapView.js";
import { selectAlarmDevice } from "@/api/dataMonitoring/deviceAlarm.js";
import { getAllDeviceInfo, countDeviceByType } from "@/api/device/deviceInfo"; import { getAllDeviceInfo, countDeviceByType } from "@/api/device/deviceInfo";
import RightBototmData from "./components/RightBototmData.vue"; import RightBototmData from "./components/RightBototmData.vue";
import { getInspectorLocations } from "@/api/inspectorLocation/location"; import { getInspectorLocations } from "@/api/inspectorLocation/location";
...@@ -190,11 +191,29 @@ export default { ...@@ -190,11 +191,29 @@ export default {
window.addEventListener("mousedown", this.barClose); window.addEventListener("mousedown", this.barClose);
gaoMap.addMouseTool(); gaoMap.addMouseTool();
gaoMap.searchTips("tipinput"); gaoMap.searchTips("tipinput");
this.getDeviceInfo(); // 获取地图上设备资源
this.getPipeList(); this.getResource();
// 右下角数据 // 右下角数据 跟值班人员
this.rightBottomData(); this.rightBottomData();
}, },
// 获取地图上的资源
getResource() {
this.getDeviceInfo()
.then((res) => {
if (res == 200) {
console.log(res);
return this.getPipeList();
}
})
.then((res) => {
if (res == 200) {
console.log("管道", res);
// 获取报警资源
this.getSelectAlarmDevice();
// selectAlarmDevice
}
});
},
// 右下角数据 // 右下角数据
async rightBottomData() { async rightBottomData() {
this.gaoMap.view = this; this.gaoMap.view = this;
...@@ -284,6 +303,120 @@ export default { ...@@ -284,6 +303,120 @@ export default {
this.gaoMap.mapOperateType = "add"; this.gaoMap.mapOperateType = "add";
this.gaoMap.removeMarkerDragg(); this.gaoMap.removeMarkerDragg();
}, },
// 获取报警资源,并且改变图上的状态
getSelectAlarmDevice() {
selectAlarmDevice().then((res) => {
if (res.length > 0) {
console.log("报警设备", res);
this.statusChange(res);
}
});
},
// 遍历设备改变状态 polyLines markers
statusChange(list) {
// 过滤报警管道
const polyLineArr = list.filter((item) => {
return item.deviceType == "0";
});
// 过滤报警的其它设备
const deviceArr = list.filter((item) => {
return item.deviceType != "0";
});
// 管道
if (polyLineArr.length > 0) {
polyLineArr.forEach((item) => {
// 获取循报警设备的id
const { deviceId, alarmType, alarmValue, endTime } = item;
// 获取polyLine
const polyline = this.gaoMap.polyLines.filter((item) => {
const pipeId = item.getExtData().lineData.pipeId;
return deviceId == pipeId;
})[0];
polyline.setOptions({ strokeColor: "#ff0000" });
const options = polyline.getExtData();
// 增加一个报警状态
// 如果有endtime说明状态已经不是报警状态了,要归位,所有东西都要变回来
if (endTime) {
options.lineData.alarmState = 0;
} else {
options.lineData.alarmState = 1;
}
// 报警类型
options.lineData.alarmType = alarmType;
// 报警信息
options.lineData.alarmValue = alarmValue;
polyline.setExtData(options);
});
}
// 其他设备
if (deviceArr.length > 0) {
deviceArr.forEach((item) => {
// 获取循报警设备的id
const { deviceId, alarmType, alarmValue, endTime } = item;
// 获取polyLine
const device = this.gaoMap.markers.filter((item) => {
const id = item.getExtData().deviceId;
return deviceId == id;
})[0];
const options = device.getExtData();
console.log(options);
// 增加一个报警状态
// 如果有endtime说明状态已经不是报警状态了,要归位,所有东西都要变回来
if (endTime) {
options.lineData.alarmState = 0;
} else {
options.lineData.alarmState = 1;
}
// 报警类型
options.alarmType = alarmType;
// 报警信息
options.alarmValue = alarmValue;
device.setExtData(options);
// const imageName = device.getExtData()
// console.log(imageName)
console.log(
"device.getExtData().deviceType============",
device.getExtData().deviceType
);
// 3是流量计 4是压力表
if (device.getExtData().deviceType == 3) {
this.gaoMap.changeMarkIcon(
device,
require(`@/assets/images/lljWran.png`)
);
} else if (device.getExtData().deviceType == 4) {
this.gaoMap.changeMarkIcon(
device,
require(`@/assets/images/ylbWran.png`)
);
}
});
}
this.socket();
},
socket() {
this.ws = new WebSocket("ws://36.148.23.59:8901/gassafety/websocketServer");
// this.ws = new WebSocket(
// "ws://192.168.2.23:8903/gassafety/websocketServer"
// );
this.ws.onopen = (evt) => {
console.log("WebSockets=======gogogog");
this.ws.send("WebSockets!=========================");
};
this.ws.onmessage = (evt) => {
console.log("Received Message: " + evt.data);
// ws.close();
this.statusChange([evt.data]);
};
this.ws.onclose = () => {
console.log("ws协议关闭");
};
// this.ws.onclose = function (evt) {
// console.log("Connection closed.");
// };
},
// 选择新建项目哪个 // 选择新建项目哪个
createChange(e, item) { createChange(e, item) {
...@@ -312,6 +445,7 @@ export default { ...@@ -312,6 +445,7 @@ export default {
// 清空所有正在编辑状态的线 // 清空所有正在编辑状态的线
this.gaoMap.linePolyEditorAllClose(); this.gaoMap.linePolyEditorAllClose();
}, },
// 新建按钮还原 // 新建按钮还原
createReset() { createReset() {
this.iconClass = "icon-create"; this.iconClass = "icon-create";
...@@ -374,7 +508,7 @@ export default { ...@@ -374,7 +508,7 @@ export default {
}, },
getDeviceInfo(queryParams) { getDeviceInfo(queryParams) {
this.loading = true; this.loading = true;
getAllDeviceInfo(queryParams).then((response) => { return getAllDeviceInfo(queryParams).then((response) => {
if (response.code == 200) { if (response.code == 200) {
for (var i = 0; i < response.data.length; i++) { for (var i = 0; i < response.data.length; i++) {
if ("1" == response.data[i].deviceType) { if ("1" == response.data[i].deviceType) {
...@@ -395,14 +529,16 @@ export default { ...@@ -395,14 +529,16 @@ export default {
} }
} }
this.loading = false; this.loading = false;
return response.code;
}); });
}, },
getPipeList(queryParams) { getPipeList(queryParams) {
pipeAllInfoList(queryParams).then((res) => { return pipeAllInfoList(queryParams).then((res) => {
console.log("管道", res); console.log("管道", res);
if (res.code == 200) { if (res.code == 200) {
this.gaoMap.addPolyline(res.data); this.gaoMap.addPolyline(res.data);
} }
return res.code;
}); });
}, },
//值班人员 //值班人员
...@@ -488,6 +624,8 @@ export default { ...@@ -488,6 +624,8 @@ export default {
beforeDestroy() { beforeDestroy() {
console.log("移除window事件"); console.log("移除window事件");
window.removeEventListener("click", this.barClose); window.removeEventListener("click", this.barClose);
// 关闭scoket
this.ws.close();
}, },
}; };
</script> </script>
......
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