mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-11-09 03:12:51 +00:00
92 lines
3.0 KiB
JavaScript
92 lines
3.0 KiB
JavaScript
import { orderPay } from '../../api/order.js';
|
|
|
|
const app = getApp();
|
|
|
|
Component({
|
|
properties: {
|
|
payMode:{
|
|
type:Array,
|
|
value:[],
|
|
},
|
|
pay_close:{
|
|
type:Boolean,
|
|
value:false,
|
|
},
|
|
order_id:{
|
|
type:String,
|
|
value:''
|
|
},
|
|
totalPrice:{
|
|
type:String,
|
|
value:'0'
|
|
},
|
|
},
|
|
data: {
|
|
},
|
|
attached: function () {
|
|
},
|
|
methods: {
|
|
close:function(){
|
|
this.triggerEvent('onChangeFun',{action:'pay_close'});
|
|
},
|
|
goPay:function(e){
|
|
let that = this;
|
|
let paytype = e.currentTarget.dataset.value;
|
|
let number = e.currentTarget.dataset.number
|
|
if (!that.data.order_id) return app.Tips({title:'请选择要支付的订单'});
|
|
if (paytype == 'yue' && parseFloat(number) < parseFloat(that.data.totalPrice)) return app.Tips({ title: '余额不足!' });
|
|
wx.showLoading({ title: '支付中' });
|
|
orderPay({ uni: that.data.order_id, paytype: paytype, 'from': 'routine' }).then(res => {
|
|
switch (paytype){
|
|
case 'weixin':
|
|
if (res.data.result === undefined) return app.Tips({title:'缺少支付参数'});
|
|
var jsConfig = res.data.result.jsConfig;
|
|
wx.requestPayment({
|
|
timeStamp: jsConfig.timestamp,
|
|
nonceStr: jsConfig.nonceStr,
|
|
package: jsConfig.package,
|
|
signType: jsConfig.signType,
|
|
paySign: jsConfig.paySign,
|
|
success: function (res) {
|
|
wx.hideLoading();
|
|
return app.Tips({ title: res.msg, icon: 'success' }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_complete' });
|
|
});
|
|
},
|
|
fail: function (e) {
|
|
wx.hideLoading();
|
|
return app.Tips({ title: '取消支付' }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_fail' });
|
|
});
|
|
},
|
|
complete: function (e) {
|
|
wx.hideLoading();
|
|
if (e.errMsg == 'requestPayment:cancel') return app.Tips({ title: '取消支付' }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_fail' });
|
|
});
|
|
},
|
|
});
|
|
break;
|
|
case 'yue':
|
|
wx.hideLoading();
|
|
return app.Tips({ title: res.msg, icon: 'success' }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_complete' });
|
|
});;
|
|
break;
|
|
case 'offline':
|
|
wx.hideLoading();
|
|
return app.Tips({ title: res.msg, icon: 'success' }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_complete' });
|
|
});;
|
|
break;
|
|
}
|
|
}).catch(err => {
|
|
wx.hideLoading();
|
|
return app.Tips({ title: err }, () => {
|
|
that.triggerEvent('onChangeFun', { action: 'pay_fail' });
|
|
});
|
|
})
|
|
},
|
|
}
|
|
|
|
}) |