var util = require('../../../utils/util.js'); var api = require('../../../config/api.js'); const pay = require('../../../services/pay.js'); import { Router } from '../../../utils/router.js' var app = getApp(); Router({ data: { checkedGoodsList: [], checkedAddress: {}, checkedCoupon: [], couponList: [], goodsTotalPrice: 0.00, //商品总价 freightPrice: 0.00, //快递费 couponPrice: 0.00, //优惠券的价格 orderTotalPrice: 0.00, //订单总价 actualPrice: 0.00, //实际需要支付的总价 addressId: 0, couponId: 0, isBuy: false, couponDesc: '', couponCode: '', buyType: '' }, onLoad: function (options) { // 页面初始化 options为页面跳转所带来的参数 if (options.isBuy!=null) { this.data.isBuy = options.isBuy } this.data.buyType = this.data.isBuy?'buy':'cart' //每次重新加载界面,清空数据 app.globalData.userCoupon = 'NO_USE_COUPON' app.globalData.courseCouponCode = {} wx.setStorageSync('addressId', ''); }, getCheckoutInfo: function () { let that = this; var url = api.CartCheckout let buyType = this.data.isBuy ? 'buy' : 'cart' return util.request(url, { addressId: that.data.addressId, couponId: that.data.couponId, type: buyType }).then(function (res) { if (res.errno === 0) { that.setData({ checkedGoodsList: res.data.checkedGoodsList, checkedAddress: res.data.checkedAddress, actualPrice: res.data.actualPrice, checkedCoupon: res.data.checkedCoupon ? res.data.checkedCoupon : "", couponList: res.data.couponList ? res.data.couponList : "", couponPrice: res.data.couponPrice, freightPrice: res.data.freightPrice, goodsTotalPrice: res.data.goodsTotalPrice, orderTotalPrice: res.data.orderTotalPrice }); that.selectCouponId = res.data.couponIdList //设置默认收获地址 if (that.data.checkedAddress.id){ let addressId = that.data.checkedAddress.id; if (addressId) { that.setData({ addressId: addressId }); } }else{ wx.showModal({ title: '', content: '请添加默认收货地址!', success: function (res) { if (res.confirm) { that.selectAddress(); } } }) } } wx.hideLoading(); }); }, selectAddress() { wx.navigateTo({ url: '/pages/shopping/address/address', }) }, addAddress() { wx.navigateTo({ url: '/pages/shopping/addressAdd/addressAdd', }) }, onReady: function () { // 页面渲染完成 }, onShow: function () { this.getCouponData() // 页面显示 wx.showLoading({ title: '加载中...', }) this.getCheckoutInfo().then(res => { var addressId = wx.getStorageSync('addressId'); if (addressId) { this.setData({ 'addressId': addressId }); } this.getAddressDetail(addressId) }) }, /** * 获取优惠券 */ getCouponData: function () { if (app.globalData.userCoupon == 'USE_COUPON') { this.setData({ couponDesc: app.globalData.courseCouponCode.name, couponId: app.globalData.courseCouponCode.user_coupon_id, }) } else if (app.globalData.userCoupon == 'NO_USE_COUPON') { this.setData({ couponDesc: "不使用优惠券", couponId: '', }) } }, onHide: function () { // 页面隐藏 }, onUnload: function () { // 页面关闭 }, getAddressDetail(id) { if(!id) return util.request(api.AddressDetail, { id }).then( (res)=> { if (res.errno === 0) { if (res.data) { console.log('-------',res) this.setData({ checkedAddress: res.data }); } } }); }, /** * 选择可用优惠券 */ tapCoupon: function () { let that = this wx.navigateTo({ url: '../selCoupon/selCoupon?buyType=' + that.data.buyType, }) }, submitOrder: function () { if (this.data.addressId <= 0) { util.showErrorToast('请选择收货地址'); return false; } util.request(api.OrderSubmit, { addressId: this.data.addressId, couponIdList: this.selectCouponId, type: this.data.buyType }, 'POST', 'application/json').then(res => { if (res.errno === 0) { const orderId = res.data.orderInfo.id; pay.payOrder(parseInt(orderId)).then(res => { wx.redirectTo({ url: '/pages/payResult/payResult?status=1&orderId=' + orderId }); }).catch(res => { wx.redirectTo({ url: '/pages/payResult/payResult?status=0&orderId=' + orderId }); }); } else { util.showErrorToast('下单失败'); } }); } })