xuxueyang
2024-09-12 73341eba8e313c2aead0476026bc362b8c4be4b1
pages/home/home.vue
@@ -75,7 +75,38 @@
      </view>
      <common-footer flg="0"></common-footer>
      <uni-popup ref="coupon_home" type="bottom" border-radius="10px 10px 0 0">底部弹出 Popup 自定义圆角</uni-popup>
      <uni-popup ref="coupon_home" type="center" border-radius="10px 10px 0 0">
         <view class="coupon-container" style="width: 690rpx;">
            <view class="coupont-item all">
               <view class="flex container img100">
                  <view class="info-price">
                     <view class="price1">
                        {{dto_home_coupon.maxDiscountAmount?(`${dto_home_coupon.maxDiscountAmount}折`):(`¥${dto_home_coupon.couponDiscountValue}`)}}
                     </view>
                     <view class="price2">
                        {{dto_home_coupon.minOrderAmount?(`满¥${dto_home_coupon.minOrderAmount}可用`):'无门槛'}}
                     </view>
                  </view>
                  <view class="info flex1">
                     <view class="title">
                        {{dto_home_coupon.couponName||'-'}}
                     </view>
                     <view class="time" v-if="dto_home_coupon.getEndDate">
                        <!-- 领取后{{dto_home_coupon.usageTimeNum||''}}{{dto_home_coupon.usageTimeTypeName||''}}有效 -->
                        {{dto_home_coupon.getEndDate|| '-'}}前有效
                     </view>
                     <view class="button" @click="getCoupon(dto_home_coupon)">
                        立即领取
                     </view>
                  </view>
               </view>
               <view class="tip">
                  <span class="t-red">*</span>此券每人限领1张。仅限用于花满芜鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用
               </view>
            </view>
         </view>
      </uni-popup>
   </view>
@@ -111,10 +142,10 @@
      },
      onPullDownRefresh() {
         // 下拉刷新方法
         this.init()
         this.init()
         this.$message.showLoading()
         this.init_children()
         setTimeout(() => {
         setTimeout(() => {
            this.$message.hideLoading()
            uni.stopPullDownRefresh()
         }, 2000)
@@ -175,7 +206,8 @@
            hide_footer: false,
            noticeList: [],
            currentNoticeIndex: 0,
            currentNotice: {}
            currentNotice: {},
            dto_home_coupon: {}
         };
      },
      onShareAppMessage() {
@@ -211,6 +243,23 @@
         this.init()
      },
      methods: {
         async getCoupon(item) {
            this.$message.showLoading()
            const {
               code,
               data
            } = await this.$http.request('post', '/api/v2/coupon/app/receive', {
               data: {
                  couponId: item.id,
                  num: 1
               }
            })
            if (code == 0) {
               this.$refs.coupon_home.close()
               this.$message.showToast('领取成功')
            }
         },
         init_children() {
            this.$refs.home_top_flow && this.$refs.home_top_flow.init && this.$refs.home_top_flow.init()
            this.$refs.home_category && this.$refs.home_category.init && this.$refs.home_category.init()
@@ -357,18 +406,23 @@
               }
            })
            // let tmp = this
            // //首页优惠券
            // this.$http.request('get', '/api/v2/coupon/app' + `/home/list`).then(res => {
            //    if (res.code == 0) {
            //       var list = res.data || []
            //       var dto = list.length >= 1 ? list[0] : undefined
            //       if (dto) {
            //          // 显示弹窗图片
            //          tmp.$refs.coupon_home.open()
            //       }
            //    }
            // })
            let tmp = this
            var value = this.$storage.getItem('cache_home_show_coupon')
            if (!value || true) {
               //首页优惠券
               this.$storage.setItem('cache_home_show_coupon', '1')
               this.$http.request('get', '/api/v2/coupon/home/alert').then(res => {
                  if (res.code == 0) {
                     var list = res.data || []
                     var dto = list.length >= 1 ? list[0] : undefined
                     if (dto) {
                        // 显示弹窗图片
                        this.dto_home_coupon = dto
                        tmp.$refs.coupon_home.open()
                     }
                  }
               })
            }
         },
         clickBanner(item) {
@@ -427,4 +481,8 @@
<style lang="scss" scoped>
   @import "./home.scss";
   /* #ifdef PUB_CUSTOMER */
   @import "@/sub_pages/customer/coupon/coupon.scss";
   /* #endif */
</style>