diff --git a/common/api/harmonic.js b/common/api/harmonic.js
index f620b72..af0e0bc 100644
--- a/common/api/harmonic.js
+++ b/common/api/harmonic.js
@@ -10,7 +10,7 @@ export function getModuleState(params) {
}
export function getBaseRealData(id) {
return request({
- url: '/cs-harmonic-boot/realData/getBaseRealData?lineId='+id,
+ url: '/cs-harmonic-boot/realData/getBaseRealData?lineId=' + id,
method: 'post',
})
}
@@ -46,4 +46,12 @@ export function queryAppHarmonicLine(params) {
'Content-Type': 'application/json',
},
})
-}
\ No newline at end of file
+}
+// 暂态事件波形分析
+export function analyseWave(params) {
+ return request({
+ url: '/cs-harmonic-boot/event/analyseWave',
+ method: 'get',
+ params,
+ })
+}
diff --git a/components/Cn-MultipleTree/Cn-MultipleTree.vue b/components/Cn-MultipleTree/Cn-MultipleTree.vue
index be863c8..2681411 100644
--- a/components/Cn-MultipleTree/Cn-MultipleTree.vue
+++ b/components/Cn-MultipleTree/Cn-MultipleTree.vue
@@ -3,26 +3,14 @@
- 取消
+
+ 取消
{{ title }}
- 确定
+ 确定
-
+
-
+
- 工程名称:{{ device.engineeringName }}
+ 工程:{{ device.engineeringName }}
- 项目名称:{{ device.projectName }}
+ 项目:{{ device.projectName }}
@@ -61,11 +61,11 @@
-
-
-
-
- 最新数据时间: {{ time }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 最新数据时间: {{ time }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/device/APF/report.vue b/pages/device/APF/report.vue
index 3436e2f..4578c6b 100644
--- a/pages/device/APF/report.vue
+++ b/pages/device/APF/report.vue
@@ -19,8 +19,8 @@
diff --git a/pages/device/realTime/index.vue b/pages/device/realTime/index.vue
index 630f466..21febb7 100644
--- a/pages/device/realTime/index.vue
+++ b/pages/device/realTime/index.vue
@@ -6,20 +6,16 @@
- 监测点名称:
+ 监测点名称:
+
+
+
+
所属工程:{{ device.engineeringName }}
@@ -29,10 +25,9 @@
- 通讯状态:{{ device.runStatus == 1 ? '离线' : '在线' }}
+ 通讯状态:{{ device.runStatus ==
+ 1 ? '离线' : '在线' }}
@@ -47,80 +42,78 @@
{{ disabled ? `刷新(${countdown}s)` : '刷新' }}
+
-
+
-
+
-
+
电压有效值(kV)
-
-
+
+
基波电压/电流
幅值(相位)
-
+
-
+
-
+
电流有效值(A)
-
-
-
-
- {{ value.name }}
- {{ value.A }}
- {{ value.B }}
- {{ value.C }}
+
+
+
+
+
+
+
+ {{ child.name }}
+
+
+
+ {{ child.A }}
+
+
+
+ {{ child.B }}
+
+
+
+ {{ child.C }}
+
+
+
+
@@ -173,12 +166,17 @@ export default {
{ name: '电压有效值(kV)', A: '/', B: '/', C: '/' },
{ name: '电流有效值(A)', A: '/', B: '/', C: '/' },
{ name: '基波电压幅值(kV)', A: '/', B: '/', C: '/' },
- { name: '基波电压相位(°)', A: '/', B: '/', C: '/' },
{ name: '基波电流幅值(A)', A: '/', B: '/', C: '/' },
+ { name: '基波电压相位(°)', A: '/', B: '/', C: '/' },
{ name: '基波电流相位(°)', A: '/', B: '/', C: '/' },
{ name: '电压偏差(%)', A: '/', B: '/', C: '/' },
{ name: '电压总谐波畸变率(%)', A: '/', B: '/', C: '/' },
],
+ phaseColors: [
+ { name: 'A相', color: '#F1B22E' },
+ { name: 'B相', color: '#2BA471' },
+ { name: 'C相', color: '#D54941' },
+ ],
disabled: false,
countdown: 30,
lineId: '00B78D00A87A1',
@@ -267,6 +265,14 @@ export default {
},
methods: {
+ // 将指标列表按每行两个分组
+ chunkedChildren(children) {
+ const result = []
+ for (let i = 0; i < children.length; i += 2) {
+ result.push(children.slice(i, i + 2))
+ }
+ return result
+ },
initEcharts0() {
return {
tooltip: { show: false },
@@ -783,8 +789,8 @@ export default {
{ name: '电压有效值(kV)', A: data.vRmsA, B: data.vRmsB, C: data.vRmsC },
{ name: '电流有效值(A)', A: data.iRmsA, B: data.iRmsB, C: data.iRmsC },
{ name: '基波电压幅值(kV)', A: data.v1A, B: data.v1B, C: data.v1C },
- { name: '基波电压相位(°)', A: data.v1AngA, B: data.v1AngB, C: data.v1AngC },
{ name: '基波电流幅值(A)', A: data.i1A, B: data.i1B, C: data.i1C },
+ { name: '基波电压相位(°)', A: data.v1AngA, B: data.v1AngB, C: data.v1AngC },
{ name: '基波电流相位(°)', A: data.i1AngA, B: data.i1AngB, C: data.i1AngC },
{ name: '电压偏差(%)', A: data.vDevA, B: data.vDevB, C: data.vDevC },
{ name: '电压总谐波畸变率(%)', A: data.vThdA, B: data.vThdB, C: data.vThdC },
@@ -800,7 +806,7 @@ export default {
],
) *
1.2) /
- 10,
+ 10,
) * 10
this.echartsDataV1.series[0].max = vMax
this.echartsDataV2.series[0].max = vMax
@@ -820,7 +826,7 @@ export default {
],
) *
1.2) /
- 10,
+ 10,
) * 10
this.echartsDataA1.series[0].max = aMax
this.echartsDataA2.series[0].max = aMax
@@ -873,8 +879,8 @@ export default {
{ name: '电压有效值(kV)', A: '/', B: '/', C: '/' },
{ name: '电流有效值(A)', A: '/', B: '/', C: '/' },
{ name: '基波电压幅值(kV)', A: '/', B: '/', C: '/' },
- { name: '基波电压相位(°)', A: '/', B: '/', C: '/' },
{ name: '基波电流幅值(A)', A: '/', B: '/', C: '/' },
+ { name: '基波电压相位(°)', A: '/', B: '/', C: '/' },
{ name: '基波电流相位(°)', A: '/', B: '/', C: '/' },
{ name: '电压偏差(%)', A: '/', B: '/', C: '/' },
{ name: '电压总谐波畸变率(%)', A: '/', B: '/', C: '/' },
@@ -993,30 +999,38 @@ export default {
padding: 20rpx;
background-color: #fff;
}
+
// padding: 20rpx;
.info-card {
background-image: url('/static/background.png');
- background-position: center center; /* 水平+垂直居中 */
- background-repeat: no-repeat; /* 不平铺 */
- background-size: 100% 100%; /* 覆盖整个容器(可选,根据需求调整) */
+ background-position: center center;
+ /* 水平+垂直居中 */
+ background-repeat: no-repeat;
+ /* 不平铺 */
+ background-size: 100% 100%;
+ /* 覆盖整个容器(可选,根据需求调整) */
color: #fff;
padding: 20rpx 40rpx;
border-radius: 20rpx;
+
.info-item {
display: flex;
align-items: center;
font-size: 28rpx;
margin-bottom: 10rpx;
+
view {
// font-size: 28rpx;
// .nav-menu {
// font-size: 32rpx;
// }
}
+
&:last-child {
margin-bottom: 0rpx;
}
}
+
.status {
.status-normal {
// font-weight: bold;
@@ -1024,33 +1038,92 @@ export default {
}
}
- .data-table {
+ .params-wrap {
margin-top: 20rpx;
background-color: #fff;
+ border-radius: 10rpx;
overflow: hidden;
- .table-header,
- .table-row {
- display: flex;
- justify-content: space-between;
- padding: 15rpx 30rpx;
- height: 20px;
- border-bottom: 1rpx solid #eee;
- text {
- flex: 1;
- text-align: center;
- font-size: 28rpx;
- // color: #333;
- &:first-child {
- text-align: left;
- flex: 2;
- }
- }
- }
- .table-header {
- // background-color: #fafafa;
- font-weight: bold;
+ }
+
+ .legend-row {
+ display: flex;
+ gap: 20rpx;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 0rpx 20rpx 0;
+ background-color: #fff;
+ }
+
+ .legend-item {
+ display: flex;
+ align-items: center;
+ gap: 8rpx;
+ }
+
+ .legend-dot {
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ }
+
+ .legend-text {
+ font-size: 24rpx;
+ color: #666666;
+ }
+
+ .params-section {
+ padding: 16rpx 16rpx 20rpx;
+ }
+
+ .double-row {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 16rpx;
+ margin-bottom: 16rpx;
+
+ &:last-child {
+ margin-bottom: 0;
}
}
+
+ .param-group {
+ min-width: 0;
+ background: #f3f3f3;
+ border-radius: 16rpx;
+ padding: 16rpx 8rpx 12rpx;
+ }
+
+ .param-title {
+ font-size: 26rpx;
+ color: #666666;
+ margin-bottom: 8rpx;
+ padding-left: 4rpx;
+ }
+
+ .phase-vertical {
+ display: flex;
+ align-items: stretch;
+ }
+
+ .phase-item-vertical {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 4rpx;
+ }
+
+ .phase-value-vertical {
+ font-size: 28rpx;
+ font-weight: 700;
+ }
+
+ .phase-divider {
+ width: 1px;
+ background: #d2d2d2;
+ margin: 8rpx 0;
+ }
+
.time-bar {
display: flex;
justify-content: space-between;
@@ -1059,50 +1132,59 @@ export default {
background-color: #fff;
margin: 20rpx 0 0;
border-radius: 10rpx;
+
.time {
display: flex;
align-items: center;
flex: 1;
font-size: 28rpx;
+
text {
margin-left: 20rpx;
}
}
}
}
+
.chartBox {
background-color: #fff;
padding: 0 0rpx 20rpx;
display: flex;
padding-bottom: 55rpx;
+
.middle {
display: flex;
position: relative;
height: 600rpx;
margin: 0 10rpx;
flex: 1;
+
.echart1 {
position: absolute;
height: 500rpx;
top: 0;
}
}
+
.chart {
width: 170rpx;
height: 200rpx;
margin-bottom: 5rpx;
}
+
.text {
text-align: center;
font-size: 28rpx;
position: absolute;
}
+
.text_center {
bottom: -5px;
left: 50%;
transform: translateX(-50%) translateY(50%);
}
}
+
.mini-btn {
font-size: 24rpx;
border-radius: 45rpx;
diff --git a/pages/index/comp/apply.vue b/pages/index/comp/apply.vue
index 58f5e6b..1c18ac5 100644
--- a/pages/index/comp/apply.vue
+++ b/pages/index/comp/apply.vue
@@ -61,9 +61,9 @@
}}
- 工程名称:{{ item.engineeringName }}
- 项目名称:{{ item.projectName }}
- 设备名称:{{ item.equipmentName }}
+ 工程:{{ item.engineeringName }}
+ 项目:{{ item.projectName }}
+ 设备:{{ item.equipmentName }}
@@ -92,6 +92,11 @@
? ',相别:' + item.evtParamPhase
: ''
}}
+ {{
+ item.landPoint != null && item.landPoint !== ''
+ ? ',落点区域:' + item.landPoint
+ : ''
+ }}
diff --git a/pages/index/comp/monitoringPoint.vue b/pages/index/comp/monitoringPoint.vue
index 1c00b90..31da32f 100644
--- a/pages/index/comp/monitoringPoint.vue
+++ b/pages/index/comp/monitoringPoint.vue
@@ -1,119 +1,283 @@
-
-
-
-
\ No newline at end of file
+
+.card-header-info {
+ flex: 1;
+ min-width: 0;
+}
+
+.point-name {
+ display: block;
+ font-size: 30rpx;
+ font-weight: 700;
+ color: #333333;
+ margin-bottom: 8rpx;
+}
+
+.meta-row {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 6rpx 12rpx;
+}
+
+.meta-item {
+ font-size: 26rpx;
+ color: #666666;
+ line-height: 1.3;
+}
+
+.meta-time {
+ display: block;
+ margin-top: 8rpx;
+ font-size: 26rpx;
+ color: #666666;
+ line-height: 1.3;
+}
+
+.params-section {
+ padding: 20rpx 16rpx;
+}
+
+.double-row {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 16rpx;
+ margin-bottom: 16rpx;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
+
+.param-group {
+ min-width: 0;
+ background: #f3f3f3;
+ border-radius: 16rpx;
+ padding: 16rpx 8rpx 12rpx;
+}
+
+.param-title {
+ font-size: 24rpx;
+ color: #666666;
+ margin-bottom: 8rpx;
+ padding-left: 4rpx;
+}
+
+.phase-vertical {
+ display: flex;
+ align-items: stretch;
+}
+
+.phase-item-vertical {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 4rpx;
+}
+
+.phase-value-vertical {
+ font-size: 28rpx;
+ font-weight: 700;
+}
+
+.phase-divider {
+ width: 1px;
+ background: #d2d2d2;
+ margin: 8rpx 0;
+}
+
+.more-btn {
+ margin: 0 20rpx 20rpx;
+ height: 72rpx;
+ line-height: 72rpx;
+ text-align: center;
+ border: 1rpx solid #376cf380;
+ background-color: #266FFF10;
+ border-radius: 16rpx;
+
+ text {
+ font-size: 28rpx;
+ color: #376cf3;
+ font-weight: 500;
+ }
+}
+
+.ellipsis {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.indicator-popup {
+ background: #ffffff;
+ overflow: hidden;
+}
+
+.indicator-popup-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 18rpx 32rpx;
+ border-bottom: 1rpx solid #eef2f6;
+}
+
+.indicator-popup-cancel {
+ font-size: 27rpx;
+ color: #666666;
+ min-width: 80rpx;
+}
+
+
+.indicator-popup-confirm {
+ font-size: 28rpx;
+ color: #376cf3;
+ min-width: 80rpx;
+ text-align: right;
+}
+
+.indicator-popup-list {
+ max-height: 60vh;
+ padding: 16rpx 0;
+ box-sizing: border-box;
+}
+
+.indicator-popup-empty {
+ padding: 80rpx 0;
+ text-align: center;
+ font-size: 28rpx;
+ color: #999999;
+}
+
+.indicator-popup-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 28rpx 32rpx;
+ font-size: 28rpx;
+ color: #333333;
+
+ &--active {
+ color: #376cf3;
+ background: #376cf310;
+ }
+}
+
diff --git a/pages/index/comp/steadyState.vue b/pages/index/comp/steadyState.vue
index 937bb7a..a2ee1fe 100644
--- a/pages/index/comp/steadyState.vue
+++ b/pages/index/comp/steadyState.vue
@@ -332,6 +332,8 @@ export default {
/* 图标区域(按类型区分背景色) */
.event-icon {
background-color: #376cf320;
+ width: 90rpx;
+ height: 90rpx;
}
.event-tags {
diff --git a/pages/index/comp/targetInfo.vue b/pages/index/comp/targetInfo.vue
new file mode 100644
index 0000000..21b54f7
--- /dev/null
+++ b/pages/index/comp/targetInfo.vue
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+ {{ phase.name }}
+
+
+
+
+
+
+
+ {{ child.name }}
+
+
+
+ {{ child.A }}
+
+
+
+ {{ child.B }}
+
+
+
+ {{ child.C }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/comp/transient.vue b/pages/index/comp/transient.vue
index 5d3cd1b..6089ef3 100644
--- a/pages/index/comp/transient.vue
+++ b/pages/index/comp/transient.vue
@@ -39,9 +39,9 @@
{{ item.lineName }}
- 工程名称:{{ item.engineeringName }}
- 项目名称:{{ item.projectName }}
- 设备名称:{{ item.deviceName }}
+ 工程:{{ item.engineeringName }}
+ 项目:{{ item.projectName }}
+ 设备:{{ item.deviceName }}
@@ -327,9 +327,10 @@ export default {
.device-body-item {
display: flex;
// justify-content: space-between;
- font-size: 28rpx;
+ font-size: 26rpx;
color: #666666;
line-height: 1.5;
+
}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index f18aabe..309481c 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -37,7 +37,7 @@
设备列表
-
+
diff --git a/pages/index/mine.vue b/pages/index/mine.vue
index 88b5746..8fd2d47 100644
--- a/pages/index/mine.vue
+++ b/pages/index/mine.vue
@@ -76,7 +76,7 @@
关注工程配置
diff --git a/pages/message/message.vue b/pages/message/message.vue
index e2f5388..1a86ca3 100644
--- a/pages/message/message.vue
+++ b/pages/message/message.vue
@@ -18,10 +18,10 @@
diff --git a/pages/message1/transient.vue b/pages/message1/transient.vue
index 9080acb..2b29481 100644
--- a/pages/message1/transient.vue
+++ b/pages/message1/transient.vue
@@ -59,9 +59,9 @@
}}
- 工程名称:{{ item.engineeringName }}
- 项目名称:{{ item.projectName }}
- 设备名称:{{ item.equipmentName }}
+ 工程:{{ item.engineeringName }}
+ 项目:{{ item.projectName }}
+ 设备:{{ item.equipmentName }}
@@ -86,6 +86,10 @@
item.evtParamPhase != null && item.evtParamPhase !== ''
? ',相别:' + item.evtParamPhase
: ''
+ }} {{
+ item.landPoint != null && item.landPoint !== ''
+ ? ',落点区域:' + item.landPoint
+ : ''
}}
diff --git a/uni_modules/uni-card/components/uni-card/uni-card.vue b/uni_modules/uni-card/components/uni-card/uni-card.vue
index 8cd6887..c4cd13c 100644
--- a/uni_modules/uni-card/components/uni-card/uni-card.vue
+++ b/uni_modules/uni-card/components/uni-card/uni-card.vue
@@ -138,7 +138,7 @@
padding: 0 $uni-spacing-sm;
border-radius: 20rpx;
overflow: hidden;
- font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
+ // font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
background-color: #fff;
flex: 1;