319 lines
6.0 KiB
Vue
319 lines
6.0 KiB
Vue
<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="tap-box">
|
|
<view class="box-tap" :class="{ 'act' :actinput == index }" v-for="(item,index) in taplist" :key="index"
|
|
@click="getindex(index)">
|
|
<view class="">{{item.title }}</view>
|
|
<view class="gang" v-if="actinput == index"></view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<u-empty text="积分订单" v-if="orderList.length == 0" icon="http://cdn.uviewui.com/uview/empty/list.png">
|
|
</u-empty>
|
|
|
|
<view class="goods-box" v-for="(item,index) in orderList" :key="item.id" @click="orderDetails(item)">
|
|
<view class="goods-top">
|
|
<view class="goods-img">
|
|
<image :src="baseUrl+item.coverImage" mode="aspectFit"></image>
|
|
</view>
|
|
<view class="nr-tip">
|
|
<view class="title-s">{{item.giftName}}</view>
|
|
<view class="hui-s">{{item.createTime}} {{item.orderType==0?"(商城兑换)":"(积分兑换)"}}</view>
|
|
<view class="right-size">
|
|
<view class="jg">
|
|
{{item.amount?"¥"+item.amount:''}}
|
|
{{item.amount && item.integral ? '+':''}}
|
|
{{item.integral?item.integral+'积分':''}}
|
|
</view>
|
|
<view class="">X{{item.exchangeQuantity}}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="goods-bottom" v-if="actinput == 1 ">
|
|
<view class="sh-anniu" @click="confirmTheReceipt(item.id)">
|
|
<text>确认收货</text>
|
|
</view>
|
|
</view>
|
|
<!-- <view class="goods-bottom" v-if="actinput == 2 ">
|
|
<view class="sh-anniu" @click="refund()">
|
|
<text>点击退款</text>
|
|
</view>
|
|
</view> -->
|
|
<!-- <view class="goods-bottom" v-if="actinput == 3 ">
|
|
<view class="sh-anniu" @click="payment()">
|
|
<text>去付款</text>
|
|
</view>
|
|
</view> -->
|
|
</view>
|
|
|
|
<u-empty v-if="arrList.length == 0" mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
|
|
</u-empty>
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import config from '@/config'
|
|
import request from '../../utils/request'
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
title: '',
|
|
orderList: [],
|
|
baseUrl: config.baseUrl,
|
|
query: {
|
|
orderStatus: '',
|
|
chainStoreId: uni.getStorageSync('chainStoreId'),
|
|
storeId: uni.getStorageSync('storeId')
|
|
|
|
},
|
|
taplist: [{
|
|
title: '全部'
|
|
},
|
|
{
|
|
title: '待收货'
|
|
},
|
|
{
|
|
title: '已完成'
|
|
},
|
|
// {
|
|
// title: '已退款'
|
|
// },
|
|
// {
|
|
// title: '待支付'
|
|
// },
|
|
|
|
|
|
],
|
|
arrList: ["1"],
|
|
actinput: 0,
|
|
}
|
|
},
|
|
components: {
|
|
|
|
},
|
|
onShow() {
|
|
this.getIntegralOrderList()
|
|
},
|
|
methods: {
|
|
getindex(index) {
|
|
this.actinput = index
|
|
if (index != 0) {
|
|
this.query.orderStatus = index
|
|
// if (index == 1) {
|
|
// this.query.orderStatus = '已发货'
|
|
|
|
// }else {
|
|
// this.query.orderStatus = this.taplist[index].title
|
|
|
|
// }
|
|
} else {
|
|
this.query.orderStatus = ''
|
|
}
|
|
this.getIntegralOrderList()
|
|
|
|
},
|
|
|
|
goback() {
|
|
uni.navigateBack()
|
|
},
|
|
// 查询我的积分明细
|
|
getIntegralOrderList() {
|
|
request({
|
|
url: 'business/integral/integralOrders/queryByPageUni',
|
|
method: 'get',
|
|
params: this.query
|
|
|
|
}).then((res) => {
|
|
if (res.code == 200) {
|
|
this.orderList = res.data.records
|
|
}
|
|
})
|
|
},
|
|
|
|
// 订单详情
|
|
orderDetails(data) {
|
|
console.log("dara", data)
|
|
uni.$on('pointsGoodsDetailsUn', function() {
|
|
uni.$emit('pointsGoodsDetails', data)
|
|
|
|
})
|
|
uni.navigateTo({
|
|
url: '/pagesHome/PointsGoodsDetails/PointsGoodsDetails',
|
|
})
|
|
},
|
|
confirmTheReceipt(data) {
|
|
let params = {
|
|
id: data,
|
|
orderStatus: '已完成'
|
|
}
|
|
request({
|
|
url: 'business/integral/integralOrders/editUni',
|
|
method: 'put',
|
|
data: params
|
|
}).then((res) => {
|
|
if (res.code == 200) {
|
|
this.orderList = res.data.records
|
|
this.getIntegralOrderList()
|
|
}
|
|
})
|
|
},
|
|
refund(data) {
|
|
|
|
},
|
|
payment(data) {
|
|
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.content {
|
|
background: #f4f5f6;
|
|
}
|
|
|
|
.container {
|
|
width: 100%;
|
|
height: 100%;
|
|
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;
|
|
}
|
|
|
|
.tap-box {
|
|
width: 100%;
|
|
height: 50px;
|
|
display: flex;
|
|
align-items: center;
|
|
background-color: #ffffff;
|
|
|
|
}
|
|
|
|
.box-tap {
|
|
width: 20%;
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.act {
|
|
color: #2979ff;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.gang {
|
|
width: 25px;
|
|
height: 5px;
|
|
background-color: #2979ff;
|
|
border-radius: 8px;
|
|
margin: 2px auto;
|
|
}
|
|
|
|
.goods-box {
|
|
width: 95%;
|
|
border-radius: 8px;
|
|
margin: 10px auto;
|
|
background: #ffffff;
|
|
box-sizing: border-box;
|
|
padding: 10px;
|
|
}
|
|
|
|
.goods-top {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.goods-img {
|
|
width: 175rpx;
|
|
height: 175rpx;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
|
|
image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.nr-tip {
|
|
width: 70%;
|
|
|
|
}
|
|
|
|
.title-s {
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
color: #333;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.hui-s {
|
|
font-size: 14px;
|
|
color: #999999;
|
|
margin: 5px auto;
|
|
}
|
|
|
|
.right-size {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-weight: bold;
|
|
color: #333;
|
|
}
|
|
|
|
.jg {
|
|
font-weight: bold;
|
|
color: #FF1800 !important;
|
|
}
|
|
|
|
.goods-bottom {
|
|
box-sizing: border-box;
|
|
padding: 5px 0px;
|
|
border-top: 1px solid #F4F4F4;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.sh-anniu {
|
|
box-sizing: border-box;
|
|
padding: 5px 10px;
|
|
border-radius: 50px;
|
|
border: 1px solid #2979ff;
|
|
color: #2979ff;
|
|
}
|
|
</style> |