// pages/cartPay/cartPay.js const app = getApp(); Page({ /** * 页面的初始数据 */ data: { goods: [], addressType: false,//收货方式 note: '', addressId: '',//地址ID address: '选择收货方式',//地址 province: '', orderPick: 2, date: '', time: '', startTime: '', }, /** * 生命周期函数--监听页面显示 */ onShow: function () { if (this.data.orderPick == 2) { //收货地址 if (this.data.total && this.data.province != '') { //订单个人信息获取 wx.showLoading({ title: '加载中', }) wx.request({ url: app.globalData.ip + '/wisdommining/api/order/getUserInfo', method: 'GET', header: { "content-type": "application/x-www-form-urlencoded", }, data: { userId: app.globalData.userId }, success: res => { wx.hideLoading(); console.log(res) if (res.data.code == 1) { let dataList = res.data.value; this.setData({ dataList: dataList, pay: (parseFloat(this.data.payActual) * parseFloat(dataList.userVipDiscount) / 100).toFixed(2), }) //运费获取 wx.request({ url: app.globalData.ip + '/wisdommining/api/order/getFreight', method: 'GET', header: { "content-type": "application/x-www-form-urlencoded", }, data: { freightAddress: this.data.province, price: this.data.total, }, success: res => { wx.hideLoading(); console.log(res) if (res.data.code == 1) { this.setData({ freight: res.data.value, payActual: (parseFloat(this.data.total) + parseFloat(res.data.value) - parseFloat(this.data.discount)).toFixed(2), payActualIntegral: parseFloat(this.data.total), }) this.setData({ pay: (parseFloat(this.data.payActual) * parseFloat(this.data.dataList.userVipDiscount) / 100).toFixed(2), }) } else { wx.showModal({ title: '提示!', content: res.data.message, showCancel: false, }) } } }) } else { wx.showModal({ title: '提示!', content: res.data.message, showCancel: false, }) } } }) } } else { // 自提点 this.setData({ freight: 0, payActual: (parseFloat(this.data.total) - parseFloat(this.data.discount)).toFixed(2), payActualIntegral: parseFloat(this.data.total), }) this.setData({ pay: (parseFloat(this.data.payActual) * parseFloat(this.data.dataList.userVipDiscount) / 100).toFixed(2), }) console.log(this.data.address) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let myDate = new Date(); this.setData({ startTime: myDate.getFullYear() + '-' + (parseFloat(myDate.getMonth()) + 1) + '-' + (parseFloat(myDate.getDate()) + 3) }) if (options.goods) { let goods = JSON.parse(options.goods) console.log(goods) this.setData({ goods: goods, packageId: options.packageId }) this.userData() } }, userData() { //订单个人信息获取 wx.showLoading({ title: '加载中', }) wx.request({ url: app.globalData.ip + '/wisdommining/api/order/getUserInfo', method: 'GET', header: { "content-type": "application/x-www-form-urlencoded", }, data: { userId: app.globalData.userId }, success: res => { wx.hideLoading(); console.log(res) if (res.data.code == 1) { let dataList = res.data.value; this.setData({ dataList: dataList, }) if (dataList.wisdUserAddress && this.data.orderPick == 2) { //默认地址ID this.setData({ addressId: dataList.wisdUserAddress.id, address: dataList.wisdUserAddress.addressProvince + dataList.wisdUserAddress.addressCity + dataList.wisdUserAddress.addressArea + dataList.wisdUserAddress.addressDetailed, }) } } else { wx.showModal({ title: '提示!', content: res.data.message, showCancel: false, }) } } }) }, //备注 note(e) { this.setData({ note: e.detail.value }) }, //选择地址类型 addressType() { this.setData({ addressType: true,//收货 }) }, //选择收货地址 address() { wx.navigateTo({ url: '/pages/my/my_address/my_address?orderAddress=true&addressId=' + this.data.addressId, }) this.setData({ addressType: false,//收货 }) }, //选择自提点 ztd() { wx.navigateTo({ url: '/pages/index/index_address/index_address?pay=true', }) this.setData({ addressType: false,//收货 }) }, //收获 遮罩层 addressZzc() { this.setData({ addressType: false,//收货 }) }, //选择优惠方式 reduceType() { this.setData({ reduceType: true,//优惠 }) }, //立即支付 pay(e) { if (this.data.addressId == '') { wx.showToast({ title: '请选择收货方式', icon: 'none' }) return } if (this.data.orderPick == 1) { if (this.data.date == '') { wx.showToast({ title: '请选择提货日期', icon: 'none' }) return } if (this.data.time == '') { wx.showToast({ title: '请选择提货时间', icon: 'none' }) return } } wx.showModal({ title: '提示!', content: '确认要购买吗', success: sss => { if (sss.confirm) { let orderPick = this.data.orderPick; let wisdOrderDetailList = []; console.log(this.data.goods) //商品信息 for (let i = 0; i < this.data.goods.length; i++) { wisdOrderDetailList.push({ goodsId: this.data.goods[i].goodsId, goodsNum: this.data.goods[i].num, }) } console.log(wisdOrderDetailList) wx.showLoading({ title: '加载中', mask: true }) wx.request({ url: app.globalData.ip + '/wisdommining/api/order/addOrder', method: 'POST', data: { userId: app.globalData.userId, addressId: this.data.addressId, orderActualPay: 0, //微信支付的钱 其余传0 orderOtherPay: 0, //积分 现金券 折扣券 套餐0 orderPayWay: 3, //1纯微信支付 2积分支付 3套餐券 4现金券(+微信支付) 5折扣券(+微信支付) orderPick: orderPick, //1自提 2物流 orderPickTime:orderPick==1?this.data.date+' '+this.data.time:'', orderRemark: this.data.note, orderFreight: 0, wisdOrderDetailList: wisdOrderDetailList, packageId: parseInt(this.data.packageId), isCar: 0 }, success: res => { wx.hideLoading(); console.log(res) if (res.data.code == 1) { //支付 this.payM({ orderNumber: res.data.value }) } else { wx.showModal({ title: '提示!', content: res.data.message, showCancel: false, }) } } }) } } }) }, //支付 payM(options) { wx.showLoading({ title: '支付中', mask: true }) wx.request({ url: app.globalData.ip + '/wisdommining/api/pay/payOrder', method: 'PUT', header: { "content-type": "application/x-www-form-urlencoded", }, data: { userId: app.globalData.userId, orderNumber: options.orderNumber }, success: res => { wx.hideLoading(); console.log(res) if (res.data.code == 2) { //兑换成功 wx.showToast({ title: '兑换成功~', icon: 'none', duration: 1500, success() { setTimeout(() => { wx.redirectTo({ url: '/pages/order_details/order_details?orderNumber=' + options.orderNumber, }) }, 1000); } }) } else { wx.showModal({ title: '提示!', content: res.data.message, showCancel: false, success: sss => { if (sss.confirm) { wx.redirectTo({ url: '/pages/order_details/order_details?orderNumber=' + options.orderNumber, }) } } }) } } }) }, bindDateChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ date: e.detail.value }) }, bindTimeChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ time: e.detail.value }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, })