石广澎
2024-09-20 a686c879b57b1c3ba193087d8c845bf83a1b4fea
pay/scanpay.vue
@@ -83,6 +83,7 @@
        </view>
      </block>
      <button class="pay-it" @click="pay">付款</button>
      <view v-if="bordShow" style="height: 470rpx"></view>
      <!-- 数字键盘 -->
      <u-popup zIndex="500" :show="bordShow" :overlay="false" @close="bordShow = false">
        <key-bord @changeMoney="changeMoney" :num.sync="money" @close="bordShow = false" @pay="pay"></key-bord>
@@ -94,29 +95,34 @@
          已选择优惠券1张,共抵扣¥{{ parseFloat((checkCoupon.discount / 100).toFixed(2)) }}
        </view>
        <scroll-view scroll-y class="u-p-30 coupon-list">
          <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">
                <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>
            <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-22 color-999 u-m-t-20">
                  有效期至:{{ $u.timeFormat(item.outTime, 'yyyy-mm-dd hh:MM') }}
          <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">
                  <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>
              <u-icon v-if="item.id==checkCoupon.id" name="checkmark-circle-fill" color="#D31F28" size="20">
              </u-icon>
              <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-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>
              </view>
            </view>
          </view>
          </block>
        </scroll-view>
        <view @click="getCoupon" class="coupon-btn">确定</view>
      </u-popup>
      <!--   备注弹窗   -->
      <u-modal showCancelButton :show="showRemark" title="备注" confirmColor="#D31F28" @close="showRemark = false" @cancel="showRemark = false" @confirm="showRemark = false">
        <view style="border: 1rpx solid #eee;width: 100%">
          <u--textarea v-model="buyerNote" placeholder="请输入备注内容" maxlength="100" none count></u--textarea>
@@ -159,7 +165,7 @@
      buyerNote: '',
      showRemark: false,
      UNIONID: null,
      payWay: this.$utils.getPlat(), //2 维信 5支付宝
      payWay: this.$utils.getPlat(), //2 维信 5支付宝 15云闪付
      cid: '', //码牌id  C扫B静态码时有
      activityQrcodeId: '', //动态收款码  C扫B动态码时有
      shopId: '', //商户id  C扫B动态码时有
@@ -178,7 +184,7 @@
      isNew: false, // 是否新用户,新用户查询不到积分和银行卡
      canReset: false,
      couponShow: false, // 优惠券弹窗
      couponList: [], // 优惠券
      couponList: null, // 优惠券
      couponInfo: {
        id: '',
        discount: 0,
@@ -305,7 +311,7 @@
      uni.setStorageSync('IS_NEW', res.isNew)
      this.isNew = res.isNew
      if (!res.isNew && !uni.$u.test.isEmpty(this.money)) {
        this.showCoupon()
        this.queryUseSweepPayCoupon()
      }
    },
    /*授权unionid*/
@@ -402,21 +408,26 @@
          uni.$u.toast('请输入金额!')
          return
        }
        //获取用户优惠券
        queryUseSweepPayCoupon({
          params: {
            applyPayWayStr: this.payWay,
            cusid: this.shopInfo.id,
            money: Number(this.money * 100),
          }
        }).then(res => {
          this.couponList = res
          this.couponShow = true
        })
        this.couponList = null
        this.couponShow = true
        this.queryUseSweepPayCoupon()
      } else {
        this.toRegister()
      }
    },
    //获取用户优惠券
    queryUseSweepPayCoupon(){
      queryUseSweepPayCoupon({
        params: {
          applyPayWayStr: this.payWay,
          cusid: this.shopInfo.id,
          money: (this.money * 100).toFixed(0),
        }
      }).then(res => {
        this.couponList = res
      }).catch(()=>{
        this.couponList = []
      })
    },
    //选择优惠券
    clickCoupon(item) {
@@ -446,6 +457,8 @@
      // 金额 this.money
      uni.showLoading()
      const params = {
        money: (this.money * 100).toFixed(0),
        shopId: this.shopInfo.id,
        payWay: this.payWay,
        buyerNote: this.buyerNote,
        score: 0,
@@ -455,8 +468,6 @@
        params.activityQrcodeId = this.activityQrcodeId
      }
      if (this.cid) {
        params.money = Number(this.money * 100)
        params.shopId = this.shopInfo.id
        params.cid = this.cid
      }
      //生成订单
@@ -471,6 +482,9 @@
          }
          if (this.payWay == 5) {
            this.aliPay(res.paymentData)
          }
          if (this.payWay == 15) {
            this.aliPay(res.paymentUrl)
          }
        } catch (e) {
          //TODO handle the exception
@@ -738,7 +752,7 @@
.coupon-list {
  box-sizing: border-box;
  height: calc(50vh - 44px);
  height: calc(60vh - 44px);
}