170 lines
4.5 KiB
Vue
170 lines
4.5 KiB
Vue
<template>
|
||
<div class="app-container print-work">
|
||
<div v-if= "type !== 'CAMERA'" class="level-title">
|
||
<h1>区域名称:{{ info.GATE_AREA_NAME }}</h1>
|
||
</div>
|
||
<table v-if= "type !== 'CAMERA'" class="table-ui">
|
||
<tr>
|
||
<td class="bbg-transparent">闸机名称</td>
|
||
<td colspan="5">{{ info.GATE_MACHINE_NAME }}</td>
|
||
</tr>
|
||
<!-- <tr>-->
|
||
<!-- <td class="bbg-transparent">型号</td>-->
|
||
<!-- <td >{{ info.GATE_MACHINE_MODEL }}</td>-->
|
||
<!-- </tr>-->
|
||
<tr>
|
||
<td class="bbg-transparent">今日进</td>
|
||
<td>{{ type == 'CAR'? info.CAR_IN : info.PERSON_IN }}</td>
|
||
<td class="bbg-transparent">今日出</td>
|
||
<td>{{ type == 'CAR'? info.CAR_OUT : info.PERSON_OUT }}</td>
|
||
<td class="bbg-transparent">当前滞留</td>
|
||
<td>{{ type == 'CAR'? info.CAR_IN - info.CAR_OUT : info.PERSON_IN - info.PERSON_OUT }}</td>
|
||
</tr>
|
||
<tr v-if="type == 'PERSON'">
|
||
<td colspan="6">
|
||
<table class="table-ui">
|
||
<tr>
|
||
<td>卡号</td>
|
||
<td>人员姓名</td>
|
||
<td>刷卡时间</td>
|
||
<td>状态</td>
|
||
</tr>
|
||
<tr v-for="(item,index) in recordAllList" :key="index">
|
||
<td>{{ item.CARDTYPE }}</td>
|
||
<td>{{ item.USERNAME }}</td>
|
||
<td>{{ item.TIME }}</td>
|
||
<td>
|
||
<span v-if="item.STATE === 0">进入</span>
|
||
<span v-if="item.STATE === 1">出去</span>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<div v-if= "type == 'CAMERA'" class="level-title">
|
||
<h1>摄像头名称:{{ info.VIDEONAME }}</h1>
|
||
</div>
|
||
<table v-if= "type == 'CAMERA'" class="table-ui">
|
||
<tr>
|
||
<td class="bbg-transparent">编码</td>
|
||
<td >{{ info.CODE }}</td>
|
||
</tr>
|
||
</table>
|
||
<div class="video">
|
||
<video-play v-if="type === 'CAMERA' && info.GATEVIDEO_ID" :id="info.GATEVIDEO_ID" :type="type" :gangkou="gangkou"/>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { requestFN } from '@/utils/request'
|
||
import moment from 'moment'
|
||
import videoPlay from './video_play.vue'
|
||
export default {
|
||
components: { videoPlay },
|
||
props: {
|
||
id: {
|
||
type: String,
|
||
default() {
|
||
return ''
|
||
}
|
||
},
|
||
type: {
|
||
type: String,
|
||
default() {
|
||
return ''
|
||
}
|
||
},
|
||
gangkou: {
|
||
type: String,
|
||
default: ''
|
||
},
|
||
corpId: {
|
||
type: String,
|
||
default() {
|
||
return ''
|
||
}
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
config: config,
|
||
info: {},
|
||
recordAllList: []
|
||
}
|
||
},
|
||
|
||
created() {
|
||
this.getData()
|
||
this.getListData()
|
||
},
|
||
methods: {
|
||
formatDate(date, format) {
|
||
if (date) {
|
||
return moment(date).format(format)
|
||
} else {
|
||
return ''
|
||
}
|
||
},
|
||
getData() {
|
||
requestFN(
|
||
'/map/getGatesInAndOutNumById',
|
||
{
|
||
GATE_AREA_ID: this.id,
|
||
TYPE: this.type,
|
||
GANGKOU: this.gangkou,
|
||
CORPINFO_ID: this.corpId
|
||
}
|
||
).then((data) => {
|
||
Object.assign(this.info, data.pd)
|
||
if (this.type !== 'CAMERA') {
|
||
Object.assign(this.info, data.pd.info)
|
||
this.info.CAR_IN = 0
|
||
this.info.CAR_OUT = 0
|
||
this.info.PERSON_IN = 0
|
||
this.info.PERSON_OUT = 0
|
||
for (let i = 0; i < data.pd.varList.length; i++) {
|
||
if (data.pd.varList[i].TYPE == 'CAR_IN') {
|
||
this.info.CAR_IN = data.pd.varList[i].COUNT
|
||
}
|
||
if (data.pd.varList[i].TYPE == 'CAR_OUT') {
|
||
this.info.CAR_OUT = data.pd.varList[i].COUNT
|
||
}
|
||
if (data.pd.varList[i].TYPE == 'PERSON_IN') {
|
||
this.info.PERSON_IN = data.pd.varList[i].COUNT
|
||
}
|
||
if (data.pd.varList[i].TYPE == 'PERSON_OUT') {
|
||
this.info.PERSON_OUT = data.pd.varList[i].COUNT
|
||
}
|
||
}
|
||
}
|
||
|
||
this.$forceUpdate()
|
||
}).catch((e) => {
|
||
})
|
||
},
|
||
getListData() {
|
||
requestFN(
|
||
'/map/getGatesInAndOutListById?showCount=10000¤tPage=1',
|
||
{
|
||
GATE_AREA_ID: this.id,
|
||
TYPE: this.type,
|
||
GANGKOU: this.gangkou,
|
||
CORPINFO_ID: this.corpId
|
||
}
|
||
).then((data) => {
|
||
this.recordAllList = data.recordAllList
|
||
this.$forceUpdate()
|
||
}).catch((e) => {
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.video{
|
||
margin-top: 20px;
|
||
}
|
||
</style>
|