admin/src/api/business/device.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/api/business/visitEvent.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/utils/util.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/carEvent.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/device.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/deviceEvent.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/retention.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/visitEvent.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
admin/src/api/business/device.js
@@ -7,6 +7,11 @@ }) } // 同步 export function syncDevices (data) { return request.post('/business/erpsync/syncDevices', data) } // 修改 export function updateById (data) { return request.post('/business/device/updateById', data) admin/src/api/business/visitEvent.js
@@ -6,3 +6,11 @@ trim: true }) } // 导出Excel export function exportExcel (data) { return request.post('/business/visitEvent/exportExcel', data, { trim: true, download: true }) } admin/src/utils/util.js
@@ -18,3 +18,26 @@ } return data } export function timeForMat (count) { // 拼接时间 const time1 = new Date() const time2 = new Date() if (count === 1) { time1.setTime(time1.getTime() - (24 * 60 * 60 * 1000)) } else { time1.setTime(time1.getTime()) } const Y1 = time1.getFullYear() const M1 = ((time1.getMonth() + 1) > 9 ? (time1.getMonth() + 1) : '0' + (time1.getMonth() + 1)) const D1 = (time1.getDate() > 9 ? time1.getDate() : '0' + time1.getDate()) const timer1 = Y1 + '-' + M1 + '-' + D1 + ' ' + '23:59:59' // 当前时间 time2.setTime(time2.getTime() - (24 * 60 * 60 * 1000 * count)) const Y2 = time2.getFullYear() const M2 = ((time2.getMonth() + 1) > 9 ? (time2.getMonth() + 1) : '0' + (time2.getMonth() + 1)) const D2 = (time2.getDate() > 9 ? time2.getDate() : '0' + time2.getDate()) const timer2 = Y2 + '-' + M2 + '-' + D2 + ' ' + '00:00:00' // 之前的7天或者30天 return [timer2, timer1] } admin/src/views/business/carEvent.vue
@@ -1,49 +1,47 @@ <template> <TableLayout :permissions="['business:category:query']"> <TableLayout :permissions="['business:carevent:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="车牌号" prop="plateNos"> <el-input v-model="searchForm.plateNos" placeholder="请输入车牌号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="姓名/手机号" prop="plateNos"> <el-input v-model="searchForm.plateNos" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> <el-form-item label="姓名/手机号" prop="keyWords"> <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="公司/部门名称" prop="plateNos"> <el-input v-model="searchForm.plateNos" placeholder="请输入公司/部门名称" @keypress.enter.native="search"></el-input> <el-form-item label="公司/部门名称" prop="companyName"> <el-input v-model="searchForm.companyName" placeholder="请输入公司/部门名称" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="人员类型" prop="plateNos"> <el-select v-model="searchForm.plateNos" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-form-item label="人员类型" prop="memberType"> <el-select v-model="searchForm.memberType" placeholder="请选择"> <el-option label="劳务访客" value="0"></el-option> <el-option label="普通访客" value="1"></el-option> <el-option label="内部人员" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="事件类型" prop="eventType"> <el-select v-model="searchForm.eventType" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option label="入场压线事件" value="771760130"></el-option> <el-option label="入场放行事件" value="771760131"></el-option> <el-option label="出场压线事件" value="771760133"></el-option> <el-option label="出场放行事件" value="771760134"></el-option> </el-select> </el-form-item> <el-form-item label="起始时间" prop="eventType"> <el-date-picker v-model="searchForm.eventType" type="daterange" @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker> </el-form-item> <el-radio-group v-model="searchForm.eventType" size="small"> <el-radio-button label="当天"></el-radio-button> <el-radio-button label="近7天"></el-radio-button> <el-radio-button label="近30天"></el-radio-button> <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> <el-radio-button label="0">当天</el-radio-button> <el-radio-button label="1">近7天</el-radio-button> <el-radio-button label="2">近30天</el-radio-button> </el-radio-group> <section> <el-button type="primary" @click="search">搜索</el-button> @@ -52,8 +50,8 @@ </el-form> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']"> <li><el-button type="primary" v-permissions="['business:member:create']">导出</el-button></li> <ul class="toolbar" v-permissions="['business:carevent:exportExcel']"> <li><el-button type="primary" v-permissions="['business:carevent:exportExcel']">导出</el-button></li> </ul> <el-table v-loading="isWorking.search" @@ -61,20 +59,34 @@ stripe > <el-table-column prop="plateNos" label="车牌号" min-width="100px"></el-table-column> <el-table-column prop="plateNos" label="归属用户类型" min-width="100px"></el-table-column> <el-table-column prop="plateNos" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="plateNos" label="手机号" min-width="100px"></el-table-column> <el-table-column prop="plateNos" label="公司/部门" min-width="100px"></el-table-column> <el-table-column label="归属用户类型" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.personType === '0'">劳务访客</span> <span v-if="row.personType === '1'">普通访客</span> <span v-if="row.personType === '2'">内部人员</span> </template> </el-table-column> <el-table-column prop="personName" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="personPhone" label="手机号" min-width="100px"></el-table-column> <el-table-column prop="personCompanyName" label="公司/部门" min-width="100px"></el-table-column> <el-table-column prop="parkName" label="停车库名称" min-width="100px"></el-table-column> <el-table-column prop="gateName" label="出入口名称" min-width="100px"></el-table-column> <el-table-column prop="eventType" label="事件类型" min-width="100px"></el-table-column> <el-table-column prop="inoutType" label="出入类型" min-width="100px"> <el-table-column prop="eventTypeName" label="事件类型" min-width="100px"></el-table-column> <el-table-column label="出入类型" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.inoutType === 0">进场</span> <span v-if="row.inoutType === 1">出场</span> </template> </el-table-column> <el-table-column prop="vehiclePicUrl" label="抓拍图片" min-width="100px"></el-table-column> <el-table-column label="抓拍图片" min-width="100px"> <template slot-scope="{row}"> <el-image style="width: 80px; height: 80px" :src="row.vehiclePicUrl" :preview-src-list="[row.vehiclePicUrl]"> </el-image> </template> </el-table-column> <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> </el-table> <pagination @@ -91,6 +103,7 @@ import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import { timeForMat } from '@/utils/util' export default { name: 'CarEvent', extends: BaseTable, @@ -100,9 +113,15 @@ // 搜索 searchForm: { eventType: '', plateNos: '' keyWords: '', plateNos: '', memberType: '', companyName: '', startTime: '', endTime: '', radio: null }, options: [] time: [] } }, created () { @@ -113,6 +132,38 @@ 'field.main': 'id' }) this.search() }, methods: { reset () { this.$refs.searchForm.resetFields() this.searchForm.startTime = '' this.searchForm.endTime = '' this.time = [] this.searchForm.radio = null this.search() }, changeRadio (e) { if (e === '0') { this.searchForm.startTime = timeForMat(1)[0] this.searchForm.endTime = timeForMat(1)[1] this.time = timeForMat(1) } else if (e === '1') { this.searchForm.startTime = timeForMat(7)[0] this.searchForm.endTime = timeForMat(7)[1] this.time = timeForMat(7) } else if (e === '2') { this.searchForm.startTime = timeForMat(30)[0] this.searchForm.endTime = timeForMat(30)[1] this.time = timeForMat(30) } this.search() }, seleTime (e) { this.searchForm.startTime = e[0] this.searchForm.endTime = e[1] this.searchForm.radio = null this.search() } } } </script> admin/src/views/business/device.vue
@@ -1,18 +1,15 @@ <template> <TableLayout :permissions="['business:company:query']"> <TableLayout :permissions="['business:device:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="门禁名称" prop="title"> <el-input v-model="searchForm.title" placeholder="请输入门禁名称" @keypress.enter.native="search"></el-input> <el-form-item label="门禁名称" prop="name"> <el-input v-model="searchForm.name" placeholder="请输入门禁名称" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="门禁等级" prop="level"> <el-select v-model="searchForm.level" placeholder="请选择门禁等级" @keypress.enter.native="search"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option label="一级门禁" value="1"></el-option> <el-option label="二级门禁" value="2"></el-option> <el-option label="三级门禁" value="3"></el-option> </el-select> </el-form-item> <section> @@ -23,7 +20,7 @@ <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar"> <li><el-button type="primary">同步</el-button></li> <li><el-button type="primary" @click="synchronousData">同步</el-button></li> </ul> <el-table v-loading="isWorking.search" @@ -32,16 +29,16 @@ > <el-table-column prop="manufature" label="厂商" min-width="100px"></el-table-column> <el-table-column prop="no" label="设备编号" min-width="100px"></el-table-column> <el-table-column prop="title" label="门禁名称" min-width="100px"></el-table-column> <el-table-column prop="name" label="门禁名称" min-width="100px"></el-table-column> <el-table-column prop="level" label="门禁等级" min-width="100px"></el-table-column> <el-table-column prop="status" label="设备状态 0禁用 1启用" min-width="100px"> <el-table-column prop="status" label="设备状态" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.status === 0">禁用</span> <span v-if="row.status === 1">启用</span> </template> </el-table-column> <el-table-column v-if="containPermissions(['business:company:update'])" v-if="containPermissions(['business:device:update'])" label="操作" min-width="120" fixed="right" @@ -68,6 +65,7 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaDeviceWindow from '@/components/business/OperaDeviceWindow' import { syncDevices } from '@/api/business/device' export default { name: 'Device', extends: BaseTable, @@ -76,7 +74,7 @@ return { // 搜索 searchForm: { title: '', name: '', level: '' }, options: [] @@ -90,6 +88,26 @@ 'field.main': 'id' }) this.search() }, methods: { synchronousData () { this.$confirm('确认同步吗?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { syncDevices({}) .then(res => { this.$message({ type: 'success', message: '同步成功' }) this.search() }) }).catch(() => { }) } } } </script> admin/src/views/business/deviceEvent.vue
@@ -1,53 +1,53 @@ <template> <TableLayout :permissions="['business:member:query']"> <TableLayout :permissions="['business:deviceevent:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="姓名/手机号" prop="eventType"> <el-input v-model="searchForm.eventType" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> <el-form-item label="姓名/手机号" prop="keyWords"> <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="公司/组织名称" prop="eventType"> <el-input v-model="searchForm.eventType" placeholder="请输入公司/组织名称" @keypress.enter.native="search"></el-input> <el-form-item label="公司/组织名称" prop="personCompanyName"> <el-input v-model="searchForm.personCompanyName" placeholder="请输入公司/组织名称" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="人员类型" prop="userType"> <el-select v-model="searchForm.userType" placeholder="请选择"> <el-option label="未知" value="0"></el-option> <el-option label="普通" value="1"></el-option> <el-option label="来宾" value="2"></el-option> <el-option label="黑名单" value="3"></el-option> <el-option label="管理员" value="4"></el-option> <el-form-item label="人员类型" prop="personType"> <el-select v-model="searchForm.personType" placeholder="请选择"> <el-option label="劳务访客" value="0"></el-option> <el-option label="普通访客" value="1"></el-option> <el-option label="内部人员" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="事件类型" prop="eventType"> <el-select v-model="searchForm.eventType" placeholder="请选择"> <el-option label="未知" value="0"></el-option> <el-option label="普通" value="1"></el-option> <el-option label="来宾" value="2"></el-option> <el-option label="黑名单" value="3"></el-option> <el-option label="管理员" value="4"></el-option> <el-option label="人脸认证失败" value="197163"></el-option> <el-option label="人脸认证通过" value="196893"></el-option> </el-select> </el-form-item> <el-form-item label="起始时间" prop="eventType"> <el-date-picker v-model="searchForm.eventType" type="daterange" @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker> </el-form-item> <el-radio-group v-model="searchForm.eventType" size="small"> <el-radio-button label="当天"></el-radio-button> <el-radio-button label="近7天"></el-radio-button> <el-radio-button label="近30天"></el-radio-button> <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> <el-radio-button label="0">当天</el-radio-button> <el-radio-button label="1">近7天</el-radio-button> <el-radio-button label="2">近30天</el-radio-button> </el-radio-group> <section> <el-button type="primary" @click="search">搜索</el-button> <el-button type="primary" :loading="isWorking.export" v-permissions="['business:member:exportExcel']" @click="exportExcel">导出</el-button> <el-button @click="reset">重置</el-button> </section> </el-form> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:deviceevent:exportExcel']"> <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:deviceevent:exportExcel']" @click="exportExcel">导出</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" @@ -63,12 +63,26 @@ <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column> <el-table-column prop="idcard" label="身份证号码" min-width="100px"></el-table-column> <el-table-column prop="company" label="公司/组织" min-width="100px"></el-table-column> <el-table-column prop="srcName" label="门禁名称" min-width="100px"></el-table-column> <el-table-column prop="personCompanyName" label="公司/组织" min-width="100px"></el-table-column> <el-table-column prop="devName" label="门禁名称" min-width="100px"></el-table-column> <el-table-column prop="srcName" label="门禁点" min-width="100px"></el-table-column> <el-table-column prop="eventType" label="事件类型" min-width="100px"></el-table-column> <el-table-column prop="eventType" label="出入类型" min-width="100px"></el-table-column> <el-table-column prop="extEventPictureURL" label="抓拍照片" min-width="100px"></el-table-column> <el-table-column prop="eventTypeName" label="事件类型" min-width="100px"></el-table-column> <el-table-column label="出入类型" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.extEventInOut === 1">进</span> <span v-if="row.extEventInOut === 0">出</span> <span v-if="row.extEventInOut === -1">未知</span> </template> </el-table-column> <el-table-column label="抓拍照片" min-width="100px"> <template slot-scope="{row}"> <el-image style="width: 80px; height: 80px" :src="row.extEventPictureURL" :preview-src-list="[row.extEventPictureURL]"> </el-image> </template> </el-table-column> <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> </el-table> <pagination @@ -85,6 +99,7 @@ import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import { timeForMat } from '@/utils/util' export default { name: 'DeviceEvent', extends: BaseTable, @@ -93,9 +108,15 @@ return { // 搜索 searchForm: { keyWords: '', personCompanyName: '', personType: '', eventType: '', userType: '' } startTime: '', endTime: '', radio: null }, time: [] } }, created () { @@ -106,6 +127,38 @@ 'field.main': 'id' }) this.search() }, methods: { changeRadio (e) { if (e === '0') { this.searchForm.startTime = timeForMat(1)[0] this.searchForm.endTime = timeForMat(1)[1] this.time = timeForMat(1) } else if (e === '1') { this.searchForm.startTime = timeForMat(7)[0] this.searchForm.endTime = timeForMat(7)[1] this.time = timeForMat(7) } else if (e === '2') { this.searchForm.startTime = timeForMat(30)[0] this.searchForm.endTime = timeForMat(30)[1] this.time = timeForMat(30) } this.search() }, seleTime (e) { this.searchForm.startTime = e[0] this.searchForm.endTime = e[1] this.searchForm.radio = null this.search() }, reset () { this.$refs.searchForm.resetFields() this.searchForm.startTime = '' this.searchForm.endTime = '' this.time = [] this.searchForm.radio = null this.search() } } } </script> admin/src/views/business/retention.vue
@@ -1,15 +1,12 @@ <template> <TableLayout :permissions="['business:member:query']"> <TableLayout :permissions="['business:retention:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="姓名" prop="name"> <el-input v-model="searchForm.name" placeholder="请输入姓名" @keypress.enter.native="search"></el-input> <el-form-item label="姓名/手机号" prop="keyWords"> <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="手机号" prop="phone"> <el-input v-model="searchForm.phone" placeholder="请输入手机号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="公司/部门名称" prop="companyId"> <el-input v-model="searchForm.companyId" placeholder="请输入公司/部门名称" @keypress.enter.native="search"></el-input> <el-form-item label="公司/部门名称" prop="companyName"> <el-input v-model="searchForm.companyName" placeholder="请输入公司/部门名称" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="人员类型" prop="type"> <el-select v-model="searchForm.type" placeholder="请选择"> @@ -18,10 +15,13 @@ <el-option label="内部员工" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="起始时间" prop="companyId"> <el-form-item label="起始时间" prop="startTime"> <el-date-picker v-model="searchForm.companyId" type="daterange" @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> @@ -34,8 +34,8 @@ </el-form> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']"> <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:member:exportExcel']" @click="exportExcel">导出</el-button></li> <ul class="toolbar" v-permissions="['business:retention:exportExcel']"> <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:retention:exportExcel']" @click="exportExcel">导出</el-button></li> </ul> <el-table v-loading="isWorking.search" @@ -44,7 +44,7 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="companyId" label="公司/组织" min-width="100px"></el-table-column> <el-table-column prop="companyName" label="公司/组织" min-width="100px"></el-table-column> <el-table-column prop="type" label="人员类型" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.type === 0">劳务访客</span> @@ -54,10 +54,14 @@ </el-table-column> <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column> <el-table-column prop="idcardNo" label="身份证号" min-width="100px"></el-table-column> <el-table-column prop="eventDate" label="进场门禁" min-width="100px"></el-table-column> <el-table-column prop="idcardNo" label="身份证号" min-width="130px"></el-table-column> <el-table-column prop="deviceName" label="进场门禁" min-width="100px"></el-table-column> <el-table-column prop="eventDate" label="进场时间" min-width="100px"></el-table-column> <el-table-column prop="faceImg" label="进场抓拍照片" min-width="100px"></el-table-column> <el-table-column label="进场抓拍照片" min-width="100px"> <template slot-scope="{row}"> <el-image style="width: 80px; height: 80px;" :src="row.faceImg"></el-image> </template> </el-table-column> </el-table> <pagination @size-change="handleSizeChange" @@ -81,11 +85,13 @@ return { // 搜索 searchForm: { companyId: '', companyName: '', type: '', name: '', phone: '' } keyWords: '', startTime: '', endTime: '' }, time: [] } }, created () { @@ -96,6 +102,19 @@ 'field.main': 'id' }) this.search() }, methods: { reset () { this.$refs.searchForm.resetFields() this.searchForm.startTime = '' this.searchForm.endTime = '' this.time = [] this.search() }, seleTime (e) { this.searchForm.startTime = e[0] this.searchForm.endTime = e[1] } } } </script> admin/src/views/business/visitEvent.vue
@@ -1,52 +1,38 @@ <template> <TableLayout :permissions="['business:member:query']"> <TableLayout :permissions="['business:visitevent:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="姓名" prop="personName"> <el-input v-model="searchForm.personName" placeholder="请输入姓名" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="手机号码" prop="endTime"> <el-input v-model="searchForm.endTime" placeholder="请输入手机号码" @keypress.enter.native="search"></el-input> <el-form-item label="姓名/手机号" prop="keyWords"> <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="车牌号" prop="carNo"> <el-input v-model="searchForm.carNo" placeholder="请输入车牌号" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="公司名称" prop="endTime"> <el-input v-model="searchForm.endTime" placeholder="请输入公司名称" @keypress.enter.native="search"></el-input> <el-form-item label="公司名称" prop="companyName"> <el-input v-model="searchForm.companyName" placeholder="请输入公司名称" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="设备类型" prop="carNo"> <el-select v-model="searchForm.carNo" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="出入类型" prop="carNo"> <el-select v-model="searchForm.carNo" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-form-item label="事件类型" prop="eventType"> <el-select v-model="searchForm.eventType" placeholder="请选择"> <el-option label="访客登记" value="1392513025"></el-option> <el-option label="访客签离" value="1392513026"></el-option> </el-select> </el-form-item> <el-form-item label="起始时间" prop="carNo"> <el-date-picker v-model="searchForm.carNo" type="daterange" @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker> </el-form-item> <el-radio-group v-model="searchForm.eventType" size="small"> <el-radio-button label="当天"></el-radio-button> <el-radio-button label="近7天"></el-radio-button> <el-radio-button label="近30天"></el-radio-button> <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> <el-radio-button label="0">当天</el-radio-button> <el-radio-button label="1">近7天</el-radio-button> <el-radio-button label="2">近30天</el-radio-button> </el-radio-group> <section> <el-button type="primary" @click="search">搜索</el-button> @@ -55,22 +41,31 @@ </el-form> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:visitevent:exportExcel']"> <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:visitevent:exportExcel']" @click="exportExcel">导出</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe > <el-table-column prop="personName" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="endTime" label="手机号码" min-width="100px"></el-table-column> <el-table-column prop="personPhone" label="手机号码" min-width="100px"></el-table-column> <el-table-column prop="idNo" label="身份证号码" min-width="100px"></el-table-column> <el-table-column prop="idNo" label="公司" min-width="100px"></el-table-column> <el-table-column prop="personCompanyName" label="公司" min-width="100px"></el-table-column> <el-table-column prop="carNo" label="车牌号" min-width="100px"></el-table-column> <el-table-column prop="carNo" label="设备类型" min-width="100px"></el-table-column> <el-table-column prop="carNo" label="设备名称" min-width="100px"></el-table-column> <el-table-column prop="carNo" label="出入类型" min-width="100px"></el-table-column> <el-table-column prop="captureUrl" label="抓拍图uri" min-width="100px"></el-table-column> <el-table-column prop="happenTime" label="抓拍照片" min-width="100px"></el-table-column> <el-table-column prop="captureUrl" label="事件时间" min-width="100px"></el-table-column> <el-table-column prop="beVisitedPersonName" label="被访人" min-width="100px"></el-table-column> <el-table-column prop="eventTypeName" label="事件类型" min-width="100px"></el-table-column> <el-table-column label="抓拍图uri" min-width="100px"> <template slot-scope="{row}"> <el-image style="width: 80px; height: 80px" :src="row.captureUrl" :preview-src-list="[row.captureUrl]"> </el-image> </template> </el-table-column> <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> </el-table> <pagination @size-change="handleSizeChange" @@ -86,6 +81,7 @@ import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import { timeForMat } from '@/utils/util' export default { name: 'VisitEvent', extends: BaseTable, @@ -95,10 +91,15 @@ // 搜索 searchForm: { personName: '', carNo: '', keyWords: '', startTime: '', endTime: '', carNo: '' eventType: '', companyName: '', radio: null }, options: [] time: [] } }, created () { @@ -109,6 +110,38 @@ 'field.main': 'id' }) this.search() }, methods: { seleTime (e) { this.searchForm.startTime = e[0] this.searchForm.endTime = e[1] this.searchForm.radio = null this.search() }, changeRadio (e) { if (e === '0') { this.searchForm.startTime = timeForMat(1)[0] this.searchForm.endTime = timeForMat(1)[1] this.time = timeForMat(1) } else if (e === '1') { this.searchForm.startTime = timeForMat(7)[0] this.searchForm.endTime = timeForMat(7)[1] this.time = timeForMat(7) } else if (e === '2') { this.searchForm.startTime = timeForMat(30)[0] this.searchForm.endTime = timeForMat(30)[1] this.time = timeForMat(30) } this.search() }, reset () { this.$refs.searchForm.resetFields() this.searchForm.startTime = '' this.searchForm.endTime = '' this.time = [] this.searchForm.radio = null this.search() } } } </script>