1179 lines
24 KiB
Vue
1179 lines
24 KiB
Vue
|
<template>
|
|||
|
<view class="page">
|
|||
|
<view class="fixed">
|
|||
|
<u-navbar title="订单详情" :border-bottom="false" :background="background" title-color='#000' title-size='36'
|
|||
|
height='45' back-icon-color='#000'></u-navbar>
|
|||
|
</view>
|
|||
|
<view class="backimg">
|
|||
|
|
|||
|
</view>
|
|||
|
<!-- <image class="backimg" src="https://lxnapi.ccttiot.com/bike/img/static/usCZzuQpGCBUpvzCfqyE" mode=""></image> -->
|
|||
|
<view class="car_info" >
|
|||
|
<view class="info_tit">
|
|||
|
{{typeReturn(orderInfo.status) }}
|
|||
|
</view>
|
|||
|
<view class="box1">
|
|||
|
<view class="left">
|
|||
|
<view class="name">
|
|||
|
{{orderInfo.model}}
|
|||
|
</view>
|
|||
|
<view class="car_type_li">
|
|||
|
<view class="type" v-for="(items,indexs) in modelInfo.accessorys" :key="indexs">
|
|||
|
{{items.name}}
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uAIbCubNk8w9JI4DlDuX" mode=""></image>
|
|||
|
</view>
|
|||
|
<view class="txt4" v-if="orderInfo.createTime">
|
|||
|
{{returnTime(orderInfo.createTime)}} 至 {{returnTime(orderInfo.expiryTime)}}({{orderInfo.num}} {{timetype(orderInfo.rentalUnit)}})
|
|||
|
</view>
|
|||
|
|
|||
|
|
|||
|
<view class="info_li2">
|
|||
|
<view class="txt4">
|
|||
|
车辆编号
|
|||
|
</view>
|
|||
|
<view class="txt5">
|
|||
|
{{orderInfo.sn}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="price_box">
|
|||
|
<view class="tit">
|
|||
|
支付费用
|
|||
|
</view>
|
|||
|
<view class="price_li">
|
|||
|
<view class="txt6">
|
|||
|
车辆押金
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
¥{{orderInfo.deposit}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="price_li">
|
|||
|
<view class="txt6">
|
|||
|
车辆租金
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
¥{{orderInfo.leaseFee}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="price_li">
|
|||
|
<view class="txt6">
|
|||
|
实付
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
¥{{orderInfo.payFee}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="price_li">
|
|||
|
<view class="txt6">
|
|||
|
骑行享权服务
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
微信支付
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="price_li">
|
|||
|
<view class="txt6">
|
|||
|
支付时间
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
{{orderInfo.payTime}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="btn_box">
|
|||
|
<view class="btn1" @click="showcs=true">
|
|||
|
车损扣款
|
|||
|
</view>
|
|||
|
<!-- <view class="btn1" @click="showtk=true">
|
|||
|
服务费退款
|
|||
|
</view> -->
|
|||
|
<!-- <view class="btn2" @click="backyj()">
|
|||
|
押金退还
|
|||
|
</view> -->
|
|||
|
</view>
|
|||
|
<view class="handle_box">
|
|||
|
<view class="handle_tit">
|
|||
|
操作记录
|
|||
|
</view>
|
|||
|
<view class="handel_li" v-for="(item,index) in orderInfo.orderOpers" :key="index">
|
|||
|
<view class="yuan">
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="info">
|
|||
|
<view class="info_top">
|
|||
|
{{item.details}}
|
|||
|
</view>
|
|||
|
<view class="info_bot">
|
|||
|
2024-09-11 13:56:03
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="price_box" >
|
|||
|
<view class="tit">
|
|||
|
收益明细
|
|||
|
</view>
|
|||
|
<view class="price_li" v-for="(item,index) in orderInfo.rlDividendDetails" :key="index">
|
|||
|
<view class="txt6">
|
|||
|
{{item.partnerName}}( {{userRrturn(item.partnerType)}} ){{item.dividendProportion}}%
|
|||
|
</view>
|
|||
|
<view class="txt7">
|
|||
|
¥{{item.dividendAmount}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="user_info">
|
|||
|
<view class="info_li2">
|
|||
|
<view class="txt4">
|
|||
|
租车用户
|
|||
|
</view>
|
|||
|
<view class="txt5">
|
|||
|
{{orderInfo.realName}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="info_li2">
|
|||
|
<view class="txt4">
|
|||
|
联系方式
|
|||
|
</view>
|
|||
|
<view class="txt5">
|
|||
|
{{orderInfo.phone}}
|
|||
|
</view>
|
|||
|
<view class="btn" @click="callPhone(orderInfo.phone)">
|
|||
|
联系用户
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="user_info">
|
|||
|
<view class="info_li2">
|
|||
|
<view class="txt4">
|
|||
|
订单编号
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="info_li2">
|
|||
|
<view class="txt6">
|
|||
|
{{orderInfo.orderNo}}
|
|||
|
</view>
|
|||
|
<view class="txt7" @click="copy(orderInfo.orderNo)">
|
|||
|
复制
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<u-mask :show="showcs" @click="showcs = false" :z-index='100' />
|
|||
|
<view class="tip_box" v-if="showcs">
|
|||
|
<view class="top" v-if="showcs">
|
|||
|
<view class="tip">
|
|||
|
车损扣款退款
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="ipt_box">
|
|||
|
<view class="text">
|
|||
|
车损扣款
|
|||
|
</view>
|
|||
|
<view class="ipt">
|
|||
|
<input type="text" v-model="csmoney" placeholder="输入退款金额" class="input"
|
|||
|
placeholder-style="color:#C7CDD3" >
|
|||
|
元
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
|
|||
|
<view class="width:10% ;">
|
|||
|
|
|||
|
</view>
|
|||
|
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
|
|||
|
最大可退款金额:{{orderInfo.deposit}}元
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="bots">
|
|||
|
<view class="bot_left" @click="closeCs()">
|
|||
|
取消
|
|||
|
</view>
|
|||
|
<view class="bot_right" @click="backcs()">
|
|||
|
确定
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<u-mask :show="showtk" @click="showtk = false" :z-index='100' />
|
|||
|
<view class="tip_box" v-if="showtk">
|
|||
|
<view class="top" v-if="showtk">
|
|||
|
<view class="tip">
|
|||
|
服务费退款
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="ipt_box">
|
|||
|
<view class="text">
|
|||
|
送车上门
|
|||
|
</view>
|
|||
|
<view class="ipt">
|
|||
|
<input type="text" v-model="deliveryFee" placeholder="输入退款金额" class="input"
|
|||
|
placeholder-style="color:#C7CDD3" >
|
|||
|
元
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
|
|||
|
<view class="width:10% ;">
|
|||
|
|
|||
|
</view>
|
|||
|
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
|
|||
|
最大可退款金额:{{orderInfo.deliveryFee}}元
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="ipt_box">
|
|||
|
<view class="text">
|
|||
|
商家取车
|
|||
|
</view>
|
|||
|
<view class="ipt">
|
|||
|
<input type="text" v-model="dispatchFee" placeholder="输入退款金额" class="input"
|
|||
|
placeholder-style="color:#C7CDD3" >
|
|||
|
元
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
|
|||
|
<view class="width:10% ;">
|
|||
|
|
|||
|
</view>
|
|||
|
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
|
|||
|
最大可退款金额:{{orderInfo.dispatchFee}}元
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="ipt_box">
|
|||
|
<view class="text">
|
|||
|
租金
|
|||
|
</view>
|
|||
|
<view class="ipt">
|
|||
|
<input type="text" v-model="leaseFee" placeholder="输入退款金额" class="input"
|
|||
|
placeholder-style="color:#C7CDD3">
|
|||
|
元
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
|
|||
|
<view class="width:10% ;">
|
|||
|
|
|||
|
</view>
|
|||
|
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
|
|||
|
最大可退款金额:{{orderInfo.leaseFee}}元
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="bots">
|
|||
|
<view class="bot_left" @click="closetk()">
|
|||
|
取消
|
|||
|
</view>
|
|||
|
<view class="bot_right" @click="backMoney()">
|
|||
|
确定
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="" v-if="orderInfo.status==1||orderInfo.status==2||orderInfo.status==3">
|
|||
|
<view class="bot_btn" v-if="orderInfo.deliveryOrder.status!=3&&orderInfo.deliveryOrder">
|
|||
|
<view class="btn" @click="getOrder()" v-if="orderInfo.deliveryOrder.status==0">
|
|||
|
立即接单
|
|||
|
</view>
|
|||
|
<view class="btn" @click.stop="goDeli(orderInfo)" v-if="orderInfo.deliveryOrder.status==1&&orderInfo.deliveryOrder.deliverymanPhone==AccountInfo.phonenumber">
|
|||
|
立即配送
|
|||
|
</view>
|
|||
|
<view class="btn" v-if="orderInfo.deliveryOrder.status==2&&orderInfo.deliveryOrder.deliverymanPhone==AccountInfo.phonenumber" @click.stop="overDeli(orderInfo)">
|
|||
|
配送完成
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="bot_btn" v-if="orderInfo.status==7||orderInfo.status==4">
|
|||
|
|
|||
|
<view class="btn" @click="backcar()">
|
|||
|
确认还车
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
typeidx: 1,
|
|||
|
height: 0,
|
|||
|
showtips: false,
|
|||
|
orderNo:"",
|
|||
|
orderInfo:{},
|
|||
|
modelInfo:{},
|
|||
|
showtk:false,
|
|||
|
deliveryFee:0,
|
|||
|
dispatchFee:0,
|
|||
|
leaseFee:0,
|
|||
|
showcs:false,
|
|||
|
csmoney:0.,
|
|||
|
AccountInfo:{}
|
|||
|
}
|
|||
|
},
|
|||
|
onShow() {
|
|||
|
|
|||
|
},
|
|||
|
onLoad(e) {
|
|||
|
if(e.orderNo){
|
|||
|
this.orderNo=e.orderNo
|
|||
|
this.getOrderInfo()
|
|||
|
this.getAccountInfo()
|
|||
|
}
|
|||
|
|
|||
|
},
|
|||
|
methods: {
|
|||
|
backcar(){
|
|||
|
this.$u.post(`appVerify/merchantReturn?orderNo=` + this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code === 200) {
|
|||
|
this.getOrderInfo()
|
|||
|
uni.showToast({
|
|||
|
title: '操作成功',
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
} else {
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
typeReturns(num) {
|
|||
|
console.log(num,'aaaaaaaaaaaa');
|
|||
|
let result = {
|
|||
|
text: '',
|
|||
|
color: '#4297F3' // 默认颜色
|
|||
|
};
|
|||
|
|
|||
|
if (num == 0) {
|
|||
|
result.text = '待接单';
|
|||
|
result.color = '#F14C4C'; // 待支付颜色
|
|||
|
} else if (num == 1) {
|
|||
|
result.text = '待配送';
|
|||
|
result.color = '#F38C42'; // 超时取消颜色
|
|||
|
} else if (num == 2) {
|
|||
|
result.text = '配送中';
|
|||
|
result.color = '#4297F3'; // 超时取消颜色
|
|||
|
} else if (num == 3) {
|
|||
|
result.text = '已完成';
|
|||
|
result.color = '#000000'; // 超时取消颜色
|
|||
|
} else if (num == 8) {
|
|||
|
result.text = '已取消';
|
|||
|
result.color = '#ccc'; // 超时取消颜色
|
|||
|
}
|
|||
|
|
|||
|
return result;
|
|||
|
},
|
|||
|
getAccountInfo(){
|
|||
|
this.$u.get(`/appVerify/myAccountInfo`).then((res) => {
|
|||
|
if (res.code === 200) {
|
|||
|
this.AccountInfo=res.data
|
|||
|
|
|||
|
} else {
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
goDeli(item) {
|
|||
|
this.$u.post(`appAdmin/inDelivery?orderNo=` + this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
|
|||
|
this.getOrderInfo()
|
|||
|
uni.showToast({
|
|||
|
title: '开始配送',
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
} else {
|
|||
|
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
overDeli(item) {
|
|||
|
this.$u.post(`appAdmin/endDelivery?orderNo=` + this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
|
|||
|
this.getOrderInfo()
|
|||
|
uni.showToast({
|
|||
|
title: '配送完成',
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
} else {
|
|||
|
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
getOrder(item) {
|
|||
|
this.$u.post(`appAdmin/orderTaking?orderNo=` + this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
|
|||
|
this.getOrderInfo()
|
|||
|
uni.showToast({
|
|||
|
title: '接单成功',
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
} else {
|
|||
|
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
backyj(){
|
|||
|
this.$u.post(`appVerify/depositRefund?orderNo=`+this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
|
|||
|
this.getOrderInfo()
|
|||
|
|
|||
|
} else {
|
|||
|
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
closeCs(){
|
|||
|
this.showcs=false
|
|||
|
this.csmoney=0
|
|||
|
},
|
|||
|
backcs(){
|
|||
|
|
|||
|
this.$u.post(`appVerify/deductMoney?money=`+this.csmoney+'&orderNo='+this.orderInfo.orderNo).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
this.showcs=false
|
|||
|
this.csmoney=0
|
|||
|
|
|||
|
this.getOrderInfo()
|
|||
|
|
|||
|
} else {
|
|||
|
this.showcs=false
|
|||
|
this.csmoney=0
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
backMoney(){
|
|||
|
let data ={
|
|||
|
orderNo:this.orderInfo.orderNo,
|
|||
|
dispatchFee:this.dispatchFee,
|
|||
|
deliveryFee:this.deliveryFee,
|
|||
|
leaseFee:this.leaseFee,
|
|||
|
reason:'退款'
|
|||
|
}
|
|||
|
this.$u.put(`appAdmin/order/refund`, data).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
this.showtk=false
|
|||
|
this.deliveryFee=0
|
|||
|
this.dispatchFee=0
|
|||
|
this.leaseFee=0
|
|||
|
this.getOrderInfo()
|
|||
|
|
|||
|
} else {
|
|||
|
this.showtk=false
|
|||
|
this.deliveryFee=0
|
|||
|
this.dispatchFee=0
|
|||
|
this.leaseFee=0
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
closetk(){
|
|||
|
this.showtk=false
|
|||
|
this.deliveryFee=0
|
|||
|
this.dispatchFee=0
|
|||
|
this.leaseFee=0
|
|||
|
},
|
|||
|
callPhone(phone){
|
|||
|
uni.makePhoneCall({
|
|||
|
phoneNumber:phone
|
|||
|
})
|
|||
|
// setTimeout(()=>{
|
|||
|
// this.showkf=false
|
|||
|
// },500)
|
|||
|
},
|
|||
|
copy(orderNo) {
|
|||
|
uni.setClipboardData({
|
|||
|
data: orderNo,
|
|||
|
success: () => {
|
|||
|
uni.showToast({
|
|||
|
title: '复制成功',
|
|||
|
icon: 'success',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
},
|
|||
|
fail: () => {
|
|||
|
uni.showToast({
|
|||
|
title: '复制失败',
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
returnTime(time) {
|
|||
|
// 将时间字符串转换为 Date 对象
|
|||
|
let date = new Date(time.replace(/-/g, "/"));
|
|||
|
|
|||
|
// 获取月份(注意:月份从 0 开始,需要加 1)
|
|||
|
let month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|||
|
|
|||
|
// 获取日期
|
|||
|
let day = date.getDate().toString().padStart(2, "0");
|
|||
|
|
|||
|
// 获取小时
|
|||
|
let hours = date.getHours().toString().padStart(2, "0");
|
|||
|
|
|||
|
// 获取分钟
|
|||
|
let minutes = date.getMinutes().toString().padStart(2, "0");
|
|||
|
|
|||
|
// 返回指定格式
|
|||
|
return `${month}/${day} ${hours}:${minutes}`;
|
|||
|
},
|
|||
|
userRrturn(num){
|
|||
|
if(num=='00'){
|
|||
|
return '系统用户'
|
|||
|
}else if(num=='01'){
|
|||
|
return '普通用户'
|
|||
|
}else if(num=='02'){
|
|||
|
return '代理商'
|
|||
|
}else if(num=='03'){
|
|||
|
return '商户'
|
|||
|
}else if(num=='04'){
|
|||
|
return '调度员'
|
|||
|
}
|
|||
|
},
|
|||
|
timetype(time) {
|
|||
|
if (time == 'hours') {
|
|||
|
return '小时'
|
|||
|
} else if (time == 'day') {
|
|||
|
return '天'
|
|||
|
} else if (time == 'week') {
|
|||
|
return '周'
|
|||
|
} else if (time == 'month') {
|
|||
|
return '月'
|
|||
|
} else if (time == 'quarter') {
|
|||
|
return '季度'
|
|||
|
} else if (time == 'year') {
|
|||
|
return '年'
|
|||
|
}
|
|||
|
},
|
|||
|
staReturn(num){
|
|||
|
if (num == 0) {
|
|||
|
return '待支付'
|
|||
|
} else if (num == 1) {
|
|||
|
return '下单'
|
|||
|
} else if (num == 2) {
|
|||
|
return '改价'
|
|||
|
} else if (num == 3) {
|
|||
|
return '支付'
|
|||
|
} else if (num == 4) {
|
|||
|
return '还车结束订单'
|
|||
|
} else if (num == 5) {
|
|||
|
return '押金审核'
|
|||
|
} else if (num == 6) {
|
|||
|
return '退款'
|
|||
|
} else if (num == 7) {
|
|||
|
return '用户取消'
|
|||
|
}else if (num == 7) {
|
|||
|
return '系统自动取消'
|
|||
|
}
|
|||
|
},
|
|||
|
typeReturn(num) {
|
|||
|
if (num == 0) {
|
|||
|
return '待支付'
|
|||
|
} else if (num == 1) {
|
|||
|
return '待取车'
|
|||
|
} else if (num == 2) {
|
|||
|
return '待送车'
|
|||
|
} else if (num == 3) {
|
|||
|
return '送车中'
|
|||
|
} else if (num == 4) {
|
|||
|
return '车辆使用中'
|
|||
|
} else if (num == 5) {
|
|||
|
return '超时取消'
|
|||
|
} else if (num == 6) {
|
|||
|
return '已取消'
|
|||
|
}else if (num == 7) {
|
|||
|
return '待审核'
|
|||
|
} else if (num == 8) {
|
|||
|
return '订单已结束'
|
|||
|
}
|
|||
|
},
|
|||
|
getmodelInfo() {
|
|||
|
let data = {
|
|||
|
modelId: this.orderInfo.modelId
|
|||
|
}
|
|||
|
this.$u.get(`appVerify/getModelById?`, data).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
this.modelInfo = res.data
|
|||
|
|
|||
|
} else {
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
getOrderInfo() {
|
|||
|
let data = {
|
|||
|
orderNo: this.orderNo
|
|||
|
};
|
|||
|
this.$u.get(`appVerify/orderInfo?`, data).then((res) => {
|
|||
|
if (res.code === 200) {
|
|||
|
this.orderInfo = res.data;
|
|||
|
// this.getstoreInfo()
|
|||
|
this.getmodelInfo()
|
|||
|
// this.getAgent()
|
|||
|
// 调用倒计时方法
|
|||
|
// if (this.orderInfo.status == 0) {
|
|||
|
// this.startCountdown(this.orderInfo.autoCancelTime);
|
|||
|
// }
|
|||
|
|
|||
|
} else {
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 2000
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss">
|
|||
|
page {
|
|||
|
background-color: #F7F7F7;
|
|||
|
}
|
|||
|
|
|||
|
.page {
|
|||
|
width: 750rpx;
|
|||
|
padding-bottom: 220rpx;
|
|||
|
.order_code {
|
|||
|
width: 696rpx;
|
|||
|
margin: 0 auto;
|
|||
|
margin-top: 16rpx;
|
|||
|
padding: 20rpx 28rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|||
|
|
|||
|
.tits {
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.code_li {
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
justify-content: space-between;
|
|||
|
|
|||
|
.code {
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.btn {
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #4297F3;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
.tip_box {
|
|||
|
position: fixed;
|
|||
|
left: 72rpx;
|
|||
|
top: 428rpx;
|
|||
|
width: 610rpx;
|
|||
|
// height: 282rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
|||
|
z-index: 110;
|
|||
|
padding-bottom: 100rpx;
|
|||
|
|
|||
|
.top {
|
|||
|
padding: 52rpx 38rpx 42rpx 36rpx;
|
|||
|
|
|||
|
.ipt_box {
|
|||
|
margin-top: 22rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
|
|||
|
.text {
|
|||
|
width: 350rpx;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.ipt {
|
|||
|
padding: 10rpx 18rpx;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: space-between;
|
|||
|
margin-left: 26rpx;
|
|||
|
width: 420rpx;
|
|||
|
height: 64rpx;
|
|||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|||
|
border: 2rpx solid #979797;
|
|||
|
|
|||
|
.input {
|
|||
|
width: 80%;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.tip {
|
|||
|
width: 100%;
|
|||
|
text-align: center;
|
|||
|
font-weight: 700;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.txt {
|
|||
|
margin-top: 32rpx;
|
|||
|
width: 100%;
|
|||
|
text-align: center;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.bots {
|
|||
|
position: absolute;
|
|||
|
|
|||
|
width: 610rpx;
|
|||
|
// border-top: 2rpx solid #D8D8D8;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
// height: 100%;
|
|||
|
bottom: -20rpx;
|
|||
|
|
|||
|
.bot_left {
|
|||
|
border-radius: 0rpx 0rpx 0rpx 30rpx;
|
|||
|
width: 50%;
|
|||
|
height: 86rpx;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
background: #EEEEEE;
|
|||
|
}
|
|||
|
|
|||
|
.bot_right {
|
|||
|
border-radius: 0rpx 0rpx 30rpx 0rpx;
|
|||
|
width: 50%;
|
|||
|
height: 86rpx;
|
|||
|
background: #4C97E7;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
color: #FFFFFF;
|
|||
|
// border-left: 2rpx solid #D8D8D8;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
// color: #4C97E7;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
.bot_btn{
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
position: fixed;
|
|||
|
bottom: 0;
|
|||
|
width: 750rpx;
|
|||
|
height: 160rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0,0,0,0.3);
|
|||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|||
|
.btn{
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
border-radius: 20rpx;
|
|||
|
width: 682rpx;
|
|||
|
height: 84rpx;
|
|||
|
background: #4297F3;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 36rpx;
|
|||
|
color: #FFFFFF;
|
|||
|
}
|
|||
|
}
|
|||
|
.user_info{
|
|||
|
margin: 0 auto;
|
|||
|
margin-top: 16rpx;
|
|||
|
width: 698rpx;
|
|||
|
padding:20rpx 28rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|||
|
.info_li2 {
|
|||
|
margin-top: 14rpx;
|
|||
|
// width: 750rpx;
|
|||
|
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: flex-start;
|
|||
|
// border-bottom: 1rpx solid #D8D8D8;
|
|||
|
.txt4{
|
|||
|
width: 112rpx;
|
|||
|
white-space: nowrap;
|
|||
|
margin-right: 48rpx;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #6F6F6F;
|
|||
|
}
|
|||
|
.txt5{
|
|||
|
flex-wrap: wrap;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.btn{
|
|||
|
padding: 6rpx 12rpx;
|
|||
|
margin-left: auto;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 24rpx;
|
|||
|
color: #4297F3;
|
|||
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|||
|
border: 1rpx solid #4297F3;
|
|||
|
}
|
|||
|
.txt6{
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #6F6F6F;
|
|||
|
}
|
|||
|
.txt7{
|
|||
|
margin-left: auto;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #4297F3;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
.price_box{
|
|||
|
margin: 0 auto;
|
|||
|
margin-top: 16rpx;
|
|||
|
width: 698rpx;
|
|||
|
padding:20rpx 28rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|||
|
.handle_box{
|
|||
|
margin-top: 26rpx;
|
|||
|
padding: 22rpx 20rpx;
|
|||
|
width: 650rpx;
|
|||
|
background: #F4FBFF;
|
|||
|
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
|||
|
.handle_tit{
|
|||
|
font-weight:600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.handel_li{
|
|||
|
margin-top: 16rpx;
|
|||
|
width: 100%;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
.yuan{
|
|||
|
margin-left: 46rpx;
|
|||
|
width: 22rpx;
|
|||
|
height: 22rpx;
|
|||
|
background: #4297F3;
|
|||
|
border-radius: 50%;
|
|||
|
}
|
|||
|
.info{
|
|||
|
margin-left: 30rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: wrap;
|
|||
|
.info_top{
|
|||
|
width: 100%;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.info_bot{
|
|||
|
margin-top: 8rpx;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 24rpx;
|
|||
|
color: #6F6F6F;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
.btn_box{
|
|||
|
margin-top: 60rpx;
|
|||
|
display: flex;
|
|||
|
.btn1{
|
|||
|
margin-right: 22rpx;
|
|||
|
padding: 8rpx 22rpx;
|
|||
|
background: #4297F3;
|
|||
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #FFFFFF;
|
|||
|
}
|
|||
|
.btn2{
|
|||
|
padding: 8rpx 22rpx;
|
|||
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|||
|
border: 2rpx solid #4297F3;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #4297F3;
|
|||
|
}
|
|||
|
}
|
|||
|
.tit{
|
|||
|
font-weight: 600;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.price_li{
|
|||
|
margin-top: 18rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
justify-content: space-between;
|
|||
|
.txt6{
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.txt7{
|
|||
|
font-weight: 600;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
.car_info {
|
|||
|
margin: 0 auto;
|
|||
|
margin-top: -200rpx;
|
|||
|
width: 698rpx;
|
|||
|
|
|||
|
// height: 196rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: wrap;
|
|||
|
|
|||
|
padding: 0 24rpx;
|
|||
|
padding-bottom: 28rpx;
|
|||
|
.info_li2 {
|
|||
|
margin-top: 14rpx;
|
|||
|
width: 750rpx;
|
|||
|
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: flex-start;
|
|||
|
// border-bottom: 1rpx solid #D8D8D8;
|
|||
|
.txt4{
|
|||
|
width: 112rpx;
|
|||
|
white-space: nowrap;
|
|||
|
margin-right: 48rpx;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #6F6F6F;
|
|||
|
}
|
|||
|
.txt5{
|
|||
|
flex-wrap: wrap;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.txt4{
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.info_li{
|
|||
|
width: 100%;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
justify-content: space-between;
|
|||
|
.txt2{
|
|||
|
font-weight: 600;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #6F6F6F;
|
|||
|
}
|
|||
|
.txt3{
|
|||
|
font-weight: 600;
|
|||
|
font-size: 24rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
}
|
|||
|
.info_tit{
|
|||
|
margin-top: 22rpx;
|
|||
|
font-weight: 600;
|
|||
|
font-size: 36rpx;
|
|||
|
color: #FF8C1E;
|
|||
|
}
|
|||
|
.box1{
|
|||
|
width: 100%;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
justify-content: space-between;
|
|||
|
align-items: center;
|
|||
|
|
|||
|
.left {
|
|||
|
.name {
|
|||
|
font-weight: 600;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.car_type_li {
|
|||
|
margin-top: 16rpx;
|
|||
|
display: flex;
|
|||
|
|
|||
|
.type {
|
|||
|
margin-right: 8rpx;
|
|||
|
padding: 4rpx 10rpx;
|
|||
|
background: #DCEDFF;
|
|||
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 24rpx;
|
|||
|
color: #4297F3;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
image {
|
|||
|
width: 156rpx;
|
|||
|
height: 150rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
.tab-container {
|
|||
|
display: flex;
|
|||
|
border-bottom: 2px solid #ddd;
|
|||
|
/* 底部边框 */
|
|||
|
}
|
|||
|
|
|||
|
.tab-item {
|
|||
|
position: relative;
|
|||
|
padding: 10px 20px;
|
|||
|
cursor: pointer;
|
|||
|
color: #666;
|
|||
|
font-size: 16px;
|
|||
|
}
|
|||
|
|
|||
|
.tab-item.active {
|
|||
|
color: #333;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
|
|||
|
.tab-item.active::after {
|
|||
|
content: '';
|
|||
|
position: absolute;
|
|||
|
bottom: -2px;
|
|||
|
left: 0;
|
|||
|
width: 100%;
|
|||
|
height: 4px;
|
|||
|
background-color: #2e9afe;
|
|||
|
/* 下划线颜色 */
|
|||
|
border-radius: 50px;
|
|||
|
/* 圆角效果,模拟弧线 */
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
.fixed {
|
|||
|
z-index: 999;
|
|||
|
position: fixed;
|
|||
|
top: 0;
|
|||
|
}
|
|||
|
|
|||
|
.backimg {
|
|||
|
|
|||
|
// position: fixed;
|
|||
|
|
|||
|
|
|||
|
z-index: -10;
|
|||
|
width: 750rpx;
|
|||
|
height: 428rpx;
|
|||
|
background: linear-gradient(180deg, #CCE5FF 0%, rgba(204, 229, 255, 0) 100%);
|
|||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|