From 192695706dfafbfee7ead68118230fb039f57a52 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期五, 20 九月 2024 14:20:35 +0800
Subject: [PATCH] feat(优惠券): 支付金额处理
---
pay/scanpay.vue | 126 +++++++++++++++++++++++++----------------
1 files changed, 77 insertions(+), 49 deletions(-)
diff --git a/pay/scanpay.vue b/pay/scanpay.vue
index 25a4926..64fa7da 100644
--- a/pay/scanpay.vue
+++ b/pay/scanpay.vue
@@ -39,16 +39,15 @@
font-size: 13px;
color: #999
}
+
.btn {
font-size: 13px;
color: #1E8BE0
}
</style>
- <div>
- <span class="txt">寰俊鎼滅储鎴栫洿鎺ョ偣鍑绘墦寮�</span>
- <span class="btn">銆愬唨浼橀偖銆�</span>
- <span class="txt">灏忕▼搴忥紝浜彈鏇村浼樻儬</span>
- </div>
+ <span class="txt">寰俊鎼滅储鎴栫偣鍑绘墦寮�</span>
+ <span class="btn">銆愬唨浼橀偖銆�</span>
+ <span class="txt">灏忕▼搴忥紝浜洿澶氫紭鎯狅紒</span>
</script>
</wx-open-launch-weapp>
</view>
@@ -95,29 +94,34 @@
宸查�夋嫨浼樻儬鍒�1寮狅紝鍏辨姷鎵o骏{{ 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>
@@ -160,7 +164,7 @@
buyerNote: '',
showRemark: false,
UNIONID: null,
- payWay: this.$utils.getPlat(), //2 缁翠俊 5鏀粯瀹�
+ payWay: this.$utils.getPlat(), //2 缁翠俊 5鏀粯瀹� 15浜戦棯浠�
cid: '', //鐮佺墝id C鎵獴闈欐�佺爜鏃舵湁
activityQrcodeId: '', //鍔ㄦ�佹敹娆剧爜 C鎵獴鍔ㄦ�佺爜鏃舵湁
shopId: '', //鍟嗘埛id C鎵獴鍔ㄦ�佺爜鏃舵湁
@@ -179,7 +183,7 @@
isNew: false, // 鏄惁鏂扮敤鎴凤紝鏂扮敤鎴锋煡璇笉鍒扮Н鍒嗗拰閾惰鍗�
canReset: false,
couponShow: false, // 浼樻儬鍒稿脊绐�
- couponList: [], // 浼樻儬鍒�
+ couponList: null, // 浼樻儬鍒�
couponInfo: {
id: '',
discount: 0,
@@ -235,7 +239,7 @@
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) { //鏀粯瀹�
@@ -305,8 +309,8 @@
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*/
@@ -321,6 +325,16 @@
// 鏇存柊閲戦
changeMoney(str) {
this.money = str;
+ this.couponInfo = {
+ id: '',
+ discount: 0,
+ thresholdValue: 0
+ } // 浼樻儬鍒稿唴瀹�
+ this.checkCoupon = {
+ id: null,
+ discount: 0,
+ thresholdValue: 0
+ }
},
// 灞曠ず閿洏
showBord() {
@@ -359,10 +373,10 @@
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
})
@@ -388,22 +402,31 @@
},
// 鑾峰彇浼氬憳鐩稿叧淇℃伅
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: (this.money * 100).toFixed(0),
+ }
+ }).then(res => {
+ this.couponList = res
+ }).catch(()=>{
+ this.couponList = []
+ })
},
//閫夋嫨浼樻儬鍒�
clickCoupon(item) {
@@ -433,6 +456,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,
@@ -442,8 +467,6 @@
params.activityQrcodeId = this.activityQrcodeId
}
if (this.cid) {
- params.money = Number(this.money * 100)
- params.shopId = this.shopInfo.id
params.cid = this.cid
}
//鐢熸垚璁㈠崟
@@ -458,6 +481,9 @@
}
if (this.payWay == 5) {
this.aliPay(res.paymentData)
+ }
+ if (this.payWay == 15) {
+ this.aliPay(res.paymentUrl)
}
} catch (e) {
//TODO handle the exception
@@ -515,9 +541,11 @@
});
},
closeOrder() {
- closeOrder({params:{
- id: this.orderId,
- }}).then(res => {
+ closeOrder({
+ params: {
+ id: this.orderId,
+ }
+ }).then(res => {
})
}
}
@@ -723,7 +751,7 @@
.coupon-list {
box-sizing: border-box;
- height: calc(50vh - 44px);
+ height: calc(80vh - 44px);
}
--
Gitblit v1.9.1