212 lines
4.7 KiB
Vue
Raw Normal View History

2022-10-17 10:13:22 +08:00
<template>
<Card title="设备监控">
<div class="devices">
2022-12-14 18:31:34 +08:00
<div class="">
<div class="flex between devList">
<div v-for="(item, index) in devList" :key="index" @click="selectDev(item.val,index)" class="devItem">
<span :class="selectDevVal==item.val?'that_class':''" >
{{ item.tit }}
</span>
</div>
</div>
</div>
<vue-scroll style="height:calc(100% - 52px)">
2022-12-21 09:38:25 +08:00
<!-- 摄像 -->
<videoItemList :list="viewlist" v-if="(devindex==0)"></videoItemList>
2022-12-14 18:31:34 +08:00
<!-- ai设备 -->
2022-12-21 09:38:25 +08:00
<aiDev v-if="devindex==2" :list="viewlist"></aiDev>
2022-12-14 18:31:34 +08:00
<!-- 电箱 -->
2022-12-21 09:38:25 +08:00
<electrical :list="viewlist" v-if="(devindex==3)"></electrical>
2022-12-14 18:31:34 +08:00
<!-- 绿色设备 -->
2022-12-21 09:38:25 +08:00
<environmentDevList :list="viewlist" v-if="(devindex==4)"></environmentDevList>
2022-12-14 18:31:34 +08:00
<!-- 升降机 -->
2022-12-21 09:38:25 +08:00
<lifterList :list="viewlist" v-if="(devindex==5)"></lifterList>
2022-12-14 18:31:34 +08:00
<!-- 塔吊 -->
2022-12-21 09:38:25 +08:00
<towerList :list="viewlist" v-if="(devindex==6)"></towerList>
2022-12-14 18:31:34 +08:00
<!-- <div class="device" v-for="i in 5" :key="i">
<div class="device-name">空压机{{ i }}</div>
2022-10-17 10:13:22 +08:00
<div class="info">
<img class="image" src="../assets/images/common/bg_kyj.png" />
<div class="detail">
<div class="detail-item green">状态进行中</div>
<div class="detail-item grey">电压10000V</div>
<div class="detail-item orange">电流100A</div>
<div class="detail-item">线缆温度120</div>
<div class="detail-item">环境温度53</div>
<div class="detail-item">漏电流99A</div>
</div>
</div>
2022-12-14 18:31:34 +08:00
</div> -->
2022-10-17 10:13:22 +08:00
</vue-scroll>
</div>
</Card>
</template>
<script>
2022-12-14 18:31:34 +08:00
import { getAllDevApi } from '@/assets/js/api/zhongjianFourth';
import { mapState } from 'vuex';
import aiDev from './rightTopComponents/aiDevList.vue'
import electrical from './rightTopComponents/electrical.vue'
import environmentDevList from './rightTopComponents/environmentDevList.vue'
import lifterList from './rightTopComponents/lifterList.vue'
import towerList from './rightTopComponents/towerList.vue'
import videoItemList from './rightTopComponents/videoItemList.vue'
import Card from '../components/Card.vue';
2022-10-17 10:13:22 +08:00
export default {
2022-12-14 18:31:34 +08:00
components: { Card,aiDev,electrical,environmentDevList,lifterList,towerList,videoItemList},
data() {
return {
viewlist:[],
devList: [
{
2022-12-21 09:38:25 +08:00
tit: '摄像头',
2022-12-14 18:31:34 +08:00
val: 1,
2022-12-21 09:38:25 +08:00
key:'videoItemList'
},
{
tit: 'AI设备',
val: 2,
2022-12-14 18:31:34 +08:00
key:'aiList'
},
{
tit: '车辆',
2022-12-21 09:38:25 +08:00
val: 3,
2022-12-14 18:31:34 +08:00
key:'carList'
},
{
tit: '电箱',
2022-12-21 09:38:25 +08:00
val: 4,
2022-12-14 18:31:34 +08:00
key:'electricalDevList',
},
{
tit: '绿色设备',
2022-12-21 09:38:25 +08:00
val: 5,
2022-12-14 18:31:34 +08:00
key:'environmentDevList',
},
{
tit: '升降机',
2022-12-21 09:38:25 +08:00
val: 6,
2022-12-14 18:31:34 +08:00
key:'lifterList'
},
{
tit: '塔吊',
val: 7,
2022-12-21 09:38:25 +08:00
key:'towerList'
2022-12-14 18:31:34 +08:00
},
2022-12-21 09:38:25 +08:00
2022-12-14 18:31:34 +08:00
],
selectDevVal:1,
devindex:0,
allDevlist:[]
}
},
computed: {
...mapState(['projectSn']),
},
created() {
2022-12-21 09:38:25 +08:00
this.getAllDev();
2022-12-14 18:31:34 +08:00
},
methods: {
selectDev(v,i) {
this.selectDevVal = v;
this.devindex=i;
let key=this.devList[i].key;
this.viewlist=this.allDevlist[key]
},
getAllDev() {
getAllDevApi({ projectSn: this.projectSn }).then(res => {
console.log(res, 'getAllDevApi===========')
this.allDevlist=res.result
2022-12-21 09:38:25 +08:00
let key=this.devList[0].key;
this.viewlist=this.allDevlist[key];
2022-12-14 18:31:34 +08:00
})
}
},
2022-10-17 10:13:22 +08:00
}
</script>
<style lang="less" scoped>
2022-12-14 18:31:34 +08:00
.that_class{
color: #6EE5F0!important;
}
.devList {
width: 100%;
font-size: 14px;
height: 40px;
.devItem {
cursor: pointer;
}
}
.flex {
display: flex;
align-items: center;
}
.between {
justify-content: space-between;
}
.start {
justify-content: flex-start;
}
.wrap {
flex-wrap: wrap;
}
2022-10-17 10:13:22 +08:00
.devices {
padding-left: 20px;
height: 100%;
color: #fff;
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.device {
width: 100%;
height: 176px;
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.device-name {
// margin-top: 20px;
height: 40px;
line-height: 40px;
font-size: 12px;
}
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.info {
height: 22px;
line-height: 22px;
font-size: 12px;
color: #68d8e4;
display: flex;
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.image {
margin-right: 20px;
width: 170px;
height: 140px;
}
}
}
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.green {
color: #46d7b6;
}
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.grey {
color: #9da1aa;
}
2022-12-14 18:31:34 +08:00
2022-10-17 10:13:22 +08:00
.orange {
color: #e7622a;
}
}
</style>