Commit 1156383c by 吕海涛

运营管理

parent d101f8f0
ENV = 'development'
# base api
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://aitransport.xoado.com'
VUE_APP_BASE_API5 = 'https://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_API4 = 'https://xiaoduochuxing.xoado.com'
VUE_APP_BASE_API5 = 'http://xoado.tpddns.cn:10001/brandtt'
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://xoado.tpddns.net:10001/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
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 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API12 = 'http://xoado.tpddns.net:10001'
VUE_APP_BASE_API13 = 'http://xoado.tpddns.net:10001/anc'
VUE_APP_BASE_API14 = 'http://xoado.tpddns.cn:10001/xoadotravel'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/brand'
......@@ -5,15 +5,15 @@ 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://aitransport.xoado.com'
VUE_APP_BASE_API5 = 'https://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_API4 = 'https://xiaoduochuxing.xoado.com'
VUE_APP_BASE_API5 = 'http://xoado.tpddns.cn:10001/brandtt'
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://xoado.tpddns.net:10001/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
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 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API12 = 'http://xoado.tpddns.net:10001'
VUE_APP_BASE_API13 = 'http://xoado.tpddns.net:10001/anc'
VUE_APP_BASE_API14 = 'http://xoado.tpddns.cn:10001/xoadotravel'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/brand'
import { post, get } from "@/request/http";
/*
*取消订单
*/
export function CancelOrder(id) {
const url = process.env.VUE_APP_BASE_API15 + `/xoado/order/cancelNew/${id}`;
return get(url, {})
}
/*
*强制完单
*/
export function updateBatchOrder(data) {
const url = process.env.VUE_APP_BASE_API15 + `/xoado/order/update/batch`;
return post(url, data)
}
/*
*推送司机信息
*/
export function pushDriver(data) {
const url = process.env.VUE_APP_BASE_API15 + `/xoado/order/pushDriver`;
return post(url, data)
}
/*
*根据订单号查询支付记录
*/
export function getpayInfo(data) {
const url = process.env.VUE_APP_BASE_API6 + `/waybill/payment/record?paymentId=&orderId=${data.orderId}&status=1`;
return get(url)
}
/*
*更改支付状态
*/
export function paymentchannel(data) {
const url = process.env.VUE_APP_BASE_API15 + `/xoado/order/channel/payment`;
return post(url, data)
}
\ No newline at end of file
......@@ -437,7 +437,7 @@ export function seachDividedInto(data) {
/* 投诉列表查询 */
export function getAllcomplainList(data, u) {
const url = (u ? u+'/brand' : targetBaseUrl) + '/complaint/condition'
const url = (u ? u + '/brand' : targetBaseUrl) + '/complaint/condition'
return post(url, data)
}
......@@ -1166,3 +1166,8 @@ export function PutvoicePage(data) {
const url = process.env.VUE_APP_BASE_API6 + `/dispatchconfig/driver/mesconf`
return put(url, data)
}
/* 投诉原因---修改 */
export function updateMobilenoCaptCha(data) {
const url = process.env.VUE_APP_BASE_API6 + `/driver/updateMobile/noCaptCha`
return put(url, data)
}
\ No newline at end of file
......@@ -373,6 +373,13 @@ export const routes = [{
meta: { title: '订单运维管理', icon: 'el-icon-s-home' }
},
{
path: 'driverPhone',
name: 'driverPhone',
component: () =>
import ('@/views/operation/driverPhone.vue'),
meta: { title: '更改司机手机号码', icon: 'el-icon-s-home' }
},
{
path: 'to-be-sent',
name: 'toBeSent',
component: () =>
......
<template>
<el-card>
<el-dialog title="更改手机号" :visible.sync="dialogFormVisible" width="30%">
<el-form :model="dataform" style="margin: -30px">
<el-form-item label="姓名:" :label-width="formLabelWidth">
<span>{{ dataform.driverName }}</span>
</el-form-item>
<el-form-item label="手机号:" :label-width="formLabelWidth">
<span>{{ dataform.driverMobile }}</span>
</el-form-item>
<el-form-item label="新手机号:" :label-width="formLabelWidth">
<el-input
v-model="newPhone"
autocomplete="off"
style="width: 200px"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="updateMobile">确 定</el-button>
</div>
</el-dialog>
<el-row>
<div class="title-left" style="padding-left: 10px; font-weight: 800">
更改司机手机号
</div>
</el-row>
<el-form class="search-form">
<el-row>
<el-col :span="5">
<el-form-item>
<el-input
suffix-icon="el-icon-search"
v-model="selectResult.searchStr"
style="max-width: 302px"
placeholder="请输入车牌号或者车主姓名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-bottom: 5px">
<el-button type="primary" size="mini" @click="searchByInfo"
>查询</el-button
>
</el-col>
</el-row>
</el-form>
<el-table
:data="data"
stripe
border
v-loading="tableLoading"
:header-cell-style="tableHeaderColor"
@row-dblclick="carDetail"
style="width: 100%"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="所属运力"
align="center"
:show-overflow-tooltip="true"
>
<template slot-scope="{ row }">
<span style="margin-left: 10px">{{
row.operateOrgName ? row.operateOrgName : "/"
}}</span>
</template>
</el-table-column>
<el-table-column label="姓名" align="center" width="120">
<template slot-scope="{ row }">
<span style="color: #43a1fc">{{ row.driverName }}</span>
</template>
</el-table-column>
<el-table-column label="司机类型" align="center" width="120">
<template slot-scope="{ row }">
<span style="margin-left: 10px">{{
row.driverType == 1 ? "专职司机" : "兼职司机"
}}</span>
</template>
</el-table-column>
<el-table-column
prop="idCardNo"
label="身份证号码"
align="center"
width="180"
>
</el-table-column>
<el-table-column
prop="driverMobile"
label="联系方式"
align="center"
width="120"
>
</el-table-column>
<el-table-column
prop="createTime"
label="入驻时间"
align="center"
width="180"
>
<!-- :show-overflow-tooltip=true-->
</el-table-column>
<el-table-column
prop="hasNetworkPapers"
label="网络驾驶证"
align="center"
width="100"
>
<template slot-scope="{ row }">
<span>{{ row.hasNetworkPapers ? "已上传" : "未上传" }}</span>
</template>
</el-table-column>
<el-table-column label="服务状态" align="center" width="100">
<template slot-scope="{ row }">
<span style="margin-left: 10px">{{
serverStatusText(row.runStatus)
}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="运营状态" align="center" width="100">
<template slot-scope="{ row }">
<span>{{ runStatusText(row.serviceStatus) }}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="操作" align="center" width="100">
<template slot-scope="{ row }">
<el-link type="primary" :underline="false" @click="setPhone(row)"
>更改手机号</el-link
>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="name"-->
<!-- label="审核状态"-->
<!-- align="center"-->
<!-- width="100">-->
<!-- <template slot-scope="{row}">-->
<!-- <span v-html="auditStatus(row.auditStatus)"></span>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<div class="pagination" v-if="total > 10">
<el-pagination
background
layout="prev, pager, next, jumper, total"
:current-page="page"
@current-change="current_change"
:total="total"
>
</el-pagination>
</div>
</el-card>
</template>
<script>
import Selects from "@/components/Selects";
import dataSource from "@/libs/screen";
import JudgeType from "@/mixins/judgeType";
import {
getAllprovinceAndCity,
updateMobilenoCaptCha,
} from "@/port/set-request";
import { driverQuery, getAllTransport } from "@/port/carOrDriver/carOrDriver";
export default {
name: "driver",
components: {
Selects,
},
mixins: [JudgeType],
data() {
return {
newPhone: "",
dataform: [],
formLabelWidth: "130px",
dialogFormVisible: false,
dataSource: dataSource,
props: {
checkStrictly: true,
lazy: true,
lazyLoad(node, resolve) {
const { level } = node;
console.log(node);
let parent;
if (level == 0) {
parent = 100000;
} else {
parent = node.value;
}
getAllprovinceAndCity(parent).then((res) => {
if (res.status == 200) {
let list = res.data;
const nodes = list.map((item) => {
return {
value: item.id,
label: item.fullname,
leaf: level >= 2,
disabled: parent == 100000 ? true : false,
};
});
resolve(nodes);
}
});
},
},
data: [],
tableLoading: false,
page: 1,
size: 10,
total: 0,
transportData: [],
areaCodeData: [],
// 参数集合
selectResult: {
transportList: [],
driverTypeList: [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
],
auditStatusList: [1, 2],
serviceStatusList: [1, 2, 3],
runStatus: [1, 2, 3, 4],
positiveImageUrl: "",
reverseImageUrl: "",
carPositiveImageUrl: "",
areaCodeList: "",
networkPaperStatus: "0",
searchStr: "",
},
};
},
async created() {
await this.getTransport(); // 获取所有运力
await this.initTable();
},
methods: {
setPhone(d) {
this.dataform = d;
this.newPhone="";
this.dialogFormVisible = true;
},
carDetail(row) {
this.$router.push({
path: "/transports/driver-detail",
query: { id: row.userId, type: row },
});
},
updateMobile() {
if (!/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.newPhone)) {
return this.$message.info("手机号码格式不正确!");
}
let d=this.dataform;
let json = {
driverId:d.userId ,
beforPhone: d.driverMobile,
afterPhone:this.newPhone,
// beforPhone: this.newPhone,
// afterPhone: d.driverMobile,
};
updateMobilenoCaptCha(json).then((res) => {
if (res.status == 200) {
this.initTable();
this.dialogFormVisible=false
this.$message({
type: "success",
message: "操作成功!",
});
}else{
this.$message({
type: "error",
message: res.msg,
});
}
});
},
searchByInfo() {
this.page = 1;
this.initTable();
},
handlechangeList(val) {
let source = JSON.parse(JSON.stringify(val));
let type = source.type;
let data = this.filftersFun(source.data);
this.selectResult[type] = data;
},
async getTransport() {
await getAllTransport({}).then((res) => {
if (res.status == 200) {
let data = res.data;
let transportIdList = [];
let transportIdListArr = [];
data.forEach((item, index) => {
transportIdListArr.push({
id: String(item.transportId),
name: item.transportName,
});
transportIdList.push(String(item.transportId));
});
this.selectResult.transportList = transportIdList;
this.transportData = transportIdListArr;
}
});
},
current_change(page) {
this.page = page;
this.initTable();
},
async initTable() {
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,
};
this.tableLoading = true;
await driverQuery(json).then((res) => {
if (res.status == 200) {
if (!!res.data) {
res.data.content.forEach((item) => {
if (item.status == "5" || item.status == "1") {
return (item.operatingStatus = "停运");
} else return (item.operatingStatus = "上线");
});
this.data = res.data.content;
this.total = res.data.total;
}
} else {
this.$message.error(res.msg);
}
this.tableLoading = false;
});
},
tableRowStyle({ row, rowIndex }) {
if (rowIndex % 2 !== 0) {
return { "background-color": "#e3f4ff" };
}
},
// table变色,头
tableHeaderColor({ row, column, rowIndex, columnIndex }) {
return { "background-color": "#0099ff", color: "#ffffff" };
},
},
};
</script>
<style scoped lang="scss">
.search-form {
margin: 5px 0 5px 0;
.el-form-item {
margin-bottom: 5px;
}
}
.el-form-item {
margin-bottom: 5px;
}
.pagination {
margin-top: 16px;
text-align: right;
}
</style>
......@@ -78,16 +78,323 @@
</el-timeline-item>
</el-timeline>
</el-aside>
<el-dialog
title="更改订单支付状态"
:visible.sync="paystatus"
width="30%"
>
<div style="margin: -30px 0">
<div
style="
color: #f59a23;
background: rgba(250, 205, 145, 0.3);
padding: 8px;
border-radius: 5px;
border: 1px solid rgba(245, 154, 35, 1);
"
>
温馨提示:订单支付状态修改后,不可撤回,请谨慎操作
</div>
<div>
<div class="orderpaydialog orderpaydialogContent">
<div style="display: flex; padding: 0 10px">
<span
style="
min-width: 85px;
display: inline-block;
text-align: right;
"
>订单编号:</span
><span>{{ payData.orderId }}</span>
</div>
<div>
司机:{{ payData.driverName }}{{ payData.driverPhone }}
</div>
</div>
<div class="orderpaydialog orderpaydialogContent">
<div style="display: flex; padding: 0 10px">
<span
style="
min-width: 85px;
display: inline-block;
text-align: right;
"
>订单来源:</span
>{{ orderSources(payData.orderSource)
}}{{ payData.channelNumber }}
</div>
<div>车牌号:{{ payData.tplateNumber }}</div>
</div>
<div class="orderpaydialogContent">
<div style="min-width: 85px; text-align: right">
上车地点:
</div>
{{ payData.startAddress }}
</div>
<div class="orderpaydialogContent">
<div style="min-width: 85px; text-align: right">
下车地点:
</div>
{{ payData.endAddress }}
</div>
<div class="orderpaydialogContent">
<div style="min-width: 85px; text-align: right">
订单价格 :
</div>
{{
!!payData.trealMoney && payData.runType != 6
? payData.trealMoney +
"元" +
(payData.valuationType == "3" ? " 协定价" : " 一口价")
: payData.estimateMoney +
"元" +
(payData.runType == 6 ? " 套餐价" : " 预估价")
}}
</div>
<div class="orderpaydialogContent">
<div style="min-width: 85px; text-align: right">
支付状态:
</div>
{{ payData.tpaymentStatus == 2 ? "已支付" : "未支付" }}
</div>
<div
style="display: flex; align-items: center"
class="orderpaydialogContent"
>
<div style="min-width: 85px; text-align: right">
支付方式:
</div>
<div>
<el-select v-model="value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
<div
v-if="value * 1 != 1"
style="display: flex; align-items: center"
class="orderpaydialogContent"
>
<div style="min-width: 85px; text-align: right">
商户订单号:
</div>
<div>
<el-input
v-model="input"
></el-input>
</div>
<el-link
type="primary"
:underline="false"
style="padding-left: 10px"
@click="getpayInfoFun"
>获取</el-link
>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="paystatus = false">取 消</el-button>
<el-button type="primary" @click="setpaystatusBtn"
>确定更改</el-button
>
</div>
</el-dialog>
<el-dialog
title="同步司机信息"
:visible.sync="driverStatus"
width="30%"
>
<div style="margin: -30px 0">
<div>
此操作将会再次同步系统运单所派司机信息(最新),推送至第三方渠道、乘客端,确定执行。
</div>
<div style="padding: 10px 0">
<div
class="demo-input-suffix"
style="
display: flex;
width: 60%;
align-items: center;
padding: 5px 0;
"
>
<div style="white-space: nowrap; min-width: 80px">
司机姓名:
</div>
<el-input disabled v-model="driverdata.driverName">
</el-input>
</div>
<div
class="demo-input-suffix"
style="
display: flex;
width: 60%;
align-items: center;
padding: 5px 0;
"
>
<div style="white-space: nowrap; min-width: 80px">
联系方式:
</div>
<el-input disabled v-model="driverdata.driverPhone">
</el-input>
</div>
<div
class="demo-input-suffix"
style="
display: flex;
width: 60%;
align-items: center;
padding: 5px 0;
"
>
<div style="white-space: nowrap; min-width: 80px">
车牌号:
</div>
<el-input disabled v-model="driverdata.tplateNumber">
</el-input>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="driverStatus = false">取 消</el-button>
<el-button type="primary" @click="pushDrive">确定</el-button>
</div>
</el-dialog>
<el-dialog title="强制完单" :visible.sync="finishStatus" width="30%">
<div style="margin: -30px 0">
<div
style="
padding: 10px;
background: rgba(51, 153, 255, 0.3);
border-radius: 10px;
border: 1px solid rgba(129, 211, 248, 1);
margin-bottom: 20px;
"
>
<div>
用车时间:{{ finishdata.appointmentTime | formatDates }}
</div>
<div>上车地点:{{ finishdata.startAddress }}</div>
<div>下车地点:{{ finishdata.endAddress }}</div>
</div>
<div>
<div style="margin-bottom: 10px">
<span
><span
style="
width: 100px;
display: inline-block;
text-align: right;
"
>司机姓名:</span
>{{ finishdata.driverName }}</span
>
</div>
<div style="margin-bottom: 10px">
<span
><span
style="
width: 100px;
display: inline-block;
text-align: right;
"
>司机手机号:</span
>{{ finishdata.driverPhone }}</span
>
</div>
<div style="margin-bottom: 10px">
<span
><span
style="
width: 100px;
display: inline-block;
text-align: right;
"
>车牌号:</span
>{{ finishdata.tplateNumber }}</span
>
</div>
<div style="margin-bottom: 10px">
<span
><span
style="
width: 100px;
display: inline-block;
text-align: right;
"
>操作人:</span
>{{ userInfo.name }}</span
>
</div>
</div>
<div style="color: #aaaaaa; font-size: 15px">
<span style="color: red">*</span
>外部司机非系统内司机,无法推送渠道车辆位置信息,点击完成后不可改派,不可取消,请仔细确认
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="finishStatus = false">取 消</el-button>
<el-button type="primary" @click="updataBatch"
>强制完单</el-button
>
</div>
</el-dialog>
<!-- JJNTFZ_20220406164108046_4908288 -->
<el-main>
<div class="containers">
<el-card class="box-card">
<div class="clearfix">
<span class="title">订单详情</span>
<div>
<el-button type="danger" size="mini">取消订单</el-button>
<el-button type="primary" size="mini">同步司机信息</el-button>
<el-button type="warning" size="mini">强制完单</el-button>
<el-button type="warning" size="mini">更改支付状态</el-button>
<el-button
type="danger"
size="mini"
@click="cancelOrder()"
v-if="dataSource.status * 1 < 3"
>取消订单</el-button
>
<el-button
type="primary"
size="mini"
@click="driverInfo()"
v-if="dataSource.status * 1 == 2"
>同步司机信息</el-button
>
<el-button
type="warning"
size="mini"
v-if="
dataSource.status * 1 < 6 && dataSource.status * 1 >= 1
"
@click="finishOrder()"
>强制完单</el-button
>
<el-button type="warning" size="mini" @click="setpaystatus"
v-if="
dataSource.status * 1 >= 6 &&
(dataSource.orderSource * 1 == 6 ||
dataSource.orderSource * 1 == 4 ||
dataSource.orderSource * 1 == 7)
"
>更改支付状态</el-button
>
<!-- orderSource=6 4 7 -->
<!-- 完单 未支付 自营 -->
<!-- <span v-html="renderfun(dataSource)"></span> -->
</div>
</div>
......@@ -430,6 +737,14 @@ import {
OrderDetailsSelect,
soundRecording,
} from "@/port/set-request";
import { platformInfosList } from "@/port/platfrom/setting";
import {
CancelOrder,
updateBatchOrder,
pushDriver,
getpayInfo,
paymentchannel,
} from "@/port/orderOperation";
import maps from "./maps";
import CopyIcon from "./components/CopyIcon";
import { mapGetters } from "vuex";
......@@ -459,72 +774,75 @@ export default {
optionsx: [
{
brandUrl: "https://hgxd.99zcx.com",
testurl: "http://xoado.tpddns.cn:10001/",
value: "61fdff1d455c4ab8a2efc564c245b905",
label: "玖玖华安",
},
{
value: "ea72c5a2563d3e3b16181c416ebbdf72",
brandUrl: "https://liubei.xoado.com",
testurl: "http://xoado.tpddns.cn:10001/",
label: "刘备出行",
},
{
value: "dad52b5719e3202e32a6619e14d0ccec",
brandUrl: "https://linghang.xoado.com",
testurl: "http://xoado.tpddns.cn:10001/",
label: "领航约车",
},
{
value: "8a4d80da79fe27a17c4db92a0c4cb5f6",
brandUrl: "https://xcserver.jncxchina.com",
testurl: "http://xoado.tpddns.cn:10001/",
label: "江南出行",
},
{
value: "12c75685f26941caf275d19dff0c3399",
brandUrl: "https://tuotuo.xoado.com",
testurl: "http://xoado.tpddns.cn:10001/",
label: "妥妥E行",
},
],
optionse: "61fdff1d455c4ab8a2efc564c245b905",
orderid: "",
// orderid: "JJNTFZ_20220406164108046_4908288",//强制完单
orderid: "", //同步司机信息
inputStatus: false,
dialogVisible: false,
sOrF: 1,
// orderInfoForm: {
// status: "",
// startAddress: "",
// endAddress: "",
// reason: "3",
// appointmentTime: "",
// passengerNumber: "",
// passengerName: "",
// passengerMobile: "",
// },
// orderid: "JJNTZY_20220403093127043_8459289",
finishStatus: false,
driverStatus: false,
paystatus: false,
driverdata: [],
finishdata: [],
payData: [],
userInfo: JSON.parse(this.$store.getters.userInfo),
options: [
{
value: "0",
label: "线上支付",
},
{
value: "1",
label: "线下支付",
},
],
value: "0",
orderrecord: "",
getOrderLogList: [],
// dataSource: {},
// flag: false,
// type: false,
// count: 1,
// map: null,
input: "",
polylines: [],
// startLat: "",
// startLng: "",
// endLat: "",
// endLng: "",
// loadings: false,
// options: [],
// options1: [],
// tableData: [],
// startAddressItem: {}, // 起点数据
// endAddressItem: {}, // 终点数据
leftLogData: [], // 左侧日志
};
},
created() {},
created() {
platformInfosList({})
.then((res) => {
if (res.status == 200) {
// optionsx
}
})
.catch(() => {});
},
methods: {
Inquire() {
......@@ -546,7 +864,141 @@ export default {
this.getOrderInfo(json);
this.seeLeftLog(json);
},
finishOrder() {
this.finishdata = this.dataSource;
this.finishStatus = true;
},
updataBatch() {
let json = [{ orderid: this.finishdata.orderId, status: 6 }];
updateBatchOrder(json).then((res) => {
if (res.status == 200) {
this.finishStatus = false;
this.$message({
type: "success",
message: "操作成功!",
});
this.Inquire();
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
},
driverInfo() {
this.driverdata = this.dataSource;
this.driverStatus = true;
},
setpaystatusBtn() {
if (this.value < 1 && !this.input) {
this.$message({
type: "info",
message: "商户订单号不能为空!",
});
return;
}
let data = this.payData;
let a = this.datainput;
let json = {
orderId: data.orderId,
tPaymentId: this.value < 1 ? a.businessId : "",
tPaymentStatus: 1,
tPaymentType: this.value < 1 ? a.executeStatus : "4",
tRealMoney:
this.value < 1
? a.businessInfo.totalFee
: !!data.trealMoney && data.runType != 6
? data.trealMoney
: data.estimateMoney,
};
paymentchannel(json).then((res) => {
if (res.status == 200) {
this.paystatus = false;
this.$message({
type: "success",
message: "操作成功!",
});
this.Inquire();
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
},
pushDrive() {
let json = {
platformId: this.driverdata.platformId,
orderId: this.driverdata.orderId,
};
pushDriver(json).then((res) => {
if (res.status == 200) {
this.driverStatus = false;
this.$message({
type: "success",
message: "操作成功!",
});
this.Inquire();
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
},
cancelOrder() {
this.$confirm("操作不可撤回,确定取消该订单?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
// 取消订单
CancelOrder(this.orderid).then((res) => {
if (res.status == 200) {
this.$message({
type: "success",
message: "操作成功!",
});
this.Inquire();
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
},
setpaystatus() {
this.payData = this.dataSource;
this.paystatus = true;
},
getpayInfoFun() {
// let json={
// orderId:"20210301095247903_1H2wew42w7T2w"
// }
getpayInfo(this.payData).then((res) => {
if (res.status == 200) {
this.input = res.data[0].businessSerial;
this.datainput = res.data[0];
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
},
chooseSOrF(s) {
this.sOrF = s;
this.$refs.audio.playbackRate = s;
......@@ -575,7 +1027,7 @@ export default {
this.$refs.audio.pause();
},
getOrderInfo(obj) {
getThisorderInfo([obj.orderId], obj.brandUrl, obj.platformId).then(
getThisorderInfo([obj.orderId], obj.testurl, obj.platformId).then(
(res) => {
if (res.status == 200) {
this.inputStatus = true;
......@@ -639,7 +1091,6 @@ export default {
this.getOrderLog(obj);
},
getOrderLog(obj) {
console.log(obj);
let json = {
loadings: false,
businessId: obj.orderId,
......@@ -658,7 +1109,7 @@ export default {
options1: [],
};
userLog(json, obj.brandUrl, obj.platformId).then((res) => {
userLog(json, obj.testurl, obj.platformId).then((res) => {
if (res.status == 200) {
if (res.data) {
this.getOrderLogList = res.data.content;
......@@ -1041,4 +1492,16 @@ html
.orangeColor {
color: #ff9901;
}
.orderpaydialog {
display: flex;
align-items: center;
justify-content: center;
}
.orderpaydialog > div {
flex: 1;
}
.orderpaydialogContent {
margin: 10px 0;
display: flex;
}
</style>
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