123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- 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('下单失败');
- }
- });
- }
- })
|