|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <TableLayout :permissions="['business:empower:query']"> | 
|---|
|  |  |  | <TableLayout :permissions="['business:carusebook: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-date-picker type="datetime" v-model="searchForm.queryStartTime" value-format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | placeholder="请选择开始时间" @change="changeRadio" /> | 
|---|
|  |  |  | <el-date-picker type="datetime" v-model="searchForm.queryEndTime" value-format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | placeholder="请选择结束时间" @change="changeRadio" /> | 
|---|
|  |  |  | </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 | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </li> | 
|---|
|  |  |  | </ul> | 
|---|
|  |  |  | <el-table | 
|---|
|  |  |  | v-loading="isWorking.search" | 
|---|
|  |  |  | :data="tableData.list" | 
|---|
|  |  |  | stripe | 
|---|
|  |  |  | @selection-change="handleSelectionChange" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table :height="tableHeightNew" 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" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="操作" | 
|---|
|  |  |  | min-width="160" | 
|---|
|  |  |  | min-width="180" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 
|---|
|  |  |  | >查看详情</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.hasRole ==1"  type="text"  icon="el-icon-delete"   @click="rowRevokeClick(row)" >撤销</el-button> | 
|---|
|  |  |  | <!-- <el-button style="color: red"   v-if="(row.status === 0 && row.creator == userInfo.id)||((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"   v-permissions="['business:carusebook:delete']"  @click="deleteById(row)" >删除</el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | 
|---|
|  |  |  | components: { TableLayout, Pagination, OperaCarUseBookWindow, OperaCarUseBookParamWindow }, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // userInfo: this.$store.state.userInfo, | 
|---|
|  |  |  | // 搜索 | 
|---|
|  |  |  | searchForm: { | 
|---|
|  |  |  | memberName: '', | 
|---|
|  |  |  | companyName: '', | 
|---|
|  |  |  | queryStartTime: '', | 
|---|
|  |  |  | queryEndTime: '', | 
|---|
|  |  |  | startTime: '', | 
|---|
|  |  |  | endTime: '', | 
|---|
|  |  |  | type: null, | 
|---|
|  |  |  | status: null, | 
|---|
|  |  |  | radio: 0 | 
|---|
|  |  |  | 
|---|
|  |  |  | 'field.main': 'id' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | // this.search() | 
|---|
|  |  |  | this.changeRadio('0') | 
|---|
|  |  |  | this.changeRadio(0) | 
|---|
|  |  |  | this.loadParams() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeRadio (e) { | 
|---|
|  |  |  | this.searchForm.radio = e | 
|---|
|  |  |  | changeRadio(e) { | 
|---|
|  |  |  | if (e === '0') { | 
|---|
|  |  |  | this.searchForm.queryStartTime = timeForMat(0)[0] | 
|---|
|  |  |  | this.searchForm.queryEndTime = timeForMat(0)[1] | 
|---|
|  |  |  | this.time = timeForMat(0) | 
|---|
|  |  |  | } else if (e === '1') { | 
|---|
|  |  |  | this.searchForm.queryStartTime = timeForMat(6)[0] | 
|---|
|  |  |  | this.searchForm.queryEndTime = timeForMat(6)[1] | 
|---|
|  |  |  | this.time = timeForMat(6) | 
|---|
|  |  |  | } else if (e === '2') { | 
|---|
|  |  |  | this.searchForm.queryStartTime = timeForMat(29)[0] | 
|---|
|  |  |  | this.searchForm.queryEndTime = timeForMat(29)[1] | 
|---|
|  |  |  | this.time = timeForMat(29) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.searchForm.radio = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.searchForm.queryStartTime && this.searchForm.queryEndTime && new Date(this.searchForm.queryStartTime).getTime() > new Date(this.searchForm.queryEndTime).getTime()) { | 
|---|
|  |  |  | this.$message.error('开始时间不能大于结束时间') | 
|---|
|  |  |  | this.searchForm.queryStartTime = '' | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | seleTime (e) { | 
|---|
|  |  |  | this.searchForm.queryStartTime = e[0] | 
|---|
|  |  |  | this.searchForm.queryEndTime = e[1] | 
|---|
|  |  |  | this.searchForm.queryStartTime = null | 
|---|
|  |  |  | this.searchForm.queryEndTime = null | 
|---|
|  |  |  | if (e != null && e.length >= 2) { | 
|---|
|  |  |  | this.searchForm.queryStartTime = e[0] | 
|---|
|  |  |  | this.searchForm.queryEndTime = e[1] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.searchForm.radio = null | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | reset () { | 
|---|
|  |  |  | this.$refs.searchForm.resetFields() | 
|---|
|  |  |  | this.searchForm.radio = '0' | 
|---|
|  |  |  | this.changeRadio('0') | 
|---|
|  |  |  | this.searchForm.radio = 0 | 
|---|
|  |  |  | this.changeRadio(0) | 
|---|
|  |  |  | // this.search() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|