修改台账管理页面 优化实时数据

This commit is contained in:
GGJ
2025-03-20 16:29:28 +08:00
parent bcf9c78fac
commit 1154b7e69c
9 changed files with 1580 additions and 761 deletions

View File

@@ -4,7 +4,6 @@
<div id="rmsp" :style="`height:${vh};overflow: hidden;`">
<div class="bx" id="rms"></div>
</div>
</div>
<!-- <el-button
style="position: absolute; right: 10px; top: 0px; z-index: 20000"
@@ -86,7 +85,14 @@ export default {
titles: "",
vh: null,
vw: null,
echartlist: null
echartlist: null,
myChartess: null,
myChartess1: null,
myChartess2: null,
myChartess3: null,
myChartess4: null,
myChartess5: null,
};
},
watch: {
@@ -123,20 +129,32 @@ export default {
// this.$rms = $("#rms").eq(0);
this.query();
},
beforeDestroy() {
this.backbxlb()
},
methods: {
backbxlb() {
this.waveDatas = []
if(this.myChartess){this.myChartess.dispose(); this.myChartess=null; }
if(this.myChartess1){this.myChartess1.dispose(); this.myChartess1=null; }
if(this.myChartess2){this.myChartess2.dispose(); this.myChartess2=null; }
if(this.myChartess3){this.myChartess3.dispose(); this.myChartess3=null; }
if(this.myChartess4){this.myChartess4.dispose(); this.myChartess4=null; }
if(this.myChartess5){this.myChartess5.dispose(); this.myChartess5=null; }
if (this.echartlist.length > 0) {
echarts.disconnect([this.myChartess,this.myChartess1,this.myChartess2,this.myChartess3,this.myChartess4,this.myChartess5])
this.waveDatas = []
this.echartlist.forEach(item => {
item.dispose(); // 销毁echarts实例
// if (this.echartlist.length > 0) {
// this.waveDatas = []
// this.echartlist.forEach(item => {
// item.dispose(); // 销毁echarts实例
})
// })
}
// }
},
download() {
// 转换成canvas
@@ -1182,7 +1200,8 @@ export default {
myChartes.resize();
this.loading = false;
}, 500);
this.echartlist.push(myChartes)
// this.echartlist.push(myChartes)
this.myChartess=myChartes
//第一个波形图数据绘制完毕后,绘制后续的波形图
if (waveDatas !== null && waveDatas.length > 1) {
let waveDatasTemp = waveDatas.slice(1);
@@ -1557,7 +1576,8 @@ export default {
myChartes.resize();
this.loading = false;
}, 500);
this.echartlist.push(myChartes)
// this.echartlist.push(myChartes)
this[`myChartess${step}`]=myChartes
echarts.connect([myChartes1, myChartes]);
},
//根据多个值的比较返回其中最大值

View File

@@ -72,7 +72,14 @@ export default {
vh: null,
vw: null,
zoom: '',
echartlist: null
echartlist: [null, null, null, null, null, null, null, null],
myChartess: null,
myChartess1: null,
myChartess2: null,
myChartess3: null,
myChartess4: null,
myChartess5: null,
}
},
created() {
@@ -110,20 +117,36 @@ export default {
this.query()
})
},
beforeDestroy() {
this.backbxlb()
},
methods: {
backbxlb() {
if (this.echartlist.length > 0) {
console.log(123111);
this.waveDatas = []
this.echartlist.forEach(item => {
item.dispose(); // 销毁echarts实例
if(this.myChartess){this.myChartess.dispose(); this.myChartess=null; }
if(this.myChartess1){this.myChartess1.dispose(); this.myChartess1=null; }
if(this.myChartess2){this.myChartess2.dispose(); this.myChartess2=null; }
if(this.myChartess3){this.myChartess3.dispose(); this.myChartess3=null; }
if(this.myChartess4){this.myChartess4.dispose(); this.myChartess4=null; }
if(this.myChartess5){this.myChartess5.dispose(); this.myChartess5=null; }
echarts.disconnect([this.myChartess,this.myChartess1,this.myChartess2,this.myChartess3,this.myChartess4,this.myChartess5])
})
// this.echartlist.forEach(item => {
// if (item) {
// item.dispose(); // 销<><E99480>echarts实例
// echarts.disconnect(item)
// item=null
// }
}
// })
// setTimeout(()=>{
// console.log("🚀 ~ backbxlb ~ this.echartlist:", this.echartlist)
// },1000)
},
download() {
// 转换成canvas
@@ -241,7 +264,7 @@ export default {
},
//获取横向一个波形的全部数据,包括瞬时波形的一次、二次值,如果是电压的话,还需要计算出对应的最大最小值
fliteWaveData(wp, step) {
let shunData = wp.listWaveData
let pt = Number(wp.pt) / 1000
let ct = Number(wp.ct)
@@ -413,7 +436,7 @@ export default {
},
//开始画图
initWave(waveDatas, time, type, severity, isOpen) {
this.echartlist = []
//清除之前增加的div
// $("#wave ~ .bx1").remove();
$('div.bx1').remove()
@@ -814,7 +837,8 @@ export default {
myChartes.resize()
this.loading = false
}, 400)
this.echartlist.push(myChartes)
// this.echartlist[0]=(myChartes)
this.myChartess=myChartes
//第一个波形图数据绘制完毕后,绘制后续的波形图
if (waveDatas !== null && waveDatas.length > 1) {
@@ -1165,7 +1189,9 @@ export default {
myChartes.resize()
this.loading = false
}, 400)
this.echartlist.push(myChartes)
// this.echartlist[step]=(myChartes)
this[`myChartess${step}`]=myChartes
echarts.connect([myChartes1, myChartes])
},
//根据多个值的比较返回其中最大值

View File

@@ -132,12 +132,13 @@ const open = async (row: any) => {
})
}
const bxhandleClick = (tab: any) => {
if (shushiboxiRef.value) shushiboxiRef.value.backbxlb()
if (rmsboxiRef.value) rmsboxiRef.value.backbxlb()
loading.value = true
if (tab.name == 'ssbx') {
if (rmsboxiRef.value) rmsboxiRef.value.backbxlb()
bxactiveName.value = 'ssbx'
} else if (tab.name == 'rmsbx') {
if (shushiboxiRef.value) shushiboxiRef.value.backbxlb()
bxactiveName.value = 'rmsbx'
}
setTimeout(() => {
@@ -173,6 +174,8 @@ const AdvancedAnalytics = () => {
})
}
const changeView = () => {
if (shushiboxiRef.value) shushiboxiRef.value.backbxlb()
if (rmsboxiRef.value) rmsboxiRef.value.backbxlb()
showBoxi.value = false
setTimeout(() => {
showBoxi.value = true

View File

@@ -13,7 +13,7 @@
<!-- image -->
<div v-if="field.render == 'image' && fieldValue" class="ba-render-image">
<el-image :hide-on-click-modal="true" :preview-teleported="true" :preview-src-list="[fullUrl(fieldValue)]"
<el-image :hide-on-click-modal="true" :preview-teleported="true" :preview-src-list="[fieldValue]"
:src="fieldValue.length > 100 ? fieldValue : fullUrl(fieldValue)"></el-image>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -5,8 +5,9 @@
<div class="view_btn" v-if="time">
<el-button type="primary" :icon="DataLine" @click="view = 2">谐波频谱</el-button>
<el-button type="primary" :icon="TrendCharts" @click="view = 3">实时趋势</el-button>
<el-button type="primary" :icon="Download" @click="downloadTxt">下载数据</el-button>
</div>
<el-collapse v-model.trim="activeNames">
<el-collapse v-model.trim="activeNames" @change="handleChange">
<el-collapse-item title="基础数据" name="1">
<div class="view_top">
<!-- 左侧仪表盘 -->
@@ -85,8 +86,8 @@
</el-collapse-item>
</el-collapse>
<div class="view_bot">
<vxe-table border height="" :data="webMsgSend" :tooltip-config="{ enterable: true }">
<div class="view_bot" :style="height">
<vxe-table border :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-colgroup align="center" title="电压有效值(kV)">
<vxe-column
align="center"
@@ -139,7 +140,7 @@
</vxe-colgroup>
</vxe-table>
<br />
<vxe-table border height="" :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-table border :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-column align="center" field="freq" width="140" title="频率(Hz)" :formatter="formatter" />
<vxe-column
align="center"
@@ -189,7 +190,7 @@
</vxe-colgroup>
</vxe-table>
<br />
<vxe-table border height="" :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-table border :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-colgroup align="center" title="电压偏差(%)">
<vxe-column
align="center"
@@ -261,7 +262,7 @@
</vxe-colgroup>
</vxe-table>
<br />
<vxe-table border height="" :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-table border :data="webMsgSend" :tooltip-config="{ enterable: true }">
<vxe-colgroup align="center" title="无功功率(kVar)">
<vxe-column
v-if="ptName == 'star'"
@@ -339,11 +340,13 @@ import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { useDictData } from '@/stores/dictData'
import { timeFormat } from '@/utils/common'
import { useAdminInfo } from '@/stores/adminInfo'
import { TrendCharts, DataLine } from '@element-plus/icons-vue'
import { TrendCharts, DataLine, Download } from '@element-plus/icons-vue'
import spectrum from './spectrum.vue'
import trend from './trend.vue'
import { getLineDetail } from '@/api/device-boot/communicate'
import { mainHeight } from '@/utils/layout'
// import { getRealTimeTableList } from '@/api/cs-device-boot/EquipmentDelivery'
const height = ref(mainHeight(580))
const monitoringPoint = useMonitoringPoint()
const dictData = useDictData()
const adminInfo = useAdminInfo()
@@ -376,6 +379,10 @@ const echartsDataA3: any = ref({})
const dataSocket = reactive({
socketServe: socketClient.Instance
})
const handleChange = () => {
height.value = mainHeight(activeNames.value.length == 0 ? 160 : 580)
}
const txtContent = ref('')
//渲染中间相角图
const initRadioCharts = () => {
echartsData1.value = {
@@ -470,8 +477,9 @@ const initRadioCharts = () => {
// 指针设置
pointer: {
length: '80%',
width: 4,
icon: 'path://m368.01136,209.80637l173.00807,-193.72679c19.14653,-21.43943 50.16392,-21.43943 69.31045,0l172.93149,193.72679c1.22537,1.37213 1.22537,3.51607 0,4.8882l-47.63657,53.34133c-1.22538,1.37213 -3.14003,1.37213 -4.36541,0l-113.65381,-127.26452c-1.91465,-2.14395 -5.20785,-0.60031 -5.20785,2.40122l0,731.94254c0,1.88667 -1.37855,3.43031 -3.06345,3.43031l-67.39579,0c-1.6849,0 -3.06345,-1.54364 -3.06345,-3.43031l0,-731.94254c0,-3.08728 -3.2932,-4.54517 -5.20785,-2.40122l-113.65381,127.26452c-1.22538,1.37213 -3.14003,1.37213 -4.36541,0l-47.63657,-53.34133c-1.22537,-1.37213 -1.22537,-3.51607 0,-4.88819l0,-0.00001M539,861.23064h73v800h-73z',
length: '90%',
width: 15,
opacity: 1
},
detail: {
@@ -574,9 +582,10 @@ const initRadioCharts = () => {
// 指针设置
pointer: {
icon: 'path://m368.01136,209.80637l173.00807,-193.72679c19.14653,-21.43943 50.16392,-21.43943 69.31045,0l172.93149,193.72679c1.22537,1.37213 1.22537,3.51607 0,4.8882l-47.63657,53.34133c-1.22538,1.37213 -3.14003,1.37213 -4.36541,0l-113.65381,-127.26452c-1.91465,-2.14395 -5.20785,-0.60031 -5.20785,2.40122l0,731.94254c0,1.88667 -1.37855,3.43031 -3.06345,3.43031l-67.39579,0c-1.6849,0 -3.06345,-1.54364 -3.06345,-3.43031l0,-731.94254c0,-3.08728 -3.2932,-4.54517 -5.20785,-2.40122l-113.65381,127.26452c-1.22538,1.37213 -3.14003,1.37213 -4.36541,0l-47.63657,-53.34133c-1.22537,-1.37213 -1.22537,-3.51607 0,-4.88819l0,-0.00001M539,861.23064h73v800h-73z',
length: '90%',
width: 6,
opacity: 0.5
width: 15,
opacity: 1
},
detail: {
show: false
@@ -749,62 +758,62 @@ const init = () => {
let pids = monitoringPoint.state.pid.split(',')
dataSocket.socketServe.connect(`${adminInfo.id},${monitoringPoint.state.lineId},${pids[pids.length - 2]}`)
dataSocket.socketServe.registerCallBack('message', (res: any) => {
txtContent.value = res.value
let data = JSON.parse(res.value)
// console.log('🚀 ~ dataSocket.socketServe.registerCallBack ~ data:', data)
time.value = data.TIME - 0
webMsgSend.value = [
{
vRmsA: ptName.value == 'star' ? data.V.A.VRMS : data.V.A.VRMS_LVR, //A相电压
vRmsB: ptName.value == 'star' ? data.V.B.VRMS : data.V.B.VRMS_LVR, //B相电压
vRmsC: ptName.value == 'star' ? data.V.C.VRMS : data.V.C.VRMS_LVR, //C相电压
iRmsA: data.I.A.IRMS, //A相电流
iRmsB: data.I.B.IRMS, //B相电流
iRmsC: data.I.C.IRMS, //C相电流
v1AngA: data.V.A.V_ANGLE, //A相基波电压相位
v1AngB: data.V.B.V_ANGLE, //B相基波电压相位
v1AngC: data.V.C.V_ANGLE, //C相基波电压相位
i1AngA: data.I.A.I_ANGLE, //A相基波电流相位
i1AngB: data.I.A.I_ANGLE, //B相基波电流相位
i1AngC: data.I.A.I_ANGLE, //C相基波电流相位
freq: data.V.T.FREQ, //频率
freqDev: data.V.T.DELTA_FREQ, //频率偏差
vUnbalance: data.V.T.V_UNBAN, //电压不平衡度
iUnbalance: data.I.T.I_UNBAN, //电流不平衡度
v1A: data.V.A.V1, //A相基波电压相位
v1B: data.V.B.V1, //A相基波电压相位
v1C: data.V.C.V1, //A相基波电压相位
i1A: data.I.A.I1, //A相基波电流相位
i1B: data.I.B.I1, //A相基波电流相位
i1C: data.I.C.I1, //A相基波电流相位
vDevA: data.V.A.DELTA_V, //A相电压偏差
vDevB: data.V.B.DELTA_V, //B相电压偏差
vDevC: data.V.C.DELTA_V, //C相电压偏差
vThdA: data.V.A.VTHD, //A相电压总谐波畸变率
vThdB: data.V.B.VTHD, //B相电压总谐波畸变率
vThdC: data.V.C.VTHD, //C相电压总谐波畸变率
iThdA: data.I.A.ITHD, //A相电流总谐波畸变率
iThdB: data.I.B.ITHD, //B相电流总谐波畸变率
iThdC: data.I.C.ITHD, //C相电流总谐波畸变率
pA: data.PQ.A.P, //A相有功功率
pB: data.PQ.B.P, //B相有功功率
pC: data.PQ.C.P, //C相有功功率
pTot: data.PQ.T.P, //总有功功率
qA: data.PQ.A.Q, //A相无功功率
qB: data.PQ.B.Q, //B相无功功率
qC: data.PQ.C.Q, //C相无功功率
qTot: data.PQ.T.Q, //总无功功率
sA: data.PQ.A.S, //A相视在功率
sB: data.PQ.B.S, //B相视在功率
sC: data.PQ.C.S, //C相视在功率
sTot: data.PQ.T.S, //总视在功率
pfA: data.PQ.A.PF, //A相功率因数
pfB: data.PQ.B.PF, //B相功率因数
pfC: data.PQ.C.PF, //C相功率因数
pfTot: data.PQ.T.PF, //总功率因数
dpfA: data.PQ.A.DF, //A相基波功率因数
dpfB: data.PQ.B.DF, //B相基波功率因数
dpfC: data.PQ.C.DF, //C相基波功率因数
dpfTot: data.PQ.T.DF //总基波功率因数
iRmsA: data.I.A?.IRMS, //A相电流
iRmsB: data.I.B?.IRMS, //B相电流
iRmsC: data.I.C?.IRMS, //C相电流
v1AngA: data.V.A?.VFUND_ANGLE, //A相基波电压相位
v1AngB: data.V.B?.VFUND_ANGLE, //B相基波电压相位
v1AngC: data.V.C?.VFUND_ANGLE, //C相基波电压相位
i1AngA: data.I.A?.I_ANGLE, //A相基波电流相位
i1AngB: data.I.B?.I_ANGLE, //B相基波电流相位
i1AngC: data.I.C?.I_ANGLE, //C相基波电流相位
freq: data.V.T?.FREQ, //频率
freqDev: data.V.T?.DELTA_FREQ, //频率偏差
vUnbalance: data.V.T?.V_UNBAN, //电压不平衡度
iUnbalance: data.I.T?.I_UNBAN, //电流不平衡度
v1A: data.V.A?.V1, //A相基波电压幅值
v1B: data.V.B?.V1, //A相基波电压幅值
v1C: data.V.C?.V1, //A相基波电压幅值
i1A: data.I.A?.I1, //A相基波电流相位
i1B: data.I.B?.I1, //A相基波电流相位
i1C: data.I.C?.I1, //A相基波电流相位
vDevA: data.V.A?.DELTA_V, //A相电压偏差
vDevB: data.V.B?.DELTA_V, //B相电压偏差
vDevC: data.V.C?.DELTA_V, //C相电压偏差
vThdA: data.V.A?.VTHD, //A相电压总谐波畸变率
vThdB: data.V.B?.VTHD, //B相电压总谐波畸变率
vThdC: data.V.C?.VTHD, //C相电压总谐波畸变率
iThdA: data.I.A?.ITHD, //A相电流总谐波畸变率
iThdB: data.I.B?.ITHD, //B相电流总谐波畸变率
iThdC: data.I.C?.ITHD, //C相电流总谐波畸变率
pA: data.PQ.A?.P, //A相有功功率
pB: data.PQ.B?.P, //B相有功功率
pC: data.PQ.C?.P, //C相有功功率
pTot: data.PQ.T?.P, //总有功功率
qA: data.PQ.A?.Q, //A相无功功率
qB: data.PQ.B?.Q, //B相无功功率
qC: data.PQ.C?.Q, //C相无功功率
qTot: data.PQ.T?.Q, //总无功功率
sA: data.PQ.A?.S, //A相视在功率
sB: data.PQ.B?.S, //B相视在功率
sC: data.PQ.C?.S, //C相视在功率
sTot: data.PQ.T?.S, //总视在功率
pfA: data.PQ.A?.PF, //A相功率因数
pfB: data.PQ.B?.PF, //B相功率因数
pfC: data.PQ.C?.PF, //C相功率因数
pfTot: data.PQ.T?.PF, //总功率因数
dpfA: data.PQ.A?.DF, //A相基波功率因数
dpfB: data.PQ.B?.DF, //B相基波功率因数
dpfC: data.PQ.C?.DF, //C相基波功率因数
dpfTot: data.PQ.T?.DF //总基波功率因数
}
]
spectrumRef.value?.init(data)
@@ -814,12 +823,27 @@ const init = () => {
setRealData()
})
}
// 下载txt
const downloadTxt = () => {
const content = txtContent.value // 文件内容
const blob = new Blob([content], { type: 'text/plain' }) // 创建 Blob 对象
const url = URL.createObjectURL(blob) // 生成下载链接
// 创建 <a> 标签并触发下载
const link = document.createElement('a')
link.href = url
link.download = '实时数据.txt' // 文件名
link.click()
// 释放 URL 对象
URL.revokeObjectURL(url)
}
//接收父组件传递的table数据
const loading = ref(false)
const formatter = (row: any) => {
return Math.floor(row.cellValue * 100) / 100
return row.cellValue == undefined ? '/' : Math.floor(row.cellValue * 100) / 100
}
//电流相角数组&电压相角数组
const iRadioList: any = ref([])

View File

@@ -127,13 +127,17 @@ const init = (row: any) => {
let SvData: any = {}
for (let i = 1; i < 50; i++) {
vData[`h${i + 1}`] =
Math.floor(Math.max(...[row.V.A[`V` + i], row.V.B[`V` + i], row.V.C[`V` + i]].map(Number)) * 100) / 100
Math.floor(
Math.max(...[row.V.A[`V` + (i + 1)], row.V.B[`V` + (i + 1)], row.V.C[`V` + (i + 1)]].map(Number)) * 100
) / 100
SvData[`h${i - 0.5}`] =
Math.floor(Math.max(...[row.V.A[`SV_` + i], row.V.B[`SV_` + i], row.V.C[`SV_` + i]].map(Number)) * 100) /
100
iData[`h${i + 1}`] =
Math.floor(Math.max(...[row.I.A[`I` + i], row.I.B[`I` + i], row.I.C[`I` + i]].map(Number)) * 100) / 100
Math.floor(
Math.max(...[row.I.A[`I` + (i + 1)], row.I.B[`I` + (i + 1)], row.I.C[`I` + (i + 1)]].map(Number)) * 100
) / 100
}
SvData[`h49.5`] =
Math.floor(Math.max(...[row.V.A[`SV_50`], row.V.B[`SV_50`], row.V.C[`SV_50`]].map(Number)) * 100) / 100
@@ -150,6 +154,9 @@ const init = (row: any) => {
: tabsList.value[activeName.value].title
barCharts.value[activeName.value]?.setOptions({
title: {
text: tabsList.value[activeName.value].groupName
},
xAxis: {
data: xData.map(num => `${num}次`)
},
@@ -182,7 +189,7 @@ const init = (row: any) => {
const echarts = (num: number) => {
return {
title: {
text: tabsList.value[num].groupName
text: ''
},
xAxis: {
name: tabsList.value[num].unit,

View File

@@ -190,64 +190,64 @@ const init = (row: any) => {
case '电压总有效值(kV)':
item.echartsData.series[0].data.push([
time,
Math.floor((props.ptName == 'star' ? row.V.A.VRMS : row.V.A.VRMS_LVR) * 100) / 100
Math.floor((props.ptName == 'star' ? row.V.A?.VRMS : row.V.A?.VRMS_LVR) * 100) / 100
])
item.echartsData.series[1].data.push([
time,
Math.floor((props.ptName == 'star' ? row.V.B.VRMS : row.V.B.VRMS_LVR) * 100) / 100
Math.floor((props.ptName == 'star' ? row.V.B?.VRMS : row.V.B?.VRMS_LVR) * 100) / 100
])
item.echartsData.series[2].data.push([
time,
Math.floor((props.ptName == 'star' ? row.V.C.VRMS : row.V.C.VRMS_LVR) * 100) / 100
Math.floor((props.ptName == 'star' ? row.V.C?.VRMS : row.V.C?.VRMS_LVR) * 100) / 100
])
break
case '电流总有效值(A)':
item.echartsData.series[0].data.push([time, Math.floor(row.I.A.IRMS * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.I.B.IRMS * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.I.C.IRMS * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.I.A?.IRMS * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.I.B?.IRMS * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.I.C?.IRMS * 100) / 100])
break
case '有功功率(kW)':
if (props.ptName == 'star') {
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.A.P * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.PQ.B.P * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.PQ.C.P * 100) / 100])
item.echartsData.series[3].data.push([time, Math.floor(row.PQ.T.P * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.A?.P * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.PQ.B?.P * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.PQ.C?.P * 100) / 100])
item.echartsData.series[3].data.push([time, Math.floor(row.PQ.T?.P * 100) / 100])
} else {
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.T.P * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.T?.P * 100) / 100])
}
break
case '无功功率(kW)':
if (props.ptName == 'star') {
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.A.Q * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.PQ.B.Q * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.PQ.C.Q * 100) / 100])
item.echartsData.series[3].data.push([time, Math.floor(row.PQ.T.Q * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.A?.Q * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.PQ.B?.Q * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.PQ.C?.Q * 100) / 100])
item.echartsData.series[3].data.push([time, Math.floor(row.PQ.T?.Q * 100) / 100])
} else {
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.T.Q * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.PQ.T?.Q * 100) / 100])
}
break
case '基波电压总有效值(kV)':
item.echartsData.series[0].data.push([time, Math.floor(row.V.A.V1 * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.V.B.V1 * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.V.C.V1 * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.V.A?.V1 * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.V.B?.V1 * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.V.C?.V1 * 100) / 100])
break
case '基波电流总有效值(A)':
item.echartsData.series[0].data.push([time, Math.floor(row.I.A.I1 * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.I.B.I1 * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.I.C.I1 * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.I.A?.I1 * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.I.B?.I1 * 100) / 100])
item.echartsData.series[2].data.push([time, Math.floor(row.I.C?.I1 * 100) / 100])
break
case '频率(Hz)':
item.echartsData.series[0].data.push([time, Math.floor(row.V.T.FREQ * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.V.T.DELTA_FREQ * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.V.T?.FREQ * 100) / 100])
item.echartsData.series[1].data.push([time, Math.floor(row.V.T?.DELTA_FREQ * 100) / 100])
break
case '电压不平衡度(%)':
item.echartsData.series[0].data.push([time, Math.floor(row.V.T.V_UNBAN * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.V.T?.V_UNBAN * 100) / 100])
break
case '电流不平衡度(%)':
item.echartsData.series[0].data.push([time, Math.floor(row.I.T.I_UNBAN * 100) / 100])
item.echartsData.series[0].data.push([time, Math.floor(row.I.T?.I_UNBAN * 100) / 100])
break
}
item.echartsData.series.forEach((item1: any) => {

View File

@@ -1,5 +1,6 @@
<template>
<div class="default-main">
<DatePicker ref="datePickerRef" theCurrentTime style="display: none" />
<!-- 搜索框 -->
<div class="query-box-wrap">
@@ -100,7 +101,7 @@
<!-- 行政区划 -->
<div v-if='zoom <= 11'>
<div v-for="item in AreaData">
<bm-polygon v-for="timeK in item.boundary" :path="timeK" :strokeWeight="2" strokeColor="#fff"
<bm-polygon v-for="timeK in item.boundary" :path="timeK" :strokeWeight="2" strokeColor="#0e8780"
:strokeOpacity="1" :fillColor="item.background || ''" :fillOpacity="0.5"></bm-polygon>
</div>
</div>
@@ -171,7 +172,7 @@ const AreaData: any = ref([])
const PopKey: any = ref(2)
const imgUrl0 = new URL('@/assets/img/BDZ-ZS.png', import.meta.url).href
const imgUrl1 = new URL('@/assets/img/ZD-ZS.png', import.meta.url).href
const imgUrl2 = new URL('@/assets/img/JCD-ZS.png', import.meta.url).href
const imgUrl2 = new URL('@/assets/img/JCD-ZS.png', import.meta.url).hre
const boundaryList: any = ref([
{
orgName: '唐山',