| | |
| | | <!-- <u-icon name="coupon-fill" size="60rpx" color="#D31F28"></u-icon> --> |
| | | <view class="u-font-32 u-flex-1 u-m-h-16">优惠券</view> |
| | | <view @click="showCoupon" class="u-flex"> |
| | | <view v-if="couponInfo.id" class="tag-pain"> |
| | | 满{{ parseFloat((couponInfo.thresholdValue / 100).toFixed(2)) }}元减{{ parseFloat((couponInfo.discount / 100).toFixed(2)) }}元 |
| | | </view> |
| | | <block v-if="couponInfo.id"> |
| | | <view v-if="couponInfo.discountType==1" class="tag-pain"> |
| | | 满{{ parseFloat((couponInfo.thresholdValue / 100).toFixed(2)) }}元减{{ parseFloat((couponInfo.discount / 100).toFixed(2)) }}元券 |
| | | </view> |
| | | <view v-if="couponInfo.discountType==2" class="tag-pain"> |
| | | {{ parseFloat(couponInfo.discount * 10).toFixed(1) }}折券 |
| | | </view> |
| | | </block> |
| | | |
| | | <view v-else class="u-font-28 lh-1 u-tips-color">请选择</view> |
| | | <u-icon class="u-m-l-10" name="arrow-right" color="#999" size="16"></u-icon> |
| | | </view> |
| | |
| | | <u-popup v-if="payWay==2" mode="bottom" :closeable="true" :show="couponShow" @close="couponShow = false" :round="10"> |
| | | <view class="u-font-32 color-333 u-text-center u-p-t-30">优惠券</view> |
| | | <view v-if="checkCoupon.id" class="choose-coupon"> |
| | | 已选择优惠券1张,共抵扣¥{{ parseFloat((checkCoupon.discount / 100).toFixed(2)) }} |
| | | 已选择优惠券1张,可抵扣¥{{ discount1 }} |
| | | </view> |
| | | <scroll-view scroll-y class="u-p-30 coupon-list"> |
| | | <u-loadmore v-if="!couponList" status="loading" /> |
| | | <u-loadmore v-if="!couponList" status="loading"/> |
| | | <u-empty v-else-if="couponList.length===0" mode="coupon" icon="/static/no_coupon.png" text="暂无优惠券可用!"></u-empty> |
| | | <block v-else> |
| | | <view @click="clickCoupon(item)" class="u-m-b-24 u-flex coupon" v-for="(item, index) in couponList" :key="index"> |
| | | <view style="color: #D31F28;" class="u-p-h-28"> |
| | | <view class="font-bold"> |
| | | <view class="num-box"> |
| | | <view v-if="item.discountType==1" class="font-bold" style="color: #D31F28;"> |
| | | <text class="u-font-36">¥</text> |
| | | <text class="money">{{ parseFloat(item.discount / 100) }}</text> |
| | | </view> |
| | | <view class="u-font-24 u-m-t-20">满{{ parseFloat(item.thresholdValue / 100) }}元使用</view> |
| | | <view v-if="item.discountType==2" class="font-bold" style="color: #D31F28;"> |
| | | <text class="money">{{ parseFloat(item.discount * 10).toFixed(1) }}</text> |
| | | <text class="u-font-36">折</text> |
| | | </view> |
| | | <view v-if="item.orderMax" class="u-font-24 u-m-t-20">低于{{ parseFloat(item.orderMax / 100) }}元可用</view> |
| | | <view v-else-if="item.thresholdValue" class="u-font-24 u-m-t-20">满{{ parseFloat(item.thresholdValue / 100) }}元可用</view> |
| | | <view v-else class="u-font-24 u-m-t-20">无门槛</view> |
| | | </view> |
| | | <view class="butt"></view> |
| | | <view class="u-p-30 u-flex-1 u-flex"> |
| | | <view class="u-flex-1"> |
| | | <view class="u-font-28 color-333 u-line-2">{{ item.name }}</view> |
| | | <view class="u-font-32 color-333 u-line-2">{{ item.name }}</view> |
| | | <view class="u-font-22 color-999 u-m-t-20"> |
| | | 有效期至:{{ $u.timeFormat(item.outTime, 'yyyy-mm-dd hh:MM') }} |
| | | </view> |
| | | </view> |
| | | <u-icon v-if="item.id==checkCoupon.id" name="checkmark-circle-fill" color="#D31F28" size="20"> |
| | | <u-icon v-if="item.id==checkCoupon.id" name="checkmark-circle-fill" color="#D31F28" size="24"> |
| | | </u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | discount1() { |
| | | if(!(this.money || 0)||!this.checkCoupon.id){ |
| | | return 0 |
| | | } |
| | | if (this.checkCoupon.discountType == 1) { |
| | | const num = (this.checkCoupon.discount / 100).toFixed(2) |
| | | return parseFloat(num); |
| | | } |
| | | const dis = 1 - parseFloat(this.checkCoupon.discount) |
| | | const dic = Math.floor(Number((this.money || 0) * 100) * dis) |
| | | return (dic / 100).toFixed(2); |
| | | }, |
| | | discount() { |
| | | let num = 0; |
| | | num = (this.couponInfo.discount / 100).toFixed(2); |
| | | return parseFloat(num); |
| | | if(!(this.money || 0)||!this.couponInfo.id){ |
| | | return 0 |
| | | } |
| | | if (this.couponInfo.discountType == 1) { |
| | | const num = (this.couponInfo.discount / 100).toFixed(2) |
| | | return parseFloat(num); |
| | | } |
| | | const dis = 1 - parseFloat(this.couponInfo.discount) |
| | | const dic = Math.floor(Number((this.money || 0) * 100) * dis) |
| | | return (dic / 100).toFixed(2); |
| | | }, |
| | | payMoney() { |
| | | let num = 0; |
| | | num = Number((this.money || 0) * 100) - this.couponInfo.discount; |
| | | num = num > 0 ? (num / 100).toFixed(2) : '0.00'; |
| | | return parseFloat(num); |
| | | if(this.discount===0||!Number(this.money || 0)){ |
| | | return 0 |
| | | } |
| | | const num = Number((this.money || 0) * 100) - Number(this.discount*100); |
| | | return (num / 100).toFixed(2); |
| | | } |
| | | }, |
| | | onLoad(opt) { |
| | |
| | | } |
| | | }, |
| | | //获取用户优惠券 |
| | | queryUseSweepPayCoupon(){ |
| | | queryUseSweepPayCoupon() { |
| | | queryUseSweepPayCoupon({ |
| | | params: { |
| | | applyPayWayStr: this.payWay, |
| | |
| | | } |
| | | }).then(res => { |
| | | this.couponList = res |
| | | }).catch(()=>{ |
| | | }).catch(() => { |
| | | this.couponList = [] |
| | | }) |
| | | }, |
| | |
| | | |
| | | .money { |
| | | font-size: 40rpx; |
| | | color: #333; |
| | | } |
| | | |
| | | |
| | |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .num-box{ |
| | | width: 200rpx; |
| | | text-align: center; |
| | | } |
| | | .choose-coupon { |
| | | margin: 32rpx 32rpx 0; |
| | | border-radius: 10rpx; |