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

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>