| | |
| | | pageSize: 10, |
| | | total: 0 |
| | | } |
| | | } |
| | | }, |
| | | tableHeight: 400 |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | & > main { |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | overflow-y: auto; |
| | | /* overflow-y: auto; */ |
| | | } |
| | | } |
| | | } |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="80px"></el-table-column> |
| | | <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份证号码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" show-overflow-tooltip label="身份证号码" min-width="140px"></el-table-column> |
| | | <el-table-column label="人员类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type === 0">劳务访客</span> |
| | |
| | | <span v-if="row.type === 2">内部人员</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="组织" min-width="100px"></el-table-column> |
| | | <el-table-column prop="optRemark" label="操作信息" min-width="300px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="组织" show-overflow-tooltip min-width="200px"></el-table-column> |
| | | <el-table-column prop="optRemark" label="操作信息" show-overflow-tooltip min-width="200px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete'])" |
| | | label="操作" |
| | |
| | | <template> |
| | | <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="keyWords"> |
| | | <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <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="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" clearable 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="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 @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :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="keyWords"> |
| | | <el-input v-model="searchForm.keyWords" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <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="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" clearable 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="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 @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:carevent:exportExcel']"> |
| | |
| | | @click="exportExcel">导出</el-button> |
| | | </li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <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> |
| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="happenTime" label="事件时间" min-width="140px"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | |
| | | this.changeRadio('0') |
| | | this.search() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | reset() { |
| | | this.$refs.searchForm.resetFields() |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:device:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="门禁点名称" prop="doorName"> |
| | | <el-input v-model="searchForm.doorName" placeholder="请输入门禁点名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="区域名称" prop="regionPathName"> |
| | | <el-input v-model="searchForm.regionPathName" placeholder="请输入区域名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="是否园区入口" prop="isEntrance"> |
| | | <el-select v-model="searchForm.isEntrance" placeholder="请选择"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="在线状态" prop="online"> |
| | | <el-select v-model="searchForm.online" placeholder="请选择" clearable> |
| | | <el-option label="离线" value="0"></el-option> |
| | | <el-option label="在线" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="synchronousData">同步</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column label="序号" width="55" fixed><template slot-scope="scope" >{{scope.$index+1}}</template></el-table-column> |
| | | <el-table-column prop="name" label="设备名称"></el-table-column> |
| | | <el-table-column prop="doorName" label="门禁点名称"></el-table-column> |
| | | <el-table-column prop="regionPathName" label="区域名称"></el-table-column> |
| | | <el-table-column prop="doorNo" label="门禁点编号"></el-table-column> |
| | | <el-table-column prop="manufature" label="厂商"></el-table-column> |
| | | <el-table-column prop="online" label="在线状态"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.online == 0">离线</span> |
| | | <span v-if="row.online == 1">在线</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ip" label="设备ip"></el-table-column> |
| | | <el-table-column prop="port" label="设备端口"></el-table-column> |
| | | <el-table-column label="是否园区入口"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | @change="changeManufature($event, row)" |
| | | v-model="row.isEntrance" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="1" |
| | | :inactive-value="0"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="no" width="200px" label="设备号"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <!-- <OperaDeviceWindow ref="operaDeviceWindow" @success="handlePageChange"/>--> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:device:query']"> |
| | | <!-- 搜索表单 --> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="门禁点名称" prop="doorName"> |
| | | <el-input v-model="searchForm.doorName" placeholder="请输入门禁点名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="区域名称" prop="regionPathName"> |
| | | <el-input v-model="searchForm.regionPathName" placeholder="请输入区域名称" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="是否园区入口" prop="isEntrance"> |
| | | <el-select v-model="searchForm.isEntrance" placeholder="请选择"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="在线状态" prop="online"> |
| | | <el-select v-model="searchForm.online" placeholder="请选择" clearable> |
| | | <el-option label="离线" value="0"></el-option> |
| | | <el-option label="在线" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="synchronousData">同步</el-button></li> |
| | | </ul> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column label="序号" width="55" fixed><template slot-scope="scope">{{ scope.$index + 1 |
| | | }}</template></el-table-column> |
| | | <el-table-column prop="name" label="设备名称"></el-table-column> |
| | | <el-table-column prop="doorName" label="门禁点名称"></el-table-column> |
| | | <el-table-column prop="regionPathName" label="区域名称"></el-table-column> |
| | | <el-table-column prop="doorNo" label="门禁点编号"></el-table-column> |
| | | <el-table-column prop="manufature" label="厂商"></el-table-column> |
| | | <el-table-column prop="online" label="在线状态"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.online == 0">离线</span> |
| | | <span v-if="row.online == 1">在线</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ip" label="设备ip"></el-table-column> |
| | | <el-table-column prop="port" label="设备端口"></el-table-column> |
| | | <el-table-column label="是否园区入口"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch @change="changeManufature($event, row)" v-model="row.isEntrance" active-color="#13ce66" |
| | | inactive-color="#ff4949" :active-value="1" :inactive-value="0"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="no" width="200px" label="设备号"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <!-- <OperaDeviceWindow ref="operaDeviceWindow" @success="handlePageChange"/>--> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'Device', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaDeviceWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | regionPathName: '', |
| | | isEntrance: '', |
| | | online: '', |
| | | type:0 |
| | | type: 0 |
| | | }, |
| | | options: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '设备信息表', |
| | | api: '/business/device', |
| | |
| | | }) |
| | | this.search() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeManufature(e, row) { |
| | | updateEntranceById({ |
| | |
| | | isEntrance: e |
| | | }) |
| | | }, |
| | | synchronousData () { |
| | | synchronousData() { |
| | | this.$dialog.actionConfirm('操作确认提醒', '您确认同步全部信息吗?') |
| | | .then(() => { |
| | | this.isWorking.delete = true |
| | | syncDevices({type:0}) |
| | | syncDevices({ type: 0 }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || '同步成功') |
| | | this.search() |
| | |
| | | this.isWorking.delete = false |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | .catch(() => { }) |
| | | } |
| | | } |
| | | } |
| | |
| | | > |
| | | <el-table-column label="序号" width="55" fixed><template slot-scope="scope" >{{scope.$index+1}}</template></el-table-column> |
| | | <el-table-column prop="name" label="名称"></el-table-column> |
| | | <el-table-column prop="hkId" label="广播点唯一标识"></el-table-column> |
| | | <el-table-column prop="hkId" label="广播点唯一标识" min-width="200"></el-table-column> |
| | | <el-table-column prop="channelInfo" label="广播点类型"></el-table-column> |
| | | <el-table-column prop="channelNo" label="通道号"></el-table-column> |
| | | <el-table-column prop="regionName" label="区域名称"></el-table-column> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:deviceevent:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <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="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入组织名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="人员类型" prop="personType"> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <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="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入组织名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="人员类型" prop="personType"> |
| | | <el-select v-model="searchForm.personType" placeholder="请选择"> |
| | | <el-option label="外来访客" value="1"></el-option> |
| | | <el-option label="内部人员" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="人员类型" prop="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" 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="197163"></el-option> |
| | | <el-option label="人脸认证通过" value="196893"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="eventType"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <el-form-item label="人员类型" prop="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" 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="197163"></el-option> |
| | | <el-option label="人脸认证通过" value="196893"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="eventType"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <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" stripe> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <!-- <el-table-column prop="userType" label="人员类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.personType == 0">劳务访客</span> |
| | |
| | | <span v-if="row.personType == null">外来访客</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="personName" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personName" label="姓名" min-width="80px"></el-table-column> |
| | | <el-table-column prop="personPhone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personIdcardDecode" label="证件号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personIdcardDecode" label="证件号" min-width="140px"></el-table-column> |
| | | <el-table-column prop="personCompanyName" label="组织" min-width="100px"></el-table-column> |
| | | <el-table-column label="人员类型" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | |
| | | <span v-else>访客</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="happenTime" label="事件时间" min-width="140px"></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="srcName" label="门禁点" min-width="110px"></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}"> |
| | |
| | | }) |
| | | this.changeRadio('0') |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeRadio(e) { |
| | | if (e === '0') { |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:device:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item title="名称" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="synchronousData">同步</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column label="序号" width="55" fixed><template slot-scope="scope" >{{scope.$index+1}}</template></el-table-column> |
| | | <el-table-column prop="name" label="设备名称"></el-table-column> |
| | | <el-table-column prop="manufature" label="厂商"></el-table-column> |
| | | <el-table-column prop="no" label="设备编号"></el-table-column> |
| | | <el-table-column prop="online" label="在线状态"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.online == 0">离线</span> |
| | | <span v-if="row.online == 1">在线</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ip" label="设备ip"></el-table-column> |
| | | <el-table-column prop="port" label="设备端口"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:device:update' ])" |
| | | label="操作" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaDeviceLedWindow.open('设置屏显内容', row)" icon="el-icon-edit" v-permissions="['business:device:update']">设置屏显内容</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaDeviceLedWindow ref="OperaDeviceLedWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:device:query']"> |
| | | <!-- 搜索表单 --> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item title="名称" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="synchronousData">同步</el-button></li> |
| | | </ul> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column label="序号" width="55" fixed><template slot-scope="scope">{{ scope.$index + 1 |
| | | }}</template></el-table-column> |
| | | <el-table-column prop="name" label="设备名称"></el-table-column> |
| | | <el-table-column prop="manufature" label="厂商"></el-table-column> |
| | | <el-table-column prop="no" label="设备编号"></el-table-column> |
| | | <el-table-column prop="online" label="在线状态"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.online == 0">离线</span> |
| | | <span v-if="row.online == 1">在线</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ip" label="设备ip"></el-table-column> |
| | | <el-table-column prop="port" label="设备端口"></el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:device:update'])" label="操作" min-width="120" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaDeviceLedWindow.open('设置屏显内容', row)" icon="el-icon-edit" |
| | | v-permissions="['business:device:update']">设置屏显内容</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaDeviceLedWindow ref="OperaDeviceLedWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'Device', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaDeviceLedWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | regionPathName: '', |
| | | isEntrance: '', |
| | | online: '', |
| | | type:2 |
| | | type: 2 |
| | | }, |
| | | options: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '设备信息表', |
| | | api: '/business/device', |
| | |
| | | }) |
| | | this.search() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeManufature(e, row) { |
| | | updateEntranceById({ |
| | |
| | | isEntrance: e |
| | | }) |
| | | }, |
| | | synchronousData () { |
| | | synchronousData() { |
| | | this.$dialog.actionConfirm('操作确认提醒', '您确认同步全部信息吗?') |
| | | .then(() => { |
| | | this.isWorking.delete = true |
| | | syncDevices({type:2}) |
| | | syncDevices({ type: 2 }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || '同步成功') |
| | | this.search() |
| | |
| | | this.isWorking.delete = false |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | .catch(() => { }) |
| | | } |
| | | } |
| | | } |
| | |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="姓名" min-width="80px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="手机号" min-width="120px"></el-table-column> |
| | | <el-table-column prop="memberidCard" label="身份证号码" min-width="130px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属组织" min-width="150px"></el-table-column> |
| | | <el-table-column prop="deviceName" label="设备名称" min-width="150px"></el-table-column> |
| | | <el-table-column label="门禁有效期" min-width="170px"> |
| | | <el-table-column prop="memberidCard" show-overflow-tooltip label="身份证号码" min-width="160px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="所属组织" min-width="240px"></el-table-column> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" min-width="150px"></el-table-column> |
| | | <el-table-column label="门禁有效期" show-overflow-tooltip min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="!row.startTime || !row.endTime">长期</span> |
| | | <div v-else> |
| | |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="code" label="工号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitsLastDate" label="最后一次门禁时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="optRemark" label="冻结信息" min-width="100px"></el-table-column> |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- :permissions="['business:company: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>--> |
| | | <!-- <el-form-item label="所属上级组织" prop="parentName">--> |
| | | <!-- <el-input v-model="searchForm.parentName" placeholder="请输入所属上级组织" @keypress.enter.native="search"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <section>--> |
| | | <!-- <el-button type="primary" @click="search">搜索</el-button>--> |
| | | <!-- <el-button @click="reset">重置</el-button>--> |
| | | <!-- </section>--> |
| | | <!-- </el-form>--> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']"> |
| | | <li><el-button type="primary" v-permissions="['business:company:create']" @click="$refs.OperaInternalCompanyWindow.open('新建企业',null,null)">新建</el-button></li> |
| | | <li><el-button @click="sort('top')" :loading="sorting" icon="el-icon-sort-up" v-permissions="['business:company:sort']">上移</el-button></li> |
| | | <li><el-button @click="sort('bottom')" :loading="sorting" icon="el-icon-sort-down" v-permissions="['business:company:sort']">下移</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:company:sync']" :loading="loading" @click="synchronous()">同步</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="list" |
| | | stripe |
| | | :tree-props="{children: 'childList',hasChildren: 'hasChildren'}" |
| | | row-key="id" |
| | | @selection-change="handleSelectionChange" |
| | | default-expand-all |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="组织名称" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="组织类型" min-width="80px"> |
| | | <template scope="{row}"> |
| | | <span v-if="row.type == 0">相关方组织</span> |
| | | <span v-if="row.type == 1">内部组织</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyNamePath" label="组织路径" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最后更新时间" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | width="230" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('编辑企业信息',{ id: row.parentId,name:row.parentName,type:row.parentType, companyPath:row.parentCompanyPath}, row)" icon="el-icon-edit" v-permissions="['business:company:update']">编辑</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('新建子级', row,null)" icon="el-icon-plus">新建子级</el-button> |
| | | <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" v-permissions="['business:company:delete']">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaInternalCompanyWindow ref="OperaInternalCompanyWindow" :list="list" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | <TableLayout> |
| | | <!-- :permissions="['business:company: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>--> |
| | | <!-- <el-form-item label="所属上级组织" prop="parentName">--> |
| | | <!-- <el-input v-model="searchForm.parentName" placeholder="请输入所属上级组织" @keypress.enter.native="search"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <section>--> |
| | | <!-- <el-button type="primary" @click="search">搜索</el-button>--> |
| | | <!-- <el-button @click="reset">重置</el-button>--> |
| | | <!-- </section>--> |
| | | <!-- </el-form>--> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']"> |
| | | <li><el-button type="primary" v-permissions="['business:company:create']" |
| | | @click="$refs.OperaInternalCompanyWindow.open('新建企业', null, null)">新建</el-button></li> |
| | | <li><el-button @click="sort('top')" :loading="sorting" icon="el-icon-sort-up" |
| | | v-permissions="['business:company:sort']">上移</el-button></li> |
| | | <li><el-button @click="sort('bottom')" :loading="sorting" icon="el-icon-sort-down" |
| | | v-permissions="['business:company:sort']">下移</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:company:sync']" :loading="loading" |
| | | @click="synchronous()">同步</el-button></li> |
| | | </ul> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="list" stripe |
| | | :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" row-key="id" |
| | | @selection-change="handleSelectionChange" default-expand-all> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="组织名称" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="组织类型" min-width="80px"> |
| | | <template scope="{row}"> |
| | | <span v-if="row.type == 0">相关方组织</span> |
| | | <span v-if="row.type == 1">内部组织</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyNamePath" label="组织路径" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最后更新时间" min-width="100px"></el-table-column> |
| | | <el-table-column label="操作" width="230" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" |
| | | @click="$refs.OperaInternalCompanyWindow.open('编辑企业信息', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row)" |
| | | icon="el-icon-edit" v-permissions="['business:company:update']">编辑</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('新建子级', row, null)" |
| | | icon="el-icon-plus">新建子级</el-button> |
| | | <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" |
| | | v-permissions="['business:company:delete']">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaInternalCompanyWindow ref="OperaInternalCompanyWindow" :list="list" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'internalCompany', |
| | | extends: BaseTable, |
| | | components: { TableLayout, OperaInternalCompanyWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | loading: false, |
| | |
| | | total: 0 |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '企业信息表', |
| | | api: '/business/company', |
| | |
| | | }) |
| | | this.search() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - 220 |
| | | }) |
| | | }, |
| | | methods: { |
| | | // 页码变更处理 |
| | | handlePageChange (pageIndex) { |
| | | handlePageChange(pageIndex) { |
| | | this.__checkApi() |
| | | this.isWorking.search = true |
| | | this.api.fetchList(this.searchForm.type) |
| | |
| | | }) |
| | | }, |
| | | // 同步信息 |
| | | async synchronous () { |
| | | async synchronous() { |
| | | this.$dialog.actionConfirm('该操作将系统清空已有组织信息,您确认同步全部信息吗?', '操作确认提醒') |
| | | .then(() => { |
| | | this.loading = true |
| | |
| | | this.loading = false |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | .catch(() => { }) |
| | | }, |
| | | // 排序 |
| | | sort (direction) { |
| | | sort(direction) { |
| | | if (this.sorting) { |
| | | return |
| | | } |
| | |
| | | direction |
| | | }) |
| | | .then(() => { |
| | | /* if (direction === 'top') { |
| | | menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex - 1, 1)[0]) |
| | | } else { |
| | | menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex + 1, 1)[0]) |
| | | }*/ |
| | | /* if (direction === 'top') { |
| | | menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex - 1, 1)[0]) |
| | | } else { |
| | | menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex + 1, 1)[0]) |
| | | }*/ |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | |
| | | }) |
| | | }, |
| | | // 查询父节点 |
| | | __findParent (id, parent) { |
| | | __findParent(id, parent) { |
| | | if (parent.childList === 0) { |
| | | return |
| | | } |
| | |
| | | <template> |
| | | <TableLayout1 :permissions="['business:member:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号/工号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="positionId" > |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="岗位"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" clearable placeholder="是否有人脸"> |
| | | <el-option label="无" value="0"></el-option> |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="在职状态"> |
| | | <el-option label="在职" value="0"></el-option> |
| | | <el-option label="离职" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" clearable 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> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号/工号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="positionId"> |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="岗位"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" clearable placeholder="是否有人脸"> |
| | | <el-option label="无" value="0"></el-option> |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="在职状态"> |
| | | <el-option label="在职" value="0"></el-option> |
| | | <el-option label="离职" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" clearable 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> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <template v-slot:menu> |
| | | <div |
| | | style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> |
| | |
| | | icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" |
| | | v-permissions="['business:member:delete']">批量删除</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()" |
| | | >下发授权</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" |
| | | @click="startEmpowerBatch()">下发授权</el-button></li> |
| | | <li style="float: right"> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1" |
| | | @change="search">是否包含下级组织</el-checkbox> |
| | | </li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column fixed="left" prop="name" label="姓名" min-width="80px"> |
| | | <el-table-column fixed="left" prop="name" label="姓名" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.name }}</span> |
| | | <span class="zhuguan" v-if="row.headStatus == 1">主管</span> |
| | |
| | | <el-table-column label="人脸信息" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="positionName" label="岗位" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="isDangyuan" label="是否党员" min-width="100px"> |
| | | <!-- <el-table-column prop="isDangyuan" label="是否党员" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isDangyuan ==1" style="color: green">党员</span> |
| | | <span v-if="row.isDangyuan ==0">非党员</span> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column prop="jobDate" label="入职日期" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="status" label="状态" min-width="100px"> |
| | | <!-- <el-table-column prop="status" label="状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status == 0" style="color: green">正常</span> |
| | | <span v-if="row.status == 1" style="color: red">禁用</span> |
| | |
| | | <el-table-column label="卡片" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button @click="$refs.cardOpeningRecord.open('开卡记录', row.id)" type="text">{{ row.memberCardCount || |
| | | '0'}}</el-button> |
| | | '0' }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最后操作时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="操作" min-width="280" > |
| | | label="操作" min-width="280"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息', row, department)" |
| | | v-permissions="['business:empower:update']">编辑</el-button> |
| | |
| | | name: 'internalMember', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow, OperaMemberImportWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | TreeList: [], |
| | | // 搜索 |
| | |
| | | department: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '人员信息表', |
| | | api: '/business/member', |
| | |
| | | this.getfindCompanyTreePage() |
| | | this.getPositionList() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 276 |
| | | }) |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch () { |
| | | startEmpowerBatch() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请至少选择一条数据') |
| | | return |
| | |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('内部员工下发权限', ids, names, this.searchForm.companyType) |
| | | }, |
| | | getPositionList () { |
| | | getPositionList() { |
| | | allList({}) |
| | | .then(res => { |
| | | this.positionList = res |
| | | }) |
| | | }, |
| | | empower (id) { |
| | | empower(id) { |
| | | var that = this |
| | | this.$confirm('确定重新授权吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | |
| | | }) |
| | | }, |
| | | // 获取组织树 |
| | | getfindCompanyTreePage () { |
| | | getfindCompanyTreePage() { |
| | | fetchList() |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | getDepartmentTree (tree) { |
| | | getDepartmentTree(tree) { |
| | | if (tree == null) { |
| | | return [] |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // 同步信息 |
| | | async synchronous () { |
| | | async synchronous() { |
| | | this.$dialog.actionConfirm('该操作降触发全员信息更新和重新下发!请谨慎操作', '您确认全量同步内部人员信息吗?') |
| | | .then(() => { |
| | | this.loading = true |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | async updateHead (row, type) { |
| | | async updateHead(row, type) { |
| | | this.$dialog.actionConfirm('您确认进行当前操作吗?', '部门主管设置操作提示') |
| | | .then(() => { |
| | | this.heading = true |
| | |
| | | .catch(() => { }) |
| | | }) |
| | | }, |
| | | changeWorkStatus (e, row) { |
| | | changeWorkStatus(e, row) { |
| | | this.working = true |
| | | updateWorkStatus({ id: row.id, workStatus: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | changeCanvisit (e, row) { |
| | | changeCanvisit(e, row) { |
| | | this.canvisiting = true |
| | | updateCanVisit({ id: row.id, canVisit: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | callback (row) { |
| | | callback(row) { |
| | | console.log(row) |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:platformbroadcastlog: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> |
| | | <el-form-item label="" prop="content"> |
| | | <el-input v-model="searchForm.content" placeholder="请输入内容" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="personType"> |
| | | <el-select v-model="searchForm.deviceType" placeholder="请选择设备类型"> |
| | | <el-option label="广播" value="0"></el-option> |
| | | <el-option label="LED" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="eventType"> |
| | | <el-select v-model="searchForm.hkStatus" 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-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="eventType"> |
| | | <el-date-picker |
| | | @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:platformbroadcastlog:exportExcel']"> |
| | | <!-- |
| | | <TableLayout :permissions="['business:platformbroadcastlog:query']"> |
| | | <!-- 搜索表单 --> |
| | | <div slot="search-form" ref="QueryFormRef"> |
| | | <el-form ref="searchForm" :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> |
| | | <el-form-item label="" prop="content"> |
| | | <el-input v-model="searchForm.content" placeholder="请输入内容" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="personType"> |
| | | <el-select v-model="searchForm.deviceType" placeholder="请选择设备类型"> |
| | | <el-option label="广播" value="0"></el-option> |
| | | <el-option label="LED" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="eventType"> |
| | | <el-select v-model="searchForm.hkStatus" 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-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="eventType"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:platformbroadcastlog:exportExcel']"> |
| | | <!-- |
| | | <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformbroadcastlog:exportExcel']" @click="exportExcel">导出</el-button></li> |
| | | --> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="deviceType" label="设备类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.deviceType == 0">广播</span> |
| | | <span v-if="row.deviceType == 1">LED</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="hkStatus" label="下发状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.hkStatus == 0" style="color: #0c6ce3">待下发</span> |
| | | <span v-if="row.hkStatus == 1" style="color: #0c6ce3">下发中</span> |
| | | <span v-if="row.hkStatus == 2" style="color: green">下发成功</span> |
| | | <span v-if="row.hkStatus == 3" style="color: red">下发失败</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="标题" min-width="100px"></el-table-column> |
| | | <el-table-column prop="info" label="内容" min-width="100px"></el-table-column> |
| | | <el-table-column prop="ids" label="设备编码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </ul> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column prop="deviceType" label="设备类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.deviceType == 0">广播</span> |
| | | <span v-if="row.deviceType == 1">LED</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="hkStatus" label="下发状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.hkStatus == 0" style="color: #0c6ce3">待下发</span> |
| | | <span v-if="row.hkStatus == 1" style="color: #0c6ce3">下发中</span> |
| | | <span v-if="row.hkStatus == 2" style="color: green">下发成功</span> |
| | | <span v-if="row.hkStatus == 3" style="color: red">下发失败</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="标题" min-width="100px"></el-table-column> |
| | | <el-table-column prop="info" label="内容" min-width="100px"></el-table-column> |
| | | <el-table-column prop="ids" label="设备编码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'DeviceEvent', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: 'LED广播播放记录', |
| | | api: '/business/platformBroadcastLog', |
| | |
| | | }) |
| | | this.changeRadio('0') |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeRadio (e) { |
| | | changeRadio(e) { |
| | | if (e === '0') { |
| | | this.searchForm.startTime = timeForMat(0)[0] |
| | | this.searchForm.endTime = timeForMat(0)[1] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | seleTime (e) { |
| | | seleTime(e) { |
| | | this.searchForm.startTime = e[0] |
| | | this.searchForm.endTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | reset() { |
| | | this.$refs.searchForm.resetFields() |
| | | this.time = [] |
| | | this.searchForm.radio = '' |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:platformevent:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="platformName"> |
| | | <el-input v-model="searchForm.platformName" placeholder="请输入月台名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="channelName"> |
| | | <el-input v-model="searchForm.channelName" placeholder="请输入监控点名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="plateNo"> |
| | | <el-input v-model="searchForm.plateNo" placeholder="请输入车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="eventType"> |
| | | <el-select v-model="searchForm.motionStatus" placeholder="请选择进出类型"> |
| | | <el-option label="离开" value="leave"></el-option> |
| | | <el-option label="进入" value="enter"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="startDate"> |
| | | <el-date-picker |
| | | @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="platformName" label="月台名称" min-width="150px"></el-table-column> |
| | | <el-table-column prop="channelName" label="监控点名称" min-width="150px"></el-table-column> |
| | | <el-table-column prop="plateNo" label="车牌号" min-width="100px"></el-table-column> |
| | | <el-table-column label="进出类型" min-width="90px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.motionStatus == 'enter'">进入</span> |
| | | <span v-if="row.motionStatus == 'leave'">离开</span> |
| | | <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="前后标识" min-width="90px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.stockStatus == 'rear'">车尾</span> |
| | | <span v-if="row.stockStatus == 'front'">车头</span> |
| | | <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="车门状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.vehicleDoorStatus == 'open'">开门</span> |
| | | <span v-if="row.vehicleDoorStatus == 'close'">关门</span> |
| | | <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="srcIndex" label="设备编码" min-width="180px"></el-table-column> |
| | | <el-table-column prop="ipAddress" label="IP地址" min-width="100px"></el-table-column> |
| | | <el-table-column prop="portNo" label="端口" min-width="80px"></el-table-column> |
| | | <el-table-column fixed="right" label="抓拍图" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown" |
| | | :preview-src-list="[row.backgroundImageDown]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="160px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:platformevent:query']"> |
| | | <!-- 搜索表单 --> |
| | | <div slot="search-form" ref="QueryFormRef"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="platformName"> |
| | | <el-input v-model="searchForm.platformName" placeholder="请输入月台名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="channelName"> |
| | | <el-input v-model="searchForm.channelName" placeholder="请输入监控点名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="plateNo"> |
| | | <el-input v-model="searchForm.plateNo" placeholder="请输入车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="eventType"> |
| | | <el-select v-model="searchForm.motionStatus" placeholder="请选择进出类型"> |
| | | <el-option label="离开" value="leave"></el-option> |
| | | <el-option label="进入" value="enter"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="起止时间" prop="startDate"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <el-table v-loading="isWorking.search" :max-height="tableHeight" :data="tableData.list" stripe> |
| | | <el-table-column prop="platformName" label="月台名称" min-width="150px"></el-table-column> |
| | | <el-table-column prop="channelName" label="监控点名称" min-width="150px"></el-table-column> |
| | | <el-table-column prop="plateNo" label="车牌号" min-width="100px"></el-table-column> |
| | | <el-table-column label="进出类型" min-width="90px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.motionStatus == 'enter'">进入</span> |
| | | <span v-if="row.motionStatus == 'leave'">离开</span> |
| | | <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="前后标识" min-width="90px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.stockStatus == 'rear'">车尾</span> |
| | | <span v-if="row.stockStatus == 'front'">车头</span> |
| | | <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="车门状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.vehicleDoorStatus == 'open'">开门</span> |
| | | <span v-if="row.vehicleDoorStatus == 'close'">关门</span> |
| | | <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="srcIndex" label="设备编码" min-width="260px"></el-table-column> |
| | | <el-table-column prop="ipAddress" label="IP地址" min-width="100px"></el-table-column> |
| | | <el-table-column prop="portNo" label="端口" min-width="80px"></el-table-column> |
| | | <el-table-column fixed="right" label="抓拍图" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown" |
| | | :preview-src-list="[row.backgroundImageDown]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="160px"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'platformEvent', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '月台车辆状态事件交互记录', |
| | | api: '/business/platformEvent', |
| | |
| | | }) |
| | | this.changeRadio('0') |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeRadio (e) { |
| | | changeRadio(e) { |
| | | if (e === '0') { |
| | | this.searchForm.startDate = timeForMat(0)[0] |
| | | this.searchForm.endDate = timeForMat(0)[1] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | seleTime (e) { |
| | | seleTime(e) { |
| | | this.searchForm.startDate = e[0] |
| | | this.searchForm.endDate = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | reset() { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.startDate = '' |
| | | this.searchForm.endDate = '' |
| | |
| | | <template> |
| | | <TableLayout1 :permissions="['business:member:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号/工号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号/工号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="" prop="positionId" > |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="岗位"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="是否有人脸"> |
| | | <el-option label="无" value="0"></el-option> |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="在职状态"> |
| | | <el-option label="在职" value="0"></el-option> |
| | | <el-option label="离职" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" 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=""> |
| | | <el-form-item label="" prop="positionId"> |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="岗位"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="是否有人脸"> |
| | | <el-option label="无" value="0"></el-option> |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | | <el-option label="否" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="在职状态"> |
| | | <el-option label="在职" value="0"></el-option> |
| | | <el-option label="离职" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" 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=""> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1">是否包含下级组织</el-checkbox> |
| | | </el-form-item>--> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | <template v-slot:menu> |
| | | <div |
| | | style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> |
| | |
| | | icon="el-icon-plus" v-permissions="['business:traintime:create']">培训期导入</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" |
| | | v-permissions="['business:member:delete']">批量删除</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()">下发授权</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" |
| | | @click="startEmpowerBatch()">下发授权</el-button></li> |
| | | <li style="float: right"> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1" |
| | | @change="search">是否包含下级组织</el-checkbox> |
| | | @change="search">是否包含下级组织</el-checkbox> |
| | | </li> |
| | | |
| | | <li><el-button type="primary" v-permissions="['business:empower:exportExcel']" @click="exportExcel">导出</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:exportExcel']" |
| | | @click="exportExcel">导出</el-button></li> |
| | | |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column fixed="left" prop="name" label="姓名" min-width="80px"> |
| | | <el-table-column fixed="left" prop="name" label="姓名" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.name }}</span> |
| | | <span class="zhuguan" v-if="row.headStatus == 1">主管</span> |
| | |
| | | <el-table-column label="人脸信息" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="positionName" label="岗位" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="isDangyuan" label="是否党员" min-width="100px"> |
| | | <!-- <el-table-column prop="isDangyuan" label="是否党员" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isDangyuan ==1 " style="color: green">党员</span> |
| | | <span v-if="row.isDangyuan ==0">非党员</span> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column prop="jobDate" label="入职日期" min-width="100px"> </el-table-column> |
| | | <!-- <el-table-column prop="status" label="状态" min-width="100px"> |
| | | <el-table-column prop="jobDate" label="入职日期" min-width="100px"> </el-table-column> |
| | | <!-- <el-table-column prop="status" label="状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status == 0" style="color: green">正常</span> |
| | | <span v-if="row.status == 1" style="color: red">禁用</span> |
| | | <span v-if="row.status == 2" style="color: red">拉黑/冻结</span> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column prop="trainEndTime" label="培训有效期" min-width="100px"> </el-table-column> |
| | | <el-table-column prop="trainEndTime" label="培训有效期" min-width="100px"> </el-table-column> |
| | | <el-table-column label="部门类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.companyType == 0">相关方组织</span> |
| | |
| | | <el-table-column prop="editDate" label="最后操作时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="操作" min-width="280" > |
| | | label="操作" min-width="280"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息', row, department)" |
| | | v-permissions="['business:empower:update']">编辑</el-button> |
| | |
| | | <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row, 1)" |
| | | v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:member:delete']">删除</el-button> |
| | | v-permissions="['business:member:delete']">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | name: 'internalMember', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow, OperaMemberImportWindow, OperaTrainTimeImportWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | TreeList: [], |
| | | // 搜索 |
| | |
| | | department: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '人员信息表', |
| | | api: '/business/member', |
| | |
| | | this.getfindCompanyTreePage() |
| | | this.getPositionList() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 276 |
| | | }) |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch () { |
| | | startEmpowerBatch() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请至少选择一条数据') |
| | | return |
| | |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('内部员工下发权限', ids, names, this.searchForm.companyType) |
| | | }, |
| | | getPositionList () { |
| | | getPositionList() { |
| | | positionList({}) |
| | | .then(res => { |
| | | this.positionList = res |
| | | }) |
| | | }, |
| | | empower (id) { |
| | | empower(id) { |
| | | var that = this |
| | | this.$confirm('确定重新授权吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | |
| | | }) |
| | | }, |
| | | // 获取组织树 |
| | | getfindCompanyTreePage () { |
| | | getfindCompanyTreePage() { |
| | | fetchList() |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | getDepartmentTree (tree) { |
| | | getDepartmentTree(tree) { |
| | | if (tree == null) { |
| | | return [] |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // 同步信息 |
| | | async synchronous () { |
| | | async synchronous() { |
| | | this.$dialog.actionConfirm('该操作降触发全员信息更新和重新下发!请谨慎操作', '您确认全量同步内部人员信息吗?') |
| | | .then(() => { |
| | | this.loading = true |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | async updateHead (row, type) { |
| | | async updateHead(row, type) { |
| | | this.$dialog.actionConfirm('您确认进行当前操作吗?', '部门主管设置操作提示') |
| | | .then(() => { |
| | | this.heading = true |
| | |
| | | .catch(() => { }) |
| | | }) |
| | | }, |
| | | changeWorkStatus (e, row) { |
| | | changeWorkStatus(e, row) { |
| | | this.working = true |
| | | updateWorkStatus({ id: row.id, workStatus: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | changeCanvisit (e, row) { |
| | | changeCanvisit(e, row) { |
| | | this.canvisiting = true |
| | | updateCanVisit({ id: row.id, canVisit: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | callback (row) { |
| | | callback(row) { |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | | this.search() |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm |
| | | v-model="filters" |
| | | :query-form-config="queryFormConfig" |
| | | @handleQuery="getList(1)" |
| | | @clear="clear" |
| | | /> |
| | | <div class="query_btns" style="margin: 16px 0 0" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | | <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">新建</el-button> |
| | | <el-button type="primary" :loading="exLoading" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导出</el-button> |
| | | |
| | | <div ref="QueryFormRef"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | </div> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | stripe |
| | | row-key="id" |
| | | default-expand-all |
| | | > |
| | | <div class="query_btns" style="margin: 16px 0 0" |
| | | v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | | <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" |
| | | v-permissions="['business:visits:create']">新建</el-button> |
| | | <el-button type="primary" :loading="exLoading" @click="exportExcel" |
| | | v-permissions="['business:visits:exportExcel']">导出</el-button> |
| | | </div> |
| | | <el-table :max-height="tableHeight" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> |
| | | <el-table-column type="selection" width="55" align="center"></el-table-column> |
| | | <el-table-column |
| | | prop="carNos" |
| | | label="入园车辆" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="companyName" |
| | | label="公司名称" |
| | | min-width="100px" |
| | | ></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="receptMemberName" |
| | | label="被访人" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column prop="carNos" label="入园车辆" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="公司名称" min-width="100px"></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="receptMemberName" label="被访人" min-width="100px"></el-table-column> |
| | | <el-table-column label="拜访时间" min-width="160px"> |
| | | <template slot-scope="{ row }"> |
| | | <span>起:{{ row.starttime }}</span |
| | | ><br /> |
| | | <span>起:{{ row.starttime }}</span><br /> |
| | | <span>止:{{ row.endtime }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="reason" |
| | | label="拜访事由" |
| | | min-width="100" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="status" |
| | | fixed="right" |
| | | label="状态" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <el-table-column prop="reason" label="拜访事由" min-width="100"></el-table-column> |
| | | <el-table-column prop="status" fixed="right" label="状态" align="center" min-width="100"> |
| | | <template slot-scope="{ row }"> |
| | | <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0" |
| | | >待提交审批</span |
| | | > |
| | | <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)" |
| | | >处理中</span |
| | | > |
| | | <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)" |
| | | >已同意</span |
| | | > |
| | | <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0">待提交审批</span> |
| | | <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)">处理中</span> |
| | | <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)">已同意</span> |
| | | <span style="color: gray" v-if="row.status === 3">已拒绝</span> |
| | | <span v-if="row.status === 4" style="color: gray">取消</span> |
| | | <span v-if="row.status === 5" style="color: green">下发成功</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="180" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button |
| | | type="text" |
| | | @click="handleDetail(row)" |
| | | v-permissions="['business:company:update']">查看详情</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">删除</el-button> |
| | | <el-button type="text" @click="handleDetail(row)" v-permissions="['business:company:update']">查看详情</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:visits:delete']">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | <pagination class="mt10" @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | <ReportDetail v-if="isShowReport" ref="VisReportDetailRef" /> |
| | | <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList" v-if="isShowEdit" ref="operaVisitsWindowRef" /> |
| | | <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList" v-if="isShowEdit" |
| | | ref="operaVisitsWindowRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | Pagination, |
| | | OperaVisitsReportWindow |
| | | }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | isShowEdit: false, |
| | | exLoading: false, |
| | | tableHeight: 400, |
| | | |
| | | isShowReport: false, |
| | | activeTab: '0', |
| | |
| | | total: 0 |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.getList() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | exportExcel () { |
| | | exportExcel() { |
| | | this.$dialog.exportConfirm('确认导出吗?') |
| | | .then(() => { |
| | | this.exLoading = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | handleEdit () { |
| | | handleEdit() { |
| | | this.isShowEdit = true |
| | | this.$nextTick(() => { |
| | | this.$refs.operaVisitsWindowRef.isShowModal = true |
| | | }) |
| | | }, |
| | | deleteById (row) { |
| | | deleteById(row) { |
| | | this.$confirm('确定删除该记录吗, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | handleDetail (row) { |
| | | handleDetail(row) { |
| | | this.isShowReport = true |
| | | this.$nextTick(() => { |
| | | this.$nextTick(() => { |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | getList (page) { |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | pagination.page = page || pagination.page |
| | | fetchList({ |
| | |
| | | this.pagination.total = res.total |
| | | }) |
| | | }, |
| | | clear () { |
| | | clear() { |
| | | this.filters = { |
| | | type: 2 |
| | | } |
| | | this.getList(0) |
| | | }, |
| | | handleSizeChange (capacity) { |
| | | handleSizeChange(capacity) { |
| | | this.pagination.capacity = capacity |
| | | this.getList() |
| | | } |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | </style> |
| | | <style lang="scss" scoped></style> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:retention:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <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="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入组织名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="人员类型" prop="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" 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="startTime"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <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="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入组织名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="人员类型" prop="queryUserType"> |
| | | <el-select v-model="searchForm.queryUserType" 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="startTime"> |
| | | <el-date-picker @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.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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:retention:exportExcel']"> |
| | |
| | | @click="exportExcel">导出</el-button> |
| | | </li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></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> |
| | |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.type === 2 || row.type === 0">{{ |
| | | row.companyName |
| | | }}</span> |
| | | }}</span> |
| | | <span v-else>{{ row.visitCompanyName }}</span> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <span>{{ row.deviceName || '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="eventDate" label="进场时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="eventDate" label="进场时间" min-width="140px"></el-table-column> |
| | | <el-table-column label="人脸照片" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <el-image v-if="row.faceImgFull != null" style="width: 80px; height: 80px" :src="row.faceImgFull" |
| | |
| | | }) |
| | | this.changeRadio('0') |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeRadio(e) { |
| | | if (e === '0') { |
| | |
| | | <!-- </ul>--> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <!-- <el-table-column type="selection" width="55"></el-table-column>--> |
| | | <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="80px"></el-table-column> |
| | | <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="组织" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="组织" min-width="200px"></el-table-column> |
| | | <el-table-column label="用户类型" min-width="100px"> |
| | | <span>访客</span> |
| | | <!-- <template slot-scope="{ row }"> |
| | |
| | | <span v-if="row.type === 2">内部人员</span> |
| | | </template>--> |
| | | </el-table-column> |
| | | <el-table-column prop="inDate" label="在园时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="outDate" label="授权到期时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="inDate" label="在园时间" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="outDate" label="授权到期时间" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column label="超时时长" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.outStatus === 1">{{ row.timeOut.toString().replace("-", "") }}分钟</span> |
| | |
| | | <el-table-column prop="num2" label="最大出库能力(万支)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="更新时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="更新时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:tmsfactoryparam:update', 'business:tmsfactoryparam:delete'])" |
| | | label="操作" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="80px"></el-table-column> |
| | | <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="性别" min-width="100px"> |
| | | <el-table-column prop="phone" label="性别" min-width="60px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.sex === 1">男</span> |
| | | <span v-if="row.sex === 2">女</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="100px"> |
| | | <el-table-column prop="status" label="状态" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="(row.status || 0) === 0" style="color: green">正常</span> |
| | | <span v-else style="color: red">异常</span> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份证号" width="150px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="公司" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitTimes" label="拜访次数" min-width="100px"></el-table-column> |
| | | <el-table-column prop="lastVisitDate" label="最后拜访时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="公司" show-overflow-tooltip min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitTimes" label="拜访次数" min-width="80px"></el-table-column> |
| | | <el-table-column prop="lastVisitDate" label="最后拜访时间" min-width="130px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:visits: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> |
| | | <el-form-item label="身份证号" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="请输入身份证号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <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="status"> |
| | | <el-select v-model="searchForm.status" 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="5"></el-option> |
| | | <el-option label="下发失败" value="6"></el-option> |
| | | <el-option label="拜访中" value="7"></el-option> |
| | | <el-option label="已签离" value="8"></el-option> |
| | | <el-option label="已失效" value="9"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">导出</el-button>--> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div slot="search-form" ref="QueryFormRef"> |
| | | <el-form ref="searchForm" :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> |
| | | <el-form-item label="身份证号" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="请输入身份证号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <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="status"> |
| | | <el-select v-model="searchForm.status" 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="5"></el-option> |
| | | <el-option label="下发失败" value="6"></el-option> |
| | | <el-option label="拜访中" value="7"></el-option> |
| | | <el-option label="已签离" value="8"></el-option> |
| | | <el-option label="已失效" value="9"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">导出</el-button>--> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | |
| | | <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" |
| | | v-permissions="['business:visits:exportExcel']">导出</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></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 v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="操作" |
| | | min-width="200" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">离场</el-button> |
| | | <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" |
| | | v-if="row.status == 7">离场</el-button> |
| | | <!-- <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" |
| | | icon="el-icon-delete" style="color: red" v-if="row.status == 5">取消预约</el-button>--> |
| | | <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" |
| | | icon="el-icon-edit" v-if="row.status == 6">重新下发</el-button> |
| | | <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('详情', row.id)" icon="el-icon-view">详情</el-button> --> |
| | | <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">详情</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">删除</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:visits:delete']">删除</el-button> |
| | | <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">查询审批结果</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | }) |
| | | this.search() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | handleDetail(row) { |
| | | this.isShowDetail = true |
| | |
| | | ></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" align="center" min-width="140px"></el-table-column> |
| | | <el-table-column prop="editDate" label="更新时间" min-width="140px"></el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" align="center" min-width="160px"></el-table-column> |
| | | <el-table-column prop="editDate" label="更新时间" min-width="160px"></el-table-column> |
| | | <!-- <el-table-column prop="editor" label="更新人编码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isdeleted" label="是否删除0否 1是" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column> |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="隐患区域" min-width="120px"></el-table-column> |
| | | <el-table-column prop="companyName" label="责任部门" min-width="120px"></el-table-column> |
| | | <el-table-column prop="name" show-overflow-tooltip label="隐患区域" min-width="120px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="责任部门" min-width="120px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" min-width="70px"></el-table-column> |
| | | <el-table-column prop="memberNames" label="安全员" min-width="80px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" min-width="160px"></el-table-column> |
| | | <el-table-column prop="memberNames" show-overflow-tooltip label="安全员" min-width="80px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" width="160px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:hiddendangerparam:update', 'business:hiddendangerparam:delete' ])" |
| | | label="操作" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="dutyCompanyName" label="责任部门" min-width="150px"></el-table-column> |
| | | <el-table-column prop="areaName" label="隐患区域" min-width="150px"></el-table-column> |
| | | <el-table-column prop="dutyCompanyName" show-overflow-tooltip label="责任部门" min-width="150px"></el-table-column> |
| | | <el-table-column prop="areaName" label="隐患区域" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="categoryName" label="隐患类型" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="提报人" min-width="80px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属组织" min-width="150px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="所属组织" min-width="150px"></el-table-column> |
| | | <el-table-column prop="createDate" label="提报时间" min-width="150px"></el-table-column> |
| | | <el-table-column label="处理结果" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="隐患类型" min-width="200px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" min-width="200px"></el-table-column> |
| | | <el-table-column prop="name" label="隐患类型" show-overflow-tooltip min-width="200px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" width="170px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:hiddendangerparam:update', 'business:hiddendangerparam:delete' ])" |
| | | label="操作" |
| | | min-width="250" |
| | | width="140" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:empower:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form |
| | | ref="searchForm" |
| | | slot="search-form" |
| | | :model="searchForm" |
| | | label-width="100px" |
| | | inline |
| | | > |
| | | <el-form-item label="申请人" prop="memberName"> |
| | | <el-input |
| | | v-model="searchForm.memberName" |
| | | placeholder="请输入姓名/手机号" |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请人组织" prop="companyName"> |
| | | <el-input |
| | | v-model="searchForm.companyName" |
| | | placeholder="请输入申请人组织" |
| | | clearable |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车牌号" prop="carCode"> |
| | | <el-input |
| | | v-model="searchForm.carCode" |
| | | placeholder="请输入车牌号" |
| | | clearable |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select |
| | | v-model="searchForm.status" |
| | | @change="search" |
| | | clearable |
| | | 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-select> |
| | | </el-form-item> |
| | | <el-form-item label="目的地类型" prop="type"> |
| | | <el-select |
| | | v-model="searchForm.type" |
| | | @change="search" |
| | | clearable |
| | | placeholder="目的地类型" |
| | | > |
| | | <el-option label="市内用车" value="0"></el-option> |
| | | <el-option label="市外用车" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="出发时间" prop="startTime"> |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | @keypress.enter.native="search" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="申请人" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请人组织" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入申请人组织" clearable |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车牌号" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="请输入车牌号" clearable |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="searchForm.status" @change="search" clearable 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-select> |
| | | </el-form-item> |
| | | <el-form-item label="目的地类型" prop="type"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable placeholder="目的地类型"> |
| | | <el-option label="市内用车" value="0"></el-option> |
| | | <el-option label="市外用车" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="出发时间" prop="startTime"> |
| | | <el-date-picker @change="seleTime" v-model="time" @keypress.enter.native="search" type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <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 @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul |
| | | class="toolbar" |
| | | v-permissions="[ |
| | | 'business:carusebook:create', |
| | | 'business:carusebook:exportExcel', |
| | | ]" |
| | | > |
| | | <ul class="toolbar" v-permissions="[ |
| | | 'business:carusebook:create', |
| | | 'business:carusebook:exportExcel', |
| | | ]"> |
| | | <li> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleEdit" |
| | | icon="el-icon-plus" |
| | | v-permissions="['business:carusebook:create']" |
| | | >新建</el-button |
| | | > |
| | | <el-button type="primary" @click="handleEdit" icon="el-icon-plus" |
| | | v-permissions="['business:carusebook:create']">新建</el-button> |
| | | </li> |
| | | <li> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleEx" |
| | | v-permissions="['business:carusebook:exportExcel']" |
| | | >导出</el-button |
| | | > |
| | | <el-button type="primary" @click="handleEx" v-permissions="['business:carusebook:exportExcel']">导出</el-button> |
| | | </li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column |
| | | prop="carCode" |
| | | label="车牌号" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="memberName" |
| | | label="提报人" |
| | | min-width="80px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="memberNames" |
| | | label="乘车人" |
| | | min-width="180px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="companyName" |
| | | label="所属组织" |
| | | min-width="150px" |
| | | ></el-table-column> |
| | | <el-table-column prop="carCode" label="车牌号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="提报人" min-width="80px"></el-table-column> |
| | | <el-table-column prop="memberNames" label="乘车人" min-width="180px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属组织" min-width="150px"></el-table-column> |
| | | <el-table-column label="用车时间" min-width="170px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.startTime">起:{{ row.startTime.slice(0,16) }}</span |
| | | ><br /> |
| | | <span v-if="row.endTime">止:{{ row.endTime.slice(0,16) }}</span> |
| | | <span v-if="row.startTime">起:{{ row.startTime.slice(0, 16) }}</span><br /> |
| | | <span v-if="row.endTime">止:{{ row.endTime.slice(0, 16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planUseDate" |
| | | label="出发时间" |
| | | min-width="150px" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.planUseDate">{{ row.planUseDate.slice(0,16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="planUseDate" label="出发时间" min-width="150px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.planUseDate">{{ row.planUseDate.slice(0, 16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="目的地" min-width="200px"> |
| | | <template slot-scope="{ row }"> |
| | | <span class="status-green" v-if="row.type === 0">【市内】</span> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="createDate" |
| | | label="申请时间" |
| | | min-width="150px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="editDate" |
| | | label="操作时间" |
| | | min-width="150px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | min-width="160" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <el-table-column prop="createDate" label="申请时间" min-width="150px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" min-width="150px"></el-table-column> |
| | | <el-table-column label="操作" min-width="160" align="center" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="$refs.OperaDetailsWindow.open('公务车申请详情', row)" |
| | | >查看详情</el-button |
| | | > |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.OperaDetailsWindow.open('公务车申请详情', row)">查看详情</el-button> |
| | | <!-- <el-button v-if="(row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime()" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >撤销</el-button> --> |
| | | <el-button style="color: red" v-if=" (row.status === 0 || row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime() " type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >撤销</el-button> |
| | | <el-button style="color: red" type="text" icon="el-icon-delete" @click="deleteById(row)" >删除</el-button> |
| | | <el-button style="color: red" |
| | | v-if="(row.status === 0 || row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime()" |
| | | type="text" icon="el-icon-delete" @click="rowRevokeClick(row)">撤销</el-button> |
| | | <el-button style="color: red" type="text" icon="el-icon-delete" @click="deleteById(row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- --> |
| | | <el-dialog title="用车撤销" :visible.sync="isShowBack" width="520px"> |
| | | <el-form |
| | | :model="backParam" |
| | | :rules="rules" |
| | | ref="backForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form :model="backParam" :rules="rules" ref="backForm" label-width="100px" class="demo-ruleForm"> |
| | | <el-form-item label="说明" prop="info"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="4" |
| | | v-model="backParam.info" |
| | | placeholder="请输入撤销说明" |
| | | ></el-input> |
| | | <el-input type="textarea" :rows="4" v-model="backParam.info" placeholder="请输入撤销说明"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | <el-button type="primary" @click="backSubmit">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <OperaCarUseBookWindow |
| | | ref="OperaDetailsWindow" |
| | | @success="handlePageChange" |
| | | /> |
| | | <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="handlePageChange" /> |
| | | <OperaCarUseBookParamWindow ref="OperaParamWindow" @success="search" /> |
| | | </TableLayout> |
| | | </template> |
| | |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarUseBookWindow, OperaCarUseBookParamWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '用车申请管理', |
| | | api: '/business/carUseBook', |
| | |
| | | this.changeRadio('0') |
| | | this.loadParams() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | rowRevokeClick (row) { |
| | | rowRevokeClick(row) { |
| | | this.isShowBack = true |
| | | this.backParam = {} |
| | | this.$set(this.backParam, 'id', row.id) |
| | |
| | | this.$refs.backForm.clearValidate() |
| | | }) |
| | | }, |
| | | backSubmit () { |
| | | backSubmit() { |
| | | revokeById({ ...this.backParam }).then(res => { |
| | | this.$tip.success('撤销成功') |
| | | this.isShowBack = false |
| | | this.search() |
| | | }) |
| | | }, |
| | | handleEx () { |
| | | handleEx() { |
| | | this.$dialog.exportConfirm('确认导出吗?') |
| | | .then(() => { |
| | | this.exLoading = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | changeRadio (e) { |
| | | changeRadio(e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | handleEdit () { |
| | | handleEdit() { |
| | | this.$refs.OperaParamWindow.open() |
| | | }, |
| | | loadParams () { |
| | | loadParams() { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime (e) { |
| | | seleTime(e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | reset() { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="姓名" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="手机号" min-width="200px"></el-table-column> |
| | | <el-table-column prop="memberName" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="手机号" min-width="120px"></el-table-column> |
| | | <el-table-column prop="memberSex" label="性别" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberSex == 1">男</span> |
| | | <span v-if="row.memberSex == 2">女</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="组织" min-width="260px"></el-table-column> |
| | | <el-table-column prop="companyName" label="组织" show-overflow-tooltip min-width="260px"></el-table-column> |
| | | <el-table-column prop="carCode" label="车牌号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="操作时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="用气量(立方米)" fixed min-width="150px"></el-table-column> |
| | | <el-table-column prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最近操作时间" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="油耗(升)" fixed min-width="150px"></el-table-column> |
| | | <el-table-column prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最近操作时间" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" label="操作" |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:platform:query']"> |
| | | <!-- 搜索表单 --> |
| | | <SearchFormCollapse slot="search-form" :need-more="false"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="name"> |
| | | <el-input v-model="searchForm.name" clearable placeholder="请输入月台名称" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-select v-model="searchForm.groupId" placeholder="请选择月台分组" @change="search" clearable> |
| | | <el-option v-for="item in groupList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <section> --> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | <!-- </section> --> |
| | | </el-form> |
| | | </SearchFormCollapse> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <SearchFormCollapse :need-more="false"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="name"> |
| | | <el-input v-model="searchForm.name" clearable placeholder="请输入月台名称" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-select v-model="searchForm.groupId" placeholder="请选择月台分组" @change="search" clearable> |
| | | <el-option v-for="item in groupList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <section> --> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | <!-- </section> --> |
| | | </el-form> |
| | | </SearchFormCollapse> |
| | | </div> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:hksync:platforms']"> |
| | |
| | | <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus" |
| | | v-permissions="['business:hksync:platforms']">同步实时状态</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="月台名称" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="code" label="月台编码" fixed min-width="100px"></el-table-column> |
| | |
| | | this.search() |
| | | this.loadGroupList() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | loadGroupList() { |
| | | allList({}) |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="烟箱量(个)" fixed min-width="150px"></el-table-column> |
| | | <el-table-column prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最近操作时间" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="用水量(吨)" fixed min-width="150px"></el-table-column> |
| | | <el-table-column prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="content" label="说明" min-width="120px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最近操作时间" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" |
| | |
| | | @sort-change="handleSortChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column prop="code" label="权限编码" fixed="left" min-width="200px"></el-table-column> |
| | | <el-table-column prop="code" label="权限编码" fixed="left" min-width="240px"></el-table-column> |
| | | <el-table-column prop="name" label="权限名称" fixed="left" min-width="200px"></el-table-column> |
| | | <el-table-column prop="remark" label="权限备注" min-width="200px"></el-table-column> |
| | | <el-table-column prop="createUser" label="创建人" min-width="100px"> |
| | |
| | | @sort-change="handleSortChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column prop="code" label="角色编码" fixed="left" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="角色名称" fixed="left" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="角色备注" min-width="120px"></el-table-column> |
| | | <el-table-column prop="code" label="角色编码" show-overflow-tooltip fixed="left" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="角色名称" show-overflow-tooltip fixed="left" min-width="140px"></el-table-column> |
| | | <el-table-column prop="remark" label="角色备注" min-width="130px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="createUser" label="创建人" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" min-width="140px" sortable="custom" sort-by="role.CREATE_TIME"></el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" min-width="150px" sortable="custom" sort-by="role.CREATE_TIME"></el-table-column> |
| | | <el-table-column prop="updateUser" label="更新人" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="updateTime" label="更新时间" min-width="140px"></el-table-column> |
| | | <el-table-column prop="updateTime" label="更新时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['system:role:update', 'system:role:createRolePermission','system:datapermission:create', 'system:role:createRoleMenu', 'system:role:delete'])" |
| | | label="操作" |
| | | min-width="270" |
| | | min-width="300" |
| | | fixed="right" |
| | | > |
| | | <template v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)" slot-scope="{row}"> |
| | |
| | | <el-table-column prop="realname" label="姓名" width="80px" fixed="left"></el-table-column> |
| | | <el-table-column prop="username" label="用户名" min-width="120px"></el-table-column> |
| | | <el-table-column prop="empNo" label="工号" sortable="custom" sort-by="EMP_NO" min-width="80px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属组织" min-width="250px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属组织" show-overflow-tooltip min-width="250px"></el-table-column> |
| | | <!-- <el-table-column prop="department" label="部门" min-width="120px">--> |
| | | <!-- <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template>--> |
| | | <!-- </el-table-column>--> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="mobile" label="手机号码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="openid" label="微信openid" min-width="100px"></el-table-column> |
| | | <el-table-column prop="openid" label="微信openid" show-overflow-tooltip min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="email" label="邮箱" min-width="180px"></el-table-column>--> |
| | | <!-- <el-table-column prop="birthday" label="生日" sortable="custom" sort-by="BIRTHDAY" min-width="100px"></el-table-column>--> |
| | | <el-table-column prop="roles" label="角色" min-width="160px" class-name="table-column-strings"> |
| | |
| | | <el-table-column prop="createUser" label="创建人" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" sortable="custom" sort-by="CREATE_TIME" min-width="140px"></el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" sortable="custom" sort-by="CREATE_TIME" min-width="150px"></el-table-column> |
| | | <el-table-column prop="updateUser" label="更新人" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="updateTime" label="更新时间" sortable="custom" sort-by="UPDATE_TIME" min-width="140px"></el-table-column> |
| | | <el-table-column prop="updateTime" label="更新时间" sortable="custom" sort-by="UPDATE_TIME" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['system:user:update', 'system:user:createUserRole', 'system:user:resetPwd', 'system:user:delete'])" |
| | | label="操作" |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="code" title="车牌号"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="memberName" title="车主信息"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主信息" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="catePName" title="分类名称"> |
| | | <el-cascader v-model="searchForm.cateIds" @change="changeSel" placeholder="请选择分类" clearable :options="cateList" :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'childCategoryList', |
| | | checkStrictly: true |
| | | }"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="companyName" title="车主组织名称"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主组织名称" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus" title="是否授权"> |
| | | <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="是否授权"> |
| | | <el-option label="已授权" value="1"></el-option> |
| | | <el-option label="未授权" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="type" title="业务类型"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable 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> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="code" title="车牌号"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="memberName" title="车主信息"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主信息" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="catePName" title="分类名称"> |
| | | <el-cascader v-model="searchForm.cateIds" @change="changeSel" placeholder="请选择分类" clearable |
| | | :options="cateList" :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'childCategoryList', |
| | | checkStrictly: true |
| | | }"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="companyName" title="车主组织名称"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主组织名称" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus" title="是否授权"> |
| | | <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="是否授权"> |
| | | <el-option label="已授权" value="1"></el-option> |
| | | <el-option label="未授权" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="type" title="业务类型"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable 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> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" |
| | | v-permissions="['business:cars:create', 'business:cars:exportExcel', 'business:parkBook:create']"> |
| | | <li><el-button type="primary" @click="handleEdit" icon="el-icon-plus" |
| | | v-permissions="['business:cars:create']">新建</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaCarsImportWindowRef.open('车辆导入', searchForm.companyType)" v-permissions="['business:cars:create']">车辆导入</el-button> |
| | | <li><el-button type="primary" @click="$refs.OperaCarsImportWindowRef.open('车辆导入', searchForm.companyType)" |
| | | v-permissions="['business:cars:create']">车辆导入</el-button> |
| | | </li> |
| | | <li><el-button type="primary" @click="exportExcel" v-permissions="['business:cars:exportExcel']">导出</el-button> |
| | | </li> |
| | | <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" |
| | | v-permissions="['business:parkbook:create']">下发授权</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="code" label="车牌号" fixed="left" min-width="100px"></el-table-column> |
| | | <el-table-column prop="code" label="车牌号" fixed="left" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="车主姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="车主手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="catePName" label="一级分类" min-width="120px"></el-table-column> |
| | |
| | | export default { |
| | | name: 'Cars', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarsWindow, OperaCarAuthWindow,OperaCarsImportWindow }, |
| | | components: { TableLayout, Pagination, OperaCarsWindow, OperaCarAuthWindow, OperaCarsImportWindow }, |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | |
| | | this.search() |
| | | this.getCate() |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 |
| | | }) |
| | | }, |
| | | methods: { |
| | | // handleSelectionChange(e) { |
| | | // this.searchForm.ids = e.map(i => i.id).join(',') |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="组织" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="组织" min-width="150px"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isdeleted !=2">{{row.remark}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="140px"></el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="150px"></el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- v-if="containPermissions(['business:member:update', 'business:member:delete'])"--> |
| | | <!-- label="操作"--> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:visitpark:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item title="车牌号" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:visitpark:create', 'business:visitpark:delete']"> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="carCode" label="车牌号" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="parksName" label="停车场" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="startTime" label="有效期" align="center" fixed min-width="150px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="!row.startTime || !row.endTime">长期有效</div> |
| | | <div v-else> |
| | | <span style="color: green">起:{{row.startTime}}</span><br/> |
| | | <span style="color: red">止:{{row.endTime}}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="startTime" label="状态" fixed min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.isdeleted==1" style="color: red">已删除</div> |
| | | <div v-else style="color: green"> |
| | | <span v-if="row.hkStatus==0" style="color: #435EBE">待下发</span> |
| | | <span v-if="row.hkStatus==1" style="color: green">预约成功</span> |
| | | <span v-if="row.hkStatus==2" style="color: red">预约失败</span> |
| | | <span v-if="row.hkStatus==2" style="color: red">已取消</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isdeleted !=2">{{row.remark}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="140px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:visitpark:query']"> |
| | | <!-- 搜索表单 --> |
| | | <div ref="QueryFormRef" slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item title="车牌号" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="车牌号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:visitpark:create', 'business:visitpark:delete']"> |
| | | </ul> |
| | | <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="carCode" label="车牌号" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="parksName" label="停车场" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="startTime" label="有效期" align="center" fixed min-width="150px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="!row.startTime || !row.endTime">长期有效</div> |
| | | <div v-else> |
| | | <span style="color: green">起:{{ row.startTime }}</span><br /> |
| | | <span style="color: red">止:{{ row.endTime }}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="startTime" label="状态" fixed min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.isdeleted == 1" style="color: red">已删除</div> |
| | | <div v-else style="color: green"> |
| | | <span v-if="row.hkStatus == 0" style="color: #435EBE">待下发</span> |
| | | <span v-if="row.hkStatus == 1" style="color: green">预约成功</span> |
| | | <span v-if="row.hkStatus == 2" style="color: red">预约失败</span> |
| | | <span v-if="row.hkStatus == 2" style="color: red">已取消</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isdeleted != 2">{{ row.remark }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="140px"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'parkBook', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarsWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260 |
| | | }) |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: '车辆信息表', |
| | | api: '/business/visitPark', |
| | |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | validity (startTime, endTime) { |
| | | validity(startTime, endTime) { |
| | | return validity(startTime, endTime) |
| | | } |
| | | } |
| | |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | code: ''
|
| | | code: '11'
|
| | | }
|
| | | },
|
| | | onLoad(option) {
|
| | |
| | | <view class="value">{{ info.companyName }}</view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="label">施工人员</view>
|
| | | <view class="label">是否涉及施工作业</view>
|
| | | <view class="value">{{ info.type == 0 ? "否" : "是" }}</view>
|
| | | </view>
|
| | | <view class="item">
|
| | |
| | | <text>是否施工作业</text>
|
| | | </view>
|
| | | <view class="list_item_content">
|
| | | <switch color="#4e99a9" style="transform: scale(0.8)" @change="constructionChange" />
|
| | | <!-- <switch color="#4e99a9" style="transform: scale(0.8)" @change="constructionChange" /> --> |
| | | <!-- <u-radio-group v-model="form1.type"> |
| | | <u-radio label="是" :name="1" activeColor="#4d99a8" class="mr24" /> |
| | | <u-radio label="否" :name="0" activeColor="#4d99a8" /> |
| | | </u-radio-group> --> |
| | | <view class="checkbox_wrap"> |
| | | <view class="check_item" @click="constructionChange(1)"> |
| | | <text>是</text> |
| | | <image v-if="form1.type == 1" src="@/static/checkbox_sel@2x.png" mode=""></image> |
| | | <image v-if="form1.type == 0" src="@/static/checkbox_disable@3x.png" mode=""></image> |
| | | </view> |
| | | <view class="check_item" @click="constructionChange(0)"> |
| | | <text>否</text> |
| | | <image v-if="form1.type == 0" src="@/static/checkbox_sel@2x.png" mode=""></image> |
| | | <image v-else src="@/static/checkbox_disable@3x.png" mode=""></image> |
| | | </view> |
| | | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view v-if="form1.type == '1'" class="list_item">
|
| | |
| | | closeInput() {
|
| | | this.$refs.keyboard.close()
|
| | | },
|
| | | constructionChange(e) {
|
| | | console.log(e.detail.value)
|
| | | this.form1.type = Number(e.detail.value)
|
| | | console.log(this.form1.type)
|
| | | constructionChange(value) {
|
| | | this.form1.type = value
|
| | | },
|
| | | uploadImg(file) {
|
| | | this.$refs.cropper.close()
|
| | |
| | | font-weight: 400;
|
| | | color: #222222;
|
| | | }
|
| | | } |
| | | .checkbox_wrap{ |
| | | display: flex; |
| | | align-items: center; |
| | | .check_item{ |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 20rpx; |
| | | } |
| | | image{ |
| | | width: 42rpx; |
| | | height: 42rpx; |
| | | margin-left: 10rpx; |
| | | } |
| | | }
|
| | | }
|
| | | }
|
| | |
| | | // 控制台显示数据信息 |
| | | uni.hideLoading() |
| | | // 登录过期 |
| | | if (data.code === 5112) { |
| | | if (data.code === 5112 || data.code === 5111) { |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: data.message, |