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 @@
+
+
+
+
+ {{ scope.row.levelName }}
+
+
+
+
+
+ {{ scope.row.priority }}
+
+
+
+
+ {{ scope.row.responseTime }}
+
+
+
+
+
+ {{ method }}
+
+
+
+
+
+
+
+
+
+
+ 配置
+ 删除
+
+
+
+
+
+
+
+
+
+
{{ currentConfigData.levelName }} - 详细配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8台
+
较上月同期
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8台
+
较上月同期
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8台
+
较上月同期
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8台
+
较上月同期
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.deviceType }}
+
+
+
+
+
+
+
+
+
+
+ {{ getStatusText(scope.row.status) }}
+
+
+
+
+
+
+ 查看
+
+
+ 配置
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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: '正常' },