Merge remote-tracking branch 'origin/dev' into 5_7_地图同步

# Conflicts:
#	src/views/map/dialog/index.vue
#	src/views/map/index.vue
5_7_地图同步
liujun 2024-05-20 20:31:16 +08:00
commit 23aa4ca7f7
15 changed files with 108 additions and 32 deletions

View File

@ -114,8 +114,8 @@
</td>
</tr>
<tr>
<td colspan="2">时间{{ pd.HOT_WORK_PERSON_PRINCIPAL_TIME }}</td>
<td colspan="2">时间{{ pd.HOT_WORK_AFTER_PRINCIPAL_TIME }}</td>
<td v-if="pd.HOT_WORK_PERSON_PRINCIPAL" colspan="2">{{ pd.HOT_WORK_PERSON_PRINCIPAL_TIME }}</td>
<td v-if="pd.HOT_WORK_AFTER_PRINCIPAL" colspan="2">{{ pd.HOT_WORK_AFTER_PRINCIPAL_TIME }}</td>
</tr>
<tr>
<td class="tbg">延时监火记录</td>

View File

@ -50,14 +50,9 @@
{{ row.checked_count1 }} / {{ row.count1 }}
</template>
</el-table-column>
<el-table-column label="重点工程安全环保奖惩监管端">
<el-table-column label="重点工程安全环保奖惩">
<template slot-scope="{row}">
{{ row.checked_count2 }} / {{ row.count2 }}
</template>
</el-table-column>
<el-table-column label="重点工程安全环保奖惩企业端">
<template slot-scope="{row}">
{{ row.checked_count3 }} / {{ row.count3 }}
{{row.CORP_NAME == '秦港股份有限公司' ? row.checked_count2 : row.checked_count3 }} / {{row.CORP_NAME == '秦港股份有限公司' ? row.count2 : row.checked_count3 }}
</template>
</el-table-column>
<el-table-column prop="CHECK_USER" label="考评组成员"/>

View File

@ -1,6 +1,7 @@
<template>
<div>
<div class="app-container">
<el-page-header content="报警记录" @back="back"/>
<el-form label-width="100px">
<el-row>
<el-col :span="5">
@ -116,6 +117,10 @@ export default {
this.getList()
},
methods: {
back() {
this.$parent.CORPINFO_ID = ''
this.$parent.activeName = 'List'
},
checkboxInit(row, index) {
if (row.STATUS != '0') {
return 0 //

View File

@ -1,5 +1,6 @@
<template>
<div class="app-container">
<el-page-header @back="back"/>
<el-form label-width="100px">
<el-row>
<el-col :span="5">
@ -98,6 +99,10 @@ export default {
this.getList()
},
methods: {
back() {
this.$parent.CORPINFO_ID = ''
this.$parent.activeName = 'list'
},
getRowKey(row) {
return row.OUTSOURCED_ID
},

View File

@ -338,7 +338,7 @@
<div class="level-line" />
<div class="level-title">
<h1>处罚相关</h1>
<h1>处罚相关</h1><span style="color: gray; font-size: 12px;">(AI报警的处罚人员为AI报警的处置人)</span>
</div>
<el-divider content-position="left">处罚人员 <el-button type="primary" size="mini" @click="addInspector"></el-button></el-divider>
<el-form-item v-for="(item,index) in inspectorList" :key="index + (Math.random() + '').replace('.', '')" :label="(index+1)+'.'" class="is-required">

View File

@ -134,7 +134,7 @@
<div class="level-line" />
<div class="level-title">
<h1>处罚相关</h1>
<h1>处罚相关</h1><span style="color: gray; font-size: 12px;">(AI报警的处罚人员为AI报警的处置人)</span>
</div>
<tr v-for="(item,index) in punishThePerson" :key="index">
<td class="tbg">处罚人员部门</td>

View File

@ -56,11 +56,6 @@
<el-table-column v-if="false" prop="CREATOR_NAME" label="下发人" show-overflow-tooltip/>
<el-table-column v-if="false" prop="OUTSOURCED_NAME" label="被处罚单位" show-overflow-tooltip/>
<el-table-column v-if="false" prop="PERSON_NAME" label="被处罚人" show-overflow-tooltip/>
<el-table-column label="处罚处理状态" show-overflow-tooltip>
<template slot-scope="{row}">
{{ row.HANDLED === "0" ? "待处理" : "已处理" }}
</template>
</el-table-column>
<el-table-column prop="CORP_NAME" label="创建单位" show-overflow-tooltip/>
<el-table-column prop="FIND_HIDDEN_NUM" label="发现隐患数据" show-overflow-tooltip/>
<el-table-column prop="END_HIDDEN_NUM" label="处理隐患数" show-overflow-tooltip/>

View File

@ -1,5 +1,6 @@
<template>
<div class="app-container">
<el-page-header content="处罚记录" @back="back"/>
<el-form label-width="100px">
<el-row>
<el-col :span="4">
@ -96,6 +97,10 @@ export default {
this.getList()
},
methods: {
back() {
this.$parent.CORPINFO_ID = ''
this.$parent.activeName = 'List'
},
getRowKey(row) {
return row.OUTSOURCED_ID
},

View File

@ -1,5 +1,6 @@
<template>
<div class="app-container">
<el-page-header content="视频详情" @back="goBack"/>
<div class="filter-container">
<el-form label-width="100px">
<el-row>
@ -564,7 +565,10 @@ export default {
this.listLoading = false
})
},
goBack() {
this.$parent.CORPINFO_ID = ''
this.$parent.activeName = 'list'
},
//
upload() {
this.$refs.form.validate(valid => {

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="gangkou !== '00002' && type === 'CAR'||type ==='PERSON' || type ==='CAMERA'" :id="id" :type="type" :gangkou="gangkou"/>
<mk-gate-machine v-if="gangkou !== '00002' && 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"/>
<mk-gate-machine-czks v-if="gangkou === '00002' && type === 'CAR'||type ==='PERSON' || type ==='CAMERA'" :id="id" :type="type" :gangkou="gangkou"/>
@ -54,8 +54,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" :gangkou="gangkou"/>
<outSourceVideoInfo v-if="type === 'VIDEO'" :id="id" :type="type" :gangkou="gangkou"/>
@ -113,7 +113,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

@ -1477,7 +1477,6 @@ export default {
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() {
@ -2178,6 +2177,10 @@ export default {
this.clearMqttPoint('+/UwbBQ/')
this.removeTrajectory()
}
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
this.clearRYDWPoint('+/UwbBQ/')
this.removeTrajectory()
}
if (this.bottomOptionsList[pindex].list.length > index) {
this.bottomOptionsList[pindex].list[index].check = false
}
@ -2212,6 +2215,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,
@ -2478,7 +2484,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)) {
@ -2769,6 +2775,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) {
@ -2940,6 +2955,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()
@ -3176,7 +3236,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

@ -49,7 +49,6 @@
@cell-mouse-enter="enterSelectionRows"
@cell-mouse-leave="leaveSelectionRows">
<el-table-column
v-if="false"
:reserve-selection="true"
type="selection"
width="55"

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="暂无数据"