xuxueyang
2024-09-10 7868120e5a449760f81caac6f2e3c75924964268
sub_pages/customer/coupon/coupon-self.vue
@@ -1,6 +1,6 @@
<template>
   <view class="coupon-container">
      <view class="p10">
      <view class="p10" v-if="source!=='shopping'">
         <top-tabs :tabs="tabs" :flg="flg" @change="changeTab" type="coupon">
         </top-tabs>
@@ -8,7 +8,8 @@
      <view class="">
         <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
         <view v-for="(item,index) of list" :key="index" class="coupont-item" :class="[query.status]">
         <view v-for="(item,index) of list" :key="index" class="coupont-item" :class="[query.status]"
            @click="selectCoupon(item)">
            <view class="flex container img100">
               <view class="info-price">
                  <view class="price1">
@@ -31,8 +32,8 @@
            </view>
         </view>
      </view>
      <view style="min-height: 130rpx;"></view>
      <view class="bottom-button" @click="getCoupon">领取优惠券</view>
      <view style="min-height: 130rpx;" v-if="source!=='shopping'"></view>
      <view class="bottom-button" v-if="source!=='shopping'" @click="getCoupon">领取优惠券</view>
   </view>
</template>
@@ -63,17 +64,38 @@
            query: {
               status: 'unused'
            },
            list: []
            list: [],
            source: ''
         }
      },
      async onLoad() {
         this.listApi = '/api/v2/coupon/app' + `/mine/${this.query.status}/list`
      async onLoad(options) {
         if (options.source) {
            this.source = options.source || ''
         }
         if (this.source === 'shopping') {
            //只展示可用的
            this.page.size = 100
            this.listApi = '/api/v2/coupon/app' + `/mine/unused/list`
         } else {
            this.listApi = '/api/v2/coupon/app' + `/mine/${this.query.status}/list`
         }
         await this.$store.dispatch('sign_clear', 'coupon')
         this.getList()
      },
      onReachBottom() {
         this.getMore()
      },
      methods: {
         async selectCoupon(item) {
            if (this.source == 'shopping') {
               await this.$store.dispatch('cache_coupon_select', item)
               uni.navigateBack()
            }
         },
         changeTab(flg) {
            this.flg = '' + flg
            this.query.status = this.tabs[flg].status