海康口门门禁地图显示

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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