一公司人员定位系统没有人员信息bug修复
parent
87ef70fcbe
commit
47d48eebb3
|
@ -1105,7 +1105,7 @@ export default {
|
|||
password: '58d06a44d56c4445b4c019492f86ee8d'
|
||||
},
|
||||
subscription: {
|
||||
topic: '1698584148364034050/UwbBQ/+/prop',
|
||||
topic: '1698584148364034050/+/+/prop',
|
||||
qos: 0
|
||||
},
|
||||
|
||||
|
@ -2519,47 +2519,45 @@ export default {
|
|||
},
|
||||
mqttMessage(CORP_INFO_ID) {
|
||||
this.client.on('message', (topic, message) => {
|
||||
// console.info(message)
|
||||
// if(this.intOne === 0){
|
||||
// this.receiveNews = this.receiveNews.concat(message)
|
||||
// console.log(`Received message ${message} from topic ${topic}`)
|
||||
const item = JSON.parse(message)
|
||||
// 将地图上剩余的点与最新的定位人员点进行对比 更新地图上已存在的点 新增地图上之前没有的点
|
||||
const index = this.onePerLocArr.findIndex(item1 => {
|
||||
return item1.id.toString() === item.deviceCode.toString()
|
||||
})
|
||||
const x = item.properties[2].value
|
||||
const y = item.properties[3].value
|
||||
const pointColor = this.isPointxyWithinTheArea(this.pointBox, x, y)
|
||||
if (index !== -1) {
|
||||
this.onePerLocArr[index].x = x
|
||||
this.onePerLocArr[index].y = y
|
||||
this.onePerLocArr[index].icon_type = 'img4_0' + pointColor
|
||||
ry_drag.getPosition(this.onePerLocArr[index])
|
||||
} else {
|
||||
// const id = '4_0_' +item.deviceCode
|
||||
const perLoc = {
|
||||
id: item.deviceCode,
|
||||
// name: item.realName,
|
||||
x: x,
|
||||
y: y,
|
||||
icon_type: 'img4_0' + pointColor,
|
||||
// infoname: item.realName,
|
||||
data_id: item.deviceCode,
|
||||
point_type: '标记点peoplePositionOne',
|
||||
label: '人员定位',
|
||||
corpInfoId: CORP_INFO_ID
|
||||
}
|
||||
this.onePerLocArr.push(perLoc)
|
||||
ry_drag.addEntity(perLoc)
|
||||
this.mqttPoint[this.subscription.topic.substring(0, this.subscription.topic.lastIndexOf('+')) + item.deviceCode] = item.deviceCode
|
||||
// created by liu jun mqtt返回的参数可能是一个数组
|
||||
let peopleList = JSON.parse(message)
|
||||
if (!Array.isArray(peopleList)) {
|
||||
peopleList = [peopleList]
|
||||
}
|
||||
for (let i = 0; i < peopleList.length; i++) {
|
||||
const item = peopleList[i]
|
||||
// 如果不是人员信息则跳过
|
||||
if (item.properties.length < 3 || item.properties[2].identifier !== 'X' || item.properties[3].identifier !== 'Y') {
|
||||
continue
|
||||
}
|
||||
// 将地图上剩余的点与最新的定位人员点进行对比更新地图上已存在的点新增地图上之前没有的点
|
||||
const index = this.onePerLocArr.findIndex(item1 => {
|
||||
return item1.id.toString() === item.deviceCode.toString()
|
||||
})
|
||||
const x = item.properties[2].value
|
||||
const y = item.properties[3].value
|
||||
const pointColor = this.isPointxyWithinTheArea(this.pointBox, x, y)
|
||||
if (index !== -1) {
|
||||
this.onePerLocArr[index].x = x
|
||||
this.onePerLocArr[index].y = y
|
||||
this.onePerLocArr[index].icon_type = 'img4_0' + pointColor
|
||||
ry_drag.getPosition(this.onePerLocArr[index])
|
||||
} else {
|
||||
const perLoc = {
|
||||
id: item.deviceCode,
|
||||
x: x,
|
||||
y: y,
|
||||
icon_type: 'img4_0' + pointColor,
|
||||
data_id: item.deviceCode,
|
||||
point_type: '标记点peoplePositionOne',
|
||||
label: '人员定位',
|
||||
corpInfoId: CORP_INFO_ID
|
||||
}
|
||||
this.onePerLocArr.push(perLoc)
|
||||
ry_drag.addEntity(perLoc)
|
||||
this.mqttPoint[this.subscription.topic.substring(0, this.subscription.topic.lastIndexOf('+')) + item.deviceCode] = item.deviceCode
|
||||
}
|
||||
}
|
||||
// this.intOne++
|
||||
// } else if(this.intOne < 5){
|
||||
// this.intOne++
|
||||
// } else {
|
||||
// this.intOne = 0
|
||||
// }
|
||||
})
|
||||
},
|
||||
clearMqttPoint(prefix) {
|
||||
|
|
Loading…
Reference in New Issue