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 () {
|
|||
|
|
|||
|
},
|
|||
|
})
|