diff --git a/src/assets/demo/archive.png b/src/assets/demo/archive.png new file mode 100644 index 0000000..bc4471d Binary files /dev/null and b/src/assets/demo/archive.png differ diff --git a/src/assets/demo/down.png b/src/assets/demo/down.png new file mode 100644 index 0000000..179ebd7 Binary files /dev/null and b/src/assets/demo/down.png differ diff --git a/src/assets/demo/health.png b/src/assets/demo/health.png new file mode 100644 index 0000000..09a938c Binary files /dev/null and b/src/assets/demo/health.png differ diff --git a/src/assets/demo/mouse-square.png b/src/assets/demo/mouse-square.png new file mode 100644 index 0000000..1447d4d Binary files /dev/null and b/src/assets/demo/mouse-square.png differ diff --git a/src/assets/demo/sms-tracking.png b/src/assets/demo/sms-tracking.png new file mode 100644 index 0000000..718fb68 Binary files /dev/null and b/src/assets/demo/sms-tracking.png differ diff --git a/src/assets/demo/up.png b/src/assets/demo/up.png new file mode 100644 index 0000000..2e6fa2d Binary files /dev/null and b/src/assets/demo/up.png differ diff --git a/src/views/integratedManage/alarmManage/components/fenxiBar.vue b/src/views/integratedManage/alarmManage/components/fenxiBar.vue new file mode 100644 index 0000000..b60c3d0 --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/fenxiBar.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/src/views/integratedManage/alarmManage/components/levelPie.vue b/src/views/integratedManage/alarmManage/components/levelPie.vue new file mode 100644 index 0000000..335a7c4 --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/levelPie.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/views/integratedManage/alarmManage/components/levelSet.vue b/src/views/integratedManage/alarmManage/components/levelSet.vue new file mode 100644 index 0000000..a04fb91 --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/levelSet.vue @@ -0,0 +1,382 @@ + + + + + \ No newline at end of file diff --git a/src/views/integratedManage/alarmManage/components/totalView.vue b/src/views/integratedManage/alarmManage/components/totalView.vue new file mode 100644 index 0000000..84453bd --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/totalView.vue @@ -0,0 +1,321 @@ + + + + + \ No newline at end of file diff --git a/src/views/integratedManage/alarmManage/index.vue b/src/views/integratedManage/alarmManage/index.vue new file mode 100644 index 0000000..148adf1 --- /dev/null +++ b/src/views/integratedManage/alarmManage/index.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/views/integratedManage/stateManage/components/manageForm.vue b/src/views/integratedManage/stateManage/components/manageForm.vue new file mode 100644 index 0000000..f67857b --- /dev/null +++ b/src/views/integratedManage/stateManage/components/manageForm.vue @@ -0,0 +1,332 @@ + + + + + \ No newline at end of file diff --git a/src/views/integratedManage/stateManage/components/stateTrend.vue b/src/views/integratedManage/stateManage/components/stateTrend.vue new file mode 100644 index 0000000..6bfbc67 --- /dev/null +++ b/src/views/integratedManage/stateManage/components/stateTrend.vue @@ -0,0 +1,214 @@ + + + + + + diff --git a/src/views/integratedManage/stateManage/components/statusPie.vue b/src/views/integratedManage/stateManage/components/statusPie.vue new file mode 100644 index 0000000..ae9170c --- /dev/null +++ b/src/views/integratedManage/stateManage/components/statusPie.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/integratedManage/stateManage/index.vue b/src/views/integratedManage/stateManage/index.vue new file mode 100644 index 0000000..62244bb --- /dev/null +++ b/src/views/integratedManage/stateManage/index.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/views/pvSystem/alarmAnalysis/components/data.vue b/src/views/pvSystem/alarmAnalysis/components/data.vue index 744772b..19dbe4a 100644 --- a/src/views/pvSystem/alarmAnalysis/components/data.vue +++ b/src/views/pvSystem/alarmAnalysis/components/data.vue @@ -18,8 +18,12 @@
{{ props.dashboardData.todayAlarmTotal }}
今日报警总数
较上周 - {{ props.dashboardData.updates.todayAlarmTotal.type === 'up' ? '↑' : '↓' }}{{ props.dashboardData.updates.todayAlarmTotal.value }} -
+ 上升 + 下降{{ + props.dashboardData.updates.todayAlarmTotal.value }} + + @@ -29,8 +33,11 @@
{{ props.dashboardData.unhandledAlarms }}
未处理报警
较上周 - {{ props.dashboardData.updates.unhandledAlarms.type === 'up' ? '↑' : '↓' }}{{ props.dashboardData.updates.unhandledAlarms.value }} -
+ 上升 + 下降{{ + props.dashboardData.updates.unhandledAlarms.value }} + @@ -40,8 +47,11 @@
{{ props.dashboardData.handledAlarms }}
已处理报警
较上周 - {{ props.dashboardData.updates.handledAlarms.type === 'up' ? '↑' : '↓' }}{{ props.dashboardData.updates.handledAlarms.value }} -
+ 上升 + 下降{{ + props.dashboardData.updates.handledAlarms.value }} + @@ -50,9 +60,15 @@
{{ props.dashboardData.avgProcessTime }}
平均处理时长
-
较上周 - {{ props.dashboardData.updates.avgProcessTime.type === 'up' ? '↑' : '↓' }}{{ props.dashboardData.updates.avgProcessTime.value }} -
+
+ 较上周 + + 上升 + 下降{{ + props.dashboardData.updates.avgProcessTime.value }} + +
@@ -67,7 +83,7 @@ - +
@@ -76,11 +92,17 @@
-
报警数量(次)
+
报警数量(次)
{{ props.chartData.totals.alarmCount }}
-
较昨日 - {{ props.chartData.dailyChanges.alarmCount.type === 'up' ? '↑' : '↓' }}{{ props.chartData.dailyChanges.alarmCount.value }} -
+
+ 较昨日 + 上升 + 下降 + + {{ props.chartData.dailyChanges.processEfficiency.value }} + +
@@ -93,9 +115,15 @@
报警处理效率(%)
{{ props.chartData.totals.processEfficiency }}
-
较昨日 - {{ props.chartData.dailyChanges.processEfficiency.type === 'up' ? '↑' : '↓' }}{{ props.chartData.dailyChanges.processEfficiency.value }} -
+
+ 较昨日 + 上升 + 下降 + + {{ props.chartData.dailyChanges.processEfficiency.value }} + +
@@ -141,7 +169,7 @@ const props = defineProps({ processEfficiency: '89%' }, dailyChanges: { - alarmCount: { value: '0.9%', type: 'down' }, + alarmCount: { value: '0.9%', type: 'up' }, processEfficiency: { value: '0.9%', type: 'down' } } }) @@ -172,7 +200,7 @@ const initCharts = () => { trigger: 'axis', }, grid: { - left: '-45px', + left: '-38px', right: '0%', bottom: '0%', top: '0%', @@ -248,7 +276,7 @@ const initCharts = () => { trigger: 'axis', }, grid: { - left: '-45px', + left: '-38px', right: '0%', bottom: '0%', top: '0%', @@ -352,7 +380,7 @@ onUnmounted(() => { width: 100%; height: 100%; background: #fff; - padding:0 20px; + padding: 0 20px; box-sizing: border-box; } @@ -411,11 +439,18 @@ onUnmounted(() => { } .up { - color: #ff4d4f; + color: #00B87A; } .down { - color: #52c41a; + color: #ff4d4f; +} + +.trend-icon { + // width: 12px; + // height: 12px; + margin-right: 2px; + vertical-align: middle; } .trend-container { @@ -436,7 +471,7 @@ onUnmounted(() => { } .trend-header { - + align-items: center; } @@ -483,6 +518,24 @@ onUnmounted(() => { font-size: 12px; color: #999; margin-bottom: 0; + display: flex; + align-items: center; + gap: 4px; + line-height: 1; +} + +.chart-value span { + display: inline-flex; + align-items: center; + vertical-align: middle; +} + +.chart-value .trend-icon { + display: inline-flex; + align-items: center; + justify-content: center; + vertical-align: middle; + margin: 0; } .chart-content { diff --git a/src/views/pvSystem/alarmAnalysis/index.vue b/src/views/pvSystem/alarmAnalysis/index.vue index 2fa1f57..e095dba 100644 --- a/src/views/pvSystem/alarmAnalysis/index.vue +++ b/src/views/pvSystem/alarmAnalysis/index.vue @@ -68,9 +68,9 @@ const dashboardData = ref({ handledAlarms: 16, avgProcessTime: '42分钟', updates: { - todayAlarmTotal: { value: '4.2%', type: 'down' }, - unhandledAlarms: { value: '5%', type: 'up' }, - handledAlarms: { value: '8%', type: 'down' }, + todayAlarmTotal: { value: '4.2%', type: 'up' }, + unhandledAlarms: { value: '5%', type: 'down' }, + handledAlarms: { value: '8%', type: 'up' }, avgProcessTime: { value: '10%', type: 'down' } } }); @@ -84,7 +84,7 @@ const chartData = ref({ processEfficiency: '89%' }, dailyChanges: { - alarmCount: { value: '0.9%', type: 'down' }, + alarmCount: { value: '0.9%', type: 'up' }, processEfficiency: { value: '0.9%', type: 'down' } } }); @@ -155,7 +155,7 @@ onMounted(() => { \ No newline at end of file diff --git a/src/views/pvSystem/operatingCurve/components/box1/statusBox.vue b/src/views/pvSystem/operatingCurve/components/box1/statusBox.vue index 7544df9..5b92b13 100644 --- a/src/views/pvSystem/operatingCurve/components/box1/statusBox.vue +++ b/src/views/pvSystem/operatingCurve/components/box1/statusBox.vue @@ -6,14 +6,8 @@
总发电量
{{ props.statusData.totalPower }}
- - - - - {{ props.statusData.totalPowerChange }} 较上周 + + {{ props.statusData.totalPowerChange }} 较上周
@@ -37,14 +31,8 @@
系统效率
{{ props.statusData.efficiency }}
- - - - - {{ props.statusData.efficiencyChange }} 较上周 + + {{ props.statusData.efficiencyChange }} 较上周
@@ -65,14 +53,8 @@
组件温度
{{ props.statusData.temperature }}
- - - - - {{ props.statusData.temperatureChange }} 较上周 + + {{ props.statusData.temperatureChange }} 较上周
@@ -93,14 +75,8 @@
日照强度
{{ props.statusData.sunlight }}
- - - - - {{ props.statusData.sunlightChange }} 较上周 + + {{ props.statusData.sunlightChange }} 较上周
@@ -206,7 +182,7 @@ const props = defineProps({ margin-top: 4px; &.positive { - color: #67c23a; + color: #00B87A; } &.negative { @@ -216,7 +192,7 @@ const props = defineProps({ .change-icon { font-size: 10px; - margin-right: 2px; + margin-right: 5px; } .card-icon { diff --git a/src/views/pvSystem/operatingCurve/components/box2/duibiPie.vue b/src/views/pvSystem/operatingCurve/components/box2/duibiPie.vue index d008220..6bfe648 100644 --- a/src/views/pvSystem/operatingCurve/components/box2/duibiPie.vue +++ b/src/views/pvSystem/operatingCurve/components/box2/duibiPie.vue @@ -142,7 +142,7 @@ onUnmounted(() => { .chart-content { width: 100%; height: calc(100% - 80px); - min-height: 200px; + min-height: 220px; } @media (max-width: 768px) { diff --git a/src/views/pvSystem/operatingCurve/components/box2/powerBar.vue b/src/views/pvSystem/operatingCurve/components/box2/powerBar.vue index b55f153..6cfc66d 100644 --- a/src/views/pvSystem/operatingCurve/components/box2/powerBar.vue +++ b/src/views/pvSystem/operatingCurve/components/box2/powerBar.vue @@ -185,7 +185,7 @@ onUnmounted(() => { .chart-content { width: 100%; height: calc(100% - 80px); - min-height: 200px; + min-height: 220px; } @media (max-width: 768px) { diff --git a/src/views/pvSystem/operatingCurve/index.vue b/src/views/pvSystem/operatingCurve/index.vue index 32c9023..ac12f24 100644 --- a/src/views/pvSystem/operatingCurve/index.vue +++ b/src/views/pvSystem/operatingCurve/index.vue @@ -104,7 +104,7 @@ const mockData = ref({ totalPower: '3,456.8KWh', totalPowerChange: '8.2%', efficiency: '18.7%', - efficiencyChange: '-0.3%', + efficiencyChange: '0.3%', temperature: '42.3°C', temperatureChange: '2.1°C', sunlight: '865 W/m²', diff --git a/src/views/pvSystem/reportManager/components/itembox.vue b/src/views/pvSystem/reportManager/components/itembox.vue index 77131cb..68a27ff 100644 --- a/src/views/pvSystem/reportManager/components/itembox.vue +++ b/src/views/pvSystem/reportManager/components/itembox.vue @@ -8,7 +8,8 @@
{{ value || '2,456.8' }} {{ unit || 'KWh' }}
- {{ growth || '+2.5%' }} + + {{ growth+'%' || '2.5'+'%' }} {{ growthLabel || '较昨日' }}
@@ -37,6 +38,10 @@ const props = defineProps({ type: String, default: '平均效率' }, + type: { + type: String, + default: '' + }, value: { type: String, default: '2,456.8' @@ -247,11 +252,14 @@ onUnmounted(() => { flex-shrink: 0; } -.growth-value { - font-size: 14px; - color: #13C2C2; +.up{ + font-size: 14px; + color:#00B87A; +} +.down{ + font-size: 14px; + color:#ff4d4f; } - .growth-label { font-size: 12px; color: #999; diff --git a/src/views/pvSystem/reportManager/index.vue b/src/views/pvSystem/reportManager/index.vue index cb09f5e..f6acb03 100644 --- a/src/views/pvSystem/reportManager/index.vue +++ b/src/views/pvSystem/reportManager/index.vue @@ -43,25 +43,20 @@ - - - - - - - - - - - + + + @@ -159,6 +154,62 @@ const fenxiLineData = ref({ } }); +// 创建itembox数据数组,用于循环渲染 +const itemBoxData = ref([ + { + title: '总发电量', + value: '2,456.8', + unit: 'KWh', + growth: '2.5', + growthLabel: '较昨日', + color: '#186DF5', + chartType: 'bar', + power: '', + iconSrc: '/src/assets/demo/shandian.png', + type: 'up', + chartData: [30, 50, 40, 60, 80, 70, 100, 90, 85, 75, 65, 55] + }, + { + title: '平均效率', + value: '18.7', + unit: '%', + growth: '2.5', + growthLabel: '较昨日', + color: '#00B87A', + chartType: 'line', + power: '', + iconSrc: '/src/assets/demo/huojian.png', + type: 'up', + chartData: [30, 50, 40, 60, 80, 70, 100, 90, 85, 75, 65, 55] + }, + { + title: '设备温度', + value: '43.5', + unit: '℃', + growth: '2.5', + growthLabel: '较昨日', + color: '#FFC300', + chartType: 'line', + power: '', + iconSrc: '/src/assets/demo/wendu.png', + type: 'up', + chartData: [30, 50, 40, 60, 80, 70, 100, 90, 85, 75, 65, 55] + }, + { + title: '系统可用性', + value: '18.7', + unit: '%', + growth: '2.5', + growthLabel: '较昨日', + color: '#7948EA', + chartType: 'line', + power: '', + iconSrc: '/src/assets/demo/use.png', + type: 'up', + chartData: [30, 50, 40, 60, 80, 70, 100, 90, 85, 75, 65, 55] + } +]); + const tableData = ref([ { time: '00:00', irradiance: 0, powerGeneration: 0.0, efficiency: 24.5, moduleTemperature: 23.5, inverterTemperature: 21.2, status: '停机' }, { time: '08:00', irradiance: 12.5, powerGeneration: 17.2, efficiency: 28.1, moduleTemperature: 26.3, inverterTemperature: 20.3, status: '正常' },