Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/H5/shehong-vehicle-supervision
| | |
| | | import apiConfig from '@/utils/baseurl'
|
| | | import {
|
| | | Message
|
| | | } from 'element-ui'
|
| | |
|
| | | // 生成4位随机验证码
|
| | | export function generateVerificationCode() {
|
| | | const characters = '123456789abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY';
|
| | |
| | |
|
| | | // 导出
|
| | | export const exportExcell = (name, params, url) => {
|
| | | fetch(BASE_URL + url, {
|
| | | fetch(apiConfig.baseURL + url, {
|
| | | method: 'get',
|
| | | params: JSON.stringify({
|
| | | ...params,
|
| | |
| | | // 释放的 URL 对象以及移除 a 标签
|
| | | URL.revokeObjectURL(link.href);
|
| | | document.body.removeChild(link);
|
| | | Message({
|
| | | message: '导出成功',
|
| | | type: 'success',
|
| | | duration: 2000
|
| | | })
|
| | | });
|
| | | };
|
| | |
| | | <div class="form flex a-center j-between mt--23"> |
| | | <div class="form-left ml--30"> |
| | | <el-form :inline="true" :model="searchForm" class="demo-form-inline"> |
| | | <el-form-item label="预警类型:" prop="type" class="unset_m" style="margin-right: 15px;"> |
| | | <el-select :popper-append-to-body="false" v-model="searchForm.type" placeholder="请选择"> |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="预警" value="1"></el-option> |
| | | <el-option label="报警" value="2"></el-option> |
| | | </el-select> |
| | | <el-form-item label="投诉人电话:" prop="complainPhone" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.complainPhone" placeholder="请输入"></el-input></el-form-item> |
| | | <el-form-item label="车辆号牌:" prop="vehicleNumber" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.vehicleNumber" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车辆号牌:" prop="level" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.level" placeholder="请输入"></el-input> |
| | | <el-form-item label="驾驶员姓名:" prop="driverName" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.driverName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="驾驶员姓名:" prop="name" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="公司名称:" prop="enterpriseName" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.enterpriseName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="公司名称:" prop="companyName" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="预警时间:" prop="date" class="unset_m" style="margin-right: 15px;"> |
| | | <el-date-picker :append-to-body="false" v-model="searchForm.date" type="daterange" |
| | | <el-form-item label="投诉时间:" prop="selectTime" class="unset_m" style="margin-right: 15px;"> |
| | | <el-date-picker :append-to-body="false" v-model="searchForm.selectTime" type="daterange" |
| | | range-separator=" " start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | @click="exportExcell">导出</el-button> |
| | | </div> |
| | | <div class="table-box ml--30 mt--23 mr--30"> |
| | | <el-table :data="tableData" border stripe style="width: 100%"> |
| | | <el-table-column prop="date" label="序号"></el-table-column> |
| | | <el-table-column prop="name" label="车辆名称"></el-table-column> |
| | | <el-table-column prop="name" label="车牌号码"></el-table-column> |
| | | <el-table-column prop="name" label="投诉内容"></el-table-column> |
| | | <el-table-column prop="name" label="投诉人电话"></el-table-column> |
| | | <el-table-column prop="name" label="被投诉所属公司"></el-table-column> |
| | | <el-table-column prop="name" label="被投诉驾驶员"></el-table-column> |
| | | <el-table-column prop="name" label="投诉时间"></el-table-column> |
| | | <el-table-column prop="name" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handle(scope.$index, scope.row)">处理</el-button> |
| | | <el-table :data="tableData" border stripe style="width: 100%" :height="height"> |
| | | <el-table-column type="index" width="55" label="序号"></el-table-column> |
| | | <el-table-column prop="carName" label="车辆名称"></el-table-column> |
| | | <el-table-column prop="vehicleNumber" label="车牌号码"></el-table-column> |
| | | <el-table-column prop="content" label="投诉内容"></el-table-column> |
| | | <el-table-column prop="complainPhone" label="投诉人电话"></el-table-column> |
| | | <el-table-column prop="enterpriseName" label="被投诉所属公司"></el-table-column> |
| | | <el-table-column prop="driverName" label="被投诉驾驶员"></el-table-column> |
| | | <el-table-column prop="complainTime" label="投诉时间"></el-table-column> |
| | | <el-table-column prop="treatmentState" label="处理状态"></el-table-column> |
| | | <el-table-column prop="treatmentUser" label="处理人"></el-table-column> |
| | | <el-table-column prop="treatmentTime" label="处理时间"></el-table-column> |
| | | <el-table-column prop="treatmentRemark" label="处理描述"></el-table-column> |
| | | <!-- <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button v-if="row.treatmentState == '未处理'" type="text" @click="handle(row)">处理</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | </el-table> |
| | | |
| | | <div class="pagination-box relative mt--23 flex j-end"> |
| | | <el-pagination |
| | | :popper-append-to-body="false" |
| | | popper-class="pagination-popper" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="searchForm.page" |
| | | background |
| | | layout="total,sizes,prev, pager, next,jumper" |
| | | <el-pagination :popper-append-to-body="false" popper-class="pagination-popper" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="searchForm.page" background layout="total,sizes,prev, pager, next,jumper" |
| | | :total="searchForm.total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { search } from 'core-js/fn/symbol'; |
| | | import { getComplainList } from './service' |
| | | import { exportExcell } from '@/utils/utils' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | searchForm: { |
| | | date: '', |
| | | type: '', |
| | | level: '', |
| | | name: '', |
| | | companyName: '', |
| | | total: 40, |
| | | total: 0, |
| | | page: 1, |
| | | pageSize: 10 |
| | | }, |
| | | tableData: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | height() { |
| | | return this.$baseTableHeight() |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getTableList() |
| | | }, |
| | | methods: { |
| | | reset() { |
| | | this.searchForm = { |
| | | total: 0, |
| | | page: 1, |
| | | pageSize: 10 |
| | | } |
| | | this.getTableList() |
| | | }, |
| | | search() { |
| | | |
| | | this.getTableList() |
| | | }, |
| | | exportExcell() { |
| | | |
| | | let obj = { ...this.searchForm } |
| | | delete obj.total |
| | | if (obj.selectTime) { |
| | | obj.startTime = moment(obj.selectTime[0]).format('YYYY-MM-DD HH-mm-ss') |
| | | obj.endTime = moment(obj.selectTime[1]).format('YYYY-MM-DD HH-mm-ss') |
| | | delete obj.selectTime |
| | | } |
| | | exportExcell('投诉记录导出', obj, '/system/complain/exportComplainList') |
| | | }, |
| | | handleSizeChange(e) { |
| | | this.searchForm.pageSize = e |
| | | this.getTableList() |
| | | }, |
| | | handleCurrentChange(e) { |
| | | this.searchForm.page = e |
| | | this.getTableList() |
| | | }, |
| | | getTableList() { |
| | | let obj = { ...this.searchForm } |
| | | delete obj.total |
| | | if (obj.selectTime) { |
| | | obj.startTime = moment(obj.selectTime[0]).format('YYYY-MM-DD HH-mm-ss') |
| | | obj.endTime = moment(obj.selectTime[1]).format('YYYY-MM-DD HH-mm-ss') |
| | | delete obj.selectTime |
| | | } |
| | | getComplainList(obj).then(res => { |
| | | this.tableData = res.records |
| | | this.searchForm.total = res.total |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | |
| | | <style scoped lang="less"> |
| | | ::v-deep .pagination-popper { |
| | | position: fixed !important; |
| | | transform: |
| | | scale(calc(1 / var(--scale))) |
| | | translate( |
| | | calc(100px * (1 - 1 / var(--scale))), |
| | | calc(5px * (1 - 1 / var(--scale))) |
| | | ) !important; |
| | | transform: |
| | | scale(calc(1 / var(--scale))) translate(calc(100px * (1 - 1 / var(--scale))), |
| | | calc(5px * (1 - 1 / var(--scale)))) !important; |
| | | transform-origin: right top !important; |
| | | right: calc(30px * (1 - 1 / var(--scale))) !important; |
| | | margin-top: 5px; |
New file |
| | |
| | | import axios from '@/utils/request'; |
| | | |
| | | // 获取司机详情 |
| | | export const getDriverInfo = (id) => { |
| | | return axios.get(`/system/driver/getDriverInfo/{id}/${id}`) |
| | | } |
| | | |
| | | // 获取投诉记录列表 |
| | | export const getComplainList = (params) => { |
| | | return axios.get(`/system/complain/getComplainList`, { params }) |
| | | } |
| | |
| | | <!-- 订单信息 --> |
| | | <div v-show="tabPosition == 'order'"> |
| | | <el-descriptions title="" :column="3"> |
| | | <el-descriptions-item label="公司名称">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="发起地区划">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="订单编号">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="机动车驾驶证编号">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员手机号">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="车辆号牌">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="派单时间">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="订单发起时间">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="乘客备注">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="出发地点">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="下车地点">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="运价类型编号">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="订单金额">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="实付价">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="支付方式">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="公司名称">{{ orderData.enterpriseName }}</el-descriptions-item> |
| | | <el-descriptions-item label="发起地区划">{{ orderData.drivingLicenseNumber }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单编号">{{ orderData.code }}</el-descriptions-item> |
| | | <el-descriptions-item label="机动车驾驶证编号">{{ orderData.drivingLicenseNumber }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员手机号">{{ orderData.driverPhone }}</el-descriptions-item> |
| | | <el-descriptions-item label="车辆号牌">{{ orderData.vehicleNumber }}</el-descriptions-item> |
| | | <el-descriptions-item label="派单时间">{{ orderData.orderDeliveryTime }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单发起时间">{{ orderData.orderTime }}</el-descriptions-item> |
| | | <el-descriptions-item label="乘客备注">{{ orderData.remark }}</el-descriptions-item> |
| | | <el-descriptions-item label="出发地点">{{ orderData.orderPlace }}</el-descriptions-item> |
| | | <el-descriptions-item label="下车地点">{{ orderData.dropOffPoint }}</el-descriptions-item> |
| | | <el-descriptions-item label="运价类型编号">{{ orderData.tariffType }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单金额">¥{{ orderData.orderAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="实付价">¥{{ orderData.paymentAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="支付方式">{{ orderData.paymentMode }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | </div> |
| | | <!-- 行程轨迹 --> |
| | |
| | | return { |
| | | dialogVisible: false, |
| | | tabPosition: 'order', |
| | | orderData: {}, |
| | | monitoringData: {}, |
| | | travelData: [] |
| | | }; |
| | | }, |
| | | computed: {}, |
| | | watch: {}, |
| | | created() { }, |
| | | mounted() { |
| | | this.initMap(); |
| | | }, |
| | | methods: { |
| | | initData(orderData = {}, monitoringData = {}, travelData = {},) { |
| | | this.orderData = orderData |
| | | this.monitoringData = monitoringData |
| | | this.travelData = travelData |
| | | this.dialogVisible = true |
| | | this.initMap(); |
| | | }, |
| | | initMap() { |
| | | window._AMapSecurityConfig = { |
| | | securityJsCode: this.$secretKey, |
| | |
| | | }) |
| | | .then((AMap) => { |
| | | this.map = new AMap.Map("mapContainer", { |
| | | center: [105.574542, 30.5061493], |
| | | center: [this.travelData[this.travelData.length / 2].longitude, this.travelData[this.travelData.length / 2].latitude], |
| | | zoom: 15, |
| | | }); |
| | | this.map.addControl(new AMap.ToolBar()); |
| | | let path = [ |
| | | new AMap.LngLat(105.57, 30.51), |
| | | new AMap.LngLat(116.382122, 39.901176), |
| | | new AMap.LngLat(116.387271, 39.912501), |
| | | new AMap.LngLat(116.398258, 39.9046), |
| | | ] |
| | | let path = this.travelData.map(item => { |
| | | return new AMap.LngLat(item.longitude, item.latitude) |
| | | }) |
| | | const content = `<div class="custom-content-marker"> |
| | | <img src="${require("@/assets/logo.png")}"> |
| | | </div>`; |
| | | const marker = new AMap.Marker({ |
| | | content: content, //自定义点标记覆盖物内容 |
| | | position: [105.57, 30.51], //基点位置 |
| | | position: [this.travelData[0].longitude, this.travelData[0].latitude], //基点位置 |
| | | offset: new AMap.Pixel(-30, -15), //相对于基点的偏移位置 |
| | | }); |
| | | this.map.add(marker); |
| | |
| | | <div> |
| | | <div class="form flex a-center j-between mt--23"> |
| | | <div class="form-left ml--30"> |
| | | <el-form :inline="true" :model="searchForm" class="demo-form-inline"> |
| | | <el-form-item label="派单时间:" prop="level" class="unset_m" style="margin-right: 100px;"> |
| | | <el-date-picker style="width: 400px;" v-model="value1" type="datetimerange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | <el-form :inline="true" :model="searchForm"> |
| | | <el-form-item label="派单时间:" prop="orderDeliveryTime" style="margin-right: 100px;"> |
| | | <el-date-picker style="width: 400px;" v-model="searchForm.orderDeliveryTime" |
| | | type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="订单编号:" prop="name" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="订单编号:" prop="code" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.code" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车辆号牌:" prop="name" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="车辆号牌:" prop="vehicleNumber" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.vehicleNumber" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="驾驶员姓名:" prop="date" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="驾驶员姓名:" prop="driverName" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.driverName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="公司名称:" prop="date" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input class="companyName" v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="公司名称:" prop="enterpriseName" style="margin-right: 100px;"> |
| | | <el-input class="companyName" v-model="searchForm.enterpriseName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="上车地点:" prop="date" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="上车地点:" prop="boardingPoint" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.boardingPoint" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="下车地点:" prop="date" class="unset_m" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="下车地点:" prop="dropOffPoint" style="margin-right: 100px;"> |
| | | <el-input v-model="searchForm.dropOffPoint" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="里程范围:" prop="date" class="unset_m" style="margin-right: 100px;"> |
| | | <el-form-item label="里程范围:" style="margin-right: 100px;"> |
| | | <div class="flex a-center j-between"> |
| | | <el-input class="range" v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-input class="range" v-model="searchForm.passengerMileageStart" |
| | | placeholder="请输入"></el-input> |
| | | <div class="mx--20">-</div> |
| | | <el-input class="range" v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-input class="range" v-model="searchForm.passengerMileageEnd" |
| | | placeholder="请输入"></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | </div> |
| | | <div class="table-box ml--30 mt--23 mr--30"> |
| | | <el-table :data="tableData" border stripe style="width: 100%" :height="height"> |
| | | <el-table-column prop="date" label="序号"></el-table-column> |
| | | <el-table-column prop="name" label="订单编号"></el-table-column> |
| | | <el-table-column prop="name" label="车牌号"></el-table-column> |
| | | <el-table-column prop="name" label="车牌颜色"></el-table-column> |
| | | <el-table-column prop="name" label="车辆所属公司"></el-table-column> |
| | | <el-table-column prop="name" label="上车地点"></el-table-column> |
| | | <el-table-column prop="name" label="下车地点"></el-table-column> |
| | | <el-table-column prop="name" label="载客里程"></el-table-column> |
| | | <el-table-column prop="name" label="驾驶员名称"></el-table-column> |
| | | <el-table-column prop="name" label="驾驶员电话"></el-table-column> |
| | | <el-table-column prop="name" label="派单时间"></el-table-column> |
| | | <el-table-column prop="name" label="订单金额"></el-table-column> |
| | | <el-table-column prop="name" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="showDetail">详情</el-button> |
| | | <el-table-column type="index" width="55" label="序号" /> |
| | | <el-table-column prop="code" label="订单编号" /> |
| | | <el-table-column prop="vehicleNumber" label="车牌号" /> |
| | | <el-table-column prop="licensePlateColor" label="车牌颜色" /> |
| | | <el-table-column prop="enterpriseName" label="车辆所属公司" /> |
| | | <el-table-column prop="orderPlace" label="上车地点" /> |
| | | <el-table-column prop="dropOffPoint" label="下车地点" /> |
| | | <el-table-column prop="passengerMileage" label="载客里程" /> |
| | | <el-table-column prop="driverName" label="驾驶员名称" /> |
| | | <el-table-column prop="driverPhone" label="驾驶员电话" /> |
| | | <el-table-column prop="orderDeliveryTime" label="派单时间" /> |
| | | <el-table-column prop="orderAmount" label="订单金额"> |
| | | <template #default="{ row }"> |
| | | ¥{{ row.orderAmount }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button @click="showDetail(row)">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <script> |
| | | import DetailModal from "./component/detailModal" |
| | | import { exportExcell } from '@/utils/utils' |
| | | import { getOrderList, getOrderInfo, getOrderMonitoring, getOrderTravel } from './service' |
| | | import moment from "moment/moment"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | return this.$baseTableHeight() |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getTableList() |
| | | }, |
| | | methods: { |
| | | showDetail() { |
| | | this.$refs.detailModal.dialogVisible = true |
| | | }, |
| | | reset() { |
| | | this.searchForm = { |
| | | total: 0, |
| | | page: 1, |
| | | pageSize: 10 |
| | | } |
| | | this.getTableList() |
| | | }, |
| | | search() { |
| | | |
| | | this.getTableList() |
| | | }, |
| | | exportExcell() { |
| | | |
| | | let obj = { ...this.searchForm } |
| | | delete obj.total |
| | | if (obj.orderDeliveryTime) { |
| | | obj.orderDeliveryTimeStart = moment(obj.orderDeliveryTime[0]).format('YYYY-MM-DD HH-mm-ss') |
| | | obj.orderDeliveryTimeEnd = moment(obj.orderDeliveryTime[1]).format('YYYY-MM-DD HH-mm-ss') |
| | | delete obj.orderDeliveryTime |
| | | } |
| | | exportExcell('投诉记录导出', obj, '/system/order/exportOrderList') |
| | | }, |
| | | handleSizeChange(e) { |
| | | this.searchForm.pageSize = e |
| | | this.getTableList() |
| | | }, |
| | | handleCurrentChange(e) { |
| | | this.searchForm.page = e |
| | | this.getTableList() |
| | | }, |
| | | getTableList() { |
| | | let obj = { ...this.searchForm } |
| | | delete obj.total |
| | | if (obj.orderDeliveryTime) { |
| | | obj.orderDeliveryTimeStart = moment(obj.orderDeliveryTime[0]).format('YYYY-MM-DD HH-mm-ss') |
| | | obj.orderDeliveryTimeEnd = moment(obj.orderDeliveryTime[1]).format('YYYY-MM-DD HH-mm-ss') |
| | | delete obj.orderDeliveryTime |
| | | } |
| | | getOrderList(obj).then(res => { |
| | | this.tableData = res.records |
| | | this.searchForm.total = res.total |
| | | }) |
| | | }, |
| | | showDetail(row) { |
| | | // Promise.all([getOrderInfo(row.id), getOrderMonitoring({ id: row.id }), getOrderTravel({ id: row.id })]).then(res => { |
| | | Promise.all([getOrderInfo(row.id), getOrderTravel({ id: row.id })]).then(res => { |
| | | this.$refs.detailModal.initData(res[0], {}, res[2]) |
| | | }) |
| | | }, |
| | | } |
| | | } |
New file |
| | |
| | | import axios from '@/utils/request'; |
| | | |
| | | // 获取订单详情 |
| | | export const getOrderInfo = (id) => { |
| | | return axios.get(`/system/order/getOrderInfo/${id}`) |
| | | } |
| | | |
| | | // 获取订单列表 |
| | | export const getOrderList = (params) => { |
| | | return axios.get(`/system/order/getOrderList`, { params }) |
| | | } |
| | | |
| | | // 获取订单监控 |
| | | export const getOrderMonitoring = (params) => { |
| | | return axios.get(`/system/order/getOrderMonitoring`, { params }) |
| | | } |
| | | |
| | | // 获取订单行程轨迹 |
| | | export const getOrderTravel = (params) => { |
| | | return axios.get(`/system/order/getOrderTravel`, { params }) |
| | | } |
| | |
| | | <div> |
| | | <el-dialog title="驾驶员信息" :visible.sync="dialogVisible" width="50%" :modal-append-to-body="false"> |
| | | <el-descriptions title="" :column="2"> |
| | | <el-descriptions-item label="机动车驾驶员姓名">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员婚姻状况">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员性别">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="出生日期">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员手机号">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员民族">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员通信地址">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员外语能力">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员学历">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="户口登记机关名称">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="户口地址或长住地址">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员合同(或协议)签署公司">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员照片文件编号">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="机动车驾驶证扫描文件编号">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="准驾车型">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="初次领取驾驶证日期">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶证有效期限起">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶证有效期限止">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="是否巡游出租汽车驾驶员">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="资格证发证日期">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="初次领取资格证日期">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="资格证有效起始日期">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="资格证有效截止日期">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员在平台的注册日期">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="是否在驾驶员黑名单中">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="是否转职驾驶员">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="公司名称">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="运营类型">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="网约车驾驶员资格证号">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="网约车驾驶员证发证机构">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="合同(或协议)有效期起">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="合同(或协议)有效期止">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="国籍">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人电话">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人通讯地址">14725836902</el-descriptions-item> |
| | | <el-descriptions-item label="状态">射洪洪达出租车有限公司</el-descriptions-item> |
| | | <el-descriptions-item label="操作标识">91510922769973987B</el-descriptions-item> |
| | | <el-descriptions-item label="更新时间">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item> |
| | | <el-descriptions-item label="机动车驾驶员姓名">{{ data.name }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员婚姻状况">{{ data.maritalStatus }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员性别">{{ data.gender }}</el-descriptions-item> |
| | | <el-descriptions-item label="出生日期">{{ data.birthday }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员手机号">{{ data.phone }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员民族">{{ data.nationality }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员通信地址">{{ data.mailingAddress }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员外语能力">{{ data.foreignLanguages }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员学历">{{ data.education }}</el-descriptions-item> |
| | | <el-descriptions-item label="户口登记机关名称">{{ data.householdRegistrationAuthority }}</el-descriptions-item> |
| | | <el-descriptions-item label="户口地址或长住地址">{{ data.domicile }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员合同(或协议)签署公司">{{ data.contractingCompany }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员照片文件编号">{{ data.claude }}</el-descriptions-item> |
| | | <el-descriptions-item label="机动车驾驶证扫描文件编号">{{ data.drivingLicenceFile }}</el-descriptions-item> |
| | | <el-descriptions-item label="准驾车型">{{ data.quasiDrivingType }}</el-descriptions-item> |
| | | <el-descriptions-item label="初次领取驾驶证日期">{{ data.firstLicenseDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶证有效期限起">{{ data.drivingLicenceStart }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶证有效期限止">{{ data.drivingLicenceEnd }}</el-descriptions-item> |
| | | <el-descriptions-item label="是否巡游出租汽车驾驶员">{{ data.cruiseTaxi }}</el-descriptions-item> |
| | | <el-descriptions-item label="资格证发证日期">{{ data.certificationIssueDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="初次领取资格证日期">{{ data.firstLicenseCertification }}</el-descriptions-item> |
| | | <el-descriptions-item label="资格证有效起始日期">{{ data.certificationStart }}</el-descriptions-item> |
| | | <el-descriptions-item label="资格证有效截止日期">{{ data.certificationEnd }}</el-descriptions-item> |
| | | <el-descriptions-item label="驾驶员在平台的注册日期">{{ data.registrationDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="是否在驾驶员黑名单中">{{ data.blacklist }}</el-descriptions-item> |
| | | <el-descriptions-item label="是否专职驾驶员">{{ data.fullTimeDriver }}</el-descriptions-item> |
| | | <el-descriptions-item label="公司名称">{{ data.contractingCompany }}</el-descriptions-item> |
| | | <el-descriptions-item label="运营类型">{{ data.operationType }}</el-descriptions-item> |
| | | <el-descriptions-item label="网约车驾驶员资格证号">{{ data.certification }}</el-descriptions-item> |
| | | <el-descriptions-item label="网约车驾驶员证发证机构">{{ data.orgName }}</el-descriptions-item> |
| | | <el-descriptions-item label="合同(或协议)有效期起">{{ data.contractLifeStart }}</el-descriptions-item> |
| | | <el-descriptions-item label="合同(或协议)有效期止">{{ data.contractLifeEnd }}</el-descriptions-item> |
| | | <el-descriptions-item label="国籍">{{ data.nation }}</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人">{{ data.emergencyContact }}</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人电话">{{ data.emergencyPhone }}</el-descriptions-item> |
| | | <el-descriptions-item label="紧急情况联系人通讯地址">{{ data.emergencyMailingAddress }}</el-descriptions-item> |
| | | <el-descriptions-item label="状态">{{ ['有效','无效'][data.status - 1] }}</el-descriptions-item> |
| | | <el-descriptions-item label="操作标识">{{ ['新增','修改'][data.flag - 1] }}</el-descriptions-item> |
| | | <el-descriptions-item label="更新时间">{{ data.updateTime }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | props: {}, |
| | | data() { |
| | | return { |
| | | dialogVisible: false |
| | | dialogVisible: false, |
| | | data: {} |
| | | }; |
| | | }, |
| | | computed: {}, |
| | |
| | | created() { }, |
| | | mounted() { }, |
| | | methods: { |
| | | initData(data) { |
| | | this.data = data |
| | | this.dialogVisible = true |
| | | }, |
| | | closeClick() { |
| | | this.dialogVisible = false |
| | | } |
| | |
| | | <div class="form flex a-center j-between mt--23"> |
| | | <div class="form-left ml--30"> |
| | | <el-form :inline="true" :model="searchForm"> |
| | | <el-form-item label="公司名称:" prop="level" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.level" placeholder="请输入"></el-input> |
| | | <el-form-item label="公司名称:" prop="enterpriseName" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.enterpriseName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="驾驶员手机号:" prop="name" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="驾驶员手机号:" prop="phone" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.phone" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="驾驶员姓名:" prop="name" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="驾驶员姓名:" prop="driverName" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.driverName" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="紧急联系人姓名:" prop="date" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-form-item label="紧急联系人姓名:" prop="emergencyContact" class="unset_m" style="margin-right: 15px;"> |
| | | <el-input v-model="searchForm.emergencyContact" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="table-box ml--30 mt--23 mr--30"> |
| | | <el-table :data="tableData" border stripe style="width: 100%" :height="height"> |
| | | <el-table-column prop="date" label="序号"></el-table-column> |
| | | <el-table-column prop="name" label="机动车驾驶员姓名"></el-table-column> |
| | | <el-table-column prop="name" label="车辆所属公司"></el-table-column> |
| | | <el-table-column prop="name" label="机动车驾驶证号"></el-table-column> |
| | | <el-table-column prop="name" label="驾驶员通信地址"></el-table-column> |
| | | <el-table-column prop="name" label="紧急情况联系人"></el-table-column> |
| | | <el-table-column prop="name" label="紧急情况联系人电话"></el-table-column> |
| | | <el-table-column prop="name" label="驾驶员手机号"></el-table-column> |
| | | <el-table-column prop="name" label="驾驶员合同签订公司"></el-table-column> |
| | | <el-table-column prop="name" label="操作"> |
| | | <template slot-scope="{row}"> |
| | | <el-button @click="showDetail">详情</el-button> |
| | | <el-table-column type="index" width="55" label="序号"></el-table-column> |
| | | <el-table-column prop="driverName" label="机动车驾驶员姓名"></el-table-column> |
| | | <el-table-column prop="enterpriseName" label="车辆所属公司"></el-table-column> |
| | | <el-table-column prop="drivingLicenseNumber" label="机动车驾驶证号"></el-table-column> |
| | | <el-table-column prop="mailingAddress" label="驾驶员通信地址"></el-table-column> |
| | | <el-table-column prop="emergencyContact" label="紧急情况联系人"></el-table-column> |
| | | <el-table-column prop="emergencyPhone" label="紧急情况联系人电话"></el-table-column> |
| | | <el-table-column prop="phone" label="驾驶员手机号"></el-table-column> |
| | | <el-table-column prop="contractingCompany" label="驾驶员合同签订公司"></el-table-column> |
| | | <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button @click="showDetail(row)">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | |
| | | <script> |
| | | import DetailModal from "./component/detailModal" |
| | | import { getDriverInfo, getDriverList } from './service' |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | return this.$baseTableHeight() |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getTableList() |
| | | }, |
| | | methods: { |
| | | showDetail() { |
| | | this.$refs.detailModal.dialogVisible = true |
| | | }, |
| | | reset() { |
| | | this.searchForm = { |
| | | total: 0, |
| | | page: 1, |
| | | pageSize: 10 |
| | | } |
| | | this.getTableList() |
| | | }, |
| | | search() { |
| | | this.getTableList() |
| | | }, |
| | | exportExcell() { |
| | | |
| | | }, |
| | | handleSizeChange(e) { |
| | | this.searchForm.pageSize = e |
| | | this.getTableList() |
| | | }, |
| | | handleCurrentChange(e) { |
| | | this.searchForm.page = e |
| | | this.getTableList() |
| | | }, |
| | | getTableList() { |
| | | let obj = { ...this.searchForm } |
| | | delete obj.total |
| | | getDriverList(obj).then(res => { |
| | | this.tableData = res.records |
| | | this.searchForm.total = res.total |
| | | }) |
| | | }, |
| | | showDetail(row) { |
| | | getDriverInfo(row.id).then(res=>{ |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
New file |
| | |
| | | import axios from '@/utils/request'; |
| | | |
| | | // 获取司机详情 |
| | | export const getDriverInfo = (id) => { |
| | | return axios.get(`/system/driver/getDriverInfo/{id}/${id}`) |
| | | } |
| | | |
| | | // 获取司机列表 |
| | | export const getDriverList = (params) => { |
| | | return axios.get(`/system/driver/getDriverList`, { params }) |
| | | } |