var __request = require('../../utils/request.js') var _handle = require('../../utils/handle.js') var validator = require('../../utils/validator.js') Page({ data: { orderId: 0, payData: {}, address: null, selectaddress:false, balanceInfo: {}, userInfo: {}, radish: 0, pwd: '', pwdDialog: false, useRadishSelect: false, useRadishSelectVal: 'select', showModal: false, luoboCount: '', countMoney: '', curPayway: 'weixinpay', payway: { weixin: 'weixinpay', balance: 'balance' }, total:0, yunfei:0, payFlag:false }, onLoad: function (options) { this.data.orderId = options.orderId; this.getOrderInfo() this.getBalanceInfo() wx.setStorageSync('use_address', false) }, onShow: function () { this.getUserInfo() var address = wx.getStorageSync('use_address'); if(address){ this.setData({ address: address, selectaddress:true }); wx.setStorageSync('use_address', false) }else{ // this.getDefaultAddress() } this.setData({ payFlag: false }) }, inputPwd: function (e) { this.setData({ pwd: e.detail.value }) }, checkboxChange: function (e) { if (e.detail.value[0]) { this.setData({ useRadishSelect: true, useRadishSelectVal: 'select' }) } else { this.setData({ useRadishSelect: false }) } }, getOrderInfo: function () { var that = this var url = "v1/order/" + that.data.orderId; var params = {} var success = function (val) { 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){ total = total + (val.data.product_list[i].price * val.data.product_list[i].order_count) } that.setData({ payData: val.data, project: val.data.product_list, total:total, yunfei:total<9900?val.data.freight:0 }); } __request.$get(url, params, success) }, getDefaultAddress: function () { var that = this var url = "v1/user/address/default"; var params = {} var success = function (val) { if (val.data !== null) { that.setData({ address: val.data }); } } __request.$get(url, params, success) }, getBalanceInfo: function () { var that = this var url = "v1/user/balance/info"; var params = {} var success = function (val) { that.setData({ balanceInfo: val.data, cache: false, curPayway:val.data.total >= (that.data.total + that.data.yunfei)?'balance':'weixinpay' }); } __request.$get(url, params, success) }, getUserInfo: function () { var that = this var url = "v1/user/info"; var params = { cache: false } var success = function (val) { that.setData({ userInfo: val.data }); } __request.$get(url, params, success) }, cancelDialog: function () { this.setData({ pwdDialog: false }) }, toPay: function (e) { if(this.data.payFlag){ wx.showToast({ title: '支付中,请稍后...', icon: 'none', duration: 2000 }) return false; } _handle.setFormId(e) var that = this this.setData({ payFlag: true }) if (!that.data.address) { wx.showToast({ title: '请先填写地址', icon: 'none', duration: 2000 }) that.setData({ payFlag: false }) } else if (!validator.required1(this.data.address.contact)) { wx.showToast({ title: '国家安全局规定:运单禁止出现“先生”,“小姐”,“女士”等,请重新填写地址', icon: 'none', duration: 2000 }) that.setData({ payFlag: false }) } else { if (that.data.curPayway === 'balance') { var p if (that.data.project) { p = that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count } if (p < 0) { this.setData({ luoboCount: -(that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count), showModal: true, countMoney: -(that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count) / 100, payFlag: false }) } else { that.pay() } } else if (that.data.curPayway === 'integral') { var b if (that.data.project) { b = that.data.balanceInfo.dc_total - that.data.project.mall_balance_price * that.data.payData.count } if (b < 0) { this.setData({ luoboCount: that.data.project.mall_balance_price * that.data.payData.count - that.data.balanceInfo.dc_total, showModal: true, payFlag: false }) } else { that.pay() } } else if (that.data.curPayway === 'weixinpay') { that.pay() } // if (!that.data.userInfo.user.has_trade_pwd) { // that.setPwdDialog() // } else { // if (that.data.balanceInfo.total - that.data.project.price * that.data.payData.count < 0) { // this.setData({ // luoboCount: -(that.data.balanceInfo.total - that.data.project.price * that.data.payData.count), // showModal: true, // countMoney: -(that.data.balanceInfo.total - that.data.project.price * that.data.payData.count) / 100 // }) // } else { // that.setData({ // pwdDialog: true // }) // if (that.data.useRadishSelect) { // that.setData({ // pwdDialog: true // }) // } else { // that.openToast('请勾选使用代金券兑换~') // } // } // } } }, onCancel: function () { this.setData({ showModal: false }); }, onConfirm: function () { wx.navigateTo({ url: '/packageUser/pages/user/exchange/exchange' }) }, onConfirm1: function() { wx.navigateTo({ url: '/packageUser/pages/user/buy/buy?path=/pages/pay/pay&orderId=' + this.data.orderId + '&luoboCount=' + this.data.luoboCount + '&countMoney=' + this.data.countMoney }) // /pages/pay/pay?order_id=EX201807206A91F25E }, onConfirm2: function () { wx.navigateTo({ url: '/pages/parse/parse?id=8' }) }, preventTouchMove: function () { }, selectClick: function (e) { var that = this that.setData({ curPayway: e.target.dataset.payway }); }, pay: function () { var that = this var url = "v1/pay"; var params = { order_id: that.data.orderId, trad_pwd: that.data.pwd, pay_way: that.data.curPayway, address_id: that.data.address.id, s: 'xcx' } var success = function (val) { if(val.statusCode === 200){ if (that.data.curPayway === 'weixinpay') { wx.requestPayment({ 'timeStamp': val.data.pay_data.timeStamp, 'nonceStr': val.data.pay_data.nonceStr, 'package': val.data.pay_data.package, 'signType': val.data.pay_data.signType, 'paySign': val.data.pay_data.paySign, 'success':function(res){ wx.showToast({ title: '支付成功', icon: 'success', duration: 1000 }) wx.navigateTo({ // url: '/packageUser/pages/user/orders/orders' url: '/pages/projects/project-success/project-success?id=' + that.data.orderId }) }, 'fail':function(res){ that.setData({ payFlag: false }) } }) } else { that.setData({ pay: val.data }); wx.redirectTo({ // url: '/packageUser/pages/user/orders/orders' url: '/pages/projects/project-success/project-success?id=' + that.data.orderId }) } that.setData({ payFlag: false }) }else{ that.setData({ payFlag: false }) } } var fail = function(err){ that.setData({ payFlag: false }) } __request.$post(url, params, success, fail) }, setPwdDialog: function () { wx.showModal({ title: '提示', confirmColor: '#eab86a', content: '您未设置交易密码,是否前往设置?', success: function(res) { if (res.confirm) { wx.navigateTo({ url: '/packageUser/pages/user/safe/safe' }) } else if (res.cancel) { } } }) }, onShareAppMessage: function (val) { return _request.share({ sc: 'xcx_pay' }) } })