|
|
@@ -2,6 +2,11 @@ var __request = require('../../utils/request.js')
|
|
|
var _handle = require('../../utils/handle.js')
|
|
|
var validator = require('../../utils/validator.js')
|
|
|
|
|
|
+function toNumber (val) {
|
|
|
+ var num = Number(val)
|
|
|
+ return isNaN(num) ? 0 : num
|
|
|
+}
|
|
|
+
|
|
|
Page({
|
|
|
data: {
|
|
|
orderId: 0,
|
|
|
@@ -31,7 +36,8 @@ Page({
|
|
|
total:0,
|
|
|
yunfei:0,
|
|
|
_yunfei:0,
|
|
|
- payFlag:false,
|
|
|
+ payFlag:false,
|
|
|
+ payCompleted:false,
|
|
|
useBalance:false,
|
|
|
useCash:true,
|
|
|
afterdec:0,//使用提货券扣除后的总额
|
|
|
@@ -50,7 +56,7 @@ Page({
|
|
|
unquan_silver:0,//不能使用提货券抵扣的银豆
|
|
|
|
|
|
//20240314使用新接口获取相关扣除
|
|
|
- payQueryData:{}
|
|
|
+ payQueryData:null
|
|
|
},
|
|
|
onLoad: function (options) {
|
|
|
this.data.orderId = options.orderId;
|
|
|
@@ -86,9 +92,11 @@ Page({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- this.setData({
|
|
|
- payFlag: false
|
|
|
- })
|
|
|
+ if (!this.data.payCompleted) {
|
|
|
+ this.setData({
|
|
|
+ payFlag: false
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
inputPwd: function (e) {
|
|
|
this.setData({
|
|
|
@@ -112,17 +120,30 @@ Page({
|
|
|
var url = "v1/order/" + that.data.orderId;
|
|
|
var params = {}
|
|
|
var check_has_unuse_quan = false;
|
|
|
- var success = function (val) {
|
|
|
- if (val.data && val.data.product && !val.data.product.robo_balance_price) {
|
|
|
+ var success = function (val) {
|
|
|
+ val.data = val.data || {}
|
|
|
+ val.data.product_list = val.data.product_list || []
|
|
|
+ val.data.pay_way = val.data.pay_way || ''
|
|
|
+ val.data.total_price = toNumber(val.data.total_price)
|
|
|
+ val.data.freight = toNumber(val.data.freight)
|
|
|
+ val.data.dis_amount = toNumber(val.data.dis_amount)
|
|
|
+ val.data.coupon_price = toNumber(val.data.coupon_price)
|
|
|
+ val.data.paied_cash = toNumber(val.data.paied_cash)
|
|
|
+ val.data.paied_silver = toNumber(val.data.paied_silver)
|
|
|
+ val.data.total_silver = toNumber(val.data.total_silver)
|
|
|
+ if (val.data && val.data.product && !val.data.product.robo_balance_price) {
|
|
|
that.setData({
|
|
|
curPayway: 'weixinpay'
|
|
|
})
|
|
|
}
|
|
|
|
|
|
var total = 0;
|
|
|
- for(var i in val.data.product_list){
|
|
|
- if(!val.data.product_list[i].send) total = total + (val.data.product_list[i].price * val.data.product_list[i].count)
|
|
|
- }
|
|
|
+ for(var i in val.data.product_list){
|
|
|
+ val.data.product_list[i].price = toNumber(val.data.product_list[i].price)
|
|
|
+ val.data.product_list[i].count = toNumber(val.data.product_list[i].count)
|
|
|
+ val.data.product_list[i].silver = toNumber(val.data.product_list[i].silver)
|
|
|
+ if(!val.data.product_list[i].send) total = total + (val.data.product_list[i].price * val.data.product_list[i].count)
|
|
|
+ }
|
|
|
|
|
|
var canusebalance = 0;
|
|
|
var nousebalance = 0;
|
|
|
@@ -456,8 +477,8 @@ Page({
|
|
|
})
|
|
|
},
|
|
|
toPay: function (e) {
|
|
|
- if(this.data.payFlag){
|
|
|
- wx.showToast({
|
|
|
+ if(this.data.payFlag || this.data.payCompleted){
|
|
|
+ wx.showToast({
|
|
|
title: '支付中,请稍后...',
|
|
|
icon: 'none',
|
|
|
duration: 2000
|
|
|
@@ -654,36 +675,48 @@ Page({
|
|
|
'signType': val.data.pay_data.signType,
|
|
|
'paySign': val.data.pay_data.paySign,
|
|
|
'success':function(res){
|
|
|
+ that.setData({
|
|
|
+ payCompleted: true
|
|
|
+ })
|
|
|
wx.showToast({
|
|
|
title: '支付成功',
|
|
|
icon: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
- wx.navigateTo({
|
|
|
+ wx.redirectTo({
|
|
|
// url: '/packageUser/pages/user/orders/orders'
|
|
|
url: '/pages/projects/project-success/project-success?id=' + that.data.orderId
|
|
|
})
|
|
|
-
|
|
|
-
|
|
|
},
|
|
|
'fail':function(res){
|
|
|
+ if (res && res.errMsg && (res.errMsg.indexOf('已支付') > -1 || res.errMsg.indexOf('paid') > -1)) {
|
|
|
+ that.setData({
|
|
|
+ payCompleted: true
|
|
|
+ })
|
|
|
+ wx.redirectTo({
|
|
|
+ url: '/pages/projects/project-success/project-success?id=' + that.data.orderId
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
that.setData({
|
|
|
payFlag: false
|
|
|
})
|
|
|
that.getOrderInfo()
|
|
|
}
|
|
|
})
|
|
|
+ return
|
|
|
} else {
|
|
|
that.setData({
|
|
|
- pay: val.data
|
|
|
+ pay: val.data,
|
|
|
+ payCompleted: true
|
|
|
});
|
|
|
wx.redirectTo({
|
|
|
// url: '/packageUser/pages/user/orders/orders'
|
|
|
url: '/pages/projects/project-success/project-success?id=' + that.data.orderId
|
|
|
})
|
|
|
-
|
|
|
+ return
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
that.setData({
|
|
|
payFlag: false
|
|
|
})
|
|
|
@@ -825,10 +858,15 @@ Page({
|
|
|
'use_balance':that.data.useCash, //是否使用余额
|
|
|
'pick_way':that.data.receivetype, //自提方式
|
|
|
}
|
|
|
- var success = function (res) {
|
|
|
- that.setData({
|
|
|
- payQueryData:res.data
|
|
|
- })
|
|
|
+ var success = function (res) {
|
|
|
+ var data = res.data || {}
|
|
|
+ data.PaySilver = toNumber(data.PaySilver)
|
|
|
+ data.PayCoupon = toNumber(data.PayCoupon)
|
|
|
+ data.PayBalance = toNumber(data.PayBalance)
|
|
|
+ data.ShouldPay = toNumber(data.ShouldPay)
|
|
|
+ that.setData({
|
|
|
+ payQueryData:data
|
|
|
+ })
|
|
|
}
|
|
|
__request.$post(url, params, success)
|
|
|
}
|