<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>