| | |
| | | font-size: 13px; |
| | | color: #999 |
| | | } |
| | | |
| | | .btn { |
| | | font-size: 13px; |
| | | color: #1E8BE0 |
| | | } |
| | | </style> |
| | | <span class="txt">微信搜索或直接点击打开</span> |
| | | <span class="txt">微信搜索或点击打开</span> |
| | | <span class="btn">【冀优邮】</span> |
| | | <span class="txt">小程序,享受更多优惠</span> |
| | | <span class="txt">小程序,享更多优惠!</span> |
| | | </script> |
| | | </wx-open-launch-weapp> |
| | | </view> |
| | |
| | | 已选择优惠券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> |
| | |
| | | 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动态码时有 |
| | |
| | | isNew: false, // 是否新用户,新用户查询不到积分和银行卡 |
| | | canReset: false, |
| | | couponShow: false, // 优惠券弹窗 |
| | | couponList: [], // 优惠券 |
| | | couponList: null, // 优惠券 |
| | | couponInfo: { |
| | | id: '', |
| | | discount: 0, |
| | |
| | | uni.setStorageSync('SHOPID', opt.shopId) |
| | | uni.setStorageSync('SMONEY', opt.smoney) |
| | | uni.setStorageSync('AQCI', opt.activityQrcodeId) |
| | | this.UNIONID = uni.getStorageSync('UNIONID' + this.payWay) || null |
| | | this.UNIONID = uni.getStorageSync('UNIONID') || null |
| | | this.isNew = uni.getStorageSync('IS_NEW') |
| | | if (opt.smoney) { |
| | | this.smoney = opt.smoney |
| | |
| | | code: opt.code |
| | | } |
| | | let code = opt.code |
| | | if (this.payWay == 2&&opt.state == 1 ) { //微信 |
| | | if (this.payWay == 2 && opt.state == 1) { //微信 |
| | | params.getUserInfo = 1 |
| | | } |
| | | if (this.payWay == 5) { //支付宝 |
| | |
| | | getToken(res) { |
| | | this.token = res.token |
| | | if (res.openid) { |
| | | uni.setStorageSync('OPENID' + this.payWay, res.openid) |
| | | uni.setStorageSync('OPENID', res.openid) |
| | | } |
| | | if (res.unionid) { |
| | | uni.setStorageSync('UNIONID' + this.payWay, res.unionid) |
| | | uni.setStorageSync('UNIONID', res.unionid) |
| | | } |
| | | if (res.aLiUserId) { |
| | | uni.setStorageSync('ALIUSERID' + this.payWay, res.aLiUserId) |
| | | uni.setStorageSync('ALIUSERID', res.aLiUserId) |
| | | } |
| | | if (res.cloudPayUserId) { |
| | | uni.setStorageSync('UNIONPAYID', res.cloudPayUserId) |
| | | } |
| | | this.UNIONID = res.unionid |
| | | uni.setStorageSync(ACCESSTOKEN, res.token) |
| | | uni.setStorageSync('IS_NEW', res.isNew) |
| | | this.isNew = res.isNew |
| | | if (!res.isNew) { |
| | | this.showCoupon() |
| | | if (!res.isNew && !uni.$u.test.isEmpty(this.money)) { |
| | | this.queryUseSweepPayCoupon() |
| | | } |
| | | }, |
| | | /*授权unionid*/ |
| | |
| | | // 更新金额 |
| | | changeMoney(str) { |
| | | this.money = str; |
| | | this.couponInfo = { |
| | | id: '', |
| | | discount: 0, |
| | | thresholdValue: 0 |
| | | } // 优惠券内容 |
| | | this.checkCoupon = { |
| | | id: null, |
| | | discount: 0, |
| | | thresholdValue: 0 |
| | | } |
| | | }, |
| | | // 展示键盘 |
| | | showBord() { |
| | |
| | | res.logoImage = config.baseURL + res.logoImage |
| | | } |
| | | this.shopInfo = res |
| | | }).catch(() => { |
| | | }).catch((err) => { |
| | | clearTimeout(timer) |
| | | this.shopInfo.scanFlag = 0 |
| | | this.tips = '当前用户过多,请稍后重试~_~' |
| | | this.tips = err.description || '当前用户过多,请稍后重试~_~' |
| | | this.loading = false |
| | | }) |
| | | |
| | |
| | | }, |
| | | // 获取会员相关信息 |
| | | showCoupon() { |
| | | if(this.UNIONID){ |
| | | //获取用户优惠券 |
| | | queryUseSweepPayCoupon({ |
| | | params: { |
| | | applyPayWayStr: this.payWay, |
| | | cusid: this.shopInfo.id, |
| | | money: Number(this.money * 100), |
| | | } |
| | | }).then(res => { |
| | | this.couponList = res |
| | | this.couponShow = true |
| | | }) |
| | | }else{ |
| | | if (this.UNIONID) { |
| | | if (uni.$u.test.isEmpty(this.money)) { |
| | | uni.$u.toast('请输入金额!') |
| | | return |
| | | } |
| | | this.couponList = null |
| | | this.couponShow = true |
| | | this.queryUseSweepPayCoupon() |
| | | } else { |
| | | this.toRegister() |
| | | } |
| | | |
| | | }, |
| | | //获取用户优惠券 |
| | | queryUseSweepPayCoupon(){ |
| | | queryUseSweepPayCoupon({ |
| | | params: { |
| | | applyPayWayStr: this.payWay, |
| | | cusid: this.shopInfo.id, |
| | | money: Number(this.money * 100), |
| | | } |
| | | }).then(res => { |
| | | this.couponList = res |
| | | }).catch(()=>{ |
| | | this.couponList = [] |
| | | }) |
| | | }, |
| | | //选择优惠券 |
| | | clickCoupon(item) { |
| | |
| | | // 金额 this.money |
| | | uni.showLoading() |
| | | const params = { |
| | | money: (this.money * 100).toFixed(0), |
| | | shopId: this.shopInfo.id, |
| | | payWay: this.payWay, |
| | | buyerNote: this.buyerNote, |
| | | score: 0, |
| | |
| | | params.activityQrcodeId = this.activityQrcodeId |
| | | } |
| | | if (this.cid) { |
| | | params.money = Number(this.money * 100) |
| | | params.shopId = this.shopInfo.id |
| | | params.cid = this.cid |
| | | } |
| | | //生成订单 |
| | |
| | | } |
| | | if (this.payWay == 5) { |
| | | this.aliPay(res.paymentData) |
| | | } |
| | | if (this.payWay == 15) { |
| | | this.aliPay(res.paymentUrl) |
| | | } |
| | | } catch (e) { |
| | | //TODO handle the exception |
| | |
| | | }); |
| | | }, |
| | | closeOrder() { |
| | | closeOrder({params:{ |
| | | id: this.orderId, |
| | | }}).then(res => { |
| | | closeOrder({ |
| | | params: { |
| | | id: this.orderId, |
| | | } |
| | | }).then(res => { |
| | | }) |
| | | } |
| | | } |
| | |
| | | |
| | | .coupon-list { |
| | | box-sizing: border-box; |
| | | height: calc(50vh - 44px); |
| | | height: calc(80vh - 44px); |
| | | } |
| | | |
| | | |