陶杰
2024-09-12 fb48777cd4c3f086f77b5b26e1d03aebf995f4f5
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,28 @@
         this.init()
      },
      methods: {
         async getCoupon(item) {
            if (!this.currentInfo.id) {
               await this.$message.confirm('请先前往登录')
               this.$storage.removeItem('cache_home_show_coupon')
               return
            }
            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 +411,30 @@
               }
            })
            // 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()
            //       }
            //    }
            // })
            if (tmp.currentInfo.id) {
               let tmp = this
               //延迟2秒
               setTimeout(() => {
                  var value = tmp.$storage.getItem('cache_home_show_coupon')
                  if (!value) {
                     //首页优惠券
                     tmp.$storage.setItem('cache_home_show_coupon', '1')
                     var u = '/api/v2/coupon/home/alert'
                     u = '/api/v2/coupon/app/home/list'
                     tmp.$http.request('get', u).then(res => {
                        if (res.code == 0) {
                           var list = res.data || []
                           var dto = list.length >= 1 ? list[0] : undefined
                           if (dto) {
                              // 显示弹窗图片
                              tmp.dto_home_coupon = dto
                              tmp.$refs.coupon_home.open()
                           }
                        }
                     })
                  }
               }, 2000)
            }
         },
         clickBanner(item) {
@@ -427,4 +493,8 @@
<style lang="scss" scoped>
   @import "./home.scss";
   /* #ifdef PUB_CUSTOMER */
   @import "@/sub_pages/customer/coupon/coupon.scss";
   /* #endif */
</style>