Commit 9df4e83e authored by yaqizhang's avatar yaqizhang

松原燃气地图首页流量计、压力表添加实时数据

parent b40cfd04
...@@ -63,6 +63,72 @@ ...@@ -63,6 +63,72 @@
<div>报警状态:<span>报警</span></div> <div>报警状态:<span>报警</span></div>
<div>详细信息:<span>管线两端设备压差较大,管线可能泄漏</span></div> <div>详细信息:<span>管线两端设备压差较大,管线可能泄漏</span></div>
</div> --> </div> -->
<template v-if="data.deviceType ==3 || data.deviceType==4">
<div v-if="data.deviceType==3" class="windowwarn-content" style="
border-bottom: 1px solid #e2e2e2;
padding: 10px 0 2px 22px;
height: 150px;padding-bottom: 2px;
">
<el-col :span="11">
<div class="windowwarn">
标况累积量:<span class="standardConditionAccumulation"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
工况累积量:<span class="workingConditionAccumulation"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
剩余量:<span class="residualQuantity"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
标况流量:<span class="standardConditionFlow"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
工况流量:<span class="workingConditionFlow"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
温度:<span class="temperature"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
压力:<span class="pressure"></span>
</div>
</el-col>
<el-col :span="15">
<div class="windowwarn">
上报时间:<span class="reportTime"></span>
</div>
</el-col>
</div>
<div v-if="data.deviceType==4" class="windowwarn-content" style="
border-bottom: 1px solid #e2e2e2;
padding: 10px 0 2px 22px;
height: 45px;padding-bottom: 2px;
">
<el-col :span="11">
<div class="windowwarn">
压力:<span class="pressure"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
上报时间:<span class="reportTime"></span>
</div>
</el-col>
</div>
</template>
<div class="btn"> <div 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>
...@@ -74,6 +140,7 @@ ...@@ -74,6 +140,7 @@
</template> </template>
<script> <script>
import { realtimeData, getData } from "@/api/dataMonitoring/reportData";
import moment from "moment"; import moment from "moment";
//line移入时的的infowindow //line移入时的的infowindow
export default { export default {
...@@ -83,6 +150,22 @@ export default { ...@@ -83,6 +150,22 @@ export default {
data: {}, data: {},
map: null, map: null,
}, },
data(){
return{
deviceId:"",
alarm:{},
}
},
mounted() {
clearInterval(this.data.class.view.deviceTimer);
if (this.data.deviceType == 3 || this.data.deviceType == 4) {
this.getDataid();
this.data.class.view.deviceTimer = setInterval(this.getDataid, 5000);
}
},
methods: { methods: {
moment, moment,
deviceMore() { deviceMore() {
...@@ -95,6 +178,21 @@ export default { ...@@ -95,6 +178,21 @@ export default {
}, },
}); });
}, },
getDataid() {
getData(this.data.deviceId).then(response => {
this.changeValue(response.data)
})
},
changeValue(data) {
const keyArr = Object.keys(data);
keyArr.forEach((item) => {
const dom = document.getElementsByClassName(item)[0];
if (dom) {s
dom.innerHTML = data[item];
}
})
},
close() { close() {
this.map.clearInfoWindow(); this.map.clearInfoWindow();
this.data.class.view.domAllShow() this.data.class.view.domAllShow()
...@@ -104,9 +202,18 @@ export default { ...@@ -104,9 +202,18 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.windowwarn-content{
div{
font-size: 14px;
font-wwight: 400;
.windowwarn{
margin-bottom: 7px;
}
}
}
.wrapper { .wrapper {
width: 406px; width: 406px;
max-height: 430px; max-height: 600px;
// background: #fff; // background: #fff;
border-radius: 4px; border-radius: 4px;
background: rgba(7, 29, 51, 0.9); background: rgba(7, 29, 51, 0.9);
......
...@@ -72,34 +72,100 @@ ...@@ -72,34 +72,100 @@
工单编号:<span>{{ data.orderId }}</span> 工单编号:<span>{{ data.orderId }}</span>
</div> </div>
</div> </div>
<template v-if="data.deviceType ==3 || data.deviceType==4">
<div v-if="data.deviceType==3" class="windowwarn-content" style="
border-bottom: 1px solid #e2e2e2;
padding: 10px 0 2px 22px;
height: 150px;padding-bottom: 2px;
">
<el-col :span="11">
<div class="windowwarn">
标况累积量:<span class="standardConditionAccumulation"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
工况累积量:<span class="workingConditionAccumulation"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
剩余量:<span class="residualQuantity"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
标况流量:<span class="standardConditionFlow"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
工况流量:<span class="workingConditionFlow"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
温度:<span class="temperature"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
压力:<span class="pressure"></span>
</div>
</el-col>
<el-col :span="15">
<div class="windowwarn">
上报时间:<span class="reportTime"></span>
</div>
</el-col>
</div>
<div v-if="data.deviceType==4" class="windowwarn-content" style="
border-bottom: 1px solid #e2e2e2;
padding: 10px 0 2px 22px;
height: 45px;padding-bottom: 2px;
">
<el-col :span="11">
<div class="windowwarn">
压力:<span class="pressure"></span>
</div>
</el-col>
<el-col :span="11">
<div class="windowwarn">
上报时间:<span class="reportTime"></span>
</div>
</el-col>
</div>
</template>
<div class="btn"> <div 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>
</span> </span>
<span v-if="orderId" @mousedown.stop="createWork"> <span v-if="orderId" @mousedown.stop="createWork">
<el-button <el-button v-if="title == '压力表' || title == '流量计'" class="elbtn" type="primary">生成工单</el-button>
v-if="title == '压力表' || title == '流量计'"
class="elbtn"
type="primary"
>生成工单</el-button
>
</span> </span>
<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>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"; import { realtimeData, getData } from "@/api/dataMonitoring/reportData";
//line移入时的的infowindow import moment from "moment";
export default { //line移入时的的infowindow
export default {
props: { props: {
obj: { typs: Object }, obj: { typs: Object },
title: "", title: "",
data: {}, data: {},
// realtime:{},
map: null, map: null,
}, },
data() { data() {
...@@ -112,6 +178,15 @@ export default { ...@@ -112,6 +178,15 @@ export default {
}, },
}; };
}, },
mounted() {
clearInterval(this.data.view.deviceTimer);
if (this.data.deviceType == 3 || this.data.deviceType == 4) {
this.getDataid();
this.data.view.deviceTimer = setInterval(this.getDataid, 5000);
}
},
computed: { computed: {
orderId() { orderId() {
// 如果已经生成过工单,就不能再次生成了 // 如果已经生成过工单,就不能再次生成了
...@@ -122,6 +197,21 @@ export default { ...@@ -122,6 +197,21 @@ export default {
}, },
methods: { methods: {
moment, moment,
getDataid() {
getData(this.data.deviceId).then(response => {
this.changeValue(response.data)
})
},
changeValue(data) {
const keyArr = Object.keys(data);
keyArr.forEach((item) => {
const dom = document.getElementsByClassName(item)[0];
if (dom) {
dom.innerHTML = data[item];
}
})
},
createWork() { createWork() {
// 控制外层弹框 // 控制外层弹框
// console.log(this.data.view.$refs.CreateWork); // console.log(this.data.view.$refs.CreateWork);
...@@ -169,21 +259,40 @@ export default { ...@@ -169,21 +259,40 @@ export default {
}, },
}); });
}, },
changeA() {
}
}, },
beforeDestroy() { beforeDestroy() {
// this.data.view.createWorkOpen = false; // this.data.view.createWorkOpen = false;
console.log("清空卸载")
}, },
};
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wrapper { .windowwarn-content{
div{
font-size: 14px;
font-wwight: 400;
.windowwarn{
margin-bottom: 7px;
}
}
}
.wrapper {
width: 406px; width: 406px;
max-height: 500px; max-height: 600px;
// background: #fff; // background: #fff;
background: rgba(7, 29, 51, 0.9); background: rgba(7, 29, 51, 0.9);
color: #fff; color: #fff;
border-radius: 4px; border-radius: 4px;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
// overflow: hidden; // overflow: hidden;
.top { .top {
width: 100%; width: 100%;
...@@ -192,6 +301,7 @@ export default { ...@@ -192,6 +301,7 @@ export default {
background-image: url(../../assets/images/redTopBg.png); background-image: url(../../assets/images/redTopBg.png);
background-size: 100% 100%; background-size: 100% 100%;
background-position: center; background-position: center;
&:before { &:before {
content: ""; content: "";
position: absolute; position: absolute;
...@@ -202,22 +312,27 @@ export default { ...@@ -202,22 +312,27 @@ export default {
height: 33px; height: 33px;
background-image: url(../../assets/images/redLeftTriangle.png); background-image: url(../../assets/images/redLeftTriangle.png);
} }
.text { .text {
font-weight: 600; font-weight: 600;
font-size: 16px; font-size: 16px;
color: #ffffff; color: #ffffff;
line-height: 51px; line-height: 51px;
} }
.left { .left {
padding-left: 22px; padding-left: 22px;
} }
.right { .right {
padding-right: 22px; padding-right: 22px;
img { img {
cursor: pointer; cursor: pointer;
} }
} }
} }
.content { .content {
position: relative; position: relative;
max-height: 300px; max-height: 300px;
...@@ -225,22 +340,27 @@ export default { ...@@ -225,22 +340,27 @@ export default {
overflow-y: auto; overflow-y: auto;
padding-bottom: 2px; padding-bottom: 2px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.eq-content { .eq-content {
// min-height: 156px; // min-height: 156px;
box-sizing: border-box; box-sizing: border-box;
padding: 13px 22px 0px 22px; padding: 13px 22px 0px 22px;
// border-bottom: 1px solid #e2e2e2; // border-bottom: 1px solid #e2e2e2;
.text-wrapper { .text-wrapper {
padding-top: 1px; padding-top: 1px;
& > div {
&>div {
margin-bottom: 6px; margin-bottom: 6px;
} }
.eq-text { .eq-text {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
opacity: 1; opacity: 1;
& > span {
&>span {
vertical-align: top; vertical-align: top;
display: inline-block; display: inline-block;
// white-space: nowrap; // white-space: nowrap;
...@@ -251,9 +371,11 @@ export default { ...@@ -251,9 +371,11 @@ export default {
} }
} }
} }
.pic { .pic {
width: 180px; width: 180px;
height: 103px; height: 103px;
// background-color: black; // background-color: black;
img { img {
width: 100%; width: 100%;
...@@ -272,11 +394,13 @@ export default { ...@@ -272,11 +394,13 @@ export default {
// padding-bottom: 10px; // padding-bottom: 10px;
// padding-top: 16px; // padding-top: 16px;
box-sizing: border-box; box-sizing: border-box;
// border-bottom: 1px solid #e2e2e2; // border-bottom: 1px solid #e2e2e2;
& > div { &>div {
margin-bottom: 8px; margin-bottom: 8px;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
span { span {
vertical-align: top; vertical-align: top;
display: inline-block; display: inline-block;
...@@ -285,24 +409,29 @@ export default { ...@@ -285,24 +409,29 @@ export default {
} }
} }
} }
.warn-wrapper { .warn-wrapper {
.warn-content { .warn-content {
box-sizing: border-box; box-sizing: border-box;
padding: 10px 0 2px 22px; padding: 10px 0 2px 22px;
border-bottom: 1px solid #e2e2e2; border-bottom: 1px solid #e2e2e2;
color: #fe5966; color: #fe5966;
& > div {
&>div {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
margin-bottom: 8px; margin-bottom: 8px;
} }
} }
.btn { .btn {
padding: 16px 0; padding: 16px 0;
text-align: center; text-align: center;
span { span {
display: inline-block; display: inline-block;
padding: 0 10px; padding: 0 10px;
.elbtn { .elbtn {
background-color: #053b6a; background-color: #053b6a;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
...@@ -313,12 +442,12 @@ export default { ...@@ -313,12 +442,12 @@ export default {
} }
} }
} }
} }
.wrapperEditorPage { .wrapperEditorPage {}
}
.display-default { .display-default {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
</style> </style>
\ No newline at end of file
...@@ -469,6 +469,9 @@ export default { ...@@ -469,6 +469,9 @@ export default {
//抽屉是否收回 //抽屉是否收回
backFlag: true, backFlag: true,
mapStyle: true, mapStyle: true,
// 设备轮询用的定时器
deviceTimer:null,
}; };
}, },
created() { created() {
......
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