海康口门门禁地图显示

hyx_2024-9-29_tongbu
fangjiakai 2024-09-05 14:57:26 +08:00
parent 8610c2314a
commit 1e6a491d77
8 changed files with 77 additions and 81 deletions

View File

@ -51,7 +51,7 @@
<el-table-column label="操作" align="left" width="500px">
<template slot-scope="{row}">
<el-button v-show="!row.PLATFORMDOORVIDEO_ID" type="success" icon="el-icon-edit" size="mini" @click="handleIn(row)"></el-button>
<el-button v-show="row.PLATFORMDOORVIDEO_ID" type="warning" size="mini" style="margin: 0;" @click="getOutsourced(row)"></el-button>
<el-button v-show="row.PLATFORMDOORVIDEO_ID" type="warning" size="mini" style="margin: 0;" @click="getRelevanceDoor(row)"></el-button>
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
@ -93,13 +93,13 @@
</el-dialog>
<!-- 反查重点工程 -->
<el-dialog
:visible.sync="outsourcedListVisible"
:visible.sync="doorListVisible"
:title="'绑定列表'"
width="80%">
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="outsourcedList"
:data="doorList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
@ -112,25 +112,23 @@
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip />
<el-table-column prop="DOOR_NAME" label="门口门禁名称" show-overflow-tooltip />
<el-table-column prop="STATE" label="状态" width="100" >
<el-table-column prop="STATUS" label="状态" width="100" >
<template slot-scope="{row}">
<span v-if="row.STATE == 0"></span>
<span v-if="row.STATE == 1"></span>
<span v-if="row.STATE == 2"></span>
<span v-if="row.STATE == -1"></span>
<span v-if="row.STATE == -2"></span>
<span v-if="row.STATUS == 0"></span>
<span v-if="row.STATUS == 1"></span>
<span v-if="row.STATUS == 2"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="400">
<template slot-scope="{row}">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="untie(row.VIDEOMANAGER_ID)"></el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="untie(row.DOOR_VIDEO_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="outsourcedListVisible = false"> </el-button>
<el-button @click="doorListVisible = false"> </el-button>
</div>
</el-dialog>
<!-- 反查重点工程END -->
@ -155,9 +153,9 @@ export default {
page: 1,
limit: 20
},
outsourcedListVisible: false, //
doorListVisible: false, //
controlRowTemp: null, // row
outsourcedList: [], //
doorList: [], //
total: 0,
KEYWORDS: '',
tempList: [],
@ -234,7 +232,6 @@ export default {
tempList.forEach(item => {
for (let i = 0; i < this.tempList.length; i++) {
if (item.indexCode === this.tempList[i].INDEXCODE) {
console.log(item.indexCode === this.tempList[i].INDEXCODE)
item.PLATFORMDOORVIDEO_ID = this.tempList[i].PLATFORMDOORVIDEO_ID
item.LONGITUDE = this.tempList[i].LONGITUDE
item.LATITUDE = this.tempList[i].LATITUDE
@ -243,7 +240,6 @@ export default {
}
})
this.varList = tempList
console.log(tempList)
this.total = res.data.total
}).catch((e) => {
this.listLoading = false
@ -284,7 +280,6 @@ export default {
type: 'success'
})
this.listLoading = false
this.allCodes.push(row.indexCode)
this.varList = []
await this.getAllList()
this.getList()
@ -371,8 +366,8 @@ export default {
}
).then(async(res) => {
// this.dialogVideoHLS = true
this.getList()
await this.getAllList()
this.getList()
}).catch((e) => {
})
}).catch(() => {
@ -480,20 +475,19 @@ export default {
this.player.dispose()
this.dialogVideoHLS = false
},
//
async getOutsourced(row) {
async getRelevanceDoor(row) {
this.listLoading = true
this.outsourcedListVisible = true
this.doorListVisible = true
this.controlRowTemp = row
this.outsourcedList = []
this.doorList = []
requestFN(
`/videoResources/getRelevanceOutsourced?VIDEO_ID=${row.PLATFORMDOORVIDEO_ID}`,
'/mkmjDoorVideo/getRelevanceDoor',
{
VIDEO_ID: row.PLATFORMDOORVIDEO_ID
}
).then((data) => {
this.listLoading = false
this.outsourcedList = data.varList
this.doorList = data.varList
}).catch((e) => {
this.listLoading = false
})
@ -505,18 +499,17 @@ export default {
type: 'warning'
}).then(() => {
this.listLoading = true
console.log(this.VIDEOMANAGER_ID)
requestFN(
'/videomanager/delete',
'/mkmjDoorVideo/delete',
{
VIDEOMANAGER_ID: id
DOOR_VIDEO_ID: id
}
).then(() => {
this.$message({
message: '删除成功',
type: 'success'
})
this.getOutsourced(this.controlRowTemp)
this.getRelevanceDoor(this.controlRowTemp)
this.listLoading = false
}).catch((e) => {
this.listLoading = false

View File

@ -200,7 +200,7 @@ export default {
requestFN(
'/mkmjDevice/listAllForArea',
{
KEYWORDS: this.doorFilterText
CORPINFO_ID: this.$parent.CORPINFO_ID
}
).then((data) => {
this.listLoading = false

View File

@ -152,6 +152,7 @@ export default {
await this.getdeviceList()
this.form.AREA_ID = this.$parent.AREA_ID || ''
this.form.DEVICE_IDS = this.$parent.DEVICE_IDS || ''
this.getCorpList()
if (this.form.AREA_ID) {
this.getDataByID()
}
@ -279,6 +280,16 @@ export default {
this.listLoading = false
})
},
getCorpList() {
requestFN(
'/corpinfo/getSelectByCorpInfo',
{
}
).then((data) => {
this.corpList = JSON.parse(data.corpInfoJson)
}).catch((e) => {
})
},
//
goBack() {
this.$parent.activeName = 'List'

View File

@ -290,6 +290,7 @@ export default {
},
handleOpen(row) {
this.$parent.AREA_ID = row.AREA_ID
this.$parent.CORPINFO_ID = row.CORPINFO_ID
this.$parent.activeName = 'DeviceList'
},
handleDelete(row) {

View File

@ -100,6 +100,7 @@ export default {
msg: 'add',
config: config,
dialogFormMap: false,
CORPINFO_ID: '',
PATH_ID: '',
AREA_ID: '',
AREA_LEAVE: '',
@ -143,6 +144,7 @@ export default {
this.AREA_ID = this.$parent.AREA_ID
this.AREA_LEAVE = this.$parent.AREA_LEAVE
this.DOOR_TYPE = this.$parent.DOOR_TYPE
this.CORPINFO_ID = this.$parent.CORPINFO_ID
this.getList()
this.hasButton()
},

View File

@ -130,8 +130,7 @@ export default {
requestFN(
'/platform/door/video/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS,
CORPINFO_ID: this.$parent.CORPINFO_ID
KEYWORDS: this.KEYWORDS
}
).then((data) => {
this.listLoading = false

View File

@ -183,6 +183,7 @@ export default {
LONGITUDE: '',
disabledForm: true,
form: {
CORPINFO_ID: '',
DOOR_ID: '',
VIDEO_RESOURCES_ID: '',
PLATFORMVIDEOMANAGEMENT_ID: '',
@ -207,8 +208,8 @@ export default {
},
created() {
this.form.DOOR_ID = this.$parent.DOOR_ID
this.form.CORPINFO_ID = this.$parent.CORPINFO_ID
this.getList()
this.getVideoResourcesSelect()
},
beforeDestroy() {
this.map && this.map.removeEventListener('click', this.MapClick)
@ -216,15 +217,6 @@ export default {
clearInterval(this.timer)
},
methods: {
getVideoResourcesSelect() {
requestFN(
'/videoResources/listAll', {
UNITS_ID: this.$parent.UNITS_ID
}
).then((res) => {
this.videoResourcesList = res.varList
})
},
/**
* 初始化天地图对象
*/
@ -290,6 +282,7 @@ export default {
this.dialogFormMap = true
var DOOR_ID = this.form.DOOR_ID
this.form = {
CORPINFO_ID: this.$parent.CORPINFO_ID,
DOOR_ID: DOOR_ID,
DOOR_VIDEO_ID: row.DOOR_VIDEO_ID,
LATITUDE: row.LATITUDE,
@ -328,39 +321,34 @@ export default {
showVideo(row) {
this.$message.warning('单次播放最多五分钟')
this.start()
if (!row.PLATFORMVIDEOMANAGEMENT_ID) {
this.VIDEOURL = row.VIDEOURL
this.dialogVideo = true
} else {
requestFN(
'/platformvideomanagement/getHlsPath',
{
INDEXCODE: row.INDEXCODE
}
).then((res) => {
this.dialogVideoHLS = true
this.$nextTick(() => {
// eslint-disable-next-line no-undef
this.player = new Aliplayer({
'id': 'aLiVideoPlayer',
'source': res.data.url,
'width': '100%',
'height': '500px',
'autoplay': true,
'isLive': true,
'rePlay': false,
'playsinline': true,
'preload': true,
'controlBarVisibility': 'hover',
'useH5Prism': true
}, function(player) {
console.log('The player is created')
})
requestFN(
'/platform/door/video/getHlsPath',
{
INDEXCODE: row.INDEXCODE
}
).then((res) => {
this.dialogVideoHLS = true
this.$nextTick(() => {
// eslint-disable-next-line no-undef
this.player = new Aliplayer({
'id': 'aLiVideoPlayer',
'source': res.data.url,
'width': '100%',
'height': '500px',
'autoplay': true,
'isLive': true,
'rePlay': false,
'playsinline': true,
'preload': true,
'controlBarVisibility': 'hover',
'useH5Prism': true
}, function(player) {
console.log('The player is created')
})
}).catch((e) => {
this.listLoading = false
})
}
}).catch((e) => {
this.listLoading = false
})
},
setPosition() {
this.dialogFormMap = false
@ -432,7 +420,7 @@ export default {
LONGITUDE: this.form.LONGITUDE,
LATITUDE: this.form.LATITUDE,
DOOR_ID: this.form.DOOR_ID,
CORPINFO_ID: this.$parent.CORPINFO_ID
CORPINFO_ID: this.form.CORPINFO_ID
}
).then((data) => {
this.listLoading = false
@ -552,6 +540,7 @@ export default {
resetForm() {
var DOOR_ID = this.form.DOOR_ID
this.form = {
CORPINFO_ID: this.$parent.CORPINFO_ID,
VIDEO_TYPE: 1,
CODE: '',
DOOR_ID: DOOR_ID,

View File

@ -54,10 +54,10 @@
<div class="td">状态</div>
</div>
<div v-for="(item,index) in block3List" :key="index" class="tr">
<div class="td line1">{{ block3OptionsIndex===0 ? item.devName : item.ROADWAYNAME }}</div>
<div class="td">{{ block3OptionsIndex===0 ? item.personName : item.PLATENO }}</div>
<div class="td line1">{{ block3OptionsIndex===0 ? item.eventTime.substring(11) : item.CROSSTIME.substring(11,19) }}</div>
<div class="td">{{ item.inAndOutType === null ? (item.VEHICLEOUT === '0' ? '出' : '进') : (item.inAndOutType === '0' ? '出' : '进') }}</div>
<div class="td line1">{{ item.DOORNAME }}</div>
<div class="td">{{ item.NAME }}</div>
<div class="td line1">{{ item.TIME.substring(11) }}</div>
<div class="td">{{ item.STATUS }}</div>
</div>
</div>
</div>
@ -141,7 +141,7 @@ export default {
getEntryAndExitCount() {
requestFN(
'/mkmjRelation/getAllCarAndPeopleInfoCountByArea',
{}
{ CORPINFO_ID: this.corpInfoId }
).then((data) => {
this.block4OptionsList = data.varList
this.initEcharts1(this.block4OptionsList)
@ -288,9 +288,10 @@ export default {
listPerpleCarGateMachine(type) {
requestFN(
'/map/listGateMachine',
'/map/getDoorRecord',
{
TYPE: type
TYPE: type,
CORPINFO_ID: this.corpInfoId
}
).then((data) => {
this.block3List = data.varList.slice(0, 8)