feasure
parent
1b8112880d
commit
a7df117a65
|
|
@ -52,7 +52,7 @@
|
||||||
:class="['list-item', { 'list-item-disabled': item.online === '离线' }]"
|
:class="['list-item', { 'list-item-disabled': item.online === '离线' }]"
|
||||||
:right-options="options">
|
:right-options="options">
|
||||||
<view class="item-card"
|
<view class="item-card"
|
||||||
@click="item.online !== '离线' && onItemTap(item)">
|
@click="onItemTap(item)">
|
||||||
<view class="item-title">
|
<view class="item-title">
|
||||||
<view class="title-text">{{ item.agriName }}</view>
|
<view class="title-text">{{ item.agriName }}</view>
|
||||||
<text :class="['tag','tag-status',{'tag-manual':item.workModeDesc==='手动模式'}]" v-if="item.workModeDesc">{{ item.workModeDesc }}</text>
|
<text :class="['tag','tag-status',{'tag-manual':item.workModeDesc==='手动模式'}]" v-if="item.workModeDesc">{{ item.workModeDesc }}</text>
|
||||||
|
|
@ -355,35 +355,25 @@ export default {
|
||||||
|
|
||||||
makeSpecialData: function (msgData){
|
makeSpecialData: function (msgData){
|
||||||
const online = TimeUtil.isLessThanSpecifiedSeconds(msgData.ts,90)?'在线':'离线';
|
const online = TimeUtil.isLessThanSpecifiedSeconds(msgData.ts,90)?'在线':'离线';
|
||||||
this.listData.push(
|
const deviceConfigs = [
|
||||||
{
|
{ agriName: "八方南棚", imei: "A", temps: [1,2,3,4] },
|
||||||
agriName: "八方南棚",
|
{ agriName: "九方春棚", imei: "B", temps: [5,6,7,8] },
|
||||||
imei: "A",
|
{ agriName: "十二方棚", imei: "C", temps: [9,10,11,12] }
|
||||||
temp1: msgData.temp1,
|
];
|
||||||
temp2: msgData.temp2,
|
|
||||||
temp3: msgData.temp3,
|
const devices = deviceConfigs.map(({agriName, imei, temps}) => ({
|
||||||
temp4: msgData.temp4,
|
agriName,
|
||||||
online:online
|
imei,
|
||||||
},
|
temp1: msgData[`temp${temps[0]}`],
|
||||||
{
|
temp2: msgData[`temp${temps[1]}`],
|
||||||
agriName: "九方春棚",
|
temp3: msgData[`temp${temps[2]}`],
|
||||||
imei: "B",
|
temp4: msgData[`temp${temps[3]}`],
|
||||||
temp1: msgData.temp5,
|
online
|
||||||
temp2: msgData.temp6,
|
}));
|
||||||
temp3: msgData.temp7,
|
|
||||||
temp4: msgData.temp8,
|
this.listData.push(...devices);
|
||||||
online:online
|
// 状态和温度不需要监听不需要搞
|
||||||
},
|
// devices.forEach(d => this.imeiToDeviceMap.set(d.imei, d));
|
||||||
{
|
|
||||||
agriName: "十二方棚",
|
|
||||||
imei: "C",
|
|
||||||
temp1: msgData.temp9,
|
|
||||||
temp2: msgData.temp10,
|
|
||||||
temp3: msgData.temp11,
|
|
||||||
temp4: msgData.temp12,
|
|
||||||
online:online
|
|
||||||
},
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
ackMessage(topic, payload) {
|
ackMessage(topic, payload) {
|
||||||
const regex = /^device\/\d+\/status$/;
|
const regex = /^device\/\d+\/status$/;
|
||||||
|
|
@ -410,18 +400,19 @@ export default {
|
||||||
}
|
}
|
||||||
this.getDataDetails();
|
this.getDataDetails();
|
||||||
},
|
},
|
||||||
|
// 离线状态查询 是先获取大棚表,无线表不存在大棚表里
|
||||||
updateDeviceStatusFast(targetImei, isOnline) {
|
updateDeviceStatusFast(targetImei, isOnline) {
|
||||||
|
console.info("监听到状态",targetImei, isOnline)
|
||||||
// 直接从Map里取设备项,无需遍历数组
|
// 直接从Map里取设备项,无需遍历数组
|
||||||
const targetDevice = this.imeiToDeviceMap.get(targetImei);
|
const targetDevice = this.imeiToDeviceMap.get(targetImei);
|
||||||
if (!targetDevice) return;
|
if (!targetDevice) return;
|
||||||
|
|
||||||
const statusText = isOnline ? '在线' : '离线';
|
|
||||||
// 直接修改对象属性,响应式正常生效
|
// 直接修改对象属性,响应式正常生效
|
||||||
targetDevice.deviceStatus = statusText;
|
targetDevice.deviceStatus = isOnline;
|
||||||
targetDevice.online = statusText;
|
targetDevice.online = isOnline;
|
||||||
},
|
},
|
||||||
|
|
||||||
updateTempFast: function (msgData,topic) {
|
updateTempFast: function (msgData,topic) {
|
||||||
|
console.info("监听到温度",topic,msgData)
|
||||||
const regexWithGroup = /^frontend\/(.+)\/dtu\/(\d+)\/listener$/;
|
const regexWithGroup = /^frontend\/(.+)\/dtu\/(\d+)\/listener$/;
|
||||||
const matchResult = topic.match(regexWithGroup);
|
const matchResult = topic.match(regexWithGroup);
|
||||||
const imei = matchResult[2]; // 提取结果:'1234567890'
|
const imei = matchResult[2]; // 提取结果:'1234567890'
|
||||||
|
|
@ -435,6 +426,22 @@ export default {
|
||||||
targetDevice.temp2 = div10(msgData['202']);
|
targetDevice.temp2 = div10(msgData['202']);
|
||||||
targetDevice.temp3 = div10(msgData['203']);
|
targetDevice.temp3 = div10(msgData['203']);
|
||||||
targetDevice.temp4 = div10(msgData['204']);
|
targetDevice.temp4 = div10(msgData['204']);
|
||||||
|
|
||||||
|
// if (imei === '862538065276061') {
|
||||||
|
// const deviceConfigs = [
|
||||||
|
// { agriName: "八方南棚", imei: "A", temps: [1,2,3,4] },
|
||||||
|
// { agriName: "九方春棚", imei: "B", temps: [5,6,7,8] },
|
||||||
|
// { agriName: "十二方棚", imei: "C", temps: [9,10,11,12] }
|
||||||
|
// ];
|
||||||
|
//
|
||||||
|
// deviceConfigs.forEach(({agriName, imei, temps}) => {
|
||||||
|
// var target = this.imeiToDeviceMap.get(imei);
|
||||||
|
// target.temp1 = div10(msgData[`20${temps[0]}`]);
|
||||||
|
// target.temp2 = div10(msgData[`20${temps[1]}`]);
|
||||||
|
// target.temp3 = div10(msgData[`20${temps[2]}`]);
|
||||||
|
// target.temp4 = div10(msgData[`20${temps[3]}`]);
|
||||||
|
// })
|
||||||
|
// }
|
||||||
},
|
},
|
||||||
getDataDetails() {
|
getDataDetails() {
|
||||||
this.dataDetails = {
|
this.dataDetails = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue