208 lines
5.5 KiB
Vue
208 lines
5.5 KiB
Vue
<template>
|
||
<!-- 头部导航栏 -->
|
||
<nav-bar title='下单成功' :handleToLink="handleToLink" src="../../static/order-success-goBack.png"></nav-bar>
|
||
<view class="order-success">
|
||
<!-- 头部 -->
|
||
<view class="header">
|
||
<view class="title">
|
||
<view class="success-img"></view>
|
||
<text>下单成功!</text>
|
||
</view>
|
||
<view class="send-time">
|
||
<text>快递员上门时间 </text>
|
||
<text v-if="orderInfo.estimatedStartTime">{{handleTimeToStrTime(orderInfo.estimatedStartTime)}}</text>
|
||
</view>
|
||
<view class="tips">根据国家法律规定,如没有实名认证,寄件需出示身份证</view>
|
||
</view>
|
||
<!-- 运单信息 -->
|
||
<view class="orderBox">
|
||
<view class="order-detail">
|
||
<view class="left">
|
||
<view class="send">寄</view>
|
||
<view class="line" :class="{active:twoLine>=2}"></view>
|
||
<view class="get">收</view>
|
||
</view>
|
||
<view class="right">
|
||
<view class="send-people">
|
||
<view class="send-title">
|
||
<view class="send-sub-title">
|
||
{{orderInfo.senderName}}
|
||
<text>{{orderInfo.senderPhone.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")}}</text>
|
||
</view>
|
||
<view class="send-desc">{{orderInfo.senderAddress}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="line"></view>
|
||
<view class="get-people">
|
||
<view class="send-title">
|
||
<view class="send-sub-title">
|
||
{{orderInfo.receiverName}}
|
||
<text>{{orderInfo.receiverPhone.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")}}</text>
|
||
</view>
|
||
<view class="send-desc">{{orderInfo.receiverAddress}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="price-detail">
|
||
<view class="goods">
|
||
<view class="label">物品</view>
|
||
<view class="value">{{orderInfo.goods}}</view>
|
||
</view>
|
||
<view class="weight">
|
||
<view class="label">计费重量</view>
|
||
<view class="value">{{orderInfo.goodsWeight}}kg</view>
|
||
</view>
|
||
<view class="payType">
|
||
<view class="label">付费方式</view>
|
||
<view class="value">{{orderInfo.paymentMethod}}</view>
|
||
</view>
|
||
<view class="base-price">
|
||
<view class="label">基础运费</view>
|
||
<view class="value">{{orderInfo.amount}}元</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="all-account">
|
||
预估总价:
|
||
<text>¥{{orderInfo.amount}}</text>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 功能区域 -->
|
||
<view class="feature">
|
||
<view class="order-info" @click="handleToOrderInfo">
|
||
<view class="img-box">
|
||
<image src='../../static/btn-dingdanxiangqing.png'/>
|
||
</view>
|
||
|
||
<view class="title">订单详情</view>
|
||
</view>
|
||
<view class="order-share" @click="handleSecondQi">
|
||
<view class="img-box">
|
||
<image src='../../static/btn-fenxiang.png' />
|
||
</view>
|
||
|
||
<view class="title">分享</view>
|
||
</view>
|
||
<view class="order-again" @click="handleSecondQi">
|
||
<view class="img-box">
|
||
<image src='../../static/btn-zaijiyijian.png'/>
|
||
</view>
|
||
|
||
<view class="title">再寄一件</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import {
|
||
ref,
|
||
reactive,
|
||
onMounted,
|
||
computed,
|
||
nextTick
|
||
} from 'vue';
|
||
import {
|
||
onLoad,
|
||
onShow
|
||
} from '@dcloudio/uni-app';
|
||
import {
|
||
doOrder,
|
||
getOrderDetail
|
||
} from '@/pages/api/order.js'
|
||
import {
|
||
handleTimeToStrTime
|
||
} from '@/utils/index.js'
|
||
const orderId = ref()
|
||
const twoLine = ref()
|
||
const orderInfo = reactive({
|
||
estimatedStartTime: '',
|
||
receiverName: '',
|
||
receiverAddress: '',
|
||
receiverPhone:'',
|
||
senderName: '',
|
||
senderAddress: '',
|
||
senderPhone:'',
|
||
goods: '',
|
||
goodsWeight: '',
|
||
paymentMethod:'',
|
||
amount:''
|
||
})
|
||
onMounted(()=>{
|
||
|
||
|
||
})
|
||
onLoad((options) => {
|
||
orderId.value = options.orderId
|
||
getOrderDetailFun()
|
||
})
|
||
const handleToLink = ()=>{
|
||
uni.switchTab({
|
||
url: '/pages/index/index'
|
||
});
|
||
}
|
||
//跳转到订单详情页面
|
||
const handleToOrderInfo = (event,id) => {
|
||
uni.navigateTo({
|
||
url: '/subPages/order-info/index?orderId=' + orderId.value
|
||
});
|
||
}
|
||
const handleSecondQi = ()=>{
|
||
uni.showToast({
|
||
title: "程序员哥哥正在实现中",
|
||
icon: "none",
|
||
duration: 1000,
|
||
});
|
||
}
|
||
//获取订单详情
|
||
const getOrderDetailFun = () => {
|
||
getOrderDetail(orderId.value).then((res) => {
|
||
const {
|
||
estimatedStartTime,
|
||
receiverName,
|
||
senderName,
|
||
receiverProvince,
|
||
receiverCity,
|
||
receiverCounty,
|
||
receiverAddress,
|
||
senderProvince,
|
||
senderCity,
|
||
senderCounty,
|
||
senderAddress,
|
||
orderCargoVOS,
|
||
paymentMethod,
|
||
amount,
|
||
senderPhone,
|
||
receiverPhone
|
||
} = res.data
|
||
orderInfo.estimatedStartTime = estimatedStartTime
|
||
orderInfo.receiverName = receiverName
|
||
orderInfo.senderName = senderName
|
||
orderInfo.receiverAddress = receiverProvince.name + receiverCity.name + receiverCounty.name +
|
||
receiverAddress
|
||
orderInfo.senderAddress = senderProvince.name + senderCity.name + senderCounty.name + senderAddress
|
||
orderInfo.goods = orderCargoVOS[0].name + (orderCargoVOS[0].goodsType ? ('(' + orderCargoVOS[0]
|
||
.goodsType.name + ')') : '')
|
||
orderInfo.goodsWeight = orderCargoVOS[0].totalWeight
|
||
orderInfo.paymentMethod = paymentMethod === 1?'寄付':'到付'
|
||
orderInfo.amount = amount
|
||
orderInfo.receiverPhone = receiverPhone
|
||
orderInfo.senderPhone = senderPhone
|
||
nextTick(()=>{
|
||
//用来获取详细地址有几行,从而适配寄和收之间竖线的高度
|
||
uni.createSelectorQuery().select('.send-desc').boundingClientRect(res => {
|
||
let height = res.height;
|
||
let line = height / 15
|
||
twoLine.value = line
|
||
}).exec();
|
||
})
|
||
|
||
})
|
||
}
|
||
</script>
|
||
|
||
<style src="./index.scss" lang="scss" scoped></style>
|