推拿小程序前端代码仓库
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.
 
 
 

139 lines
2.5 KiB

<template>
<view class="page">
<navbar title="订单详情" leftClick @leftClick="$utils.navigateBack" color="#fff" />
<view class="page-content">
<view class="page-label">订单详情</view>
<!-- 商品详情 -->
<productCard :data="orderDetail.massageItem" size="medium" :readonly="true"></productCard>
<view class="info">
<view class="info-header">订单信息</view>
<view class="info-content">
<view class="flex info-row">
<text>实付款</text>
<text class="price"><text class="price-unit">¥</text>{{ orderDetail.amount }}</text>
</view>
<view class="flex info-row">
<text>订单号</text>
<text>{{ orderDetail.id }}</text>
</view>
<view class="flex info-row">
<text>付款时间</text>
<text>{{ orderDetail.payTime }}</text>
</view>
<view class="flex info-row">
<text>核销时间</text>
<text>{{ orderDetail.validTime }}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import productCard from '@/components/product/productCard.vue'
import {
mapState
} from 'vuex'
export default {
components: {
productCard
},
computed: {},
data() {
return {
id: null,
orderDetail: {},
}
},
onLoad(args) {
this.id = args.id
this.fetchOrderDetail()
},
onPullDownRefresh() {
this.fetchOrderDetail()
},
methods: {
async fetchOrderDetail() {
try {
this.orderDetail = await this.$fetch('queryOrderById', { id: this.id })
} catch (err) {
}
uni.stopPullDownRefresh()
},
}
}
</script>
<style scoped lang="scss">
.page {
height: 100vh;
background-color: #FFFFFF;
/deep/ .nav-bar__view {
background-image: linear-gradient(#84A73F, #D8FF8F);
}
/deep/ .product-card__view {
padding: 19rpx 7rpx 28rpx 7rpx !important;
}
&-content {
padding: 35rpx 46rpx;
}
&-label {
color: #000000;
font-size: 28rpx;
padding-left: 11rpx;
position: relative;
margin-left: 7rpx;
&:before {
content: ' ';
width: 5rpx;
height: 40rpx;
background-image: linear-gradient(#84A73F, #D8FF8F);
border-radius: 3rpx;
position: absolute;
left: 0;
}
}
}
.info {
padding: 30rpx 7rpx;
border-top: 1px dashed #707070;
color: #999999;
font-size: 22rpx;
&-header {
color: #000000;
font-size: 28rpx;
}
&-row {
justify-content: space-between;
margin-top: 23rpx;
}
.price {
color: #000000;
&-unit {
font-size: 14rpx;
}
}
}
</style>