Commit de689fa6 by 吕海涛

修改bug

parent 9b223baa
import {post, get} from "@/request/http"; import { post, get } from "@/request/http";
/* /*
*获取订单详情 *获取订单详情
*/ */
export function getOrderInfoApi(u, data) { export function getOrderInfoApi(u, data) {
const url = u +'/xoado/order/select'; const url = u + '/xoado/order/select';
return post(url, data) return post(url, data)
} }
/* /*
*删除订单 *删除订单
*/ */
export function delDispatchDataApi(id) { export function delDispatchDataApi(id) {
const url = process.env.VUE_APP_BASE_API6 +`/orderUnIfyReceipt/delDispatchData/${id}`; const url = process.env.VUE_APP_BASE_API6 + `/orderUnIfyReceipt/delDispatchData/${id}`;
return get(url, {}) return get(url, {})
} }
/* /*
*获取运单详情 *获取运单详情
*/ */
export function getWaybillInfoApi(data) { export function getWaybillInfoApi(data) {
const url = process.env.VUE_APP_BASE_API6 +'/new/waybill/obj'; const url = process.env.VUE_APP_BASE_API6 + '/new/waybill/obj';
return get(url, data) return get(url, data)
} }
/* /*
*获取商户订单 *获取商户订单
*/ */
export function paymentRecordApi(data) { export function paymentRecordApi(data) {
const url = process.env.VUE_APP_BASE_API6 +'/waybill/payment/record'; const url = process.env.VUE_APP_BASE_API6 + '/waybill/payment/record';
return get(url, data) return get(url, data)
} }
/* /*
*获取商户订单 *获取商户订单
*/ */
export function pushDriverApi(u, data) { export function pushDriverApi(data) {
const url = u +'/xoado/order/pushDriver'; const url = process.env.VUE_APP_BASE_API6 + '/new/waybill/pushDriverToBrand/waybillId';
return get(url, data) return post(url, data)
} }
/* /*
*运单强制完单 *运单强制完单
*/ */
export function forceFinishApi(data) { export function forceFinishApi(data) {
const url = process.env.VUE_APP_BASE_API6 +'/temporaryDispatch/forceFinish'; const url = process.env.VUE_APP_BASE_API6 + '/temporaryDispatch/forceFinish';
return get(url, data) return get(url, data)
} }
\ No newline at end of file
...@@ -19,8 +19,8 @@ export function updateBatchOrder(data) { ...@@ -19,8 +19,8 @@ export function updateBatchOrder(data) {
/* /*
*推送司机信息 *推送司机信息
*/ */
export function pushDriver(data) { export function pushDriver(u, data) {
const url = process.env.VUE_APP_BASE_API5 + `/xoado/order/pushDriver`; const url = u + '/xoado/order/pushDriver/orderId';
return post(url, data) return post(url, data)
} }
......
...@@ -34,6 +34,14 @@ const getters = { ...@@ -34,6 +34,14 @@ const getters = {
return [] return []
} }
}, },
orderDetail: state => {
let arr = Object.keys(state.business.orderDetail);
if (arr.length > 0) {
return JSON.parse(state.business.orderDetail)
} else {
return {}
}
},
areaCodeObj: state => { areaCodeObj: state => {
let arr = Object.keys(state.business.areaCodeObj); let arr = Object.keys(state.business.areaCodeObj);
if (arr.length > 0) { if (arr.length > 0) {
......
...@@ -130,6 +130,9 @@ export default { ...@@ -130,6 +130,9 @@ export default {
} }
}, },
created() { created() {
console.log(this.searchInfo);
}, },
filters: { filters: {
preDate(v) { preDate(v) {
...@@ -156,6 +159,7 @@ export default { ...@@ -156,6 +159,7 @@ export default {
}, },
handledbClick(row) { handledbClick(row) {
let search = this.searchInfo; let search = this.searchInfo;
this.$store.commit('business/SET_ORDERDETAIL', JSON.stringify({brandUrl: search.brandUrl, platformId: JSON.parse(search.platformId).platformId})); this.$store.commit('business/SET_ORDERDETAIL', JSON.stringify({brandUrl: search.brandUrl, platformId: JSON.parse(search.platformId).platformId}));
this.$router.push({path: '/business/complaint-detail', query: {id: row.complaintId, orderId: row.orderId}}) this.$router.push({path: '/business/complaint-detail', query: {id: row.complaintId, orderId: row.orderId}})
}, },
......
<template> <template>
<div style="padding-left: 5px;border-radius: 5px;position:relative;background-color: #ffffff;"> <div
<el-row style="background-color: #ffffff;padding: 10px 0 0 20px;"> style="
padding-left: 5px;
border-radius: 5px;
position: relative;
background-color: #ffffff;
"
>
<el-row style="background-color: #ffffff; padding: 10px 0 0 20px">
<el-radio-group v-model="form.platformId" @change="changePlatform"> <el-radio-group v-model="form.platformId" @change="changePlatform">
<el-radio-button <el-radio-button
v-for="(item, index) in brandLists" v-for="(item, index) in brandLists"
:label="item.id" :label="item.id"
:key="'platformId'+index" :key="'platformId' + index"
> >
{{ item.name }} {{ item.name }}
</el-radio-button> </el-radio-button>
</el-radio-group> </el-radio-group>
</el-row> </el-row>
<el-tabs style="padding-left: 20px;" v-model="form.runType" type="card" @tab-click="handleClick"> <el-tabs
style="padding-left: 20px"
v-model="form.runType"
type="card"
@tab-click="handleClick"
>
<el-tab-pane <el-tab-pane
style="padding: 0 10px;" style="padding: 0 10px"
v-for="(item, index) in tabs" v-for="(item, index) in tabs"
:key="index" :key="index"
:label="item.label" :label="item.label"
:name="item.runType"> :name="item.runType"
>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -25,58 +38,79 @@ ...@@ -25,58 +38,79 @@
<el-form :inline="true" v-model="form"> <el-form :inline="true" v-model="form">
<el-row class="row-d"> <el-row class="row-d">
<el-col :span="8"> <el-col :span="8">
<el-input style="max-width: 300px;" placeholder="请输入手机号/运单编号/订单编号" <el-input
v-model="form.orderInfo"></el-input> style="max-width: 300px"
placeholder="请输入手机号/运单编号/订单编号"
v-model="form.orderInfo"
></el-input>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<Selects :options="dataSource.localTransportId" <Selects
:options="dataSource.localTransportId"
:selectName="'承接运力:'" :selectName="'承接运力:'"
:type="'transportIds'" :type="'transportIds'"
@changeList="handlechangeList"></Selects> @changeList="handlechangeList"
></Selects>
</el-col> </el-col>
<el-col :span="8" style="font-size: 14px;"> <el-col :span="8" style="font-size: 14px">
控诉时间: 控诉时间:
<el-date-picker <el-date-picker
style="max-width: 225px;margin-left: 11px;" style="max-width: 225px; margin-left: 11px"
v-model="form.dateTime" v-model="form.dateTime"
type="daterange" type="daterange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="row-d"> <el-row class="row-d">
<el-col :span="8"> <el-col :span="8">
<Selects :options="dataSource.complainCategory" <Selects
:options="dataSource.complainCategory"
:selectName="'控诉类别:'" :selectName="'控诉类别:'"
:type="'complainCategory'" :type="'complainCategory'"
@changeList="handlechangeList"></Selects> @changeList="handlechangeList"
></Selects>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<Selects :options="dataSource.complainWay" <Selects
:options="dataSource.complainWay"
:selectName="'控诉方式:'" :selectName="'控诉方式:'"
:type="'complainWay'" :type="'complainWay'"
@changeList="handlechangeList"></Selects> @changeList="handlechangeList"
></Selects>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<Selects :options="dataSource.orderSourceListNew" <Selects
:options="dataSource.orderSourceListNew"
:selectName="'订单来源:'" :selectName="'订单来源:'"
:type="'orderSourceList'" :type="'orderSourceList'"
@changeList="handlechangeList"></Selects> @changeList="handlechangeList"
></Selects>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="row-d"> <el-row class="row-d">
<el-col :span="8"> <el-col :span="8">
<Selects :options="dataSource.processingStatus" <Selects
:options="dataSource.processingStatus"
:selectName="'处理状态:'" :selectName="'处理状态:'"
:type="'processingStatus'" :type="'processingStatus'"
@changeList="handlechangeList"></Selects> @changeList="handlechangeList"
></Selects>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-button style="padding: 8px 20px;" type="primary" @click="searchByInfo">查询</el-button> <el-button
<el-button style="padding: 8px 20px;" type="primary" @click="exportB">批量导出excel</el-button> style="padding: 8px 20px"
type="primary"
@click="searchByInfo"
>查询</el-button
>
<el-button style="padding: 8px 20px" type="primary" @click="exportB"
>批量导出excel</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -86,82 +120,82 @@ ...@@ -86,82 +120,82 @@
</template> </template>
<script> <script>
import Selects from '@/components/Selects' import Selects from "@/components/Selects";
import JudgeType from '@/mixins/judgeType' import JudgeType from "@/mixins/judgeType";
import {exportComplaint} from "@/port/complaint/complaint"; import { exportComplaint } from "@/port/complaint/complaint";
import {Loading} from "element-ui"; import { Loading } from "element-ui";
import itemList from "./components/item" import itemList from "./components/item";
import {platformInfosList} from "@/port/platfrom/setting"; import { platformInfosList } from "@/port/platfrom/setting";
import {getAllTransport} from "@/port/set-request"; import { getAllTransport } from "@/port/set-request";
import dataSource from "@/libs/screen"; import dataSource from "@/libs/screen";
import {mapGetters} from "vuex"; import { mapGetters } from "vuex";
export default { export default {
name: "index", name: "index",
components: { components: {
itemList, itemList,
Selects Selects,
}, },
computed: { computed: {
...mapGetters(['platformId']), ...mapGetters(["platformId"]),
brandLists() { brandLists() {
let brandList = this.$store.getters.brandList; let brandList = this.$store.getters.brandList;
if(brandList.length === 0) { if (brandList.length === 0) {
return new Promise(() =>{ return new Promise(() => {
this.$store.dispatch('business/getBrandList') this.$store.dispatch("business/getBrandList");
}) });
brandList = this.$store.getters.brandList; brandList = this.$store.getters.brandList;
} }
brandList = brandList.filter(item => { brandList = brandList.filter((item) => {
return item.brandUrl return item.brandUrl;
}) });
brandList = brandList.map(item => { brandList = brandList.map((item) => {
return { return {
id: JSON.stringify(item), id: JSON.stringify(item),
name: item.brandName name: item.brandName,
} };
}) });
return brandList; return brandList;
} },
}, },
watch: { watch: {
async brandLists(v){ async brandLists(v) {
if(v.length > 0) { if (v.length > 0) {
this.getPlatformInfo(); this.getPlatformInfo();
this.getTransport(); this.getTransport();
} }
} },
}, },
mixins: [JudgeType], mixins: [JudgeType],
data() { data() {
return { return {
form: { form: {
orderInfo: '', orderInfo: "",
dateTime: [], dateTime: [],
platformId: '', platformId: "",
orderSourceList: dataSource.applyOrderSourceList, orderSourceList: dataSource.applyOrderSourceList,
complainWay: ['1', '2'], complainWay: ["1", "2"],
complainCategory: ['1', '2'], complainCategory: ["1", "2"],
processingStatus: ['0', '1', '2'], processingStatus: ["0", "1", "2"],
transportIds: [], transportIds: [],
brandUrl: '', brandUrl: "",
runType: '1' runType: "1",
}, },
dataSource: dataSource, dataSource: dataSource,
platformList: [], platformList: [],
tabs: [ tabs: [
{label: '同城打车', runType: '1'}, { label: "同城打车", runType: "1" },
{label: '跨城约车', runType: '2'}, { label: "跨城约车", runType: "2" },
{label: '接送用车', runType: '3'}, { label: "接送用车", runType: "3" },
{label: '包车', runType: '6'}, { label: "包车", runType: "6" },
{label: '货运', runType: '5'} { label: "货运", runType: "5" },
], ],
} };
}, },
created() { created() {
// this.getPlatformFun(); // this.getPlatformFun();
if(this.brandLists.length > 0) { if (this.brandLists.length > 0) {
this.getPlatformInfo(); this.getPlatformInfo();
this.getTransport(); this.getTransport();
} }
...@@ -169,31 +203,44 @@ export default { ...@@ -169,31 +203,44 @@ export default {
methods: { methods: {
getPlatformInfo() { getPlatformInfo() {
this.dataSource.localOrgId = this.brandLists; this.dataSource.localOrgId = this.brandLists;
this.form.platformId = this.brandLists.length > 0 ? this.brandLists[0].id : ''; this.form.platformId =
this.brandUrl = this.brandLists.length > 0 ? JSON.parse(this.brandLists[0].id).brandUrl : ''; this.brandLists.length > 0 ? this.brandLists[0].id : "";
this.plat = this.brandLists.length > 0 ? JSON.parse(this.brandLists[0].id).platformId : ''; this.brandUrl =
this.brandLists.length > 0
? JSON.parse(this.brandLists[0].id).brandUrl
: "";
this.plat =
this.brandLists.length > 0
? JSON.parse(this.brandLists[0].id).platformId
: "";
this.form.brandUrl = this.brandUrl;
}, },
getPlatformFun() { getPlatformFun() {
platformInfosList({}).then(res => { platformInfosList({})
.then((res) => {
if (res.status == 200) { if (res.status == 200) {
let transportIdListArr = []; let transportIdListArr = [];
res.data.forEach((item, index) => { res.data.forEach((item, index) => {
if (item.brandUrl) { if (item.brandUrl) {
transportIdListArr.push({id: JSON.stringify(item), name: item.brandName}) transportIdListArr.push({
id: JSON.stringify(item),
name: item.brandName,
});
} }
}) });
this.dataSource.localOrgId = transportIdListArr; this.dataSource.localOrgId = transportIdListArr;
this.platformList = transportIdListArr; this.platformList = transportIdListArr;
this.form.platformId = transportIdListArr.length > 0 ? transportIdListArr[0].id : ''; this.form.platformId =
this.form.brandUrl = sessionStorage.getItem('test') ? '' : JSON.parse(transportIdListArr[0].id).brandUrl; transportIdListArr.length > 0 ? transportIdListArr[0].id : "";
this.form.brandUrl = sessionStorage.getItem("test")
? ""
: JSON.parse(transportIdListArr[0].id).brandUrl;
this.getTransport(); this.getTransport();
} }
}) })
.catch(() => { .catch(() => {});
})
}, },
changePlatform(v) { changePlatform(v) {
this.form.platformId = v; this.form.platformId = v;
...@@ -222,54 +269,56 @@ export default { ...@@ -222,54 +269,56 @@ export default {
rows: 9999, rows: 9999,
runType: [this.form.runType], runType: [this.form.runType],
queryParam: search.orderInfo, queryParam: search.orderInfo,
startTime: search.dateTime.length === 0 ? '' : search.dateTime[0], startTime: search.dateTime.length === 0 ? "" : search.dateTime[0],
endTime: search.dateTime.length === 0 ? '' : search.dateTime[1], endTime: search.dateTime.length === 0 ? "" : search.dateTime[1],
}; };
let loadingInstance = Loading.service({fullscreen: true}); let loadingInstance = Loading.service({ fullscreen: true });
let res = await exportComplaint(params, this.form.brandUrl) let res = await exportComplaint(params, this.form.brandUrl);
let blob = new Blob([res], {type: "application/vnd.openxmlformatsnh[nh-officedocument.spreadsheetml.sheet;charset=utf-8"}); let blob = new Blob([res], {
let link = document.createElement('a'); type: "application/vnd.openxmlformatsnh[nh-officedocument.spreadsheetml.sheet;charset=utf-8",
});
let link = document.createElement("a");
link.href = window.URL.createObjectURL(blob); link.href = window.URL.createObjectURL(blob);
loadingInstance.close(); loadingInstance.close();
link.download = `工单列表.xlsx`; link.download = `工单列表.xlsx`;
link.click(); link.click();
}, },
getTransport() { getTransport() {
let json = { let json = {
platformId: JSON.parse(this.form.platformId).platformId, platformId: JSON.parse(this.form.platformId).platformId,
page: 1, page: 1,
rows: 50 rows: 50,
} };
getAllTransport(json, this.form.brandUrl).then(res => { getAllTransport(json, this.form.brandUrl).then((res) => {
if (res.status == 200) { if (res.status == 200) {
let datas = res.data.content; let datas = res.data.content;
let transportIdList = []; let transportIdList = [];
let transportIdListArr = []; let transportIdListArr = [];
datas.forEach((item, index) => { datas.forEach((item, index) => {
transportIdListArr.push({id: String(item.transportId), name: item.transportName}) transportIdListArr.push({
transportIdList.push(String(item.transportId)) id: String(item.transportId),
}) name: item.transportName,
});
transportIdList.push(String(item.transportId));
});
this.form.transportIds = transportIdList; this.form.transportIds = transportIdList;
this.dataSource.localTransportId = transportIdListArr; this.dataSource.localTransportId = transportIdListArr;
this.$refs.itemList.initTable(this.form); this.$refs.itemList.initTable(this.form);
} }
}) });
}, },
handlechangeList(val) { handlechangeList(val) {
let source = JSON.parse(JSON.stringify(val)) let source = JSON.parse(JSON.stringify(val));
let type = source.type let type = source.type;
let data = this.filftersFun(source.data); let data = this.filftersFun(source.data);
this.form[type] = data; this.form[type] = data;
}, },
} },
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.EnterpriseInformation { .EnterpriseInformation {
::v-deep { ::v-deep {
.el-tabs__header { .el-tabs__header {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</el-row> </el-row>
<div style="margin-top: 10px; display: inline-block"> <div style="margin-top: 10px; display: inline-block">
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<div style="margin-right: 10px; display: flex; align-items: center"> <!-- <div style="margin-right: 10px; display: flex; align-items: center">
<span style="white-space: nowrap; margin-right: 10px"> <span style="white-space: nowrap; margin-right: 10px">
品牌: 品牌:
</span> </span>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
> >
</el-option> </el-option>
</el-select> </el-select>
</div> </div> -->
<el-input v-model="orderId" placeholder="请输入内容" style="width: 300px"></el-input> <el-input v-model="orderId" placeholder="请输入内容" style="width: 300px"></el-input>
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
</div> </div>
<el-row v-if="isShow"> <el-row v-if="isShow">
<el-button v-if="dataSource.waybillStatus == '1'" type="primary" style="padding: 5px 20px;" @click="synchronization">同步司机信息</el-button> <el-button v-if="!!dataSource.driverId " type="primary" style="padding: 5px 20px;" @click="synchronization">同步司机信息</el-button>
<el-button v-if="dataSource.waybillStatus >= 1 && dataSource.waybillStatus < 6" type="warning" style="padding: 5px 20px;" @click="force" :loading="forceLoading">强制完单</el-button> <el-button type="warning" style="padding: 5px 20px;" @click="force" :loading="forceLoading">强制完单</el-button>
</el-row> </el-row>
</el-row> </el-row>
...@@ -571,11 +571,10 @@ export default { ...@@ -571,11 +571,10 @@ export default {
pushDriver() { pushDriver() {
this.synchronizationLoading = true; this.synchronizationLoading = true;
let params = { let params = {
orderId: this.orderId, waybillId: this.orderId,
platformId: JSON.parse(this.platformInfo).platformId
}
pushDriverApi(JSON.parse(this.platformInfo).brandUrl, params) }
pushDriverApi( params)
.then((res) => { .then((res) => {
if(res.status === 200) { if(res.status === 200) {
this.$message.success('推送成功'); this.$message.success('推送成功');
......
...@@ -363,45 +363,32 @@ ...@@ -363,45 +363,32 @@
<div class="clearfix"> <div class="clearfix">
<span class="title">订单详情</span> <span class="title">订单详情</span>
<div> <div>
<el-button <el-button type="danger" size="mini" @click="cancelOrder()"
type="danger"
size="mini"
@click="cancelOrder()"
v-if="dataSource.status * 1 < 3"
>取消订单 >取消订单
</el-button> </el-button>
<el-button <!-- v-if="dataSource.status * 1 < 3" -->
type="primary" <el-button type="primary" size="mini" @click="driverInfo()" v-if="
size="mini" !!dataSource.driverId"
@click="driverInfo()"
v-if="
dataSource.status * 1 == 2 || dataSource.status * 1 == 1
"
>同步司机信息 >同步司机信息
</el-button> </el-button>
<el-button <!-- v-if="
type="warning" dataSource.status * 1 == 2 || dataSource.status * 1 == 1
size="mini" " -->
v-if=" <el-button type="warning" size="mini" @click="finishOrder()"
dataSource.status * 1 < 6 && dataSource.status * 1 >= 1
"
@click="finishOrder()"
>强制完单 >强制完单
</el-button> </el-button>
<!-- v-if="
<el-button dataSource.status * 1 < 6 && dataSource.status * 1 >= 1
type="warning" " -->
size="mini" <el-button type="warning" size="mini" @click="setpaystatus"
@click="setpaystatus" >更改支付状态
v-if=" </el-button>
<!-- v-if="
dataSource.status * 1 >= 6 && dataSource.status * 1 >= 6 &&
(dataSource.orderSource * 1 == 6 || (dataSource.orderSource * 1 == 6 ||
dataSource.orderSource * 1 == 4 || dataSource.orderSource * 1 == 4 ||
dataSource.orderSource * 1 == 7) dataSource.orderSource * 1 == 7)
" " -->
>更改支付状态
</el-button>
<!-- orderSource=6 4 7 --> <!-- orderSource=6 4 7 -->
<!-- 完单 未支付 自营 --> <!-- 完单 未支付 自营 -->
<!-- <span v-html="renderfun(dataSource)"></span> --> <!-- <span v-html="renderfun(dataSource)"></span> -->
...@@ -919,11 +906,12 @@ export default { ...@@ -919,11 +906,12 @@ export default {
}); });
}, },
pushDrive() { pushDrive() {
let u=JSON.parse( this.platformInfo).brandUrl
let json = { let json = {
platformId: this.driverdata.platformId, platformId: this.driverdata.platformId,
orderId: this.driverdata.orderId, orderId: this.driverdata.orderId,
}; };
pushDriver(json).then((res) => { pushDriver(u,json).then((res) => {
if (res.status == 200) { if (res.status == 200) {
this.driverStatus = false; this.driverStatus = false;
this.$message({ this.$message({
......
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