2022-09-09 14:01:25 +08:00

176 lines
4.4 KiB
Vue

<template>
<Card title="环境监测">
<div class="container">
<div class="left list">
<div class="list-item" v-for="(item, key) in leftList" :key="key">
<div class="image">
<img :src="item.image">
</div>
<div class="value">
<div class="number">{{ item.value }}</div>
<span class="unit">{{ item.unit }}</span>
</div>
</div>
</div>
<div class="right list">
<el-row class="list-item" type="flex" justify="space-between" align="middle" v-for="(item, key) in rightList" :key="key">
<el-col :span="6">
<img style="width: 18px;" :src="item.image" />
</el-col>
<el-col :span="8">
<div class="label">{{ item.label }}</div>
</el-col>
<el-col :span="10">
<el-row
class="value"
type="flex"
justify="center"
align="middle"
:style="{ color: item.color, backgroundImage: `url('${item.valueBackgroundImage}')` }"
>
<span class="number">{{ item.value }}</span>
<span class="unit">{{ item.unit }}</span>
</el-row>
</el-col>
</el-row>
</div>
</div>
</Card>
</template>
<script>
import Card from '../components/Card'
export default {
components: { Card },
data() {
return {
// 左边的列表
leftList: {
'PM2.5': { label: 'PM2.5', value: 68, unit: 'μg/m³', image: require('../assets/images/command-center/icon-pm25.png'), },
PM10: { label: 'PM10', value: 36, unit: 'μg/m³', image: require('../assets/images/command-center/icon-pm10.png') },
噪音: { label: '噪音', value: 13, unit: '%dB', image: require('../assets/images/command-center/icon-noise.png') }
},
// 右边的列表
rightList: {
temperature: { label: '温度', value: 22, unit: '℃', image: require('../assets/images/command-center/icon-temperature.png') },
humidity: { label: '湿度', value: 16, unit: 'RH', image: require('../assets/images/command-center/icon-humidity.png') },
windSpeed: {
label: '风速',
value: 60,
unit: 'km/h',
image: require('../assets/images/command-center/icon-windSpeed.png'),
color: '#f66629',
valueBackgroundImage: require('../assets/images/command-center/block3.png')
},
windDirection: {
label: '风向',
value: '东南',
unit: '风',
image: require('../assets/images/command-center/icon-windDirection.png')
},
barometricPressure: {
label: '大气压',
value: 101,
unit: 'KPa',
image: require('../assets/images/command-center/icon-barometricPressure.png')
}
}
}
},
methods: {}
}
</script>
<style lang="less" scoped>
.container {
box-sizing: border-box;
display: flex;
padding: 16px;
width: 100%;
height: 100%;
.left,
.right {
width: 50%;
height: 100%;
}
.left.list {
display: flex;
flex-direction: column;
justify-content: space-between;
.list-item {
display: flex;
justify-content: space-between;
height: calc(100% / 3.5);
.image {
width: 18px;
margin-right: 20px;
}
.label {
box-sizing: border-box;
display: grid;
place-items: center;
padding: 0 5px;
width: 55px;
height: 20px;
box-sizing: border-box;
letter-spacing: 1px;
}
.value {
box-sizing: border-box;
padding-right: 20px;
flex: 1;
display: flex;
justify-content: space-between;
align-items: center;
.number {
display: grid;
place-items: center;
width: 77px;
height: 44px;
font-size: 30px;
background-image: url('../assets/images/command-center/block2.png');
}
.unit {
font-size: 18px;
color: #b2b4be;
font-weight: bold;
}
}
}
}
.right.list {
display: flex;
flex-direction: column;
justify-content: space-between;
.el-row.value {
width: 65px;
height: 21px;
.number {
margin-right: 5px;
}
}
}
}
::v-deep .el-col {
display: grid;
place-items: center;
}
</style>