oil-station/gasStation-uni/pagesHome/PointsGoodsDetails/PointsGoodsDetails.vue
2024-08-16 18:26:19 +08:00

323 lines
6.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="container">
<view class="my-header">
<view class="my-icons" @click="goback"> <uni-icons type="left" size="16"></uni-icons> </view>
<view class="my-text">订单详情</view>
<view class="my-icons"></view>
</view>
<view class="top-box">
<view class="tiao"></view>
<view class="t-top">
<view class="top-icon">
<uni-icons type="checkmarkempty" color="#ffffff" size="18"></uni-icons>
</view>
<view class="">
<view class="title-lan">兑换成功</view>
<view class="size-hui">商品正在路上请耐心等待</view>
</view>
</view>
<view class="t-b-box">
<view class="goodsimg">
<image :src="baseUrl+form.coverImage" mode="aspectFit"></image>
</view>
<view class="right-r-box">
<view class="-title">{{form.giftName}}</view>
<view class="b-bt">
<view class="h-size"> X{{form.exchangeQuantity}} </view>
<view class="r-size">
{{form.amount?"¥"+form.amount:''}}
{{form.amount && form.integral ? '+':''}}
{{form.integral ? form.integral+'积分':''}}
</view>
</view>
</view>
</view>
</view>
<view class="d-box">
<view class="t-top">订单信息</view>
<view class="gang-box">
<view class="left-size">订单编号</view>
<view class="right-size">{{form.orderNumber}}</view>
</view>
<view class="gang-box">
<view class="left-size">快递单号</view>
<view class="right-size" v-if="form.shippingType == '物流配送'">
<span>{{form.courierCompanies?form.courierCompanies:'暂无物流信息'}}:{{form.theTrackingNumber?form.theTrackingNumber:''}}</span>
</view>
<view v-else class="right-size">门店自提</view>
</view>
<view class="gang-box">
<view class="left-size">兑换时间</view>
<view class="right-size">{{form.createTime}}</view>
</view>
<view class="gang-box">
<view class="left-size">所需积分</view>
<view class="right-size">
{{form.amount?"¥"+form.amount:''}}
{{form.amount && form.integral ? '+':''}}
{{form.integral ? form.integral+'积分':''}}
</view>
</view>
</view>
<view class="d-box">
<view class="t-top">物流信息</view>
<u-steps :current="flag" direction="column">
<u-steps-item title="已下单" :desc="form.createTime">
</u-steps-item>
<u-steps-item title="已发货" :desc="form.shippingTime?form.shippingTime:'--'">
</u-steps-item>
<u-steps-item :title="this.form.orderStatus"></u-steps-item>
</u-steps>
</view>
</view>
</view>
</template>
<script>
import config from '@/config'
import request from '../../utils/request'
export default {
data() {
return {
title: '',
baseUrl: config.baseUrl,
pointsGoodsDetails: '',
flag: '0',
form: {
orderNumber: '',
createTime: '',
shippingTime: '',
integral: '',
coverImage: '',
giftName: '',
exchangeQuantity: '',
exchangeMethod: '',
shippingType: '',
amount: '',
courierCompanies: '',
theTrackingNumber: '',
orderStatus: ''
}
}
},
components: {
},
onShow() {
uni.$on('pointsGoodsDetails', (data) => {
this.pointsGoodsDetails = data
console.log("this.pointsGoodsDetails", this.pointsGoodsDetails)
if (this.pointsGoodsDetails != null) {
// this.dataProcessing()
this.form.orderNumber = this.pointsGoodsDetails.orderNumber
this.form.createTime = this.pointsGoodsDetails.createTime
this.form.coverImage = this.pointsGoodsDetails.coverImage
this.form.giftName = this.pointsGoodsDetails.giftName
this.form.exchangeQuantity = this.pointsGoodsDetails.exchangeQuantity
this.form.exchangeMethod = this.pointsGoodsDetails.exchangeMethod
this.form.integral = this.pointsGoodsDetails.integral
this.form.amount = this.pointsGoodsDetails.amount
this.form.shippingTime = this.pointsGoodsDetails.shippingTime
this.form.shippingType = this.pointsGoodsDetails.shippingType
this.form.courierCompanies = this.pointsGoodsDetails.courierCompanies
this.form.theTrackingNumber = this.pointsGoodsDetails.theTrackingNumber
this.form.orderStatus = this.pointsGoodsDetails.orderStatus
// 当前订单状态
if (this.pointsGoodsDetails.orderStatus) {
let status = this.pointsGoodsDetails.orderStatus;
if (status == '已发货') {
this.flag = 1
} else if (status == '已完成') {
this.flag = 2
}
}
}
})
uni.$emit('pointsGoodsDetailsUn')
},
methods: {
goback() {
uni.navigateBack()
}
}
}
</script>
<style scoped lang="scss">
.content {
background: #f4f5f6;
}
.container {
width: 100%;
height: 100vh;
box-sizing: border-box;
padding-top: 88px;
}
.my-header {
width: 100%;
height: 88px;
background: #ffffff;
display: flex;
align-items: center;
justify-content: space-between;
color: #000;
box-sizing: border-box;
padding: 0px 15px;
padding-top: 40px;
.my-icons {
width: 20px;
}
position: fixed;
top: 0px;
}
.top-box {
width: 95%;
box-sizing: border-box;
background: #ffffff;
border-radius: 6px;
overflow: hidden;
margin: 10px auto;
}
.tiao {
width: 100%;
height: 4px;
background-color: #0082FC;
}
.t-top {
width: 95%;
box-sizing: border-box;
margin: 0 auto;
border-bottom: 1px solid #EEEEEE;
padding: 10px 0px;
display: flex;
align-items: center;
}
.top-icon {
width: 30px;
height: 30px;
border-radius: 50%;
background-color: #0082FC;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
margin-right: 10px;
}
.size-hui {
font-size: 12px;
color: #999999;
}
.title-lan {
font-size: 20px;
font-weight: bold;
color: #0082FC;
margin-bottom: 5px;
}
.t-b-box {
width: 95%;
box-sizing: border-box;
margin: 0 auto;
padding: 10px 0px;
display: flex;
justify-content: space-between;
}
.goodsimg {
width: 90px;
height: 90px;
border-radius: 8px;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.right-r-box {
width: 70%;
}
.-title {
font-size: 16px;
font-weight: bold;
margin-bottom: 50px;
}
.b-bt {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.h-size {
font-size: 14px;
color: #999999;
}
.r-size {
font-size: 14px;
font-weight: bold;
color: #FB3524;
}
.d-box {
width: 95%;
border-radius: 8px;
background: #ffffff;
box-sizing: border-box;
padding: 10px;
margin: 10px auto;
}
.gang-box {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 10px;
}
.left-size {
color: #666666;
}
.right-size {
color: #333333;
}
</style>