<template>
<view class='order-list'>
<u-tabs :list="list" :current='current' @click="tabsClick"></u-tabs>
<view class='main'>
<view
v-for='item in orderList'
:key='item.id'
class='order-item'
@click='details(item.id)'
>
<view class='item-goods'>
<image :src='item.goodsList[0].brandLogo'></image>
<view>{{ item.goodsList[0].skuTitle }}</view>
<text class='goods-price'>¥ {{ item.payPrice }}</text>
</view>
<view class='item-status'>
<view>实付:¥{{ item.payPrice }}</view>
{{ item }}
<view v-if='item.status == 1 && item.deliveryStatus ==0 && item.isPay ==2'>
待付款
</view>
<view v-if='item.status == 1 && item.deliveryStatus ==0 && item.isPay ==1'>
待发货
</view>
<view v-if='item.status == 1 && item.deliveryStatus ==1 && item.isPay ==1'>
待收货
</view>
<view v-if='item.status == 5'>
已完成
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { orderPage } from '@/utils/api/order.js'
export default{
data () {
return {
list:[
{name: '全部'},
{name: '待付款'},
{name: '待发货'},
{name: '待收货'},
{name: '已完成'}
],
current:0,
params:{
current:1,
size:4,
isPay:'',
deliveryStatus:'',
status:''
},
orderList:[],
end:false
}
},
onLoad( e ) {
if( e.id ){
let index = parseInt( e.id );
this.current = index;
this.switchTab( index );
}
this.getOrderList();
},
onPullDownRefresh() {
console.log( 1 );
},
onReachBottom(){
this.params.current++;
this.getOrderList();
},
methods:{
async getOrderList(){
let res = await orderPage( this.params );
this.orderList = [...this.orderList,...res.data.records];
},
switchTab( msg ){
switch( msg ){
case 0:
this.params = {
current:1,
size:4,
}
break;
case 1:
this.params.isPay = '2';
this.params.deliveryStatus = '0';
this.params.status = '1'
break;
case 2:
this.params.isPay = '1';
this.params.deliveryStatus = '0';
this.params.status = '1'
break;
case 3:
this.params.isPay = '1';
this.params.deliveryStatus = '1';
this.params.status = '1'
break;
case 4:
this.params.isPay = '1';
this.params.deliveryStatus = '2';
this.params.status = '5'
break;
}
},
tabsClick( item ){
this.orderList = [];
let { index ,name } = item;
this.current = index;
this.switchTab( index );
this.getOrderList();
},
details( id ){
uni.navigateTo({
url:`/order/order-details?id=${ id }`
})
}
}
}
</script>
<style>
.order-list{
background-color: #F6F7F9;
}
.order-item{
width: 716px;
height: 275rpx;
background: #FFFFFF;
}
.main .order-item + .order-item{
margin-top:23rpx;
}
.item-goods{
display: flex;
justify-content: space-around;
align-items: center;
width: 716rpx;
}
.item-goods image{
width: 123rpx;
height: 123rpx;
margin-left:24prx;
background: #FFFFFF;
border-radius: 7rpx;
border: 1px solid #707070;
}
.item-goods view{
flex:1;
font-size: 27rpx;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
overflow: hidden;
}
.item-goods .goods-price{
width: 69rpx;
margin-right:24rpx;
}
.item-status{
width: 716rpx;
display: flex;
justify-content: space-between;
}
</style>