You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.5 KiB
169 lines
4.5 KiB
var util = require('../../../utils/util.js');
|
|
var api = require('../../../config/api.js');
|
|
const pay = require('../../../services/pay.js');
|
|
|
|
var app = getApp();
|
|
|
|
Page({
|
|
data: {
|
|
checkedGoodsList: [],
|
|
checkedAddress: {},
|
|
checkedCoupon: [],
|
|
couponList: [],
|
|
goodsTotalPrice: 0.00, //商品总价
|
|
freightPrice: 0.00, //快递费
|
|
couponPrice: 0.00, //优惠券的价格
|
|
orderTotalPrice: 0.00, //订单总价
|
|
actualPrice: 0.00, //实际需要支付的总价
|
|
is_buyNow:0,
|
|
goodsId:0,
|
|
buynumber: 0,
|
|
addressId: 0,
|
|
couponId: 0
|
|
},
|
|
onLoad: function (options) {
|
|
|
|
// 页面初始化 options为页面跳转所带来的参数
|
|
if (options.goodsId){
|
|
this.setData({
|
|
'is_buyNow': 1,
|
|
'goodsId': options.goodsId,
|
|
'buynumber': options.number,
|
|
});
|
|
}
|
|
try {
|
|
var addressId = wx.getStorageSync('addressId');
|
|
if (addressId) {
|
|
this.setData({
|
|
'addressId': addressId
|
|
});
|
|
}
|
|
|
|
var couponId = wx.getStorageSync('couponId');
|
|
if (couponId) {
|
|
this.setData({
|
|
'couponId': couponId
|
|
});
|
|
}
|
|
} catch (e) {
|
|
// Do something when catch error
|
|
}
|
|
|
|
|
|
},
|
|
getCheckoutInfo: function () {
|
|
let that = this;
|
|
util.request(api.CartCheckout, { addressId: that.data.addressId, couponId: that.data.couponId }).then(function (res) {
|
|
if (res.code === 200) {
|
|
console.log(res.data);
|
|
that.setData({
|
|
checkedGoodsList: res.data.checkedGoodsList,
|
|
checkedAddress: res.data.checkedAddress,
|
|
actualPrice: res.data.actualPrice,
|
|
checkedCoupon: res.data.checkedCoupon,
|
|
couponList: res.data.couponList,
|
|
couponPrice: res.data.couponPrice,
|
|
freightPrice: res.data.freightPrice,
|
|
goodsTotalPrice: res.data.goodsTotalPrice,
|
|
orderTotalPrice: res.data.orderTotalPrice
|
|
});
|
|
}
|
|
wx.hideLoading();
|
|
});
|
|
},
|
|
buyNow: function () {
|
|
let that = this;
|
|
util.request(api.PayNow, { addressId: that.data.addressId, couponId: that.data.couponId, goodsId: that.data.goodsId, buynumber: that.data.buynumber }, 'POST').then(function (res) {
|
|
if (res.code === 200) {
|
|
that.setData({
|
|
checkedGoodsList: res.data.checkedGoodsList,
|
|
checkedAddress: res.data.checkedAddress,
|
|
actualPrice: res.data.actualPrice,
|
|
checkedCoupon: res.data.checkedCoupon,
|
|
couponList: res.data.couponList,
|
|
couponPrice: res.data.couponPrice,
|
|
freightPrice: res.data.freightPrice,
|
|
goodsTotalPrice: res.data.goodsTotalPrice,
|
|
orderTotalPrice: res.data.orderTotalPrice
|
|
});
|
|
}
|
|
wx.hideLoading();
|
|
});
|
|
},
|
|
selectAddress() {
|
|
wx.navigateTo({
|
|
url: '/pages/shopping/address/address',
|
|
})
|
|
},
|
|
addAddress() {
|
|
wx.navigateTo({
|
|
url: '/pages/shopping/addressAdd/addressAdd',
|
|
})
|
|
},
|
|
onReady: function () {
|
|
// 页面渲染完成
|
|
|
|
},
|
|
onShow: function () {
|
|
let that = this;
|
|
// 页面显示
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
})
|
|
if (that.data.is_buyNow){
|
|
that.buyNow();
|
|
}else{
|
|
that.getCheckoutInfo();
|
|
}
|
|
|
|
|
|
},
|
|
onHide: function () {
|
|
// 页面隐藏
|
|
|
|
},
|
|
onUnload: function () {
|
|
// 页面关闭
|
|
|
|
},
|
|
submitOrder: function () {
|
|
let that = this;
|
|
if (this.data.addressId <= 0) {
|
|
util.showErrorToast('请选择收货地址');
|
|
return false;
|
|
}
|
|
|
|
wx.showLoading({
|
|
title: '支付中...',
|
|
});
|
|
|
|
util.request(api.OrderSubmit, { addressId: this.data.addressId, couponId: this.data.couponId, goodsId: that.data.goodsId, buynumber: that.data.buynumber }, 'POST').then(res => {
|
|
if (res.code === 200) {
|
|
const orderId = res.data.id;
|
|
pay.payOrder(parseInt(orderId)).then(res => {
|
|
wx.redirectTo({
|
|
url: '/pages/payResult/payResult?status=1&orderId=' + orderId
|
|
});
|
|
}).catch(res => {
|
|
wx.showModal({
|
|
title:'功能暂时关闭',
|
|
showCancel:false,
|
|
content:'该功能暂时关闭中,待商城完善后开放',
|
|
confirmText:'确定',
|
|
success:function(res) {
|
|
if (res.confirm) {
|
|
console.log('用户点击确定')
|
|
wx.redirectTo({
|
|
url: '/pages/payResult/payResult?status=0&orderId=' + orderId
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
});
|
|
} else {
|
|
util.showErrorToast('下单失败');
|
|
}
|
|
});
|
|
}
|
|
}) |