提交更改

This commit is contained in:
zhujiyan
2024-10-14 15:09:58 +08:00
parent 3e91dae797
commit 3fd897fca2
5 changed files with 223 additions and 159 deletions

View File

@@ -111,10 +111,10 @@
</el-form-item>
<el-button type="primary" icon="el-icon-Search" @click="handleClick">查询</el-button>
<el-button type="primary" v-if="realTimeFlag" :icon="DataLine" @click="handleHarmonicSpectrum">
实时趋势
谐波频谱
</el-button>
<el-button type="primary" v-if="realTimeFlag" :icon="TrendCharts" @click="handleTrend">
谐波频谱
实时趋势
</el-button>
</el-form>
<div
@@ -252,8 +252,8 @@
<el-button type="primary" :icon="Platform" @click="handleRecordWaves">
实时录波
</el-button>
<el-button type="primary" :icon="DataLine" @click="handleHarmonicSpectrum">实时趋势</el-button>
<el-button type="primary" :icon="TrendCharts" @click="handleTrend">谐波频谱</el-button>
<el-button type="primary" :icon="DataLine" @click="handleHarmonicSpectrum">谐波频谱</el-button>
<el-button type="primary" :icon="TrendCharts" @click="handleTrend">实时趋势</el-button>
</div> -->
<div class="view_top_btn" v-if="!realTimeFlag">
<el-button :icon="Back" @click="handleReturn">返回</el-button>
@@ -294,7 +294,13 @@ import Detail from './detail.vue'
import PointTree from '@/components/tree/govern/pointTree.vue'
import { mainHeight } from '@/utils/layout'
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
import { getDeviceData, getTabsDataByType, getBasicRealData } from '@/api/cs-device-boot/EquipmentDelivery'
import {
getDeviceData,
getTabsDataByType,
getBasicRealData,
getHarmRealData,
getOverLimitData
} from '@/api/cs-device-boot/EquipmentDelivery'
import { deviceHisData, deviceRtData, getGroup } from '@/api/cs-device-boot/csGroup'
import { ref, reactive, nextTick, onMounted, watch, onUnmounted } from 'vue'
import { ElMessage } from 'element-plus'
@@ -364,14 +370,30 @@ const handleRecordWaves = () => {
}
//实时趋势
const realTrendRef = ref()
//谐波频谱
const harmonicSpectrumRef = ref()
//实时趋势
const handleTrend = () => {
realTimeFlag.value = false
sonTab.value = 1
clearInterval(timer.value)
clearInterval(realDataTimer.value)
getHarmRealData(lineId.value, 0).then((res: any) => {
if (res.code == 'A0000') {
mqttRef.value.on('message', (topic: any, message: any) => {
// console.log('mqtt接收到消息', message,topic)
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))))
realTrendRef.value && realTrendRef.value.setRealTrendData(obj)
})
}
})
getOverLimitData(lineId.value).then((res: any) => {
console.log(res, '获取国标限制')
})
realTrendRef.value && realTrendRef.value.open({ devId: deviceId.value, lineId: lineId.value })
window.clearInterval(timer.value)
}
//谐波频谱
const harmonicSpectrumRef = ref()
const handleHarmonicSpectrum = () => {
realTimeFlag.value = false
sonTab.value = 2
@@ -576,22 +598,15 @@ const handleClick = async (tab?: any) => {
}
//查询实时数据
if (dataSet.value.includes('_realtimedata')) {
console.log(66666)
//查询实时数据显示实时录波、实时趋势、谐波频谱
realTimeFlag.value = true
let obj = {
type: 2,
dataLevel: formInline.dataLevel,
devId: deviceId.value, //e.id
lineId: lineId.value //e.pid
}
setTimeout(() => {
tableLoading.value = false
}, 1500)
//新的实时数据
//1.调用接口
getBasicRealData(lineId.value).then((res: any) => {
//1.调用接口 mqtt推送数据
await getBasicRealData(lineId.value).then((res: any) => {
console.log(res, '获取基础实时数据')
})
//2.建立mqtt通讯
@@ -599,7 +614,7 @@ const handleClick = async (tab?: any) => {
const mqttMessage = ref<any>({})
//每隔30s调用一下接口通知后台推送mqtt消息
realDataTimer.value = setInterval(() => {
realDataTimer.value = setInterval(() => {
getBasicRealData(lineId.value).then((res: any) => {
console.log(res, '获取基础实时数据')
})
@@ -617,7 +632,6 @@ const handleClick = async (tab?: any) => {
// console.log('mqtt接收到消息', message,topic)
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))))
console.log(obj, '620=================>')
//处理mqtt数据 1转2除 2转1乘
//如果消息返回值是二次值,下拉框是二次值只需要单位换算 除以1000
//如果消息返回值是一次值,下拉框是一次值只需要单位换算 除以1000
@@ -825,31 +839,6 @@ queryByCode('Device_Type').then(res => {
const echoName = (value: any, arr: any[]) => {
return value ? arr.find(item => item.value == value).label : '/'
}
const openGroup = () => {
if (!dataSet.value) {
return ElMessage.warning('暂无数据')
}
getGroupLoading.value = true
getGroup(dataSet.value).then((res: any) => {
const call = (data: any[]) => {
data.forEach(item => {
item.label = item.name
item.isShow = item.isShow == 1
if (item.children && item.children.length > 0) {
call(item.children)
}
})
}
call(res.data)
getGroupLoading.value = false
mangePopup.value.open({
deviceData: deviceData.value,
dataSetName: deviceData.value.dataSetList.filter((item: any) => item.id == dataSet.value)[0]?.name,
dataSet: dataSet.value,
tree: res.data
})
})
}
onMounted(() => {})
onUnmounted(() => {