diff --git a/src/components/table/header/index.vue b/src/components/table/header/index.vue index 35d480a..e4cb664 100644 --- a/src/components/table/header/index.vue +++ b/src/components/table/header/index.vue @@ -74,7 +74,7 @@ const showUnfoldButton = ref(false) const headerFormSecondStyleOpen = { opacity: 1, height: 'auto', - padding: '0 15px 13px 15px' + padding: '0 15px 0px 15px' } const headerFormSecondStyleClose = { opacity: 0, @@ -129,6 +129,7 @@ const computedSearchRow = () => { headerFormSecond.value.$el.appendChild(elFormItem[i]) } } + console.log("🚀 ~ computedSearchRow ~ headerFormSecond.value.$el.scrollHeight :", headerFormSecond.value.$el.scrollHeight ) // 判断是否需要折叠 if (headerFormSecond.value.$el.scrollHeight > 0) { diff --git a/src/views/govern/device/control/index.vue b/src/views/govern/device/control/index.vue index d6cc2e3..c3acaff 100644 --- a/src/views/govern/device/control/index.vue +++ b/src/views/govern/device/control/index.vue @@ -1,10 +1,6 @@ @@ -49,13 +41,8 @@ - + - + -
+

数据时间:{{ trendDataTime }} 数据时间:{{ mqttMessage.dataTime }}

