修改问题

This commit is contained in:
zhujiyan
2024-10-22 15:01:41 +08:00
parent 28c0e2d23c
commit 25ffc10857
3 changed files with 129 additions and 120 deletions

View File

@@ -407,20 +407,27 @@ const handleTrend = async () => {
clearInterval(timer.value) clearInterval(timer.value)
clearInterval(realDataTimer.value) clearInterval(realDataTimer.value)
clearInterval(trendTimer.value) clearInterval(trendTimer.value)
await getHarmRealData(lineId.value, activeTrendName.value).then((res: any) => { await getHarmRealData(lineId.value, activeTrendName.value)
if (res.code == 'A0000') { .then((res: any) => {
ElMessage.success('装置应答成功') if (res.code == 'A0000') {
mqttRef.value.on('message', (topic: any, message: any) => { ElMessage.success('装置应答成功')
console.log('谐波频谱---mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))) mqttRef.value.on('message', (topic: any, message: any) => {
let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) || {} console.log(
if (obj.data1) { '谐波频谱---mqtt接收到消息',
realTrendRef.value && realTrendRef.value.setRealTrendData(obj) JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
} )
}) let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) || {}
} else { if (obj.data1) {
ElMessage.success('装置应答失败') realTrendRef.value && realTrendRef.value.setRealTrendData(obj)
} }
}) })
} else {
ElMessage.success('装置应答失败')
}
})
.catch(e => {
realTrendRef.value && realTrendRef.value.setRealTrendData(false)
})
//每隔30s调用一下接口通知后台推送mqtt消息 //每隔30s调用一下接口通知后台推送mqtt消息
trendTimer.value = setInterval(() => { trendTimer.value = setInterval(() => {
getHarmRealData(lineId.value, activeTrendName.value).then((res: any) => { getHarmRealData(lineId.value, activeTrendName.value).then((res: any) => {
@@ -435,7 +442,10 @@ const handleTrend = async () => {
}) })
mqttRef.value.on('message', (topic: any, message: any) => { mqttRef.value.on('message', (topic: any, message: any) => {
console.log('谐波频谱----mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))) console.log(
'谐波频谱----mqtt接收到消息',
JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
)
let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) || {} let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) || {}
if (obj.data1) { if (obj.data1) {
realTrendRef.value && realTrendRef.value.setRealTrendData(obj) realTrendRef.value && realTrendRef.value.setRealTrendData(obj)
@@ -467,6 +477,7 @@ const handleHarmonicSpectrum = () => {
const handleReturn = () => { const handleReturn = () => {
realTimeFlag.value = true realTimeFlag.value = true
sonTab.value = null sonTab.value = null
activeTrendName.value = 0
handleClick() handleClick()
} }
const getDeviceDataTrend = (e: any) => { const getDeviceDataTrend = (e: any) => {
@@ -616,8 +627,11 @@ const getRealDataMqttMsg = async () => {
mqttRef.value.on('message', (topic: any, message: any) => { mqttRef.value.on('message', (topic: any, message: any) => {
mqttMessage.value = {} mqttMessage.value = {}
console.log('实时数据&实时趋势---mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))) console.log(
'实时数据&实时趋势---mqtt接收到消息',
JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
)
let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
//处理mqtt数据 1转2除 2转1乘 //处理mqtt数据 1转2除 2转1乘
//如果消息返回值是二次值,下拉框是二次值只需要单位换算 除以1000 //如果消息返回值是二次值,下拉框是二次值只需要单位换算 除以1000

View File

@@ -54,9 +54,9 @@ indexOptions.value = [
id: 0, id: 0,
name: '电压总有效值(kV)', name: '电压总有效值(kV)',
children: [ children: [
{ name: 'vRmsA', phase: 'A相', data: [] }, { name: 'vRmsA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'vRmsB', phase: 'B相', data: [] }, { name: 'vRmsB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'vRmsC', phase: 'C相', data: [] } { name: 'vRmsC', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'kV', unit: 'kV',
data: [], data: [],
@@ -66,9 +66,9 @@ indexOptions.value = [
id: 1, id: 1,
name: '电流总有效值(A)', name: '电流总有效值(A)',
children: [ children: [
{ name: 'iRmsA', phase: 'A相', data: [] }, { name: 'iRmsA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'iRmsB', phase: 'B相', data: [] }, { name: 'iRmsB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'iRmsC', phase: 'C相', data: [] } { name: 'iRmsC', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'A', unit: 'A',
data: [], data: [],
@@ -78,10 +78,10 @@ indexOptions.value = [
id: 2, id: 2,
name: '有功功率(kW)', name: '有功功率(kW)',
children: [ children: [
{ name: 'pA', phase: 'A相', data: [] }, { name: 'pA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'pB', phase: 'B相', data: [] }, { name: 'pB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'pC', phase: 'C相', data: [] }, { name: 'pC', phase: 'C相', data: [], yMethodList: [] },
{ name: 'pTot', phase: '总', data: [] } { name: 'pTot', phase: '总', data: [], yMethodList: [] }
], ],
unit: 'kW', unit: 'kW',
data: [], data: [],
@@ -91,10 +91,10 @@ indexOptions.value = [
id: 3, id: 3,
name: '无功功率(kW)', name: '无功功率(kW)',
children: [ children: [
{ name: 'qA', phase: 'A相', data: [] }, { name: 'qA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'qB', phase: 'B相', data: [] }, { name: 'qB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'qC', phase: 'C相', data: [] }, { name: 'qC', phase: 'C相', data: [], yMethodList: [] },
{ name: 'qTot', phase: '总', data: [] } { name: 'qTot', phase: '总', data: [], yMethodList: [] }
], ],
unit: 'kW', unit: 'kW',
data: [], data: [],
@@ -105,9 +105,9 @@ indexOptions.value = [
id: 4, id: 4,
name: '基波电压总有效值(kV)', name: '基波电压总有效值(kV)',
children: [ children: [
{ name: 'v1A', phase: 'A相', data: [] }, { name: 'v1A', phase: 'A相', data: [], yMethodList: [] },
{ name: 'v1B', phase: 'B相', data: [] }, { name: 'v1B', phase: 'B相', data: [], yMethodList: [] },
{ name: 'v1C', phase: 'C相', data: [] } { name: 'v1C', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'kV', unit: 'kV',
data: [], data: [],
@@ -117,9 +117,9 @@ indexOptions.value = [
id: 5, id: 5,
name: '基波电流总有效值(A)', name: '基波电流总有效值(A)',
children: [ children: [
{ name: 'i1A', phase: 'A相', data: [] }, { name: 'i1A', phase: 'A相', data: [], yMethodList: [] },
{ name: 'i1B', phase: 'B相', data: [] }, { name: 'i1B', phase: 'B相', data: [], yMethodList: [] },
{ name: 'i1C', phase: 'C相', data: [] } { name: 'i1C', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'A', unit: 'A',
data: [], data: [],
@@ -129,8 +129,8 @@ indexOptions.value = [
id: 6, id: 6,
name: '频率(Hz)', name: '频率(Hz)',
children: [ children: [
{ name: 'freq', phase: '频率', data: [] }, { name: 'freq', phase: '频率', data: [], yMethodList: [] },
{ name: 'freqDev', phase: '频率偏差', data: [] } { name: 'freqDev', phase: '频率偏差', data: [], yMethodList: [] }
], ],
unit: 'Hz', unit: 'Hz',
data: [], data: [],
@@ -139,7 +139,7 @@ indexOptions.value = [
{ {
id: 7, id: 7,
name: '电压不平衡度(%)', name: '电压不平衡度(%)',
children: [{ name: 'vUnbalance', phase: '电压不平衡度', data: [] }], children: [{ name: 'vUnbalance', phase: '电压不平衡度', data: [], yMethodList: [] }],
unit: '%', unit: '%',
data: [], data: [],
yMethodList: [] yMethodList: []
@@ -147,7 +147,7 @@ indexOptions.value = [
{ {
id: 8, id: 8,
name: '电流不平衡度(%)', name: '电流不平衡度(%)',
children: [{ name: 'iUnbalance', phase: '电流不平衡度', data: [] }], children: [{ name: 'iUnbalance', phase: '电流不平衡度', data: [], yMethodList: [] }],
unit: '%', unit: '%',
data: [], data: [],
yMethodList: [] yMethodList: []
@@ -166,94 +166,103 @@ const resetData = () => {
id: 0, id: 0,
name: '电压总有效值(kV)', name: '电压总有效值(kV)',
children: [ children: [
{ name: 'vRmsA', phase: 'A相', data: [] }, { name: 'vRmsA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'vRmsB', phase: 'B相', data: [] }, { name: 'vRmsB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'vRmsC', phase: 'C相', data: [] } { name: 'vRmsC', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'kV', unit: 'kV',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 1, id: 1,
name: '电流总有效值(A)', name: '电流总有效值(A)',
children: [ children: [
{ name: 'iRmsA', phase: 'A相', data: [] }, { name: 'iRmsA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'iRmsB', phase: 'B相', data: [] }, { name: 'iRmsB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'iRmsC', phase: 'C相', data: [] } { name: 'iRmsC', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'A', unit: 'A',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 2, id: 2,
name: '有功功率(kW)', name: '有功功率(kW)',
children: [ children: [
{ name: 'pA', phase: 'A相', data: [] }, { name: 'pA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'pB', phase: 'B相', data: [] }, { name: 'pB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'pC', phase: 'C相', data: [] }, { name: 'pC', phase: 'C相', data: [], yMethodList: [] },
{ name: 'pTot', phase: '总', data: [] } { name: 'pTot', phase: '总', data: [], yMethodList: [] }
], ],
unit: 'kW', unit: 'kW',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 3, id: 3,
name: '无功功率(kW)', name: '无功功率(kW)',
children: [ children: [
{ name: 'qA', phase: 'A相', data: [] }, { name: 'qA', phase: 'A相', data: [], yMethodList: [] },
{ name: 'qB', phase: 'B相', data: [] }, { name: 'qB', phase: 'B相', data: [], yMethodList: [] },
{ name: 'qC', phase: 'C相', data: [] }, { name: 'qC', phase: 'C相', data: [], yMethodList: [] },
{ name: 'qTot', phase: '总', data: [] } { name: 'qTot', phase: '总', data: [], yMethodList: [] }
], ],
unit: 'kW', unit: 'kW',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 4, id: 4,
name: '基波电压总有效值(kV)', name: '基波电压总有效值(kV)',
children: [ children: [
{ name: 'v1A', phase: 'A相', data: [] }, { name: 'v1A', phase: 'A相', data: [], yMethodList: [] },
{ name: 'v1B', phase: 'B相', data: [] }, { name: 'v1B', phase: 'B相', data: [], yMethodList: [] },
{ name: 'v1C', phase: 'C相', data: [] } { name: 'v1C', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'kV', unit: 'kV',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 5, id: 5,
name: '基波电流总有效值(A)', name: '基波电流总有效值(A)',
children: [ children: [
{ name: 'i1A', phase: 'A相', data: [] }, { name: 'i1A', phase: 'A相', data: [], yMethodList: [] },
{ name: 'i1B', phase: 'B相', data: [] }, { name: 'i1B', phase: 'B相', data: [], yMethodList: [] },
{ name: 'i1C', phase: 'C相', data: [] } { name: 'i1C', phase: 'C相', data: [], yMethodList: [] }
], ],
unit: 'A', unit: 'A',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 6, id: 6,
name: '频率(Hz)', name: '频率(Hz)',
children: [ children: [
{ name: 'freq', phase: '频率', data: [] }, { name: 'freq', phase: '频率', data: [], yMethodList: [] },
{ name: 'freqDev', phase: '频率偏差', data: [] } { name: 'freqDev', phase: '频率偏差', data: [], yMethodList: [] }
], ],
unit: 'Hz', unit: 'Hz',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 7, id: 7,
name: '电压不平衡度(%)', name: '电压不平衡度(%)',
children: [{ name: 'vUnbalance', phase: '电压不平衡度', data: [] }], children: [{ name: 'vUnbalance', phase: '电压不平衡度', data: [], yMethodList: [] }],
unit: '%', unit: '%',
data: [] data: [],
yMethodList: []
}, },
{ {
id: 8, id: 8,
name: '电流不平衡度(%)', name: '电流不平衡度(%)',
children: [{ name: 'iUnbalance', phase: '电流不平衡度', data: [] }], children: [{ name: 'iUnbalance', phase: '电流不平衡度', data: [], yMethodList: [] }],
unit: '%', unit: '%',
data: [] data: [],
yMethodList: []
} }
] ]
searchForm.value.index = [] searchForm.value.index = []
@@ -271,18 +280,19 @@ const setChildRef = (index: any) => {
} }
const childRefs: any = {} const childRefs: any = {}
const init = () => { const init = () => {
resetData()
console.log(searchForm.value.index, '----------')
loading.value = true loading.value = true
searchForm.value.index.map((item: any, index: any) => { searchForm.value.index.map((item: any, index: any) => {
item?.children.map((vv: any, vvs: any) => { item?.children.map((vv: any, vvs: any) => {
if (mqttMessage.value[vv.name]) { if (mqttMessage.value[vv.name]) {
item.linesList = [] item.data.push({
item?.data.push({
time: mqttMessage.value.dataTime, time: mqttMessage.value.dataTime,
value: mqttMessage.value[vv.name], value: mqttMessage.value[vv.name],
key: vv.name key: vv.name
}) })
item?.yMethodList.push([mqttMessage.value.dataTime, mqttMessage.value[vv.name], vv.name])
vv.data.push(mqttMessage.value[vv.name]) vv.data.push(mqttMessage.value[vv.name])
vv.yMethodList.push([mqttMessage.value.dataTime, mqttMessage.value[vv.name] + '', vv.phase])
} }
}) })
}) })
@@ -334,25 +344,24 @@ const init = () => {
} }
// data: timeList // data: timeList
}, },
// yAxis: { yAxis: {
// type: 'value', type: 'value',
// name: item.unit, name: item.unit,
// splitLine: { splitLine: {
// show: false show: false
// }, },
// axisTick: { axisTick: {
// show: true show: true
// }, },
// axisLine: { axisLine: {
// show: true, show: true,
// lineStyle: { lineStyle: {
// color: '#000' color: '#000'
// } }
// }, },
// splitNumber: 5, splitNumber: 5,
// minInterval: 1 minInterval: 1
// }, },
yAxis: [{}],
series: [] series: []
} }
//根据指标判断渲染几条线 //根据指标判断渲染几条线
@@ -361,11 +370,7 @@ const init = () => {
: (height = mainHeight(275, searchForm.value.index.length).height) : (height = mainHeight(275, searchForm.value.index.length).height)
console.log(item.children, '<<<<<<<<<<<<<<<<<<<<<<344') console.log(item.children, '<<<<<<<<<<<<<<<<<<<<<<344')
item.children.map((zz: any, zzIndex: any) => { item.children.map((zz: any, zzIndex: any) => {
let seriesList: any = [] console.log(zz, '-------------', zz.yMethodList)
// zz.yMethodList = []
// console.log(zz.yMethodList, '不能给嘎嘎嘎哈哈')
// zz.yMethodList=new Set(...zz.yMethodList)
// return;
item.echartsData.series.push({ item.echartsData.series.push({
name: zz.phase, name: zz.phase,
type: 'line', type: 'line',
@@ -384,18 +389,7 @@ const init = () => {
loading.value = false loading.value = false
} }
// watch(
// () => searchForm.value.index,
// (val: any, oldval: any) => {
// if (val && val.length != 0) {
// init()
// }
// },
// {
// deep: true,
// immediate: true
// }
// )
onMounted(() => {}) onMounted(() => {})
defineExpose({ resetData, setHarmonicSpectrumData }) defineExpose({ resetData, setHarmonicSpectrumData })
</script> </script>

View File

@@ -24,9 +24,7 @@
<div class="realtrend_table" v-if="Object.keys(tableData).length != 0"> <div class="realtrend_table" v-if="Object.keys(tableData).length != 0">
<div class="thead_left"> <div class="thead_left">
<p>次数</p> <p>次数</p>
<p> <p>{{ item.groupName }}{{ item.unit ? '(' + item.unit + ')' : '' }}</p>
{{ item.groupName }}{{ item.unit?'('+item.unit+')':'' }}
</p>
</div> </div>
<div class="thead_right"> <div class="thead_right">
<div class="right_cell" v-for="(value, key, index) in tableData" :key="index"> <div class="right_cell" v-for="(value, key, index) in tableData" :key="index">
@@ -206,6 +204,7 @@ const init = () => {
} }
const handleClick = (tab: any, event: any) => { const handleClick = (tab: any, event: any) => {
loading.value = true
params.value.groupId = tabsList.value[tab.index].id params.value.groupId = tabsList.value[tab.index].id
emit('changeTrendType', tab.index) emit('changeTrendType', tab.index)
activeName.value = tab.index activeName.value = tab.index
@@ -215,6 +214,9 @@ const handleClick = (tab: any, event: any) => {
const mqttMessage: any = ref() const mqttMessage: any = ref()
const tableData: any = ref({}) const tableData: any = ref({})
const setRealTrendData = (val: any) => { const setRealTrendData = (val: any) => {
if(!val){
return
}
loading.value = true loading.value = true
console.log(val, '谐波频谱') console.log(val, '谐波频谱')
tableData.value = {} tableData.value = {}
@@ -222,7 +224,7 @@ const setRealTrendData = (val: any) => {
for (let key in val) { for (let key in val) {
if (String(key).includes('data') && String(key) != 'dataLevel' && String(key) != 'dataTime') { if (String(key).includes('data') && String(key) != 'dataLevel' && String(key) != 'dataTime') {
tableData.value[key] = val[key] tableData.value[key] = val[key]
if(tabsList.value[activeName.value].groupName.includes("间")==false){ if (tabsList.value[activeName.value].groupName.includes('间') == false) {
delete tableData.value.data1 delete tableData.value.data1
} }
} }
@@ -369,14 +371,13 @@ defineExpose({ open, setRealTrendData, setOverLimitData })
.tab_info { .tab_info {
width: 100%; width: 100%;
height: calc(100vh - 450px); // height: calc(100vh - 450px);
// overflow: auto; // overflow: auto;
// padding-bottom: 20px; // padding-bottom: 20px;
.charts { .charts {
width: 100%; width: 100%;
margin-top: 10px; margin-top: 10px;
height: calc(100vh - 600px); height: calc(100vh - 560px);
} }
} }
</style> </style>