<script>
|
export default {
|
data() {
|
return {
|
type: 'customer',
|
query: {
|
status: '',
|
},
|
status: [
|
{name: '全部', value: ''},
|
{name: '待付款', value: 'PENDING'},
|
{name: '待发货', value: 'SEND'},
|
{name: '待收货', value: 'RECEIVE'},
|
{name: '待评价', value: 'EVALUATE'},
|
{name: '售后', value: 'COMPLETED'},
|
{name: '已退款', value: 'REFUND'},
|
]
|
};
|
},
|
onLoad(options) {
|
this.query.status = options.status || ''
|
this.listApi = `/api/customer/order/list`
|
this.getList()
|
},
|
onReachBottom() {
|
this.page.current += 1
|
this.getMore()
|
},
|
async onPullDownRefresh() {
|
this.page.current = 1
|
await this.getList()
|
uni.stopPullDownRefresh()
|
},
|
methods: {
|
toDetail(item) {
|
// 订单详情页面
|
console.log(' toDetail item',item)
|
uni.navigateTo({
|
url: '/pages/order/order-detail?id=' + item.id
|
})
|
},
|
},
|
}
|
</script>
|
<template>
|
<view class="order-container">
|
<view class="order-top">
|
<view class="title">订单信息</view>
|
<view class="flex">
|
<image class="image img100"
|
src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/67/67acf980f310460a97d305c6ffc7e811位图@2x (1).png"></image>
|
<view>消费订单:¥<span>{{ '0' }}</span> 总消费:¥<span>{{ '0' }}</span></view>
|
</view>
|
</view>
|
<view class="status-list m-t-12 flex flex-wrap-normal">
|
<view v-for="each of status" :key="each.value"
|
@click.stop="(e)=>{
|
query.status = each.value || '';
|
refreshList();
|
}"
|
class="status-each" :class="[query.status===each.value?'cur':'']">
|
{{ each.name }}
|
</view>
|
</view>
|
<no-data v-if="!list||list.length===0" style="width: 100%;" class="m-t-12"></no-data>
|
<view v-for="(item,index) in list" :key="index" class="m-t-12">
|
<view @click.stop="toDetail(item)" class="order-item list-item">
|
<view class="title flex">
|
<view>
|
订单:{{ item.orderNo }}
|
</view>
|
<view class="status t-red m-l-a m-r-0">¥{{ item.paymentAmount || item.totalAmount || '0'}}</view>
|
</view>
|
<view class="desc flex" v-if="!query.status">
|
<view class="label">
|
订单状态:
|
</view>
|
<view class="value">{{ item.statusBackendStr }}</view>
|
</view>
|
<view class="desc flex">
|
<view class="label">
|
收货人:
|
</view>
|
<view class="value">{{ item.customer }}</view>
|
</view>
|
<view class="desc flex">
|
<view class="label">
|
收货人手机号码:
|
</view>
|
<view class="value">{{ item.customerTel }}</view>
|
</view>
|
<view class="desc flex">
|
<view class="label">
|
收货地址:
|
</view>
|
<view class="value">{{ item.customerAddress }}</view>
|
</view>
|
<view class="desc flex">
|
<view class="label">
|
支付时间:
|
</view>
|
<view class="value">{{ item.paymentTime }}</view>
|
</view>
|
</view>
|
|
</view>
|
|
</view>
|
</template>
|
|
<style lang="scss" scoped>
|
.order-container {
|
padding: 24rpx 30rpx;
|
.order-item {
|
margin-bottom: 20rpx;
|
padding: 28rpx;
|
background-color: #fff;
|
border-radius: 8rpx;
|
|
.title {
|
font-weight: 600;
|
font-size: 28rpx;
|
color: #000000;
|
line-height: 40rpx;
|
.status {
|
font-weight: 400;
|
font-size: 28rpx;
|
color: #20613D;
|
line-height: 40rpx;
|
}
|
}
|
.desc{
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #666666;
|
line-height: 34rpx;
|
}
|
|
|
.line {
|
height: 2rpx solid #EEEEEE;
|
margin-top: 16rpx;
|
margin-bottom: 16rpx;
|
}
|
|
|
}
|
|
.status-list {
|
overflow-x: scroll;
|
|
.status-each {
|
font-weight: 400;
|
font-size: 28rpx;
|
color: #666666;
|
line-height: 40rpx;
|
margin: 0 auto;
|
//min-width: ;
|
padding-left: 20rpx;
|
padding-right: 20rpx;
|
width: fit-content;
|
min-width: 120rpx;
|
text-align: center;
|
}
|
|
.status-each.cur {
|
font-weight: 600;
|
font-size: 32rpx;
|
color: #20613D;
|
line-height: 44rpx;
|
}
|
|
.status-each:first-child {
|
margin-left: 0
|
}
|
|
.status-each:last-child {
|
margin-right: 0;
|
}
|
}
|
|
.order-top {
|
position: relative;
|
min-height: 182rpx;
|
background: #E1F0E7;
|
border-radius: 8rpx;
|
padding: 45rpx 35rpx;
|
|
.title {
|
font-weight: 600;
|
font-size: 30rpx;
|
color: #000000;
|
line-height: 42rpx;
|
}
|
|
.desc {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #666666;
|
line-height: 34rpx;
|
}
|
|
.image {
|
position: absolute;
|
right: 0rpx;
|
width: 288rpx;
|
height: 148rpx;
|
bottom: 0rpx;
|
}
|
}
|
}
|
</style>
|