- + 返回
@@ -178,29 +131,20 @@ " >
--> -
+
@@ -215,49 +159,37 @@
- + MAX {{ item.children[0].maxValue === 3.1415956 || - typeof item.children[0].maxValue != 'number' + typeof item.children[0].maxValue != 'number' ? '暂无数据' : item.children[0].maxValue }}
- + AVG {{ item.children[0].avgValue === 3.1415956 || - typeof item.children[0].avgValue != 'number' + typeof item.children[0].avgValue != 'number' ? '暂无数据' : item.children[0].avgValue }}
- + MIN {{ item.children[0].minValue === 3.1415956 || - typeof item.children[0].minValue != 'number' + typeof item.children[0].minValue != 'number' ? '暂无数据' : item.children[0].minValue }} @@ -267,44 +199,30 @@
- +
-
+
-
+
返回
@@ -312,23 +230,16 @@ - + + - + +
-
+
@@ -366,12 +277,14 @@ import offLineDataImport from './offLineDataImport/index.vue' import Event from './tabs/event.vue' import { useRouter } from 'vue-router' import TableHeader from '@/components/table/header/index.vue' +import { useAdminInfo } from '@/stores/adminInfo' import { Histogram, TrendCharts, DataLine, DataAnalysis, Odometer, Monitor, Timer, Back } from '@element-plus/icons-vue' import analysisList from './analysisList/index.vue' import mqtt from 'mqtt' defineOptions({ name: 'govern/device/control' }) +const adminInfo = useAdminInfo() const pageHeight = mainHeight(20) const loading = ref(true) const tableLoading = ref(false) @@ -556,6 +469,8 @@ const deviceId: any = ref('') const lineId: any = ref('') const dataLevel: any = ref('') const nodeClick = async (e: anyObj) => { + console.log("🚀 ~ nodeClick ~ e:", e) + if (e.level == 2) return deviceId.value = e?.pid lineId.value = e?.id if (!e) { @@ -644,7 +559,7 @@ const connectMqtt = () => { mqttRef.value = mqtt.connect(url, options) } const getRealDataMqttMsg = async () => { - tableLoading.value=true + tableLoading.value = true if (realDataTimer.value) { window.clearInterval(realDataTimer.value) } @@ -669,6 +584,10 @@ const getRealDataMqttMsg = async () => { // JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) // ) let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) + if (lineId.value != obj.lineId && adminInfo.userIndex != obj.userId) return + console.log("🚀 ~ mqttRef.value.on ~ obj:", obj) + console.log("🚀 ~ mqttRef.value.on ~ formInline.dataLevel:", obj.dataLevel, formInline.dataLevel) + //处理mqtt数据 1转2除 2转1乘 //如果消息返回值是二次值,下拉框是二次值只需要单位换算 除以1000 //如果消息返回值是一次值,下拉框是一次值只需要单位换算 除以1000 @@ -676,7 +595,7 @@ const getRealDataMqttMsg = async () => { obj = { ...obj, // 电压有效值 - vRmsA: obj.vRmsA / 1000, + vRmsA: (obj.vRmsA) / 1000, vRmsB: obj.vRmsB / 1000, vRmsC: obj.vRmsC / 1000, //基波电压幅值 @@ -705,36 +624,36 @@ const getRealDataMqttMsg = async () => { obj = { ...obj, // 电压有效值 - vRmsA: (obj.vRmsA * obj.pt) / 1000, - vRmsB: (obj.vRmsA * obj.pt) / 1000, - vRmsC: (obj.vRmsA * obj.pt) / 1000, + vRmsA: ((obj.vRmsA * obj.pt) || 0) / 1000, + vRmsB: ((obj.vRmsA * obj.pt) || 0) / 1000, + vRmsC: ((obj.vRmsA * obj.pt) || 0) / 1000, // 电流有效值 - iRmsA: obj.iRmsA * obj.ct, - iRmsB: obj.iRmsA * obj.ct, - iRmsC: obj.iRmsA * obj.ct, + iRmsA: (obj.iRmsA * obj.ct) || 0, + iRmsB: (obj.iRmsA * obj.ct) || 0, + iRmsC: (obj.iRmsA * obj.ct) || 0, //基波电压幅值 - v1A: (obj.v1A * obj.pt) / 1000, - v1B: (obj.v1B * obj.pt) / 1000, - v1C: (obj.v1C * obj.pt) / 1000, + v1A: ((obj.v1A * obj.pt) || 0) / 1000, + v1B: ((obj.v1B * obj.pt) || 0) / 1000, + v1C: ((obj.v1C * obj.pt) || 0) / 1000, //基波电流幅值 - i1A: obj.i1A * obj.ct, - i1B: obj.i1B * obj.ct, - i1C: obj.i1C * obj.ct, + i1A: (obj.i1A * obj.ct) || 0, + i1B: (obj.i1B * obj.ct) || 0, + i1C: (obj.i1C * obj.ct) || 0, //有功功率 - pA: (obj.pA * obj.pt * obj.ct) / 1000, - pB: (obj.pB * obj.pt * obj.ct) / 1000, - pC: (obj.pC * obj.pt * obj.ct) / 1000, - pTot: (obj.pTot * obj.pt * obj.ct) / 1000, + pA: ((obj.pA * obj.pt * obj.ct) || 0) / 1000, + pB: ((obj.pB * obj.pt * obj.ct) || 0) / 1000, + pC: ((obj.pC * obj.pt * obj.ct) || 0) / 1000, + pTot: ((obj.pTot * obj.pt * obj.ct) || 0) / 1000, //无功功率 - qA: (obj.qA * obj.pt * obj.ct) / 1000, - qB: (obj.qB * obj.pt * obj.ct) / 1000, - qC: (obj.qC * obj.pt * obj.ct) / 1000, - qTot: (obj.qTot * obj.pt * obj.ct) / 1000, + qA: ((obj.qA * obj.pt * obj.ct) || 0) / 1000, + qB: ((obj.qB * obj.pt * obj.ct) || 0) / 1000, + qC: ((obj.qC * obj.pt * obj.ct) || 0) / 1000, + qTot: ((obj.qTot * obj.pt * obj.ct) || 0) / 1000, //视在功率 - sA: (obj.sA * obj.pt * obj.ct) / 1000, - sB: (obj.sB * obj.pt * obj.ct) / 1000, - sC: (obj.sC * obj.pt * obj.ct) / 1000, - sTot: (obj.sTot * obj.pt * obj.ct) / 1000 + sA: ((obj.sA * obj.pt * obj.ct) || 0) / 1000, + sB: ((obj.sB * obj.pt * obj.ct) || 0) / 1000, + sC: ((obj.sC * obj.pt * obj.ct) || 0) / 1000, + sTot: ((obj.sTot * obj.pt * obj.ct) || 0) / 1000 } } //如果消息返回值是一次值,下拉框是二次值需要单位换算 乘以1000 并且除以pt ct @@ -823,7 +742,7 @@ const getRealDataMqttMsg = async () => { const realDataTimer: any = ref() const mqttMessage = ref({}) const handleClick = async (tab?: any) => { - tableLoading.value=true + tableLoading.value = true if (realDataTimer.value) { clearInterval(realDataTimer.value) } @@ -947,7 +866,7 @@ const handleClick = async (tab?: any) => { } } //模版下载 -const handleDownLoadTemplate = () => {} +const handleDownLoadTemplate = () => { } //补召日志 const analysisListRef = ref() //打开补召日志 @@ -984,10 +903,10 @@ const echoName = (value: any, arr: any[]) => { return value ? arr.find(item => item.value == value)?.label : '/' } -onMounted(() => {}) +onMounted(() => { }) onBeforeUnmount(() => { - clearInterval(realDataTimer.value) - clearInterval(trendTimer.value) + clearInterval(realDataTimer.value) + clearInterval(trendTimer.value) realDataTimer.value = 0 trendTimer.value = 0 if (mqttRef.value) { @@ -1093,6 +1012,7 @@ onBeforeUnmount(() => { text-align: center; display: flex; align-items: center; + p { font-weight: 800; font-size: 16px; diff --git a/src/views/govern/device/control/tabs/trend.vue b/src/views/govern/device/control/tabs/trend.vue index a2da213..42f892c 100644 --- a/src/views/govern/device/control/tabs/trend.vue +++ b/src/views/govern/device/control/tabs/trend.vue @@ -2,7 +2,7 @@
- +