-
-
-
-
-
{{ item.label }}
-
- {{ item.value }}
- {{ item.unit }}
-
+
+
+
+
+ {{ option.onlineRate }}%
+
设备在线率
+
+
+
+ {{ option.onlineDevice }} / {{ option.totalDevice }}
+
+
+
+
+
+
{{ item.enterprise }}
+
{{ item.deviceType }}
+
{{ item.deviceName }}
+
{{ item.time }}
@@ -36,60 +54,97 @@ const option = computed(() => props.chartConfig.option)
.go-device-status {
width: 100%;
height: 100%;
- background-color: #0F1C3D;
- padding: 20px;
- box-sizing: border-box;
display: flex;
flex-direction: column;
- align-items: center;
+ background-color: #0F233E;
+ color: #ffffff;
+ padding: 10px;
+ box-sizing: border-box;
- .title {
- font-weight: bold;
- margin-bottom: 20px;
- }
-
- .status-grid {
- width: 100%;
- display: grid;
- grid-template-columns: repeat(2, 1fr);
- grid-gap: 20px;
- }
-
- .status-item {
+ .header {
display: flex;
align-items: center;
- background-color: rgba(26, 56, 90, 0.5);
- border: 1px solid;
- padding: 15px;
- border-radius: 5px;
- }
-
- .item-icon-wrapper {
- width: 50px;
- height: 50px;
- border-radius: 50%;
- background-color: rgba(0, 229, 255, 0.2);
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 15px;
-
- .item-icon {
- font-size: 28px;
- color: #00E5FF;
+ margin-bottom: 10px;
+ .title {
+ display: flex;
+ align-items: center;
+ .title-icon {
+ font-size: 24px;
+ margin-right: 10px;
+ }
}
}
- .item-details {
- .item-label {
- margin-bottom: 5px;
+ .status-section {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+ .online-rate {
+ display: flex;
+ align-items: center;
+ .rate-circle {
+ width: 50px;
+ height: 50px;
+ border: 2px solid #00E5FF;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 10px;
+ .rate-text {
+ color: #00E5FF;
+ font-size: 16px;
+ }
+ }
+ .rate-label {
+ font-size: 14px;
+ }
}
- .item-value {
- span:first-child {
- font-weight: bold;
- margin-right: 5px;
+ .progress-bar {
+ flex: 1;
+ height: 10px;
+ background-color: #1A385A;
+ border-radius: 5px;
+ margin: 0 10px;
+ overflow: hidden;
+ .progress {
+ height: 100%;
+ background-color: #00E5FF;
+ }
+ }
+ .device-count {
+ font-size: 14px;
+ }
+ }
+
+ .table-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 10px;
+ .header-item {
+ flex: 1;
+ text-align: center;
+ }
+ }
+
+ .table-body {
+ flex: 1;
+ overflow-y: auto;
+ .table-row {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 10px;
+ border-bottom: 1px solid #1A385A;
+ .row-item {
+ flex: 1;
+ text-align: center;
+ &.time {
+ color: #FF4D4F;
+ }
}
}
}
}
-
+
\ No newline at end of file