water_xu 2024-05-21 16:05:15 +08:00
commit 944d46eb30
5 changed files with 82 additions and 14 deletions

View File

@ -11,7 +11,7 @@
<xf-point v-if="type === 'point'" :id="id" :type="type" :gangkou="gangkou"/>
<xf-control v-if="type === 'xfbf01' || type ==='xfkzs01' || type ==='xfjyd01' || type ==='xfsy01'" :id="id" :type="type" :gangkou="gangkou"/>
<alarm-device v-if="type === 'alarm'" :id="id" :type="type" :gangkou="gangkou"/>
<mk-gate-machine v-if="type === 'CAR'||type ==='PERSON' || type ==='CAMERA'" :id="id" :type="type" :gangkou="gangkou"/>
<mk-gate-machine v-if="type === 'CAR'||type ==='PERSON' || type ==='CAMERA'" :id="id" :type="type" :gangkou="gangkou" :corp-id="corpInfoId"/>
<mk-gate-machine-cfd v-if="type === 'CAR00004'||type ==='PERSON00004' " :id="id" :type="type" :gangkou="gangkou" :infoname="infoname"/>
<mk-gate-machine-cmt v-if="type === 'CAR00005'||type ==='PERSON00005' " :id="id" :type="type" :gangkou="gangkou" :infoname="infoname"/>
<zhong_da_info v-if="type === 'majordangersource'" :id="id" :type="type" :gangkou="gangkou"/>
@ -53,8 +53,8 @@
<carPositionCfdD v-if="type === 'carPosition'" :id="id" :type="type" :infoname="infoname"/>
<!--曹妃甸东 八项作业 曹实业详细页面 end-->
<peoplePositionNine v-if="type === 'peoplePositionNine'" :id="id" :type="type" :infoname="infoname"/>
<peoplePositionOne v-if="type === 'peoplePositionOne' && corpInfoId !== '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" />
<peoplePositionYGS v-if="type === 'peoplePositionOne' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :corp-id="corpInfoId" />
<peoplePositionOne v-if="type === 'peoplePositionOne' && !(corpInfoId === '035958e685cf4850bc40151c5e0617a6' || corpInfoId === '21590a00ea5e462e9ee44dd332dddc26')" :id="id" :type="type" />
<peoplePositionYGS v-if="type === 'peoplePositionOne' && (corpInfoId === '035958e685cf4850bc40151c5e0617a6' || corpInfoId === '21590a00ea5e462e9ee44dd332dddc26')" :id="id" :type="type" :corp-id="corpInfoId" />
<!-- 重点工程 start -->
<outSourceInfo v-if="type === 'PROJECT'" :id="id" :type="type" />
<outSourceVideoInfo v-if="type === 'VIDEO'" :id="id" :type="type" />
@ -111,7 +111,6 @@ import outSourceVideoInfo from './outSourceVideoInfo.vue'
import AlarmDevice from './alarmDevice'
import meteorologicalMonitoring from './meteorologicalMonitoring.vue'
export default {
components: {
AlarmDevice,

View File

@ -34,8 +34,8 @@
<td>{{ item.USERNAME }}</td>
<td>{{ item.TIME }}</td>
<td>
<span v-if="item.STATE === '0'"></span>
<span v-if="item.STATE === '1'"></span>
<span v-if="item.STATE === 0"></span>
<span v-if="item.STATE === 1"></span>
</td>
</tr>
</table>
@ -79,6 +79,12 @@ export default {
gangkou: {
type: String,
default: ''
},
corpId: {
type: String,
default() {
return ''
}
}
},
data() {
@ -107,7 +113,8 @@ export default {
{
GATE_AREA_ID: this.id,
TYPE: this.type,
GANGKOU: this.gangkou
GANGKOU: this.gangkou,
CORPINFO_ID: this.corpId
}
).then((data) => {
Object.assign(this.info, data.pd)
@ -143,7 +150,8 @@ export default {
{
GATE_AREA_ID: this.id,
TYPE: this.type,
GANGKOU: this.gangkou
GANGKOU: this.gangkou,
CORPINFO_ID: this.corpId
}
).then((data) => {
this.recordAllList = data.recordAllList

View File

@ -41,7 +41,7 @@
</tr>
<tr>
<td class="bbg-transparent">定位卡电量</td>
<td >{{ info?otherInfo.data[3].currentValBody.val:'' }}</td>
<td >{{ info?(otherInfo?otherInfo.data[3].currentValBody.val:'*'):'' }}</td>
</tr>
<tr>
<td class="bbg-transparent">部门</td>

View File

@ -1346,15 +1346,14 @@ export default {
url: '/mapapi/ware/upload/qhdgysh/merge_tile.json'
})
viewer.scene.primitives.add(qhdgysh)
var czkszhmt = new Cesium.Cesium3DTileset({ //
var czkszhmt = new Cesium.Cesium3DTileset({ //
url: '/mapapi/ware/upload/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E8%A5%BF/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E8%A5%BF/merge_tile.json'
})
viewer.scene.primitives.add(czkszhmt)
var czksksmt = new Cesium.Cesium3DTileset({//
var czksksmt = new Cesium.Cesium3DTileset({//
url: '/mapapi/ware/upload/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E4%B8%9C/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E4%B8%9C/merge_tile.json'
})
viewer.scene.primitives.add(czksksmt)
},
leftDownAction() {
@ -2050,6 +2049,10 @@ export default {
this.clearMqttPoint('+/UwbBQ/')
this.removeTrajectory()
}
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
this.clearRYDWPoint('+/UwbBQ/')
this.removeTrajectory()
}
this.bottomOptionsList[pindex].list[index].check = false
if (this.gangkouActive === '00004') {
this.cfdBottomOptionsList[pindex].list[index].check = false
@ -2078,6 +2081,9 @@ export default {
}
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '035958e685cf4850bc40151c5e0617a6' && urlType === 'peoplePosition') {
!this.connecting ? this.createConnection(this.CORP_INFO_ID) : this.doSubscribe()
} else if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
// websocket
this.initRYDWWebsocket('21590a00ea5e462e9ee44dd332dddc26')
} else {
requestFN(
pointUrl,
@ -2344,7 +2350,7 @@ export default {
},
//
isPointxyWithinTheArea(pointBox, x, y) {
isPointxyWithinTheArea(pointBox = {}, x, y) {
if (this.forEachIsPointInPolygon(pointBox.redList, x, y)) {
return '_1'
} else if (this.forEachIsPointInPolygon(pointBox.orangeList, x, y)) {
@ -2635,6 +2641,15 @@ export default {
delete this.mqttPoint[key]
}
},
clearRYDWPoint(prefix) {
this.fwebsocket.close()
for (const mqttPointKey in this.mqttPoint) {
const key = prefix ? prefix + this.mqttPoint[mqttPointKey] : mqttPointKey
viewer.entities.removeById(this.mqttPoint[key])
this.onePerLocArr = this.onePerLocArr.filter(item => item.data_id !== this.mqttPoint[key])
delete this.mqttPoint[key]
}
},
//
clearCmtMqttPoint(prefix) {
for (const mqttPointKey in this.allOrientationPoint) {
@ -2806,6 +2821,51 @@ export default {
}
}
},
// websocket
initRYDWWebsocket(CORP_INFO_ID) {
// eslint-disable-next-line no-unused-vars
const _this = this
if (window.WebSocket) {
const wsUrl = config.noDwSysUrl + '/ltLocation/DW_' + new Date().getTime() + '_98'
_this.fwebsocket = new WebSocket(encodeURI(wsUrl))
_this.fwebsocket.onmessage = function(message) {
console.info('接收消息')
const peopleList = JSON.parse(message.data).data.data
console.log(peopleList)
for (let i = 0; i < peopleList.length; i++) {
const item = peopleList[i]
if ((!item)) continue
//
const index = _this.onePerLocArr.findIndex(item1 => {
return item1.id.toString() === item.id.toString()
})
const x = item.lon
const y = item.lat
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.id,
x: x,
y: y,
icon_type: 'img4_0' + pointColor,
data_id: item.id,
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.id] = item.id
}
}
}
}
},
radomPer(mockData) {
for (const item of mockData.data) {
item.longitude += 0.0003 * Math.random()
@ -3042,7 +3102,7 @@ export default {
},
// true
forEachIsPointInPolygon(polygonList, lng, lat) {
forEachIsPointInPolygon(polygonList = [], lng, lat) {
return polygonList.some(item => {
return this.isPointInPolygon(item.position, lng, lat)
})

View File

@ -17,6 +17,7 @@
:options="departmentTree"
:normalizer="normalizer"
v-model="form.APPOINT_DEPARTMENT_ID"
:default-expand-level="3"
placeholder="请选择部门"
no-options-text="暂无数据"
no-children-text="暂无数据"