【收银台】

1. 清理多余的支付代码
pull/1/MERGE
YunaiV 2023-08-13 16:35:18 +08:00
parent 644b458969
commit 04ccd6d704
1 changed files with 27 additions and 187 deletions

View File

@ -11,26 +11,26 @@
:datatime="invalidTime / 1000" :is-col="true" :bgColor="bgColor" /> :datatime="invalidTime / 1000" :is-col="true" :bgColor="bgColor" />
</view> </view>
</view> </view>
<view class="payment" v-if="channelCode.length > 0"> <view class="payment" v-if="code.length > 0">
<view class="title"> <view class="title">
支付方式 支付方式
</view> </view>
<view class="item acea-row row-between-wrapper" v-for="(item,index) in cartArr" :key="index" @click="payType(item.channelCode)"> <view class="item acea-row row-between-wrapper" v-for="(item,index) in channels" :key="index" @click="payType(item.code)">
<view class="left acea-row row-between-wrapper"> <view class="left acea-row row-between-wrapper">
<view class="iconfont" :class="item.icon"></view> <view class="iconfont" :class="item.icon"></view>
<view class="text"> <view class="text">
<view class=name>{{item.name}}</view> <view class=name>{{item.name}}</view>
<view class="info" v-if="item.value == 'yue'"> <view class="info" v-if="item.value === 'yue'">
{{item.title}} <span class="money">{{ item.number }}</span> {{item.title}} <span class="money">{{ item.number }}</span>
</view> </view>
<view class="info" v-else>{{item.title}}</view> <view class="info" v-else>{{item.title}}</view>
</view> </view>
</view> </view>
<view class="iconfont" :class="item.channelCode === channelCode?'icon-xuanzhong11 font-num':'icon-weixuan'" /> <view class="iconfont" :class="item.code === code?'icon-xuanzhong11 font-num':'icon-weixuan'" />
</view> </view>
</view> </view>
<view class="btn"> <view class="btn">
<view class="button acea-row row-center-wrapper" @click='goPay(channelCode)'>确认支付</view> <view class="button acea-row row-center-wrapper" @click='goPay(code)'>确认支付</view>
<view class="wait-pay" @click="goReturnUrl('cancel')"></view> <view class="wait-pay" @click="goReturnUrl('cancel')"></view>
</view> </view>
</view> </view>
@ -51,21 +51,23 @@
returnUrl: '', // returnUrl: '', //
payPrice: 0, // payPrice: 0, //
invalidTime: 0, // invalidTime: 0, //
cartArr: [{ //
code: '', //
channels: [{ //
name: '微信支付', // name: '微信支付', //
icon: "icon-weixin2", icon: "icon-weixin2",
title: '使用微信快捷支付', title: '使用微信快捷支付',
channelCode: "wx_pub" code: "wx_pub"
}, { }, {
name: '微信支付', // name: '微信支付', //
icon: "icon-weixin2", icon: "icon-weixin2",
title: '使用微信快捷支付', title: '使用微信快捷支付',
channelCode: "wx_lite" code: "wx_lite"
}, { }, {
name: '支付宝支付', name: '支付宝支付',
icon: "icon-zhifubao", icon: "icon-zhifubao",
title: '使用支付宝支付', title: '使用支付宝支付',
channelCode: "alipay_wap" code: "alipay_wap"
}, { }, {
name: '余额支付', name: '余额支付',
icon: "icon-yuezhifu", icon: "icon-yuezhifu",
@ -76,11 +78,10 @@
{ {
name: '支付宝支付PC', // PC name: '支付宝支付PC', // PC
icon: "icon-zhifubao", icon: "icon-zhifubao",
value: 'alipay_pc',
title: '使用支付宝支付', title: '使用支付宝支付',
channelCode: "alipay_pc" code: "alipay_pc"
}], }],
channelCode: '', //
bgColor: { bgColor: {
'bgColor': '#fff', 'bgColor': '#fff',
'Color': '#E93323', 'Color': '#E93323',
@ -88,9 +89,6 @@
'timeTxtwidth': '16rpx', 'timeTxtwidth': '16rpx',
'isDay': true 'isDay': true
}, },
// TODO
formContent: '',
} }
}, },
onLoad(options) { onLoad(options) {
@ -100,7 +98,6 @@
if (options.returnUrl) { if (options.returnUrl) {
this.returnUrl = decodeURIComponent(options.returnUrl) this.returnUrl = decodeURIComponent(options.returnUrl)
} }
debugger
this.getCashierOrder() this.getCashierOrder()
}, },
methods: { methods: {
@ -141,12 +138,12 @@
}) })
}) })
}, },
goPay(channelCode) { goPay(code) {
let that = this; let that = this;
if (!that.orderId) return that.$util.Tips({ if (!that.orderId) return that.$util.Tips({
title: '请选择要支付的订单' title: '请选择要支付的订单'
}); });
if (channelCode === 'yue' && parseFloat(number) < parseFloat(that.payPrice)) return that.$util.Tips({ if (code === 'yue' && parseFloat(number) < parseFloat(that.payPrice)) return that.$util.Tips({
title: '余额不足' title: '余额不足'
}); });
uni.showLoading({ uni.showLoading({
@ -154,7 +151,7 @@
}); });
PayOrderApi.submitOrder({ PayOrderApi.submitOrder({
id: that.orderId, id: that.orderId,
channelCode: channelCode, code: code,
displayMode: 'url', // TODO displayMode: 'url', // TODO
returnUrl: this.getPayReturnUrl(), returnUrl: this.getPayReturnUrl(),
channelExtras: { channelExtras: {
@ -163,163 +160,7 @@
} }
}).then(res => { }).then(res => {
this.handleSubmitOrderResult(res.data); this.handleSubmitOrderResult(res.data);
})
if (true) {
return;
}
let status = res.data.status,
orderId = res.data.result.orderId,
jsConfig = res.data.result.jsConfig,
goPages = '/pages/goods/order_pay_status/index?order_id=' + this.orderId + '&msg=' +
res.msg + '&type=3' + '&totalPrice=' + this.payPrice;
switch (status) {
case 'SUCCESS':
uni.hideLoading();
return that.$util.Tips({
title: res.msg,
icon: 'success'
}, {
tab: 4,
url: goPages
});
case 'WECHAT_PAY':
that.toPay = true;
// #ifdef MP
//
// #endif
// #ifdef H5
//
// #endif
// #ifdef APP-PLUS
uni.requestPayment({
provider: 'wxpay',
orderInfo: jsConfig,
success: (e) => {
let url = goPages;
uni.showToast({
title: '支付成功'
})
setTimeout(res => {
uni.redirectTo({
url: url
})
}, 2000)
},
fail: (e) => {
let url = '/pages/goods/order_pay_status/index?order_id=' +
orderId +
'&msg=' + '支付失败';
uni.showModal({
content: '支付失败',
showCancel: false,
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: url
})
} else if (res.cancel) {}
}
})
},
complete: () => {
uni.hideLoading();
},
});
// #endif
break;
case 'PAY_DEFICIENCY':
uni.hideLoading();
//
return that.$util.Tips({
title: res.msg
}, {
tab: 5,
url: goPages + '&status=1'
});
break;
case "WECHAT_H5_PAY":
uni.hideLoading();
that.$util.Tips({
title: '等待支付中'
}, {
tab: 4,
url: goPages + '&status=0'
});
setTimeout(() => {
location.href = res.data.result.jsConfig.h5_url;
}, 1500);
break;
case 'ALIPAY_PAY':
//#ifdef H5
uni.hideLoading();
that.$util.Tips({
title: '等待支付中'
}, {
tab: 4,
url: goPages + '&status=0'
});
that.formContent = res.data.result.jsConfig;
setTimeout(() => {
document.getElementById('alipaysubmit').submit();
}, 1500);
//#endif
// #ifdef MP
uni.navigateTo({
url: `/pages/users/alipay_invoke/index?id=${orderId}&link=${jsConfig.qrCode}`
});
// #endif
// #ifdef APP-PLUS
uni.requestPayment({
provider: 'alipay',
orderInfo: jsConfig,
success: (e) => {
uni.showToast({
title: '支付成功'
})
let url = '/pages/goods/order_pay_status/index?order_id=' +
orderId +
'&msg=' + '支付成功';
setTimeout(res => {
uni.redirectTo({
url: url
})
}, 2000)
},
fail: (e) => {
let url = '/pages/goods/order_pay_status/index?order_id=' +
orderId +
'&msg=' + '支付失败';
uni.showModal({
content: '支付失败',
showCancel: false,
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: url
})
} else if (res.cancel) {}
}
})
},
complete: () => {
uni.hideLoading();
},
});
// #endif
break;
}
}).catch(err => {
uni.hideLoading();
return that.$util.Tips({
title: err
}, () => {
that.$emit('onChangeFun', {
action: 'pay_fail'
});
});
})
}, },
handleSubmitOrderResult(data) { handleSubmitOrderResult(data) {
@ -332,11 +173,11 @@
} }
// 2.2 CUSTOM // 2.2 CUSTOM
if (displayMode === 'custom') { if (displayMode === 'custom') {
if (this.channelCode === 'wx_pub') { if (this.code === 'wx_pub') {
this.handleSubmitOrderResultForWxPub(displayContent) this.handleSubmitOrderResultForWxPub(displayContent)
return; return;
} }
if (this.channelCode === 'wx_lite') { if (this.code === 'wx_lite') {
this.handleSubmitOrderResultForWxLite(displayContent) this.handleSubmitOrderResultForWxLite(displayContent)
return; return;
} }
@ -394,7 +235,6 @@
paySign: payConfig.paySign, paySign: payConfig.paySign,
success: res => { success: res => {
uni.hideLoading(); uni.hideLoading();
debugger
return this.$util.Tips({ return this.$util.Tips({
title: '支付成功', title: '支付成功',
icon: 'success' icon: 'success'
@ -425,34 +265,34 @@
removeDisableChannel(appId) { removeDisableChannel(appId) {
// 1.1 // 1.1
// #ifndef MP // #ifndef MP
this.cartArr = this.cartArr.filter(item => item.channelCode !== 'wx_lite') this.channels = this.channels.filter(item => item.code !== 'wx_lite')
// #endif // #endif
// #ifdef MP // #ifdef MP
this.cartArr = this.cartArr.filter(item => item.channelCode !== 'wx_pub') this.channels = this.channels.filter(item => item.code !== 'wx_pub')
// #endif // #endif
// 1.2 // 1.2
// #ifdef H5 // #ifdef H5
if (!this.$wechat.isWeixin()) { if (!this.$wechat.isWeixin()) {
this.cartArr = this.cartArr.filter(item => item.channelCode !== 'wx_pub') this.channels = this.channels.filter(item => item.code !== 'wx_pub')
} }
// #endif // #endif
// 2. // 2.
PayChannelApi.getEnableChannelCodeList(appId).then(res => { PayChannelApi.getEnableChannelCodeList(appId).then(res => {
this.cartArr = this.cartArr.filter(item => res.data.includes(item.channelCode)); this.channels = this.channels.filter(item => res.data.includes(item.code));
// //
if (this.cartArr.length > 0) { if (this.channels.length > 0) {
this.payType(this.cartArr[0].channelCode) this.payType(this.channels[0].code)
} }
}) })
}, },
/** /**
* 设置支付方式 * 设置支付方式
*/ */
payType(channelCode) { payType(code) {
this.channelCode = channelCode this.code = code
}, },
/** /**
* 获得支付的 return url * 获得支付的 return url