消息推送

This commit is contained in:
仲么了
2023-09-13 16:40:03 +08:00
parent f8d8229cc1
commit f9bb466096
13 changed files with 204 additions and 154 deletions

View File

@@ -6,10 +6,10 @@
<view class="item item-title">名称</view>
<view class="item item-title">有效值(A)</view>
<view class="item item-title">THDI(%)</view>
<template v-for="(item, index) in renderData.电网">
<template v-for="(item, index) in renderData.电网电流">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Pq_RmsI(A)'] || '-' }}</view>
<view class="item">{{ item['Pq_ThdI(%)'] || '-'}}</view>
<view class="item">{{ item['Apf_RmsI_Sys(A)'] || '-' }}</view>
<view class="item">{{ item['Apf_ThdA_Sys(%)'] || '-' }}</view>
</template>
</view>
</view>
@@ -20,11 +20,11 @@
<view class="item item-title">电压(V)</view>
<view class="item item-title">频率(Hz)</view>
<view class="item item-title">THDU(%)</view>
<template v-for="(item, index) in renderData.电网">
<template v-for="(item, index) in renderData.电网电压">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Pq_RmsLU(V)'] || '-' }}</view>
<view class="item">{{ item['Pq_Freq(Hz)'] || '-' }}</view>
<view class="item">{{ item['Pq_ThdU(%)'] || '-' }}</view>
<view class="item">{{ item['Apf_PhV_Sys(V)'] || '-' }}</view>
<view class="item">{{ item['Apf_Freq(Hz)'] || '-' }}</view>
<view class="item">{{ item['Apf_ThdU(%)'] || '-' }}</view>
</template>
</view>
</view>
@@ -34,10 +34,10 @@
<view class="item item-title">名称</view>
<view class="item item-title">有效值(A)</view>
<view class="item item-title">THDI(%)</view>
<template v-for="(item, index) in renderData.负载">
<template v-for="(item, index) in renderData.负载电流">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Pq_RmsI(A)'] || '-' }}</view>
<view class="item">{{ item['Pq_ThdI(%)'] || '-' }}</view>
<view class="item">{{ item['Apf_RmsI_Load(A)'] || '-' }}</view>
<view class="item">{{ item['Apf_ThdA_Load(%)'] || '-' }}</view>
</template>
</view>
</view>
@@ -47,10 +47,10 @@
<view class="item item-title">名称</view>
<view class="item item-title">有效值(A)</view>
<view class="item item-title">负载率(%)</view>
<template v-for="(item, index) in renderData.输出侧">
<template v-for="(item, index) in renderData.补偿电流">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Apf_RmsI_Sys(A)'] || '-' }}</view>
<view class="item"></view>
<view class="item">{{ item['Apf_RmsI_TolOut(A)'] || '-' }}</view>
<view class="item">-</view>
</template>
</view>
</view>
@@ -61,9 +61,11 @@ export default {
data() {
return {
renderData: {
电网: {},
负载侧: {},
输出侧: {},
电网电流: [],
电网电压: [],
负载电流: [],
补偿电流: [],
未知:[]
},
}
},
@@ -78,36 +80,55 @@ export default {
watch: {
basicData: {
handler: function (newVal, oldVal) {
let arr = [
{
name: '电网侧',
linePostion: 'cb23b9ede3b652cd6da194fd7b318124',
},
{
name: '负载侧',
linePostion: '32624d4bb3a86f2b9a01bab272e50125',
},
{
name: '输出侧',
linePostion: '26eae70fb5ff1c090d2dc7c3a0743948',
},
]
this.basicData.forEach((item) => {
newVal.forEach(item => {
if (item.phase === 'avg') {
return
}
let index = arr.findIndex((item2) => {
return item2.linePostion === item.position
let key = ''
switch (item.statisticalName) {
case 'Apf_RmsI_Sys(A)':
key = '电网电流'
break
case 'Apf_ThdA_Sys(%)':
key = '电网电流'
break
case 'Apf_PhV_Sys(V)':
key = '电网电压'
break
case 'Apf_Freq(Hz)':
key = '电网电压'
break
case 'Apf_RmsI_Load(A)':
key = '负载电流'
break
case 'Apf_ThdA_Load(%)':
key = '负载电流'
break
case 'Apf_RmsI_TolOut(A)':
key = '补偿电流'
break
case 'Apf_PhV_Sys(V)':
key = '补偿电流'
break
case 'Apf_PhV_Sys(V)':
key = '补偿电流'
break
default:
key = '未知'
break
}
let index = this.renderData[key].findIndex((item2) => {
return item2.phase === item.phase
})
if (index > -1) {
if (this.renderData[arr[index]['name']][item.phase]) {
this.renderData[arr[index]['name']][item.phase][item.statisticalName] = item.statisticalData || '-'
} else {
this.renderData[arr[index]['name']][item.phase] = {
phase: item.phase,
[item.statisticalName]: item.statisticalData || '-',
}
}
this.renderData[key][index][item.statisticalName] = item.statisticalData || '-'
} else {
this.renderData[key].push({
phase: item.phase,
[item.statisticalName]: item.statisticalData || '-',
})
}
})
console.log(this.renderData)

View File

@@ -10,10 +10,10 @@
<view class="item item-title">功率因数</view>
<template v-for="(item, index) in renderData.电网侧">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Pq_P(W)'] || '-' }}</view>
<view class="item">{{ item['Pq_Q(var)'] || '-' }}</view>
<view class="item">{{ item['Pq_S(VA)'] || '-' }}</view>
<view class="item">{{ item['Pq_PF(null)'] || '-' }}</view>
<view class="item">{{ item['Apf_P_Sys(W)'] || '-' }}</view>
<view class="item">{{ item['Apf_Q_Sys(Var)'] || '-' }}</view>
<view class="item">{{ item['Apf_S_Sys(VA)'] || '-' }}</view>
<view class="item">{{ item['Apf_PF_Sys(null)'] || '-' }}</view>
</template>
</view>
</view>
@@ -25,12 +25,12 @@
<view class="item item-title">无功功率(kVar)</view>
<view class="item item-title">视在功率(kVA)</view>
<view class="item item-title">功率因数</view>
<template v-for="(item, index) in renderData.电网侧">
<template v-for="(item, index) in renderData.负载侧">
<view class="item">{{ item.phase }}</view>
<view class="item">{{ item['Pq_P(W)'] || '-' }}</view>
<view class="item">{{ item['Pq_Q(var)'] || '-' }}</view>
<view class="item">{{ item['Pq_S(VA)'] || '-' }}</view>
<view class="item">{{ item['Pq_PF(null)'] || '-' }}</view>
<view class="item">{{ item['Apf_P_Load(W)'] || '-' }}</view>
<view class="item">{{ item['Apf_Q_Load(Var)'] || '-' }}</view>
<view class="item">{{ item['Apf_S_Load(VA)'] || '-' }}</view>
<view class="item">{{ item['Apf_PF_Load(null)'] || '-' }}</view>
</template>
</view>
</view>
@@ -41,9 +41,9 @@ export default {
data() {
return {
renderData: {
电网侧: {},
负载侧: {},
输出侧: {},
电网侧: [],
负载侧: [],
未知: [],
},
}
},
@@ -58,36 +58,52 @@ export default {
watch: {
basicData: {
handler: function (newVal, oldVal) {
let arr = [
{
name: '电网侧',
linePostion: 'cb23b9ede3b652cd6da194fd7b318124',
},
{
name: '负载侧',
linePostion: '32624d4bb3a86f2b9a01bab272e50125',
},
{
name: '输出侧',
linePostion: '26eae70fb5ff1c090d2dc7c3a0743948',
},
]
this.basicData.forEach((item) => {
newVal.forEach(item => {
if (item.phase === 'avg') {
return
}
let index = arr.findIndex((item2) => {
return item2.linePostion === item.position
let key = ''
switch (item.statisticalName) {
case 'Apf_P_Sys(W)':
key = '电网侧'
break
case 'Apf_Q_Sys(Var)':
key = '电网侧'
break
case 'Apf_S_Sys(VA)':
key = '电网侧'
break
case 'Apf_PF_Sys(null)':
key = '电网侧'
break
case 'Apf_P_Load(W)':
key = '负载侧'
break
case 'Apf_Q_Load(Var)':
key = '负载侧'
break
case 'Apf_S_Load(VA)':
key = '负载侧'
break
case 'Apf_PF_Load(null)':
key = '负载侧'
break
default:
key = '未知'
break
}
let index = this.renderData[key].findIndex((item2) => {
return item2.phase === item.phase
})
if (index > -1) {
if (this.renderData[arr[index]['name']][item.phase]) {
this.renderData[arr[index]['name']][item.phase][item.statisticalName] = item.statisticalData || '-'
} else {
this.renderData[arr[index]['name']][item.phase] = {
phase: item.phase,
[item.statisticalName]: item.statisticalData || '-',
}
}
this.renderData[key][index][item.statisticalName] = item.statisticalData || '-'
} else {
this.renderData[key].push({
phase: item.phase,
[item.statisticalName]: item.statisticalData || '-',
})
}
})
console.log(this.renderData)
@@ -95,6 +111,7 @@ export default {
deep: true,
immediate: true,
},
},
methods: {},
}

View File

@@ -69,23 +69,24 @@ export default {
watch: {
basicData: {
handler: function (newVal, oldVal) {
console.log(this.basicData)
let basicData = JSON.parse(JSON.stringify(this.basicData))
let arr = [
{
name: '电网侧',
linePostion: 'cb23b9ede3b652cd6da194fd7b318124',
key: 'Apf_HarmI_Sys',
},
{
name: '负载侧',
linePostion: '32624d4bb3a86f2b9a01bab272e50125',
key: 'Apf_HarmI_Load',
},
]
basicData.forEach((item) => {
if (item.statisticalName.indexOf('Pq_HarmI_') === -1) {
if (item.statisticalName.indexOf('HarmI') === -1) {
return
}
let index = arr.findIndex((item2) => {
return item2.linePostion === item.position
return item.statisticalName.indexOf(item2.key) > -1
})
if (index > -1) {
if (this.renderData[arr[index]['name']][item.phase]) {
@@ -93,7 +94,6 @@ export default {
item.statisticalData || 0
} else {
this.renderData[arr[index]['name']][item.phase] = {
phase: item.phase,
[item.statisticalName]: item.statisticalData || 0,
}
}
@@ -110,10 +110,11 @@ export default {
let obj = JSON.parse(
JSON.stringify(this.renderData['电网侧'][Object.keys(this.renderData['电网侧'])[0]]),
)
delete obj['phase']
console.log(
Object.keys(obj).map((item) => {
return item.match(/Pq_HarmI_(\d+)/)[1]
// Apf_HarmI_Sys_36(A) 匹配36
return item.match(/\d+/)[0]
}),
)
console.log(
@@ -128,7 +129,8 @@ export default {
)
this.chartData = {
categories: Object.keys(obj).map((item) => {
return Number(item.match(/Pq_HarmI_(\d+)/)[1])
// Apf_HarmI_Sys_36(A) 匹配36
return Number(item.match(/\d+/)[0])
}),
series: [
{