From 93d6da6169d7e2746d8799e1af45ed036cf637b5 Mon Sep 17 00:00:00 2001 From: re-JZzzz Date: Wed, 17 Sep 2025 17:23:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=A0=87=E9=A2=98logo=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/Sidebar/Logo.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 511d788..4c2470e 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -34,7 +34,7 @@ defineProps({ } }); -const title = ref('RuoYi-Vue-Plus'); +const title = ref('新能源场站智慧运维平台'); const settingsStore = useSettingsStore(); const sideTheme = computed(() => settingsStore.sideTheme); From a32d3828653f05a6664675baacd07650fd20d056 Mon Sep 17 00:00:00 2001 From: re-JZzzz Date: Wed, 17 Sep 2025 20:02:08 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=8A=A5=E8=AD=A6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=83=A8=E5=88=86=E5=9B=BE=E8=A1=A8=202.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=AD=E5=A4=B4=E4=B8=BA=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=89=87=203.=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=204.=E5=AE=8C=E6=88=90=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E6=AF=94=E6=B0=B4=E6=BB=B4=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/demo/down.png | Bin 0 -> 195 bytes src/assets/demo/up.png | Bin 0 -> 193 bytes .../alarmManage/components/fenxiBar.vue | 198 ++++++++++++++++++ .../alarmManage/components/levelPie.vue | 163 ++++++++++++++ .../alarmManage/components/totalView.vue | 3 + .../integratedManage/alarmManage/index.vue | 40 ++++ .../alarmAnalysis/components/data.vue | 101 ++++++--- src/views/pvSystem/alarmAnalysis/index.vue | 10 +- .../components/box1/statusBox.vue | 44 +--- .../components/box2/duibiPie.vue | 2 +- .../components/box2/powerBar.vue | 2 +- src/views/pvSystem/operatingCurve/index.vue | 2 +- .../reportManager/components/itembox.vue | 7 +- src/views/pvSystem/reportManager/index.vue | 16 +- 14 files changed, 513 insertions(+), 75 deletions(-) create mode 100644 src/assets/demo/down.png create mode 100644 src/assets/demo/up.png create mode 100644 src/views/integratedManage/alarmManage/components/fenxiBar.vue create mode 100644 src/views/integratedManage/alarmManage/components/levelPie.vue create mode 100644 src/views/integratedManage/alarmManage/components/totalView.vue create mode 100644 src/views/integratedManage/alarmManage/index.vue diff --git a/src/assets/demo/down.png b/src/assets/demo/down.png new file mode 100644 index 0000000000000000000000000000000000000000..179ebd7d8868f94be2cd4fa3f22b155cd2540642 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQjEnx?oJHr&dIz4a#)I;JVQ8u zpoSx*1IW+yba4!knA+Qakhj@^hvoQ}iR*nOOUnFG1K8umH&v>Xb9pHI`J7e0XPMHq zqI{b@~KLqGrk literal 0 HcmV?d00001 diff --git a/src/assets/demo/up.png b/src/assets/demo/up.png new file mode 100644 index 0000000000000000000000000000000000000000..2e6fa2d88655dc7a5af5c723091cdee67a92f9ef GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQjEnx?oJHr&dIz4a#)I;JVQ8u zpoSx*1IW+zba4!knA+O6QIJ`Yhb25j&1gHz;WO=eoR)`rZx(&}(_MHVRsHQtl{YC@ z7yI6BSl+YTW^E2LL)fv-*LN?>PD)L<`qKCRgX6~cdG~65l6~;LlG9)Er;OmUQ2xjV oJ2x0Pl+4tfdcEKAFVdQ&MBb@03C8h^Z)<= literal 0 HcmV?d00001 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..9ec35c2 --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/levelPie.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/integratedManage/alarmManage/components/totalView.vue b/src/views/integratedManage/alarmManage/components/totalView.vue new file mode 100644 index 0000000..6cbc598 --- /dev/null +++ b/src/views/integratedManage/alarmManage/components/totalView.vue @@ -0,0 +1,3 @@ + \ 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..199ded9 --- /dev/null +++ b/src/views/integratedManage/alarmManage/index.vue @@ -0,0 +1,40 @@ + + + + + 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..cc8caef 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' diff --git a/src/views/pvSystem/reportManager/index.vue b/src/views/pvSystem/reportManager/index.vue index cb09f5e..a910ddd 100644 --- a/src/views/pvSystem/reportManager/index.vue +++ b/src/views/pvSystem/reportManager/index.vue @@ -44,23 +44,23 @@ - - - - From 63167f66e726b76c33f66bac04e098d769ba4d2b Mon Sep 17 00:00:00 2001 From: re-JZzzz Date: Wed, 17 Sep 2025 20:02:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=8A=A5=E8=AD=A6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=83=A8=E5=88=86=E5=9B=BE=E8=A1=A8=202.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=AD=E5=A4=B4=E4=B8=BA=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=89=87=203.=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=204.=E5=AE=8C=E6=88=90=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E6=AF=94=E6=B0=B4=E6=BB=B4=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/demo/archive.png | Bin 0 -> 353 bytes src/assets/demo/down.png | Bin 0 -> 195 bytes src/assets/demo/health.png | Bin 0 -> 415 bytes src/assets/demo/mouse-square.png | Bin 0 -> 405 bytes src/assets/demo/sms-tracking.png | Bin 0 -> 432 bytes src/assets/demo/up.png | Bin 0 -> 193 bytes .../alarmManage/components/fenxiBar.vue | 198 +++++++++ .../alarmManage/components/levelPie.vue | 172 ++++++++ .../alarmManage/components/levelSet.vue | 382 ++++++++++++++++++ .../alarmManage/components/totalView.vue | 321 +++++++++++++++ .../integratedManage/alarmManage/index.vue | 93 +++++ .../stateManage/components/manageForm.vue | 332 +++++++++++++++ .../stateManage/components/stateTrend.vue | 214 ++++++++++ .../stateManage/components/statusPie.vue | 201 +++++++++ .../integratedManage/stateManage/index.vue | 93 +++++ .../alarmAnalysis/components/data.vue | 101 +++-- src/views/pvSystem/alarmAnalysis/index.vue | 10 +- .../components/box1/statusBox.vue | 44 +- .../components/box2/duibiPie.vue | 2 +- .../components/box2/powerBar.vue | 2 +- src/views/pvSystem/operatingCurve/index.vue | 2 +- .../reportManager/components/itembox.vue | 18 +- src/views/pvSystem/reportManager/index.vue | 89 +++- 23 files changed, 2184 insertions(+), 90 deletions(-) create mode 100644 src/assets/demo/archive.png create mode 100644 src/assets/demo/down.png create mode 100644 src/assets/demo/health.png create mode 100644 src/assets/demo/mouse-square.png create mode 100644 src/assets/demo/sms-tracking.png create mode 100644 src/assets/demo/up.png create mode 100644 src/views/integratedManage/alarmManage/components/fenxiBar.vue create mode 100644 src/views/integratedManage/alarmManage/components/levelPie.vue create mode 100644 src/views/integratedManage/alarmManage/components/levelSet.vue create mode 100644 src/views/integratedManage/alarmManage/components/totalView.vue create mode 100644 src/views/integratedManage/alarmManage/index.vue create mode 100644 src/views/integratedManage/stateManage/components/manageForm.vue create mode 100644 src/views/integratedManage/stateManage/components/stateTrend.vue create mode 100644 src/views/integratedManage/stateManage/components/statusPie.vue create mode 100644 src/views/integratedManage/stateManage/index.vue diff --git a/src/assets/demo/archive.png b/src/assets/demo/archive.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4471dc7a82b21a1e532f9f3c3a5a4bcb646267 GIT binary patch literal 353 zcmV-n0iOPeP)Px#1am@3R0s$N2z&@+hyVZq3rR#lR7i>4l(ALAFc5}6Sss897=e~5Hvuz*LIc>( zed0cN0X1X>20&D_jF3eVQOMYG5?*2}c`xu+^6B*dcjsS%D?<&wY$dQ=B+xkkOj92U z*wTlEcL@U0Elm>@Z_5R?^w=_?`hBiS0J6bm)Y@d2rVdjGqs~Lr3*eH;k03jpa+3l| zejL>b=o*w<>?g-k(T4BCldXCO>H+9%+KMqJpr|`=grR#ILypaw@qZZ@8(J+o)sV=h_(OKc${ z6{I~ofIdij`~2YP5l|c8{(OG@jCom)EGiw}7*0r`W?SZz00000NkvXXu0mjfvo4ZE literal 0 HcmV?d00001 diff --git a/src/assets/demo/down.png b/src/assets/demo/down.png new file mode 100644 index 0000000000000000000000000000000000000000..179ebd7d8868f94be2cd4fa3f22b155cd2540642 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQjEnx?oJHr&dIz4a#)I;JVQ8u zpoSx*1IW+yba4!knA+Qakhj@^hvoQ}iR*nOOUnFG1K8umH&v>Xb9pHI`J7e0XPMHq zqI{b@~KLqGrk literal 0 HcmV?d00001 diff --git a/src/assets/demo/health.png b/src/assets/demo/health.png new file mode 100644 index 0000000000000000000000000000000000000000..09a938ceedb459c55e62d702662ef0d8bed1c9ce GIT binary patch literal 415 zcmV;Q0bu@#P)Px#1am@3R0s$N2z&@+hyVZqNl8ROR7i=nRl$+NAPih(;yzMBItW)8qLXxDr<0W6 zKg{SJ0-M+v5+~k|2M_EDp_PDxLB+r94G1>?fRL#($e{c10Cz)OfV~080?0{MhZdOk zk}z!N$^uH>E1|ejG*vinA;h|nzx8?NEjY+Wq$O|=aOl(W^rB9}UkfOQ(TpU4ghl># zVZm|Q+V?eL6{>)i;_yTIA(i+38^j#9uus5w3s9d|%Wnl{cbnEt&hdKzaM|=h?ocH( zAYm0Ei^}^&0U7~$g5( zc*{6Va1b@3qBL-dlc|Y(;P83kUC-o~$pqk&ky)6AhY$V3@ejnZsC}~Px#1am@3R0s$N2z&@+hyVZqKS@MER7i={l}nO?FbqVWQgg4ELy;}8#fKVmGR?xW zG3J+$$y80Rz_!$FSs(Z?WNT494!Fl3+=+)^Uz4=?dz(N#4yA*I)0I($`K-`O%dk%{ zqPE&>sX2mrI+T9bUOinVcmq13I`WqJ-1YcK-a>d6sv2GD_`-qjC3PT<=PdHB%8>rd@tW*8<8(79A zG3x1Ty*IIa*^@4Xh(dXxcqqx#$I!(`mg>4kkmxYAg2h(LP!L|L znD$idAW+>{M-(;Zv0V?Dz*L2N;0#rma_ogh9?My9TN#aLHrVrDhbd*&*~rXlbTJo} zMnaI*GN!DDjd2MZX==t3Cqv)P#r+E-_Sf(Ol9G-GJ#y~200000NkvXXu0mjf_Uo`c literal 0 HcmV?d00001 diff --git a/src/assets/demo/sms-tracking.png b/src/assets/demo/sms-tracking.png new file mode 100644 index 0000000000000000000000000000000000000000..718fb68e1b390b2802a65c36c487bc7714c842c5 GIT binary patch literal 432 zcmV;h0Z;ykP)Px#1am@3R0s$N2z&@+hyVZqT1iAfR7i={Rl9P7Fc93+xWoA$Q5pXdxCeUUUqY$i ze{8jE3M^0(34@(XCOg9n59#(!yW9c)9TNL+(${QDpmYCb9unl*mLkjm*%W*RjgYlZ zHW8fkHKV8&07z5{!~2%d1JuDKN20p)N&RU-ky;k%t$i-@8M(G)ky^TE<+29=A?wJ# z)o_{T+LjXmMM{7sCe$k!2`JwJ=h~JoizS5D(TsZB2`+t7H{JgDb+ZVnC6Xe&wIZk< zRuICaPihjC2&y8r^#6;KzGkB#B98Hs^f$SCUkl&90PpW53whqJ3;>#Le^kJDjuh3p z%RiQL|7Myl5pq5X5>?afk84cvu!3jcSFro3pfOAYvF7$FaZrPp9_ukT%b*56wpQR= zCmdFpU^9yJ*80tEx3qZe&>5f(!1(6_fN+?)LX=?CWw{MF%u|bo6w`zTP6%7Z=5N{j a@9_cB(#jkNV=l}90000PD)L<`qKCRgX6~cdG~65l6~;LlG9)Er;OmUQ2xjV oJ2x0Pl+4tfdcEKAFVdQ&MBb@03C8h^Z)<= literal 0 HcmV?d00001 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: '正常' },