diff --git a/src/api/cs-device-boot/EquipmentDelivery.ts b/src/api/cs-device-boot/EquipmentDelivery.ts index 64911d5..15d791d 100644 --- a/src/api/cs-device-boot/EquipmentDelivery.ts +++ b/src/api/cs-device-boot/EquipmentDelivery.ts @@ -34,13 +34,21 @@ export function getBasicRealData(id: any) { } /**** 获取谐波实时数据 ****/ -export function getHarmRealData(target: any) { +export function getHarmRealData(id: any, target: any) { return createAxios({ url: `/cs-harmonic-boot/realData/getHarmRealData?lineId=${id}&target=${target}`, method: 'POST' }) } +/**** 获取国标限值 ****/ +export function getOverLimitData(id: any) { + return createAxios({ + url: `/cs-device-boot/csline/getOverLimitData?id=${id}`, + method: 'POST' + }) +} + //获取实时数据列表数据 export function getRealTimeTableList() { return createAxios({ diff --git a/src/views/govern/device/control/index.vue b/src/views/govern/device/control/index.vue index 2101992..7da9282 100644 --- a/src/views/govern/device/control/index.vue +++ b/src/views/govern/device/control/index.vue @@ -111,10 +111,10 @@ 查询 - 实时趋势 + 谐波频谱 - 谐波频谱 + 实时趋势
实时录波 - 实时趋势 - 谐波频谱 + 谐波频谱 + 实时趋势
-->
返回 @@ -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({}) //每隔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(() => { diff --git a/src/views/govern/device/control/tabs/components/realtrend.vue b/src/views/govern/device/control/tabs/components/realtrend.vue index c358b09..e48114c 100644 --- a/src/views/govern/device/control/tabs/components/realtrend.vue +++ b/src/views/govern/device/control/tabs/components/realtrend.vue @@ -5,14 +5,14 @@
-
+ +
+
+

次数

+

{{ item.groupName }}

+
+
+
+

+ + {{ String(key).replace('data', ' ') }} + +

+

+ + {{ value }} + +

+
+
@@ -150,7 +177,6 @@ const findRealTrendDataByGroupId = (obj: any) => { item.unshift({ value: myColumns.value[index].title, count: '' }) }) newTableList.value = list - console.log("🚀 ~ getDeviceTrendData ~ newTableList.value:", newTableList.value) loading.value = false init() }) @@ -184,13 +210,11 @@ const reverseTable = () => { reverseTable() -const echartsData: any = ref([]), - barCharts = ref() +const echartsData: any = ref([]) +const barCharts = ref() //加载echarts const init = () => { - // let list: any = [] - let timeList: any = [] let xAxisList: any = [] chartsData.value.map((item: any, index: any) => { chartsYxiasData.value.map((vv: any, vvs: any) => { @@ -294,7 +318,7 @@ const init = () => { let list: any = [] list = [] chartsYxiasData.value.map((item: any) => { - console.log(item.gbList, 'guobialist340') + // console.log(item.gbList, 'guobialist340') if (item.gbList.length != 0) { list.push({ phase: item.phase, title: '国标限值', list: item.gbList }) } @@ -319,9 +343,12 @@ const init = () => { data: item.list }) }) - nextTick(() => { - barCharts.value && barCharts.value.initChart() - }) + // nextTick(() => { + if (barCharts.value) { + console.log(barCharts.value, '+++++++++++++++++++#@!') + barCharts.value[activeName.value]?.initChart() + } + // }) return } @@ -330,8 +357,22 @@ const handleClick = (tab: any, event: any) => { findRealTrendDataByGroupId(params.value) init() } -onMounted(() => { }) -defineExpose({ open }) +//获取mqtt传送的实时数据 +const mqttMessage: any = ref() +const tableData: any = ref({}) +const setRealTrendData = (val: any) => { + console.log(val, '7777777777773555') + mqttMessage.value = val + for (let key in val) { + if (String(key).includes('data') && String(key) != 'dataLevel' && String(key) != 'dataTime') { + console.log(val[key], '0000000') + tableData.value[key] = val[key] + } + } + console.log(tableData.value, 'kkkkjjjjjsssslllmmmmmssdddd') +} +onMounted(() => {}) +defineExpose({ open, setRealTrendData })