Commit 829d06a0 by 吕海涛

新品牌入驻

parent 1e6dee1e
......@@ -4,17 +4,17 @@ VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
VUE_APP_BASE_API3 = 'https://api.xoado.com'
VUE_APP_BASE_API4 = 'https://hgxd.99zcx.com'
VUE_APP_BASE_API5 = 'hhttp://xoado.tpddns.net:10001/brand'
VUE_APP_BASE_API6 = 'http://xoado.tpddns.net:10001/transport'
VUE_APP_BASE_API7 = 'http://xoado.tpddns.net:10001/operate'
VUE_APP_BASE_API8 = 'http://xoado.tpddns.net:10001/trace'
VUE_APP_BASE_API9 = 'http://xoado.tpddns.net:10001/payment/'
VUE_APP_BASE_API10 = 'http://192.168.0.251:8195/payment/v1/'
VUE_APP_BASE_API4 = 'http://aitransport.xoado.com'
VUE_APP_BASE_API5 = 'http://aitransport.xoado.com/brand'
VUE_APP_BASE_API6 = 'https://projects.xoado.com/transport'
VUE_APP_BASE_API7 = 'https://projects.xoado.com/operate'
VUE_APP_BASE_API8 = 'https://projects.xoado.com/trace'
VUE_APP_BASE_API9 = 'https://account.xoado.com/payment/'
VUE_APP_BASE_API10 = 'https://account.xoado.com/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12 = 'http://xoado.tpddns.net:10001'
VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc'
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'https://proclamations.xoado.com/anc'
......@@ -5,16 +5,16 @@ VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
VUE_APP_BASE_API3 = 'https://api.xoado.com'
VUE_APP_BASE_API4 = 'https://hgxd.99zcx.com'
VUE_APP_BASE_API5 = 'hhttp://xoado.tpddns.net:10001/brand'
VUE_APP_BASE_API6 = 'http://xoado.tpddns.net:10001/transport'
VUE_APP_BASE_API7 = 'http://xoado.tpddns.net:10001/operate'
VUE_APP_BASE_API8 = 'http://xoado.tpddns.net:10001/trace'
VUE_APP_BASE_API9 = 'http://xoado.tpddns.net:10001/payment/'
VUE_APP_BASE_API10 = 'http://192.168.0.251:8195/payment/v1/'
VUE_APP_BASE_API4 = 'http://aitransport.xoado.com'
VUE_APP_BASE_API5 = 'http://aitransport.xoado.com/brand'
VUE_APP_BASE_API6 = 'https://projects.xoado.com/transport'
VUE_APP_BASE_API7 = 'https://projects.xoado.com/operate'
VUE_APP_BASE_API8 = 'https://projects.xoado.com/trace'
VUE_APP_BASE_API9 = 'https://account.xoado.com/payment/'
VUE_APP_BASE_API10 = 'https://account.xoado.com/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12 = 'http://xoado.tpddns.net:10001'
VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc'
\ No newline at end of file
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'https://proclamations.xoado.com/anc'
\ No newline at end of file
......@@ -18,7 +18,7 @@ VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http://192.168.0.251:8199/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc'
// 线上
VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
......@@ -36,22 +36,21 @@ VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'https://proclamations.xoado.com/anc'
// 测试
VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
VUE_APP_BASE_API3 = 'https://api.xoado.com'
VUE_APP_BASE_API4 = 'https://hgxd.99zcx.com'
VUE_APP_BASE_API5 = 'hhttp://xoado.tpddns.net:10001/brand'
VUE_APP_BASE_API4 = 'http://aitransport.xoado.com'
VUE_APP_BASE_API5 = 'http://aitransport.xoado.com/brand'
VUE_APP_BASE_API6 = 'http://xoado.tpddns.net:10001/transport'
VUE_APP_BASE_API7 = 'http://xoado.tpddns.net:10001/operate'
VUE_APP_BASE_API8 = 'http://xoado.tpddns.net:10001/trace'
VUE_APP_BASE_API9 = 'http://xoado.tpddns.net:10001/payment/'
VUE_APP_BASE_API10 = 'http://192.168.0.251:8195/payment/v1/'
VUE_APP_BASE_API9 = 'https://account.xoado.com/payment/'
VUE_APP_BASE_API10 = 'https://account.xoado.com/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12 = 'http://xoado.tpddns.net:10001'
VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc'
\ No newline at end of file
VUE_APP_BASE_API16 = 'https://proclamations.xoado.com/anc'
\ No newline at end of file
......@@ -60,14 +60,16 @@ export default {
await getCarTypeList(params).then((res) => {
if (res.status === 200) {
let list = [];
let list2=[];
res.data.content.forEach((item) => {
list.push({
id: item.vehicleFlag,
name: item.vehicleName,
type:item.type
});
list2.push(item.vehicleFlag)
});
dataSource.driverTypeListABC = list2;
dataSource.CarType = list;
}
});
......
<template>
<div>
<span :class="typeMinwidth ? 'item-title-select-S' : ''">{{ selectName }}</span>
<el-select :size="sizeType" v-model="selectList" filterable multiple collapse-tags @change="selectAll"
placeholder="请选择">
<el-option label="全选" value="999"></el-option>
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</div>
</template>
<script>
export default {
name: "index",
props: {
type: {
type: String, //用于区分当前类型 方便后续调用
required: true
},
typeMinwidth: {
type: Boolean,
default: false
},
options: {
type: Array,
required: true
},
sizeType: {
type: String,
default: 'small'
},
selectName: {
type: String,
default: ""
},
selectList: {
type: Array,
required: true
}
},
data() {
return {
oldOptionsObj: []
};
},
created() {
this.init();
},
watch: {
options() {
this.init();
}
},
methods: {
init() {
let options = this.options;
// let list = ["999"];
// options.forEach(function (item, index) {
// list.push(item.id);
// });
// this.selectList = list;
},
selectAll(val) {
let allValues = [];
let dataSource = this.options;
let oldOptions = this.oldOptionsObj;
let Select = this.selectList;
//保留所有值
for (let item of dataSource) {
allValues.push(item.id);
}
// 用来储存上一次的值,可以进行对比
const oldVal = oldOptions.length === 1 ? [] : oldOptions[1];
// 若是全部选择 // 取消全部选中 上次有 当前没有 表示取消全选
if (val.includes("999")) {
if (oldVal.length > 0 && !oldVal.includes("999")) {
Select = ["999"].concat(allValues);
} else if (val.length === 1) {
Select = ["999"].concat(allValues);
} else {
const index = val.indexOf("999");
val.splice(index, 1); // 排除全选选项
Select = val;
}
} else if (!val.includes("999")) {
// console.log("------取消全选----");
if (val.length === dataSource.length) {
if (oldVal.length === dataSource.length - 1) {
Select = ["999"].concat(allValues);
} else {
Select = [];
}
} else {
Select = val;
}
}
// 点击非全部选中 需要排除全部选中 以及 当前点击的选项
// 新老数据都有全部选中
// if (oldVal.includes('999') && val.includes('999')) {
// const index = val.indexOf('999')
// val.splice(index, 1) // 排除全选选项
// Select = val
// }
// //全选未选 但是其他选项全部选上 则全选选上 上次和当前 都没有全选
// if (!oldVal.includes('999') && !val.includes('999')) {
// if (val.length === allValues.length - 1) Select = ['999'].concat(val)
// }
//储存当前最后的结果 作为下次的老数据
this.oldOptionsObj[1] = Select;
this.selectList = Select;
let obj = { type: this.type, data: this.selectList };
this.$emit("changeList", obj);
}
}
};
</script>
<style scoped lang="scss">
div {
display: inline-block;
&>span {
display: inline-block;
margin-right: 15px;
font-size: 14px;
}
}
.item-title-select-S {
min-width: 100px;
text-align: right;
white-space: nowrap;
}
</style>
......@@ -267,10 +267,14 @@ const dataSource = {
'id': '2',
'name': '已支付'
},
// {
// 'id': '3',
// 'name': '已退款'
// }
{
'id': '3',
'name': '全额退款'
},
{
'id': '4',
'name': '有责退款'
}
],
'hotType': [{
'id': '1',
......@@ -633,11 +637,11 @@ const dataSource = {
name: "客车",
},
{
id: '2',
id: '3',
name: "货车",
},
{
id: '3',
id: '2',
name: "巴士型",
}
......
......@@ -513,6 +513,10 @@ export default {
return "订单信息变更";
case 15:
return "订单价格更改";
case 16:
return "退款";
case 17:
return "开发票";
default:
}
},
......@@ -855,9 +859,9 @@ export default {
switch (type) {
case 1:
return '客车'
case 2:
return '货车'
case 3:
return '货车'
case 2:
return '巴士型'
default:
return '/'
......
import {get, post, put, deletes } from '@/request/http'
import {get, post, put, deletes, postblob } from '@/request/http'
export function carQuery(data) {
const url = process.env.VUE_APP_BASE_API6 + '/vehicle/manage/query';
return post(url, data)
......@@ -14,4 +14,13 @@ export function getAllTransport(data) {
export function delDriver(data) {
const url = process.env.VUE_APP_BASE_API6 + `/driver?userId=${data.userId}&phoneNumber=${data.driverMobile}`;
return deletes(url, {})
}
export function downLoadVehicle(data) {
const url = process.env.VUE_APP_BASE_API6 + '/vehicle/downLoadVehicle';
return postblob(url, data)
}
export function downLoadDriver(data) {
const url = process.env.VUE_APP_BASE_API6 + '/driver/downLoadDriver';
return postblob(url, data)
}
\ No newline at end of file
......@@ -596,7 +596,10 @@ export function driverDims(val, platformId) {
const url = process.env.VUE_APP_BASE_API6 + `/driver/dimV2/${val}`
return get(url, {})
}
export function driverinsurance(para) {
const url = process.env.VUE_APP_BASE_API6 + `/vehicle/insurance?plateNumber=${para}`
return get(url)
}
/* 运力方费用单添加接口 */
export function SettlementCost(data = {}) {
const url = process.env.VUE_APP_BASE_API6 + `/settlementCost/add`
......
......@@ -8,8 +8,7 @@
import {get, post, put, deletes, postblob } from '@/request/http'
const targetBaseUrl = process.env.VUE_APP_BASE_API5
/* 订单概览 */
/* 订单概览 */
export function overviewInfo(data) {
const url = targetBaseUrl + `/brandSide/statistics/orderOverview`;
return post(url, data)
......@@ -40,4 +39,4 @@ export function exportAllOrderList(data) {
export function getAllTransport(platformId) {
const url = targetBaseUrl + `/transport?platformId=${platformId}&page=1&rows=60`
return get(url, {})
}
}
\ No newline at end of file
......@@ -381,7 +381,14 @@ export const routes = [{
name: 'pushNoticeList',
component: () =>
import ('@/views/notice/noticeList.vue'),
meta: { title: '公告列表', icon: 'el-icon-s-order' }
meta: { title: '已发布公告', icon: 'el-icon-s-order' }
},
{
path: 'push-notice-list1',
name: 'pushNoticeList1',
component: () =>
import ('@/views/notice/noticeList.vue'),
meta: { title: '已接收公告', icon: 'el-icon-s-order' }
},
{
path: 'notice-add',
......
......@@ -62,25 +62,26 @@ const actions = {
await getplatformList()
.then((res) => {
if (res.status === 200) {
console.log(res.data);
/** 正式环境注释 */
// res.data.forEach(item => {
// if (item.brandName.indexOf('玖玖') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brand';
// }
// if (item.brandName.indexOf('江南') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brandjn';
// }
// if (item.brandName.indexOf('妥妥') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brandtt';
// }
// })
debugger
/** 测试环境注释 */
res.data.forEach(item => {
if (item.brandName.indexOf('玖玖') !== -1) {
item.brandUrl = 'http://xoado.tpddns.net:10001/brand';
}
if (item.brandName.indexOf('江南') !== -1) {
item.brandUrl = 'http://xoado.tpddns.net:10001/brandjn';
}
if (item.brandName.indexOf('妥妥') !== -1) {
item.brandUrl = 'http://xoado.tpddns.net:10001/brandtt';
}
item.brandUrl = item.brandUrl + '/brand';
})
/** 测试环境注释 */
// res.data.forEach(item => {
// item.brandUrl = item.brandUrl + '/brand';
// })
// console.log(res.data);
console.log(res.data);
let data = res.data;
commit('SET_BRANDLIST', JSON.stringify(data))
......
......@@ -11,7 +11,7 @@
</el-row>
<el-tabs style="background-color: #fff;padding-left: 20px;padding-top: 15px" v-model="activeName" type="card"
@tab-click="handleClick">
<el-tab-pane v-if="item.isShow" :label="item.name" :name="item.id"
<el-tab-pane v-if="item.isShow" :label="item.name" :name="item.id"
v-for="(item, index) in dataSource.Typecities" :key="index"></el-tab-pane>
</el-tabs>
<el-card shadow="never" v-if="!typeStatus">
......@@ -136,10 +136,6 @@
</el-tooltip>
</div>
</el-col>
<!-- <el-col :span="8">
<Selects :options="dataSource.localTransportId" :selectName="'承接运力:'" :type="'transportIdList'"
@changeList="handlechangeList"></Selects>
</el-col> -->
<el-col :span="8">
<div class="select-time">
<span>用车时间:</span>
......@@ -162,28 +158,12 @@
</el-row>
<el-row type="flex" class="row-bg">
<!-- <el-col :span="8">
<div class="select-time">
<span>用车时间:</span>
<el-date-picker style="width: 230px" v-model="selectResult.useCarTimeList" type="daterange"
@change="DateChange($event, 2)" :picker-options="pickerOptions" value-format="timestamp"
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</div>
</el-col> -->
<el-col :span="8">
<!-- <div style="display: flex;justify-content: end;font-size: 14px;align-items: center;cursor: pointer;"
@click="dialogVisibleSTATUS = true">
<img alt="Vue logo" src="@/assets/sele.png" style="width: 25px;height: 25px;"> 高级搜索
</div> -->
</el-col>
<el-col :span="8">
</el-col>
<el-col :span="8">
<div style="display: flex;
align-items: center;
justify-content: end;">
<div style="display: flex; align-items: center; justify-content: end;">
<div style="display: flex;justify-content: end;font-size: 14px;align-items: center;cursor: pointer;"
@click="dialogVisibleSTATUS = true">
<img alt="Vue logo" src="@/assets/sele.png" style="width: 25px;height: 25px;"> 高级搜索
......@@ -234,7 +214,7 @@
<List :dialogVisible="dialogVisible" :listData="listData" @setHeaders="setHeaders" @getHeaders="getOrderHeaders"
@closeModal="closeModal"></List>
<el-dialog title="高级搜索" :visible.sync="dialogVisibleSTATUS" width="60%" :close-on-click-modal="false"
:close-on-press-escape="false" style="padding:10px">
:close-on-press-escape="false" >
<div >
<el-row type="flex" class="row-bg item-bg-ma">
<el-col :span="8">
......@@ -285,8 +265,9 @@
</el-col>
<el-col :span="8">
<div class="flex-class">
<Selects :selectName="'下单车型:'" :typeMinwidth="true" :type="'vehicleTypes'"
:options="carTypeList" @changeList="handlechangeList"></Selects>
:options="carTypeList" @changeList="handlechangeList"></Selects>
</div>
</el-col>
</el-row>
......@@ -416,6 +397,15 @@
</el-col>
</el-row>
<el-row type="flex" class="row-bg item-bg-ma">
<el-col :span="8">
<Selects :options="options" :selectName="'发票状态:'" :type="'invoiceStatusList'"
@changeList="handlechangeList" :typeMinwidth="true"></Selects>
</el-col>
</el-row>
</div>
<div style="margin-top: 20px;">
<el-button size="small" type="primary" @click="getDATAlIST">查询</el-button>
......@@ -429,6 +419,7 @@
<script>
import dataSource from '@/libs/screen'
import Selects from '@/components/Selects'
import SelectsNew from '@/components/SelectsNew'
import List from '@/components/List/List'
import Table from '@/components/Table'
import { formatDate } from '@/utils/formatDate.js'
......@@ -454,11 +445,43 @@ export default {
components: {
Selects,
List,
Table
Table,
SelectsNew
},
mixins: [JudgeType],
data() {
return {
options: [
{
id: 0,
name: "未开票",
},
{
id: 1,
name: "开票成功",
},
{
id: 2,
name: "开票失败",
},
{
id: 3,
name: "开票中",
},
// {
// id: 4,
// name: "已重开",
// },
// {
// id: 5,
// name: "取消开票",
// },
// {
// id: 6,
// name: "已冲红",
// },
],
OperationalDataType: [
{
id: 1,
......@@ -516,16 +539,17 @@ export default {
page: 1,
total: 0,
selectResult: {
invoiceStatusList:[],
searchStr: '', // 搜索条件
placeOrderTimeList: [], // 下单时间
useCarTimeList: [], // 用车时间
orderSourceList: dataSource.applyOrderSourceList, // 订单来源
orderSourceList:[], // 订单来源
runTypeList: ['1'], // 运营类型
statusList: ['0', '1', '2', '3', '4', '5', '6', '7','11', '12', '13', '14', '15','16'], // 订单状态
tpaymentStatusList: ['1', '2'], // 支付状态
statusList: [], // 订单状态
tpaymentStatusList: [], // 支付状态
transportIdList: [], // 运力方ID
order: 'desc',
orderFlag: 'appointmentTime',
orderFlag: 'createTime',
pageVo: {
page: 1,
rows: 10
......@@ -534,10 +558,10 @@ export default {
waybillId: "",
tPaymentId: '',
areaCodeList: [],
orderReserveTypes: [1, 2],
orderReserveTypes: [],
tPlateNumber: '',
intercityTypes: [1, 2],
driverTypes: [1, 2, 3, 4],
intercityTypes: [],
driverTypes: [],
originatorName: '',
originatorMobile: '',
passengerName: '',
......@@ -1134,7 +1158,7 @@ export default {
//车型默认 vehicleTypes
let selectIndex = [];
data.vehicleTypes.forEach((item, index) => { selectIndex.push(item.id) })
this.selectResult.vehicleTypes = selectIndex
// this.selectResult.vehicleTypes = selectIndex
},
SettypeStatus() {
......@@ -1153,8 +1177,10 @@ export default {
},
};
carTypeQuery(params)
.then((res) => {
if (res.status === 200) {
let data = res.data.content
let tmpList = []
let selectIndex = []
......@@ -1166,7 +1192,7 @@ export default {
tmpList.push(obj)
selectIndex.push(item.typeItem)
})
this.selectResult.vehicleTypes = selectIndex
// this.selectResult.vehicleTypes = selectIndex
this.carTypeList = tmpList
this.dataSource.vehicleTypes = tmpList;
}
......@@ -1186,7 +1212,7 @@ export default {
let json = {
platformId: JSON.parse(this.platform).platformId,
page: 1,
rows: 50
rows: 999
}
await getAllTransport(json, this.brandUrl).then(res => {
if (res.status == 200) {
......@@ -1211,8 +1237,10 @@ export default {
this.brandUrl = JSON.parse(this.platform).brandUrl;
this.plat = JSON.parse(this.platform).platformId;
if (this.typeStatus) {
this.activeName="1"
this.ResetselectResult()
}
await this.getOpenAreaListFun();
await this.initTable()
await this.getTransport();
......@@ -1225,6 +1253,7 @@ export default {
async getAllPlatform() {
await getplatformList().then(async (res) => {
if (res.status == 200) {
this.platformList = res.data.map((element) => {
if (element.brandUrl) {
return {
......@@ -1250,7 +1279,6 @@ export default {
page: 1,
rows: 9999,
}
getRegionManageList(params, this.brandUrl).then(res => {
if (res.status == 200) {
let data = res.data.content
......@@ -1384,16 +1412,12 @@ export default {
json.pageVo.page = this.page;
let that = this;
if (this.typeStatus) {
//调用新接口查询列表
let { data } = await getAllOrderListNew(json, that.brandUrl, that.plat)
this.config.data = []
this.config.data = data.content
this.total = data.total
loading.close();
} else {
let { data } = await getAllOrderList(json, that.brandUrl, that.plat)
......@@ -1406,7 +1430,7 @@ export default {
},
DateChange(val, type) {
if (type == 1) {
this.selectResult.useCarTimeList = [];
// this.selectResult.useCarTimeList = [];
if (!!this.selectResult.placeOrderTimeList && this.selectResult.placeOrderTimeList.length > 0) {
let end = this.selectResult.placeOrderTimeList[1]
this.selectResult.placeOrderTimeList[1] = end + 8.64e7 - 1000
......@@ -1414,7 +1438,7 @@ export default {
this.selectResult.placeOrderTimeList = [];
}
} else {
this.selectResult.placeOrderTimeList = [];
// this.selectResult.placeOrderTimeList = [];
if (!!this.selectResult.useCarTimeList && this.selectResult.useCarTimeList.length > 0) {
let end = this.selectResult.useCarTimeList[1]
this.selectResult.useCarTimeList[1] = end + 8.64e7 - 1000
......@@ -1482,7 +1506,7 @@ export default {
this.selectResult.orderFlag = column.prop;
this.selectResult.order = 'asc';
} else {
this.selectResult.orderFlag = 'appointmentTime';
this.selectResult.orderFlag = 'createTime';
this.selectResult.order = 'desc';
}
this.sortRule.order = column.order;
......@@ -1539,11 +1563,9 @@ export default {
* 订单类型
* */
orderReserveText({ data }) {
if (data.orderReserveText * 1 == 1) {
return `<span>${this.reserveTypeText(data.orderReserveType)}</span> <el-tag type="danger" class="el-tag el-tag--danger el-tag--light el-tag--small">拼车</el-tag>`
} else {
return `<span>${this.reserveTypeText(data.orderReserveType)}</span> <el-tag class="el-tag el-tag--light el-tag--small" >专车</el-tag>`
}
let str = data.intercityType * 1 == 1 ? `<span>${this.reserveTypeText(data.orderReserveType)}</span>
<el-tag type="danger" class="el-tag el-tag--danger el-tag--light el-tag--small">拼车</el-tag>`: `<span>${this.reserveTypeText(data.orderReserveType)}</span> <el-tag class="el-tag el-tag--light el-tag--small" >专车</el-tag>`
return str
},
/**
......@@ -1645,11 +1667,18 @@ export default {
::v-deep {
.el-tabs__header {
margin: 0;
}
.el-tabs--card>.el-tabs__header {
border-bottom: none;
}
.el-dialog__header{
padding: 20px 20px 10px;
}
.el-dialog__body{
padding: 30px 20px;
}
}
}
......
......@@ -87,12 +87,7 @@
</li>
<li>
<div>
<span
>订单价格:{{
(!!dataSource.trealMoney && dataSource.runType != 6)
? dataSource.trealMoney + '元' + (dataSource.valuationType == '3' ? ' 协定价' : ' 一口价')
: dataSource.estimateMoney + '元' + (dataSource.runType == 6 ? ' 套餐价' : ' 预估价')
}} </span
<span >订单价格:{{ dataSource.estimateMoney + "元" +" "+ (dataSource.valuationType*1 == 0?" 预估价" : dataSource.valuationType*1 == 2?"一口价":dataSource.valuationType*1 == 3?"协定价":dataSource.valuationType*1 == 4?"套餐价":"一口价") }} </span
>
</div>
<div>
......@@ -175,6 +170,42 @@
</span>
</div>
</ul>
<ul class="table-info" style="margin-top: 30px">
<h5>司机信息</h5>
<li>
<div>
<span>承接运力:{{ dataSource.transportName }}</span>
</div>
<div>
<!-- {{ dataSource }} -->
<span>接单司机:{{ dataSource.driverName ||'/'}} {{ dataSource.driverPhone ||'/' }}</span>
<CopyIcon :msg="dataSource.driverPhone" v-if="dataSource.driverPhone"/>
</div>
</li>
<li>
<div>
<span>司机类型:{{ dataSource.driverInfo?JSON.parse(dataSource.driverInfo).driverType*1==1?'兼职司机': JSON.parse(dataSource.driverInfo).driverType*1==2?'虚拟司机': JSON.parse(dataSource.driverInfo).driverType*1==3?'外调司机':'专职司机':'/' }}</span>
</div>
<div v-if="dataSource.tplateNumber">
<span>车辆信息:{{ dataSource.tplateNumber ||'/'}}</span>
<span style="padding:0 10px">{{ carTypeText(JSON.parse(dataSource.chooseVehicleType).type)}}</span>
</div>
</li>
<li>
<div v-if="!!dataSource.tdriverAcceptTime">
<span>接单时间:{{ dataSource.tdriverAcceptTime |formatDates }}</span>
</div>
<div v-else>
<span>接单时间:/</span>
</div>
</li>
</ul>
</div>
<div style="margin-top: 20px">
<div class="amap-wrapper">
......@@ -194,13 +225,17 @@
</div>
</el-card>
<div class="part-order">
<el-card class="cost-left">
<div style="width:50%">
<div>
<el-card class="cost-left">
<div slot="header" class="clearfix">
<span class="mainColor">费用清单</span>
</div>
<div v-if="dataSource.status != '6'">
<p>
<span>支付状态:{{ dataSource.tpaymentStatus == 2 ? '已支付' : '未支付' }}</span>
<span>支付状态:
{{ dataSource.tpaymentStatus*1 == 2 ? '已支付' :dataSource.tpaymentStatus*1 == 3?'全额退款':dataSource.tpaymentStatus*1 == 4?'有责退款':'未支付' }}</span>
</p>
<div v-if="dataSource.estimateInfo">
<p v-for="(item,index) in JSON.parse(dataSource.estimateInfo)" :key="index">
......@@ -208,7 +243,16 @@
</p>
</div>
<p>
<span>总计费用:{{ dataSource.estimateMoney }}元</span>
<span>实付金额:{{ dataSource.tpaymentStatus == 1 ? '0.00' : dataSource.trealPayment }}元</span>
</p>
<p>
<span>应付金额:{{ dataSource.trealMoney }}元</span>
</p>
<p>
<span>有责金额:{{ dataSource.responsiblePayment }}元</span>
</p>
<p>
<span>预估金额:{{ dataSource.estimateMoney }}元</span>
</p>
</div>
<div v-else>
......@@ -218,8 +262,7 @@
v-clipboard:success="onCopy"
v-clipboard:error="onError">
<span>商户订单号:{{ dataSource.tpaymentId }}</span>
<i v-if="dataSource.tpaymentId" class="el-icon-copy-document mainColor"
style="font-size: 14px;margin-left: 5px"></i>
<i v-if="dataSource.tpaymentId" class="el-icon-copy-document mainColor" style="font-size: 14px;margin-left: 5px"></i>
</p>
<p>
<span>支付状态:{{ dataSource.tpaymentStatus == 2 ? '已支付' : '未支付' }}</span>
......@@ -227,24 +270,50 @@
<p v-if="dataSource.couponDiscount">
<span>优惠金额:{{ dataSource.couponDiscount }}</span>
</p>
<p v-for="(item,index) in dataSource.trealInfo" :key="index">
<span v-if="!!item.price&&item.price!='0'">{{ item.name }}:{{
item.price
}}元</span>
<p v-for="(item,index) in JSON.parse(dataSource.trealInfo)" :key="index">
<span v-if="!!item.price&&item.price!='0'">{{ item.name }}:{{ item.price }}元</span>
</p>
<p>
<span>实付金额:{{ dataSource.trealPayment }}元</span>
<span>实付金额:{{ dataSource.tpaymentStatus == 1 ? '0.00' : dataSource.trealPayment }}元</span>
</p>
<p>
<span>总计费用:{{ dataSource.trealMoney }}元</span>
<span>应付金额:{{ dataSource.trealMoney }}元</span>
</p>
<p>
<span>有责金额:{{ dataSource.responsiblePayment }}元</span>
</p>
<p>
<span>预估金额:{{ dataSource.estimateMoney }}元</span>
</p>
</div>
</el-card>
</div>
<div style="margin-top: 10px;">
<el-card >
<div slot="header" class="clearfix">
<span class="mainColor">订单分账明细</span>
</div>
<div style="overflow-y: scroll;text-align: left;min-height: 300px;">
<div >
<span style="font-weight: 700;font-size: 14px;">
四方分账比例
</span>
<span style="color: #ff723b;font-size: 14px;padding: 0 5px;">
{{ dataSource.areaName }} | {{ runTypeText(dataSource.runType) }} | {{ orderSourcesNew(dataSource.orderSource) }}
</span>
</div>
<div style="padding:10px 5px" v-for="(item,index) in dataSource.xoadoSetRationOrders" :key="index">
{{item.editSource*1==1?'平台方':item.editSource*1==2?'运力方':item.editSource*1==3?'运营方':'收单方'}} | {{item.subAccountObjectName}} | {{item.subAccountNapeName}} | {{ item.subAccountRation }}% | {{ item.subAccountRationPrice }} 元
</div>
</div>
</el-card>
</div>
</div>
<el-card class="operation-log">
<div slot="header" class="clearfix">
<span class="mainColor">订单操作日志</span>
</div>
<div style="overflow: scroll;text-align: left">
<div style="overflow: scroll;text-align: left;min-height: 540px;">
<el-timeline
v-for="(item, index) in getOrderLogList"
:key="index"
......
......@@ -218,7 +218,7 @@
</div>
</el-card>
<el-dialog title="高级搜索" :visible.sync="dialogVisibleSTATUS" width="60%" :close-on-click-modal="false"
:close-on-press-escape="false">
:close-on-press-escape="false" style="padding:10px">
<div>
<el-row type="flex" class="row-bg item-bg-ma">
<el-col :span="8">
......@@ -498,9 +498,10 @@ export default {
transportIdList: [],
areaCodeList: [], // 运力区域
runTypeList: ['1'], // 业务类型选择
orderSourceList: dataSource.applyOrderSourceList, // 订单来源
waybillStatusList: ['0', '1', '2', '3', '4', '6', '11', '12', '13', '14', '15', '16'], // 订单状态
paymentStatusList: ['1', '2'], // 支付状态
// orderSourceList: dataSource.applyOrderSourceList, // 订单来源
orderSourceList:[],
waybillStatusList: [], // 订单状态
paymentStatusList: [], // 支付状态
placeOrderTimeList: [], // 下单时间 默认显示当前时间到一周前
useCarTimeList: [], // 用车时间 默认显示当前时间到一周后
searchStr: '', // 搜索内容
......@@ -509,7 +510,7 @@ export default {
orderId: '',//订单号
channelNumber: '',//渠道单号
reserveTypeList: [1, 2],//服务类型
reserveTypeList: [],//服务类型
vehicleTypes: [],//接单车型
plateNumber: '',//车牌号
driverPhone: '',//司机电话
......@@ -872,6 +873,7 @@ export default {
copy: 'channelNumber',
renderFun: row => this.orderSourcefun(row)
},
{
prop: 'orderId',
attrs: { width: 160 },
......@@ -981,7 +983,7 @@ export default {
this.dataSource.localTransportId = data.localTransportId//承接运力
this.OperationalData = this.dataSource.OperationalData//运营区域
this.OperationalDataType = [{ id: 1, name: '实时单' }, { id: 2, name: '预约单' }];//运单类型
this.dataSource.waybillStatusList = data.waybillStatusList//运单状态
// this.dataSource.waybillStatusList = data.waybillStatusList//运单状态
this.carTypeList = data.vehicleTypes//接单车型
this.OperationalData = data.OperationalData;
this.selectResult.weybillFlag = 'createTime'
......@@ -1001,7 +1003,7 @@ export default {
//车型默认 vehicleTypes
let selectIndex = [];
data.vehicleTypes.forEach((item, index) => { selectIndex.push(item.id) })
this.selectResult.vehicleTypes = selectIndex
// this.selectResult.vehicleTypes = selectIndex
},
getDATAlIST() {
this.dialogVisibleSTATUS = false
......@@ -1060,7 +1062,7 @@ export default {
let json = {
platformId: JSON.parse(this.platformId).platformId,
page: 1,
rows: 50
rows: 999
}
await getAllTransport(json, this.brandUrl).then(res => {
if (res.status == 200) {
......@@ -1498,7 +1500,7 @@ export default {
},
DateChange(val, type) {
if (type == 1) {
this.selectResult.useCarTimeList = []
// this.selectResult.useCarTimeList = []
if (!!this.selectResult.placeOrderTimeList && this.selectResult.placeOrderTimeList.length > 0) {
let end = this.selectResult.placeOrderTimeList[1]
this.selectResult.placeOrderTimeList[1] = end + 8.64e7 - 1000
......@@ -1506,7 +1508,7 @@ export default {
this.selectResult.placeOrderTimeList = []
}
} else {
this.selectResult.placeOrderTimeList = []
// this.selectResult.placeOrderTimeList = []
if (!!this.selectResult.useCarTimeList && this.selectResult.useCarTimeList.length > 0) {
let end = this.selectResult.useCarTimeList[1]
this.selectResult.useCarTimeList[1] = end + 8.64e7 - 1000
......@@ -1665,8 +1667,9 @@ export default {
return code
},
orderSourcefun({ data }) {
// return data.detail.orderSource
let code = ''
let orderSourcesText = this.orderSourcefun(data.detail.orderSource)
let orderSourcesText = this.orderSourcesNew(data.detail.orderSource)
code = `<div>${orderSourcesText}</div>`
return code
},
......@@ -1749,6 +1752,12 @@ export default {
.el-card__body {
padding: 10px 20px;
}
.el-dialog__header{
padding: 20px 20px 10px;
}
.el-dialog__body{
padding: 30px 20px;
}
}
}
......
......@@ -3,11 +3,11 @@
<el-row v-if="isAll">
<el-row type="flex" justify="space-between">
<div class="top-title">
全部公告
已接收公告
</div>
<el-button style="margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;" @click="() => isAll = !isAll">
<!-- <el-button style="margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;" @click="() => isAll = !isAll">
已发布公告
</el-button>
</el-button> -->
</el-row>
<all-notice-list></all-notice-list>
</el-row>
......@@ -16,9 +16,9 @@
<div class="top-title">
已发布公告
</div>
<el-button style="margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;" @click="() => isAll = !isAll">
<!-- <el-button style="margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;" @click="() => isAll = !isAll">
全部公告
</el-button>
</el-button> -->
</el-row>
<push-notice-list></push-notice-list>
</el-row>
......@@ -34,6 +34,21 @@ export default {
pushNoticeList,
allNoticeList
},
watch: {
'$route': { // $route可以用引号,也可以不用引号 监听的对象
handler(to, from) {
if (to.path == "/notice/push-notice-list") {
this.isAll = false
} else {
this.isAll = true
}
},
deep: true, // 深度观察监听 设置为 true
immediate: true, // 第一次初始化渲染就可以监听到
}
},
data() {
return {
isAll: true
......
......@@ -146,11 +146,12 @@ export default {
}
},
async created() {
await this.getPCAInfo();
if (this.brandLists.length > 0) {
this.getPlatformInfo();
await this.getPlatformInfo();
await this.getTableList();
}
await this.getPCAInfo();
// await this.getPlatformList();
},
computed: {
......
......@@ -58,6 +58,7 @@
</el-col>
<el-col :span="8">
<el-button type="primary" size="mini" @click="searchByInfo">查询</el-button>
<el-button type="primary" size="mini" @click="ListToExcel">导出</el-button>
</el-col>
</el-row>
</el-form>
......@@ -150,12 +151,14 @@
import Selects from '@/components/Selects';
import dataSource from "@/libs/screen";
import JudgeType from "@/mixins/judgeType";
import { Loading } from 'element-ui'
import {
getAllprovinceAndCity, delcar
} from "@/port/set-request";
import {
carQuery,
getAllTransport
getAllTransport,
downLoadVehicle
} from "@/port/carOrDriver/carOrDriver";
export default {
......@@ -205,7 +208,7 @@ export default {
// 参数集合
selectResult: {
transportList: [],
driverTypeList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
driverTypeList: dataSource.driverTypeListABC,
auditStatusList: [1, 2],
serviceStatusList: [1, 2, 3],
runStatus: [1, 2, 3, 4],
......@@ -223,16 +226,53 @@ export default {
await this.initTable();
},
methods: {
ListToExcel(){
if (this.total <= 0) {
this.$message.error("导出的数据不存在")
return
}
if (this.total >= 15000) {
this.$message.error("导出的数据量超过15000条会导致服务器带宽异常,请分批导出")
return
}
let json = {
commercialTypeList: this.selectResult.auditStatusList,
operateOrgIdList: this.selectResult.transportList,
runStatus: this.selectResult.serviceStatusList,
serviceStatus: this.selectResult.runStatus,
vehicleTypeList: this.selectResult.driverTypeList,
searchStr: this.selectResult.searchStr,
pageVo: {
page: this.page,
rows: this.size
},
platformId: this.$store.getters.platformId,
regionCode: this.selectResult.areaCodeList.length > 0 ? this.selectResult.areaCodeList[this.selectResult.areaCodeList.length - 1] : '',
warrantStatus: this.selectResult.warrantStatus,
}
let loadingInstance = Loading.service({fullscreen: true, text: '车辆列表正在导出,请稍后'});
downLoadVehicle(json).then(res => {
let blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
var link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = '车辆列表.xls'
link.click()
loadingInstance.close()
}).catch(err => {
this.$message.error('导出失败')
loadingInstance.close()
})
},
delCAar(row) {
this.$confirm(`确定删除该(${row.plateNumber})该车辆相关信息, 删除后不可撤回,请谨慎操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then((da) => {
let json = {
platenumber: row.plateNumber
}
......
......@@ -2,29 +2,39 @@
<div>
<el-card class="box-card">
<el-row>
<div class="title-left">
车辆信息
<div style="display: flex;
align-items: center;
margin: 8px 0;">
<div class="title-left">
车辆信息
</div>
<div style="margin-left:10px">
<el-button style="pointer-events: none;"
:type="dataSource.platformStatus == 1 ? 'primary' : dataSource.platformStatus == 2 ? 'danger' : 'success'"
size="mini" plain>
{{ dataSource.platformStatus == 1 ? '已达标' : dataSource.platformStatus == 2 ? '已驳回' : '待评定' }}
</el-button>
</div>
<div style="margin-left:10px">
<el-button style="pointer-events: none;"
:type="dataSource.auditState == 1 ? 'primary' : dataSource.auditState == 2 ? 'danger' : 'success'"
size="mini" plain>
{{ dataSource.auditState == 1 ? '已通过' : dataSource.auditState == 2 ? '已驳回' : '未审核' }}
</el-button>
</div>
</div>
</el-row>
<div class="top-part">
<div class="top-part-left" style="display: flex">
<img
:src="
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg
"
alt=""
style="margin-right: 20px"
/>
<el-image style="width: 100px; height: 100px; margin-right: 50px" v-if="!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg" :src="!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg" :preview-src-list="srcList2"></el-image>
<div>
<h5 style="line-height: 30px">
<span>{{ dataSource.plateNumber }}</span
><span style="padding: 0 5px"></span>
<el-tag
><span>{{
dataSource.commercialType == "1" ? "加盟车辆" : "自营车辆"
}}</span></el-tag
>
<span>{{ dataSource.plateNumber }}</span><span style="padding: 0 5px"></span>
<el-tag><span>{{
dataSource.commercialType == "1" ? "加盟车辆" : "自营车辆"
}}</span></el-tag>
</h5>
<div style="line-height: 30px">
<span>绑定司机:{{ dataSource.bindingName }}</span>
......@@ -40,33 +50,25 @@
<span>所有人(车主):{{ dataSource.ownerName }}</span>
</div>
<div style="line-height: 30px">
<span
>核定载人数:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.seats
}}</span
>
<span>核定载人数:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.seats
}}</span>
</div>
<div style="line-height: 30px">
<span
>品牌型号:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.vehicleType
}}</span
>
<span>品牌型号:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.vehicleType
}}</span>
</div>
<div style="line-height: 30px">
<span
>车辆颜色:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.vehicleColor
}}</span
>
<span>车辆颜色:{{
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.vehicleColor
}}</span>
</div>
<div style="line-height: 30px">
<span
>车型:<span v-text="carTypeText(dataSource.vehicleType)"></span
></span>
<span>车型:<span v-text="carTypeText(dataSource.vehicleType)"></span></span>
<!-- <el-button
style="margin-left: 10px"
type="text"
......@@ -79,18 +81,11 @@
<div class="top-part-right">
<div style="margin-right: 20px">行驶证</div>
<div>
<el-image
style="width: 100px; height: 100px; margin-right: 50px"
v-if="dataSource.vehcileLicenseJson"
:src="dataSource.vehcileLicenseJson.vehicleIco"
:preview-src-list="srcList"
></el-image>
<el-image
style="width: 100px; height: 100px"
v-if="dataSource.vehcileLicenseJson"
:src="dataSource.vehcileLicenseJson.vehicleIcocopy"
:preview-src-list="srcList1"
></el-image>
<el-image style="width: 100px; height: 100px; margin-right: 50px"
v-if="dataSource.vehcileLicenseJson" :src="dataSource.vehcileLicenseJson.vehicleIco"
:preview-src-list="srcList"></el-image>
<el-image style="width: 100px; height: 100px" v-if="dataSource.vehcileLicenseJson"
:src="dataSource.vehcileLicenseJson.vehicleIcocopy" :preview-src-list="srcList1"></el-image>
</div>
</div>
</div>
......@@ -103,32 +98,16 @@
</div>
</el-row>
<div style="max-height: 300px;overflow-y: auto;margin-top: 10px;">
<el-table
:data="serviceProduct"
size="small"
border
stripe
:header-cell-style="{'background-color': '#0099ff', color: '#ffffff'}"
style="width: 99%; margin: 0 auto 10px;"
>
<el-table :data="serviceProduct" size="small" border stripe
:header-cell-style="{ 'background-color': '#0099ff', color: '#ffffff' }"
style="width: 99%; margin: 0 auto 10px;">
<el-table-column fixed align="center" prop="carType" label="业务类型">
<template slot-scope="{ row }">
<span
v-if="!!row.runType"
v-text="runTypeText(row.runType)"
></span>
<span v-if="!!row.runType" v-text="runTypeText(row.runType)"></span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="productName"
label="产品名称"
></el-table-column>
<el-table-column
align="center"
prop="productLine"
label="产品线路"
></el-table-column>
<el-table-column align="center" prop="productName" label="产品名称"></el-table-column>
<el-table-column align="center" prop="productLine" label="产品线路"></el-table-column>
<el-table-column align="center" prop="driverNum" label="出车类型">
<template slot-scope="{ row }">
<span v-text="reserveTypeText(row.reserveType)"></span>
......@@ -146,57 +125,139 @@
</el-row>
<el-form class="form-n-bottom" label-position="right" label-width="180px">
<el-form-item label="定位装置品牌:">
{{dataSource.deviceInfo ? dataSource.deviceInfo.gpsBrand : '/'}}
{{ dataSource.deviceInfo ? dataSource.deviceInfo.gpsBrand : '/' }}
</el-form-item>
<el-form-item label="定位装置型号:">
{{dataSource.deviceInfo ? dataSource.deviceInfo.model : '/'}}
{{ dataSource.deviceInfo ? dataSource.deviceInfo.model : '/' }}
</el-form-item>
<el-form-item label="设备ID号:">
{{dataSource.deviceInfo ? dataSource.deviceInfo.deviceId : '/'}}
{{ dataSource.deviceInfo ? dataSource.deviceInfo.deviceId : '/' }}
</el-form-item>
<el-form-item label="设备IMEI号:">
{{dataSource.deviceInfo ? dataSource.deviceInfo.imei : '/'}}
{{ dataSource.deviceInfo ? dataSource.deviceInfo.imei : '/' }}
</el-form-item>
<el-form-item label="定位装置安装时间:">
{{dataSource.deviceInfo ? dateTime2Str(dataSource.deviceInfo.setupDate, 'yyyy-mm-dd hh:mm:ss') : '/'}}
{{ dataSource.deviceInfo ? dateTime2Str(dataSource.deviceInfo.setupDate, 'yyyy-mm-dd hh:mm:ss') : '/' }}
</el-form-item>
</el-form>
</el-card>
<el-card class="box-card"
style="margin: 20px 0"
>
<el-row>
<div class="title-left">
经营信息
<el-card class="box-card" style="margin: 20px 0" v-if="!isEmptyObject(certificationInfo)">
<div slot="header" class="clearfix" style=" display: flex;align-items: center;justify-content: start;">
<span>经营信息:</span>
<div style="margin-left:10px">
<el-button style="pointer-events: none;"
:type="certificationInfo.status == 1 ? 'primary' : certificationInfo.status == 2 ? 'danger' : 'success'"
size="mini" plain>
{{ certificationInfo.status == 1 ? '已通过' : certificationInfo.status == 2 ? '已驳回' : '未审核' }}
</el-button>
</div>
</el-row>
<div class="img-text-part" style="margin-top: 5px;">
<div style="display: block;">
<div>网络预约出租汽车运输证:</div>
</div>
<div class="img-text-part">
<div>
<span>网络预约出租汽车运输证:</span>
<div>
<el-image
style="width: 200px; height: 130px; margin-right: 20px"
:src="certificationInfo.imgUrl"
:preview-src-list="srcList5"
></el-image>
<el-image style="width: 100px; height: 100px; margin-right: 50px" :src="certificationInfo.imgUrl"
:preview-src-list="srcList5"></el-image>
</div>
</div>
<div>
<el-form label-width="150px" label-position="right">
<el-form-item label="号牌号码:">
{{ certificationInfo.plateNumber ? certificationInfo.plateNumber : '/' }}
</el-form-item>
<el-form-item label="座位:">
{{ certificationInfo.seating ? certificationInfo.seating : '/' }}
</el-form-item>
<el-form-item label="运营期限:">
{{ certificationInfo.validTime ? (certificationInfo.validTime | dateFilter) : '/'}}
</el-form-item>
</el-form>
<p>
<span>许可证号:</span><span>{{ certificationInfo.warrantNo }}</span>
</p>
<p>
<span>经营范围:</span><span>{{ certificationInfo.businessScope || '/' }}</span>
</p>
<p>
<span>发证机构:</span><span>{{ certificationInfo.certificationMechanism || '/' }}</span>
</p>
<p>
<span>发证日期:</span><span>{{ certificationInfo.getTime | dateFilter('2') }}</span>
</p>
<p>
<span>有效起止日期:</span><span>{{ certificationInfo.validStartTime | dateFilter('2') }}-{{
certificationInfo.validTime | dateFilter('2') }}</span>
</p>
</div>
</div>
</el-card>
<div style="display: flex;align-items: center;justify-content: space-between;">
<el-card class="box-card" style="width:calc(50% - 10px);min-height: 180px;"
>
<div slot="header" class="clearfix" style=" display: flex;align-items: center;justify-content: space-between;">
<span>年检信息:</span>
</div>
<div class="img-text-part">
<div>
<!-- {{ dataSource }} -->
</div>
<div>
<p>
<span>检修结果:</span><span>{{ dataSource.fixState * 1 == 1 ? '已检修' : dataSource.fixState * 1 == 2 ? '未知' : '未检修' }}</span>
</p>
<p>
<span>年度审验状态:</span><span>{{ dataSource.checkState * 1 == 1 ? '审验通过' : dataSource.checkState * 1 == 2 ? '审验未通过' : '未审验'
}}</span>
</p>
<p v-if="!dataSource.nextFixDate">
<span>下次年检日期:</span><span>{{ '/' }}</span>
</p>
<p v-else>
<span>下次年检日期:</span><span>{{ dataSource.nextFixDate | dateFilter('2') }}</span>
</p>
</div>
</div>
</el-card>
<el-card class="box-card" style="width:calc(50% - 10px);min-height: 180px;"
>
<div slot="header" class="clearfix" style=" display: flex;align-items: center;justify-content: start;">
<span>保险信息:</span>
<el-button :type="insurance.insurExp>=new Date().getTime()?'primary':'warning'" size="mini" plain style="margin-left: 10px;">{{insurance.insurExp>=new Date().getTime()?'生效中':'已过期'}}</el-button>
</div>
<div class="img-text-part">
<div>
</div>
<div>
<p>
<span>投保企业:</span><span>{{ insurance.insurCom||'/' }}</span>
</p>
<p>
<span>保险类型:</span><span>{{ insurance.insurType || '/' }}</span>
</p>
<p>
<span>保险单号:</span><span>{{ insurance.insurNum || '/' }}</span>
</p>
<p v-if="!insurance.insurExp">
<span>截至日期:</span><span>{{ '/' }}</span>
</p>
<p v-else>
<span>截至日期:</span><span>{{ insurance.insurExp | dateFilter('2') }}</span>
</p>
<p>
<span>保额:</span><span>{{ insurance.insurCount||'/' }}</span>
</p>
</div>
</div>
</el-card>
</div>
</div>
</template>
......@@ -211,6 +272,7 @@ import {
getDrivertransportationAudit,
updateCarInfo,
driverDim,
driverinsurance
} from "@/port/order-select";
import JudgeType from "@/mixins/judgeType";
......@@ -219,6 +281,7 @@ export default {
mixins: [JudgeType],
data() {
return {
insurance:{},
loading: false,
certificationFlag: false,
editCarTypeDialogFlag: false, // 车型
......@@ -263,6 +326,13 @@ export default {
await this.carInfoFormIdFun();
},
methods: {
getdriverinsurance(p){
driverinsurance(p).then((res) => {
if (res.status == 200) {
this.insurance=res.data
}
});
},
getAllCarTYpeListFun() {
getXoadodAllCarTYpeList().then((res) => {
if (res.status == 200) {
......@@ -325,9 +395,23 @@ export default {
this.srcList.push(this.dataSource.vehcileLicenseJson.vehicleIco);
this.srcList1.push(this.dataSource.vehcileLicenseJson.vehicleIcocopy);
this.srcList2.push(this.dataSource.vehcileLicenseJson.carimg);
this.getDrivertransportationWarrantFun(this.dataSource.plateNumber);
this.getdriverinsurance(this.dataSource.plateNumber)
}
});
},
async getDrivertransportationWarrantFun(plateNumber) {
let obj = {
plateNumber: plateNumber,
};
let data = await getDrivertransportationWarrant(obj);
if (data.status == 200) {
this.certificationInfo = data.data;
// let arr=[];
this.srcList5 = [data.data.imgUrl];
}
console.info(data);
},
VehicleAndProductFun() {
VehicleAndProduct(
this.carId,
......@@ -394,7 +478,7 @@ export default {
justify-content: space-between;
margin-bottom: 10px;
& > div {
&>div {
flex: 1;
}
......@@ -412,8 +496,7 @@ export default {
display: flex;
width: 50%;
div {
}
div {}
img {
display: block;
......@@ -436,12 +519,12 @@ export default {
.img-text-part {
display: flex;
justify-content: space-between;
justify-content: start;
& > div:nth-child(1) {
&>div:nth-child(1) {
display: flex;
& > span {
&>span {
display: inline-block;
width: 100px;
}
......@@ -454,14 +537,14 @@ export default {
}
}
& > div:nth-child(2) {
&>div:nth-child(2) {
width: 50%;
p {
margin-bottom: 5px;
}
& > p > span:nth-child(1) {
&>p>span:nth-child(1) {
display: inline-block;
width: 120px;
text-align: right;
......@@ -469,6 +552,7 @@ export default {
}
}
}
.form-n-bottom {
.el-form-item {
margin-bottom: 0;
......
......@@ -60,6 +60,7 @@
</el-col>
<el-col :span="8" :offset="8">
<el-button type="primary" size="mini" @click="searchByInfo">查询</el-button>
<el-button type="primary" size="mini" @click="ListToExcel">导出</el-button>
</el-col>
</el-row>
</el-form>
......@@ -183,12 +184,14 @@
import Selects from '@/components/Selects';
import dataSource from "@/libs/screen";
import JudgeType from "@/mixins/judgeType";
import { Loading } from 'element-ui'
import {
getAllprovinceAndCity,
} from "@/port/set-request";
import {
driverQuery,
getAllTransport
getAllTransport,
downLoadDriver
} from "@/port/carOrDriver/carOrDriver";
export default {
......@@ -256,6 +259,46 @@ export default {
await this.initTable();
},
methods: {
ListToExcel(){
if (this.total <= 0) {
this.$message.error("导出的数据不存在")
return
}
if (this.total >= 15000) {
this.$message.error("导出的数据量超过15000条会导致服务器带宽异常,请分批导出")
return
}
let json = {
commercialTypeList: this.selectResult.auditStatusList,
operateOrgIdList: this.selectResult.transportList,
runStatus: this.selectResult.serviceStatusList,
serviceStatus: this.selectResult.runStatus,
driverTypeList: this.selectResult.driverTypeList,
searchStr: this.selectResult.searchStr,
pageVo: {
page: this.page,
rows: this.size
},
platformId: this.$store.getters.platformId,
operateCode: this.selectResult.areaCodeList.length > 0 ? this.selectResult.areaCodeList[this.selectResult.areaCodeList.length - 1] : '',
networkPaperStatus: this.selectResult.networkPaperStatus,
};
let loadingInstance = Loading.service({fullscreen: true, text: '司机列表正在导出,请稍后'});
downLoadDriver(json).then(res => {
let blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
var link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = '司机列表.xls'
link.click()
loadingInstance.close()
}).catch(err => {
this.$message.error('导出失败')
loadingInstance.close()
})
},
carDetail(row) {
this.$router.push({path: '/transports/driver-detail', query: {id: row.userId, type: row}})
},
......
......@@ -155,57 +155,136 @@
</el-card>
<!-- 驾驶证信息-->
<el-card class="box-card" style="margin-top: 20px">
<el-row>
<div class="title-left">
驾驶证信息
<div slot="header" class="clearfix" style="
display: flex;
align-items: center;
justify-content: start;
">
<span>驾驶证信息</span>
<div style="margin-left:10px"> <el-button style="pointer-events: none;" :type="tableData.auditStatus == 1 ? 'primary' : tableData.auditStatus == 2 ? 'danger' : 'success'" size="mini" plain> {{ tableData.auditStatus == 1 ? '已通过' : tableData.auditStatus == 2 ? '已驳回' : '未审核' }} </el-button> </div>
</div>
<div class="img-text-part">
<div>
<span>驾驶证:</span>
<div v-if="tableData.driverLicenseJson">
<el-image v-if="tableData.driverLicenseJson.certificatesIco"
style="width: 100px; height: 100px; margin-right: 20px" :src="tableData.driverLicenseJson.certificatesIco"
:preview-src-list="srcList"></el-image>
<el-image v-if="tableData.driverLicenseJson.certificatesIcocopy" style="width: 100px; height: 100px"
:src="tableData.driverLicenseJson.certificatesIcocopy" :preview-src-list="srcList1"></el-image>
</div>
</div>
<div v-if="tableData.driverLicenseJson" style="flex: 1;">
<p>
<span>驾驶证号:</span><span>{{ tableData.driverLicenseJson.CertificateNum }}</span>
</p>
<p>
<span>初次领证日期:</span><span>{{ tableData.driverLicenseJson.licenseTime }}</span>
</p>
<p>
<span>准驾车型:</span><span>{{ tableData.driverLicenseJson.licenseType }}</span>
</p>
<p>
<span>性别:</span><span>{{ tableData.driverLicenseJson.driverGender || '/' }}</span>
</p>
<p>
<span>民族:</span><span>{{ tableData.driverLicenseJson.nation || '/' }}</span>
</p>
<p>
<span>有效期:</span><span>{{ tableData.driverLicenseJson.licenseOf || tableData.driverLicenseJson.licenseTime }} -
{{ tableData.driverLicenseJson.timeEnd || '/' }}</span>
</p>
<p>
<span>档案编号:</span><span>{{ tableData.driverLicenseJson.CertificateNum }}</span>
</p>
<p>
<span>住址:</span><span>{{ tableData.driverLicenseJson.censusAddress || '/' }}</span>
</p>
</div>
</div>
</el-card>
<el-card class="box-card" style="margin: 20px 0" v-if="!isEmptyObject(certificationInfo)">
<div slot="header" class="clearfix" style="
display: flex;
align-items: center;
justify-content: start;
">
<span>网约车资格证:</span>
<div style="margin-left:10px"> <el-button style="pointer-events: none;" :type="certificationInfo.status == 1 ? 'primary' : certificationInfo.status == 2 ? 'danger' : 'success'" size="mini" plain> {{ certificationInfo.status == 1 ? '已通过' : certificationInfo.status == 2 ? '已驳回' : '未审核' }} </el-button> </div>
</div>
<div class="img-text-part">
<div>
<span>网约车资格证:</span>
<div>
<el-image v-if="certificationInfo.imgUrl" style="width: 100px; height: 100px; margin-right: 20px"
:src="certificationInfo.imgUrl" :preview-src-list="srcList5"></el-image>
</div>
</div>
<div style="flex: 1;
margin-left: 50px;">
<el-tabs tab-position="left" v-if="JSON.parse(certificationInfo.type).length > 0">
<el-tab-pane :label="item.category" v-for="item in JSON.parse(certificationInfo.type)" :key="item.value"
:value="item.value">
<div style="display: flex;align-items: start;flex-direction: column;">
<div class="certificationInfoBox">
<div>许可证号:</div>
<div>{{ certificationInfo.networkPapersNo }}</div>
</div>
</el-row>
<div class="img-text-part" style="margin-top: 10px;">
<div>
<span>驾驶证:</span>
<div v-if="tableData.driverLicenseJson">
<el-image
v-if="tableData.driverLicenseJson.certificatesIco"
style="width: 100px; height: 100px; margin-right: 20px"
:src="tableData.driverLicenseJson.certificatesIco"
:preview-src-list="srcList"
></el-image>
<el-image
v-if="tableData.driverLicenseJson.certificatesIcocopy"
style="width: 100px; height: 100px"
:src="tableData.driverLicenseJson.certificatesIcocopy"
:preview-src-list="srcList1"
></el-image>
</div>
<div class="certificationInfoBox">
<div>发证日期:</div>
<div>{{ item.timeDate || '/' }}</div>
</div>
<div v-if="tableData.driverLicenseJson">
<p>
<span>驾驶证号:</span
><span>{{ tableData.driverLicenseJson.CertificateNum }}</span>
</p>
<p>
<span>初次领证日期:</span
><span>{{ tableData.driverLicenseJson.licenseTime }}</span>
</p>
<p>
<span>准驾车型:</span
><span>{{ tableData.driverLicenseJson.licenseType }}</span>
</p>
<p>
<span>截止日期:</span
><span>{{ tableData.driverLicenseJson.timeEnd }}</span>
</p>
<p>
<span>档案编号:</span
><span>{{ tableData.driverLicenseJson.CertificateNum }}</span>
</p>
<div class="certificationInfoBox">
<div>发证机构:</div>
<div>{{ item.trspost || '/' }}</div>
</div>
</div>
<div v-if="this.type == 0" class="car-detail-button">
<el-button @click="clickQD">驳回</el-button>
<el-button type="primary" @click="clickQX">通过审核</el-button>
</div>
</el-card>
<div class="certificationInfoBox">
<div>初次领取资格证日期:</div>
<div>{{ item.datestar || '/' }}</div>
</div>
<div class="certificationInfoBox">
<div>资格证有效起止日期:</div>
<div>{{ item.timeSta || item.datestar }}-{{ item.dateEnd }}</div>
</div>
</div>
</el-tab-pane>
</el-tabs>
<div v-else>
<p>
<span>姓名:</span><span>{{ certificationInfo.dirverName }}</span>
</p>
<p>
<span>证号:</span><span>{{ certificationInfo.networkPapersNo }}</span>
</p>
<p>
<span>有效起始日期:</span><span>{{ !certificationInfo.getTime ? '/' : (certificationInfo.getTime | dateFilter)
}}</span>
</p>
<p>
<span>有效期限:</span><span>{{ !certificationInfo.validTime ? '/' : (certificationInfo.getTime | dateFilter)
}}</span>
</p>
</div>
</div>
</div>
<!-- <div v-if="certificationInfo.status == 0" class="car-detail-button">
<el-button @click="clickQD('certification')" size="small">驳回
</el-button>
<el-button type="primary" @click="clickQX('certification')" size="small">通过审核
</el-button>
</div> -->
</el-card>
<!-- 暂无接口-->
<el-card
class="box-card"
......@@ -790,4 +869,18 @@ export default {
line-height: 30px;
}
}
.certificationInfoBox {
display: flex;
align-items: center;
padding: 8px;
div {
// padding: 0 10px;
padding-left: 10px;
}
}
.certificationInfoBox>div:nth-child(2) {
padding: 0 5px;
}
</style>
......@@ -8,8 +8,8 @@
<el-row style="margin-top: 10px;">
<el-form>
<el-col :span="12">
<el-input v-model="form.searchParam" placeholder="请输入运力方简称/营业执照名称" size="mini" style="width: 90%;" suffix-icon="el-icon-search"></el-input>
<el-col :span="6">
<el-input v-model="form.searchParam" placeholder="请输入运力方简称/营业执照名称" size="mini" style="width: 90%" suffix-icon="el-icon-search"></el-input>
</el-col>
<el-col :span="8">
<Selects :options="platformList" sizeType="mini"
......
......@@ -428,7 +428,7 @@ export default {
],
modelName: [
{ required: true, message: '型号名称', trigger: 'blur' },
{ min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' },
{ min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' },
],
carType: [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment