|
@@ -1,12 +1,15 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="hardware-data">
|
|
<div class="hardware-data">
|
|
|
<!-- 标题 -->
|
|
<!-- 标题 -->
|
|
|
- <div class="module-title">硬件数据</div>
|
|
|
|
|
|
|
+ <div class="module-title">
|
|
|
|
|
+ <img src="@/assets/images/shb.png" class="title-icon" />
|
|
|
|
|
+ 硬件数据
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
<!-- 智能电表部分 -->
|
|
<!-- 智能电表部分 -->
|
|
|
<div class="data-section">
|
|
<div class="data-section">
|
|
|
<div class="device-info">
|
|
<div class="device-info">
|
|
|
- <div class="device-icon electric"></div>
|
|
|
|
|
|
|
+ <img src="@/assets/images/dblxzhb.png" class="title-icon" />
|
|
|
<div>
|
|
<div>
|
|
|
<div class="device-count">8921</div>
|
|
<div class="device-count">8921</div>
|
|
|
<div class="device-name">智能电表</div>
|
|
<div class="device-name">智能电表</div>
|
|
@@ -52,9 +55,11 @@
|
|
|
<!-- 智能水表部分 -->
|
|
<!-- 智能水表部分 -->
|
|
|
<div class="data-section">
|
|
<div class="data-section">
|
|
|
<div class="device-info">
|
|
<div class="device-info">
|
|
|
- <div class="device-icon water"></div>
|
|
|
|
|
- <div class="device-name">智能水表</div>
|
|
|
|
|
- <div class="device-count">8921</div>
|
|
|
|
|
|
|
+ <img src="@/assets/images/zhnmj.png" class="title-icon" />
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="device-count">8921</div>
|
|
|
|
|
+ <div class="device-name">智能水表</div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="data-cards">
|
|
<div class="data-cards">
|
|
|
<div class="data-card">
|
|
<div class="data-card">
|
|
@@ -233,6 +238,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
this.powerChartInstance.setOption(option)
|
|
this.powerChartInstance.setOption(option)
|
|
|
|
|
+ this.powerChartInstance.resize()
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
// 初始化用水量柱状图
|
|
// 初始化用水量柱状图
|
|
@@ -342,6 +348,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
this.waterChartInstance.setOption(option)
|
|
this.waterChartInstance.setOption(option)
|
|
|
|
|
+ this.waterChartInstance.resize()
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
handleResize() {
|
|
handleResize() {
|
|
@@ -362,24 +369,28 @@
|
|
|
.hardware-data {
|
|
.hardware-data {
|
|
|
background: var(--content-bg);
|
|
background: var(--content-bg);
|
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
|
- padding: 20px;
|
|
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
- gap: 20px;
|
|
|
|
|
|
|
+ gap: halfW(20);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.module-title {
|
|
.module-title {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
color: var(--title-primary);
|
|
color: var(--title-primary);
|
|
|
- font-size: 18px;
|
|
|
|
|
|
|
+ font-size: halfW(18);
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
- margin-bottom: 10px;
|
|
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ padding: halfH(4) halfW(10);
|
|
|
|
|
+ background: var(--title-bg);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.data-section {
|
|
.data-section {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
- gap: 20px;
|
|
|
|
|
|
|
+ gap: halfW(16);
|
|
|
|
|
+ padding: halfH(10) halfW(10);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.device-info {
|
|
.device-info {
|
|
@@ -387,60 +398,24 @@
|
|
|
background: var(--title-bg);
|
|
background: var(--title-bg);
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
- gap: 20px;
|
|
|
|
|
|
|
+ gap: halfW(20);
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
border: 1px solid rgba(64, 158, 255, 0.1);
|
|
border: 1px solid rgba(64, 158, 255, 0.1);
|
|
|
- border-radius: 6px;
|
|
|
|
|
- padding: 16px;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon {
|
|
|
|
|
- width: 48px;
|
|
|
|
|
- height: 48px;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon.electric {
|
|
|
|
|
- background: linear-gradient(135deg, #ff8c00 0%, #ffd700 100%);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon.water {
|
|
|
|
|
- background: linear-gradient(135deg, #00bfff 0%, #87ceeb 100%);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon::after {
|
|
|
|
|
- content: "";
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- width: 24px;
|
|
|
|
|
- height: 24px;
|
|
|
|
|
- background-size: contain;
|
|
|
|
|
- background-repeat: no-repeat;
|
|
|
|
|
- background-position: center;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon.electric::after {
|
|
|
|
|
- background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 2C13.1 2 14 .9 14 0H10C10 .9 10.9 2 12 2M15.78 9H14.22L14 12H10L9.78 9H8.22L7.79 14H9.2L9.5 17H14.5L14.8 14H16.21L15.78 9M12 4C10.9 4 10 4.9 10 6S10.9 8 12 8 14 7.1 14 6 13.1 4 12 4Z"/></svg>');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .device-icon.water::after {
|
|
|
|
|
- background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 2C13.1 2 14 .9 14 0H10C10 .9 10.9 2 12 2M12 18.5C11.45 18.5 11 18.05 11 17.5C11 16.95 11.45 16.5 12 16.5C12.55 16.5 13 16.95 13 17.5C13 18.05 12.55 18.5 12 18.5M12 12C9.79 12 8 13.79 8 16H16C16 13.79 14.21 12 12 12M12 4C9.79 4 8 5.79 8 8H16C16 5.79 14.21 4 12 4M3 20V22H13V20H3M16.5 18.21L17.79 16.93L19.5 18.65L23.07 15.07L24.5 16.45L19.5 21.45L16.5 18.21Z"/></svg>');
|
|
|
|
|
|
|
+ border-radius: halfW(6);
|
|
|
|
|
+ padding: halfH(16) halfW(16);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.device-name {
|
|
.device-name {
|
|
|
color: #fea373;
|
|
color: #fea373;
|
|
|
- font-size: 16px;
|
|
|
|
|
|
|
+ font-size: halfW(14);
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.device-count {
|
|
.device-count {
|
|
|
color: #fff;
|
|
color: #fff;
|
|
|
- font-size: 18px;
|
|
|
|
|
|
|
+ font-size: halfW(18);
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
- margin-bottom: 10px;
|
|
|
|
|
|
|
+ margin-bottom: halfH(10);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.data-cards {
|
|
.data-cards {
|
|
@@ -448,11 +423,10 @@
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
- // gap: 20px;
|
|
|
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
|
background: var(--title-bg);
|
|
background: var(--title-bg);
|
|
|
border: 1px solid rgba(64, 158, 255, 0.1);
|
|
border: 1px solid rgba(64, 158, 255, 0.1);
|
|
|
- border-radius: 6px;
|
|
|
|
|
|
|
+ border-radius: halfW(4);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.data-card {
|
|
.data-card {
|
|
@@ -462,7 +436,7 @@
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
border-right: 1px solid rgba(64, 158, 255, 0.3);
|
|
border-right: 1px solid rgba(64, 158, 255, 0.3);
|
|
|
text-align: right;
|
|
text-align: right;
|
|
|
- padding: 10px 20px;
|
|
|
|
|
|
|
+ padding: halfH(10) halfW(20);
|
|
|
&:last-child {
|
|
&:last-child {
|
|
|
border-right: none;
|
|
border-right: none;
|
|
|
}
|
|
}
|
|
@@ -470,20 +444,20 @@
|
|
|
|
|
|
|
|
.data-label {
|
|
.data-label {
|
|
|
color: var(--primary);
|
|
color: var(--primary);
|
|
|
- font-size: 18px;
|
|
|
|
|
|
|
+ font-size: halfW(14);
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.data-value {
|
|
.data-value {
|
|
|
color: #fff;
|
|
color: #fff;
|
|
|
- font-size: 18px;
|
|
|
|
|
|
|
+ font-size: halfW(18);
|
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
|
- margin-bottom: 2px;
|
|
|
|
|
|
|
+ margin-bottom: halfH(2);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.data-unit {
|
|
.data-unit {
|
|
|
color: #fea373;
|
|
color: #fea373;
|
|
|
- font-size: 16px;
|
|
|
|
|
|
|
+ font-size: halfW(14);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* 修改为两个图表容器 */
|
|
/* 修改为两个图表容器 */
|
|
@@ -492,13 +466,11 @@
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
- // min-height: 600px;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.chart-item {
|
|
.chart-item {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
- min-height: 300px;
|
|
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|