| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm |
| | | v-model="filters" |
| | | :query-form-config="queryFormConfig" |
| | | @handleQuery="getList(1)" |
| | | @clear="clear" |
| | | /> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column |
| | | prop="name" |
| | | label="申请人" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="组织" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="车牌照" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="用车时间" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="出发时间" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="目的地类别" |
| | | min-width="110" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="目的地" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="申请状态" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="操作" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | <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" |
| | | 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:empower:create', 'business:empower:delete']"> |
| | | <!--<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" |
| | | > |
| | | <template> |
| | | <el-button type="text">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | </div> |
| | | <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="companyName" label="所属组织" min-width="150px"></el-table-column> |
| | | <el-table-column prop="carCode" label="车牌号" min-width="100px"></el-table-column> |
| | | <el-table-column label="用车时间" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <span>起:{{row.startTime || ''}}</span><br> |
| | | <span>止:{{row.endTime || ''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="planUseDate" label="出发时间" min-width="150px"></el-table-column> |
| | | <el-table-column label="目的地类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-green" v-if="row.type === 0">市内用车</span> |
| | | <span class="status-red" v-if="row.type === 1">市外用车</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="addr" label="目的地" min-width="200px"></el-table-column> |
| | | <el-table-column label="状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-blue" v-if="row.status === 0">申请中</span> |
| | | <span class="status-blue" v-if="row.status === 1">待审批</span> |
| | | <span class="status-green" v-if="row.status === 2">审批通过</span> |
| | | <span class="status-red" v-if="row.status === 3">审批不通过</span> |
| | | <span class="status-red" v-if="row.status === 4">已取消</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="100" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerWindow.open('隐患随手拍详情',row)" >查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow' |
| | | import { timeForMat } from '@/utils/util' |
| | | import { allList } from '@/api/business/hiddenDangerParam' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm |
| | | }, |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination ,OperaHiddenDangerWindow}, |
| | | data () { |
| | | return { |
| | | filters: {}, |
| | | loading: false, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: '申请人姓名' |
| | | }, |
| | | { |
| | | filed: 'idCard', |
| | | type: 'input', |
| | | label: '车牌照' |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'select', |
| | | label: '目的地类别', |
| | | options: [] |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'datetimerange', |
| | | label: '出发时间', |
| | | options: [] |
| | | } |
| | | ], |
| | | online: true |
| | | // 搜索 |
| | | searchForm: { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | type: null, |
| | | status:null |
| | | }, |
| | | pagination: { |
| | | capacity: 10, |
| | | page: 1 |
| | | }, |
| | | list: [], |
| | | total: 0 |
| | | cateList: [], |
| | | areaList: [], |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '用车申请管理', |
| | | api: '/business/carUseBook', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | // this.search() |
| | | this.changeRadio('0') |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | getList (page) { }, |
| | | clear () { }, |
| | | handleSizeChange (capacity) { |
| | | this.pagination.capacity = capacity |
| | | changeRadio (e) { |
| | | this.searchForm.radio = 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) |
| | | } |
| | | this.search() |
| | | }, |
| | | loadParams () { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | | if (res != null && res.length) { |
| | | res.forEach(item => { |
| | | if (item && item.type != null && item.type === 0) { |
| | | this.areaList.push(item) |
| | | } |
| | | if (item && item.type != null && item.type === 1) { |
| | | this.cateList.push(item) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime (e) { |
| | | 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.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |