You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

278 lines
7.7 KiB

<template>
<!-- 商家订单详情 -->
<view class="page1">
<view class="title">
<view class="title-sreach">
<view class="back-btn" @tap="back" :style="{'top': menuButtonInfo.top +'px'}">
<uni-icons type="left" size="28"></uni-icons>
</view>
<view class="title-name" :style="{'padding-top': menuButtonInfo.top +'px'}">
订单详情
</view>
</view>
</view>
<view class="content">
<view class="box1" style="display: flex;font-size: 14px;font-weight: 700;">
<text>{{'#'+data.numberCode}}</text>
<text style="margin: 0 10px;">期望送达</text>
<text>明天 06:30</text>
<text style="flex: 1;text-align: right;color: red;">
{{data.status == 0?'待支付':data.status == 1?' 待成团':data.status == 2?'待消费':data.status == 3?'待接单':data.status == 4?'待取货':data.status == 5?'待送达':data.status == 6?'已完成':data.status == 7?'待退款':data.status == 8?'已退款':data.status == 9?'已取消':data.status == 11?'售后中':data.status == 12?'已售后':""}}
</text>
</view>
<view class="box1" style="display: flex;height: 50px;line-height: 50px;padding: 0 10px;">
<view style="border: 1px solid #48D1CC;height: 25px;line-height: 25px;padding: 0 10px;border-radius: 10px;margin-top: auto;margin-bottom: auto;color: #48D1CC;font-weight: 700;">
{{data.deliveryType == 2?'自取订单':'配送订单'}}
</view>
<view v-if="data.deliveryType == 1" style="display: flex;flex: 1;padding-left: 10px;">
<text style="flex: 1;">配送员:{{data.deliveryInfo.workerName}}</text>
<view class="">
<img @tap="makeCall(data.deliveryInfo.workerPhone)" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png" alt="" style="width: 30px;height: 30px;margin-top: 10px;" />
</view>
</view>
</view>
<view class="box1" v-if="data.deliveryType == 1" style="display: flex;">
<view style="flex: 1;">
<view style="font-weight: 700;height: 25px;">
收货人:{{data.deliveryInfo.receiverName}}
</view>
<view style="color: #777;height: 35px;">
{{data.deliveryInfo.receiverAddress}}
</view>
</view>
<view class="">
<img @tap="makeCall(data.deliveryInfo.receiverPhone)" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png" alt="" style="width: 30px;height: 30px;margin-top: 14px;" />
</view>
</view>
<view class="box1">
<view style="border-bottom: 1px solid #eee;padding-bottom: 10px;">
<view style="font-size: 16px;height: 30px;">
商品 <text style="font-size: 14px;color: #777;">共{{data.goodsNum}}件</text>
</view>
<view v-for="(item,index) in data.goodsList" :key="index" style="display: flex;height: 20px;line-height: 20px;">
<view style="flex: 1;">
{{item.productName}}
</view>
<view style="width: 30px;">
{{'x'+ item.quantity}}
</view>
<view style="width: 50px;text-align: right;">
{{'¥'+ item.price}}
</view>
</view>
</view>
<view class="">
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="flex: 1;">
商品金额
</view>
<view class="">
{{'¥' + data.goodsAmount}}
</view>
</view>
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="flex: 1;">
配送费
</view>
<view class="">
{{'¥' + data.deliveryFee}}
</view>
</view>
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="flex: 1;">
客户实际支付
</view>
<view class="">
{{'¥'+ data.totalAmount}}
</view>
</view>
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="flex: 1;">
平台服务费
</view>
<view class="">
¥12.00假的
</view>
</view>
</view>
</view>
<view class="box1">
<view class="">
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="width: 70px;">
订单编号
</view>
<view style="flex: 1;text-align: right;">
{{data.id}}
</view>
</view>
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="width: 70px;">
下单时间
</view>
<view style="flex: 1;text-align: right;">
{{data.createTime | formatISOTime}}
</view>
</view>
<view style="display: flex;height: 30px;line-height: 30px;">
<view style="width: 70px;">
用户账号
</view>
<view style="flex: 1;text-align: right;">
13521030111假的
</view>
</view>
</view>
</view>
</view>
<view class="bottom">
<view style="height: 30px;line-height: 30px;display: flex;border-bottom: 1px solid #eee;font-size: 14px;">
<view style="flex: 1;">
预计收入
</view>
<view style="color: red;font-weight: 700;">
¥10.32假的
</view>
</view>
<view style="margin-top: 10px;">
<view class="btn">
打印小票
</view>
<view class="btn" style="background: rgba(0, 35, 28, 1);color: rgba(166, 255, 234, 1);">
取消订单
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
menuButtonInfo: {},
data:{}
}
},
filters:{
formatISOTime(isoString) {
const date = new Date(isoString);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
},
onLoad(option) {
this.shopId = option.id
this.getDetail()
},
methods: {
getDetail(){
let that = this
that.tui.request("/mall/order/detail/"+ this.shopId, "get", {}, false, false).then((res) => {
if (res.code == 200) {
that.data = res.result
that.data.goodsNum = 0
for(let m=0;m<that.data.goodsList.length;m++){
that.data.goodsNum += that.data.goodsList[m].quantity
}
that.$forceUpdate()
} else {
that.tui.toast(res.message);
return;
}
uni.hideLoading();
}).catch((res) => {});
},
makeCall(phone){
uni.makePhoneCall({
phoneNumber: phone
});
},
back() {
uni.navigateBack()
},
}
}
</script>
<style>
page {
width: 100%;
height: 100%;
font-size: 24rpx;
background: #F5F8F5;
color: #00231C;
}
.page1 {
width: 100%;
height: 100%;
font-size: 24rpx;
position: relative;
}
.title {
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat;
width: 100%;
height: 20%;
}
.title-sreach {
width: 100%;
display: flex;
height: 200rpx;
position: relative;
}
.back-btn {
position: absolute;
bottom: 0;
left: 0;
}
.title-name {
padding-top: 110rpx;
font-size: 36rpx;
font-weight: 700;
flex: 1;
text-align: center;
}
.content{
margin: -140rpx auto;
}
.box1 {
width: 95%;
margin: 20rpx auto;
background: #fff;
border-radius: 20rpx;
padding: 20rpx;
}
.bottom{
position: fixed;
bottom: 0;
height: 90px;
width: 100%;
background: #fff;
padding: 0 10px;
}
.btn{
height: 25px;
width: 65px;
line-height: 25px;
background: linear-gradient(90deg, #e3ff96, #a6ffea);
text-align: center;
border-radius: 7px;
font-weight: 700;
float: right;
margin-left: 10px;
}
</style>