398 lines
10 KiB
JavaScript
398 lines
10 KiB
JavaScript
// 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 () {
|
||
|
||
},
|
||
}) |