湖里大屏(数字工地):环境监测联调

This commit is contained in:
Jack 2022-08-13 14:29:18 +08:00
parent da8cf0a27b
commit 12f3291fd6
4 changed files with 68 additions and 37 deletions

View File

@ -20,7 +20,7 @@
<vue-scroll> <vue-scroll>
<div class="list-item" :class="item.devonline == '0' ? 'online' : 'offline'" v-for="(item, i) in list" :key="i"> <div class="list-item" :class="item.devonline == '0' ? 'online' : 'offline'" v-for="(item, i) in list" :key="i">
<div class="status">{{ item.devonline == '0' ? '在线' : '离线' }}</div> <div class="status">{{ item.devonline == '0' ? '在线' : '离线' }}</div>
<div class="label">{{ item.devName }}</div> <div class="label">{{ item.devName || item.deviceName }}</div>
<div class="num" v-if="type === 'waring'">今日报警{{ item.alarmNum }}</div> <div class="num" v-if="type === 'waring'">今日报警{{ item.alarmNum }}</div>
<div class="persons" v-if="type === 'persons'"> <div class="persons" v-if="type === 'persons'">
<div class="person">进场人数67</div> <div class="person">进场人数67</div>
@ -97,6 +97,9 @@ export default {
&.warring2 { &.warring2 {
background-image: url('~@/views/projectAdmin/dataBoard/projectHuScreen/assets/images/icons/i-warring2.png'); background-image: url('~@/views/projectAdmin/dataBoard/projectHuScreen/assets/images/icons/i-warring2.png');
} }
&.online {
background-image: url('~@/views/projectAdmin/dataBoard/projectHuScreen/assets/images/icons/i-online-device.png');
}
&.elevator { &.elevator {
background-image: url('~@/views/projectAdmin/dataBoard/projectHuScreen/assets/images/icons/i-elevator.png'); background-image: url('~@/views/projectAdmin/dataBoard/projectHuScreen/assets/images/icons/i-elevator.png');
} }

View File

@ -18,10 +18,20 @@
</div> </div>
<div class="rightBox"> <div class="rightBox">
<div class="rightTop"> <div class="rightTop">
<rightTop title="升降机设备" :lifterList="lifterList" :totalLifterDev="totalLifterDev" :totalDangerLifterDev="totalDangerLifterDev"></rightTop> <rightTop
title="升降机设备"
:lifterList="lifterList"
:totalLifterDev="totalLifterDev"
:totalDangerLifterDev="totalDangerLifterDev"
></rightTop>
</div> </div>
<div class="rightCenter"> <div class="rightCenter">
<rightCenter title="环境监测"></rightCenter> <rightCenter
title="环境监测"
:onlineNum="environment.online"
:offlineNum="environment.offline"
:list="environment.list"
></rightCenter>
</div> </div>
<div class="rightBottom"> <div class="rightBottom">
<rightBottom title="人脸闸机" :ufaceList="ufaceList"></rightBottom> <rightBottom title="人脸闸机" :ufaceList="ufaceList"></rightBottom>
@ -47,7 +57,7 @@ import {
selectEnvironmentDevAlaramCountList, selectEnvironmentDevAlaramCountList,
getAllTowerDangerInfo, getAllTowerDangerInfo,
getAllLifterDangerInfo, getAllLifterDangerInfo,
getEnvironmentInfo, getEnvironmentInfo
} from '@/assets/js/api/dataBoard' } from '@/assets/js/api/dataBoard'
export default { export default {
components: { components: {
@ -65,24 +75,28 @@ export default {
lifterList: [], // lifterList: [], //
videoCountList: {}, // videoCountList: {}, //
ufaceList: {}, // ufaceList: {}, //
uface:[], uface: [],
ufaceInCount: 0, // ufaceInCount: 0, //
environmentDevList: [], //
dangerAlarmTypeList: [], // dangerAlarmTypeList: [], //
totalDangerAlarmType: 0, totalDangerAlarmType: 0,
totalTowerDev: 0, // totalTowerDev: 0, //
totalDangerTowerDev: 0, // totalDangerTowerDev: 0, //
totalLifterDev: 0, // totalLifterDev: 0, //
totalDangerLifterDev: 0, // totalDangerLifterDev: 0, //
environmentDevNum: 0, //
environmentTotalAlarm: 0, // //
environment: {
online: 0,
offline: 0,
list: []
}
} }
}, },
mounted(){ mounted() {
this.getAlarmInfor(); this.getAlarmInfor()
this.getAllDev(); this.getAllDev()
}, },
methods:{ methods: {
// //
getAlarmInfor() { getAlarmInfor() {
let data = { let data = {
@ -111,8 +125,8 @@ export default {
getEnvironmentInfo(data).then(res => { getEnvironmentInfo(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
let { result } = res let { result } = res
this.environmentDevNum = result.devTotal.devNum this.$set(this.environment, 'offline', result.devTotal.devNum)
this.environmentTotalAlarm = result.alarmTotal.totalAlarm this.$set(this.environment, 'online', result.alarmTotal.totalAlarm)
} }
}) })
// // // //
@ -174,7 +188,7 @@ export default {
// //
selectUfaceDevStatisticsList(data).then(res => { selectUfaceDevStatisticsList(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
console.log('获取人脸闸机设备信息',res) console.log('获取人脸闸机设备信息', res)
this.ufaceList = res.result this.ufaceList = res.result
this.uface = res.result.devList this.uface = res.result.devList
this.uface.forEach(item => { this.uface.forEach(item => {
@ -185,8 +199,7 @@ export default {
// //
selectEnvironmentDevAlaramCountList(data).then(res => { selectEnvironmentDevAlaramCountList(data).then(res => {
if (res.code === 200) { if (res.code === 200) {
console.log(res.result.devList) this.$set(this.environment, 'list', res.result.devList)
this.environmentDevList = res.result.devList
} }
}) })
let data2 = { let data2 = {
@ -201,7 +214,7 @@ export default {
this.totalDangerAlarmType = result.totalAlarmNum this.totalDangerAlarmType = result.totalAlarmNum
} }
}) })
}, }
} }
} }
</script> </script>

View File

@ -1,12 +1,12 @@
<template> <template>
<!-- 环境监测 --> <!-- 环境监测 -->
<Card :title="title"> <Card :title="title">
<div class="airChart"> <!-- <div class="airChart">
<airQulityChart></airQulityChart> <airQulityChart></airQulityChart>
</div> </div>
<div class="counts"> <div class="counts">
<div class="count"> <div class="count">
<!-- <div class="icon"></div> --> <div class="icon"></div>
<img src="@/assets/images/projectImg/dig_one.png" /> <img src="@/assets/images/projectImg/dig_one.png" />
<div class="info"> <div class="info">
<p class="num">PM2.5</p> <p class="num">PM2.5</p>
@ -27,26 +27,42 @@
<p class="label">58dB</p> <p class="label">58dB</p>
</div> </div>
</div> </div>
</div> </div> -->
<CountList
:allCount="{ value: onlineNum, label: '在线设备', img: 'online' }"
:todayCount="{ value: offlineNum, label: '离线设备', img: 'warring2' }"
:list="list"
/>
</Card> </Card>
</template> </template>
<script> <script>
import Card from "../components/Card.vue"; import Card from '../components/Card.vue'
import airQulityChart from "@/views/projectAdmin/dataBoard/homePage/environmentWatch.vue"; import airQulityChart from '@/views/projectAdmin/dataBoard/homePage/environmentWatch.vue'
import CountList from '../components/CountList.vue'
export default { export default {
components: { Card, airQulityChart }, components: { Card, airQulityChart, CountList },
props: { props: {
title: { title: {
type: String, type: String,
default: "default title" default: 'default title'
}
}, },
data() { onlineNum: {
return {}; type: Number,
default: 0
},
offlineNum: {
type: Number,
default: 0
},
list: {
type: Array,
default: () => []
} }
}; }
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@ -62,9 +78,9 @@ export default {
.count { .count {
display: flex; display: flex;
align-items: center; align-items: center;
img{ img {
width:40px; width: 40px;
height:40px; height: 40px;
margin-right: 10px; margin-right: 10px;
margin-bottom: 10px; margin-bottom: 10px;
} }
@ -81,4 +97,3 @@ export default {
} }
} }
</style> </style>

View File

@ -12,8 +12,8 @@
</DeviceCard> --> </DeviceCard> -->
<CountList <CountList
:allCount="{ value: totalTowerDev, label: '升降机设备数', img: 'elevator' }" :allCount="{ value: totalLifterDev, label: '升降机设备数', img: 'elevator' }"
:todayCount="{ value: totalDangerTowerDev, label: '今日报警数', img: 'warring2' }" :todayCount="{ value: totalDangerLifterDev, label: '今日报警数', img: 'warring2' }"
:list="lifterList" :list="lifterList"
/> />
</Card> </Card>