400 lines
11 KiB
JavaScript
400 lines
11 KiB
JavaScript
// pages/cartPay/cartPay.js
|
||
import { dateFormat2 } from '../../utils/util'
|
||
const app = getApp();
|
||
let time = null;
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
goods: [],
|
||
ticker: '--:--',
|
||
leftoverDay: "",
|
||
shops: false,//商铺进入
|
||
},
|
||
|
||
//商品详情
|
||
goodsDetails(e) {
|
||
let id = e.currentTarget.dataset.id;
|
||
wx.navigateTo({
|
||
url: '/pages/goodsDetails/goodsDetails?goodsId=' + id,
|
||
})
|
||
},
|
||
|
||
//物流
|
||
express: function (e) {
|
||
app.globalData.expressData = JSON.stringify(e.currentTarget.dataset.item);
|
||
wx.navigateTo({
|
||
url: '/pages/expresswx/expresswx',
|
||
})
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.shops) {
|
||
this.setData({
|
||
shops: true
|
||
})
|
||
}
|
||
wx.showLoading({
|
||
title: '加载中..',
|
||
})
|
||
if (time) {
|
||
clearTimeout(time);
|
||
}
|
||
wx.request({
|
||
url: app.globalData.ip + '/wisdommining/api/order/getOrderDetail',
|
||
method: 'GET',
|
||
header: {
|
||
"content-type": "application/x-www-form-urlencoded",
|
||
},
|
||
data: {
|
||
userId: app.globalData.userId,
|
||
orderNumber: options.orderNumber,
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
wx.hideLoading()
|
||
if (res.data.code == 1) {
|
||
let goods = res.data.value;
|
||
let total = 0;
|
||
let numAll = 0;
|
||
if (goods.orderPayWay != 3) {
|
||
for (let i = 0; i < goods.goodsList.length; i++) {
|
||
total = total + parseFloat(goods.goodsList[i].wisdGoodsSpec.specBulyPrice == null ? goods.goodsList[i].wisdGoodsSpec.specPrice : goods.goodsList[i].wisdGoodsSpec.specBulyPrice) * goods.goodsList[i].goodsNum;
|
||
numAll = numAll + goods.goodsList[i].goodsNum;
|
||
goods.goodsList[i].price = goods.goodsList[i].wisdGoodsSpec.specBulyPrice == null ? goods.goodsList[i].wisdGoodsSpec.specPrice : goods.goodsList[i].wisdGoodsSpec.specBulyPrice;
|
||
}
|
||
} else {
|
||
total = 0;
|
||
numAll = 1
|
||
}
|
||
this.setData({
|
||
goods: goods,
|
||
total: total,
|
||
numAll: numAll,
|
||
logistics: goods.logistics ? JSON.parse(goods.logistics) : null
|
||
})
|
||
if (goods.status == 1) {
|
||
this.setData({
|
||
setIntervalTime: setInterval((t) => {
|
||
var t = new Date();
|
||
var t_s = t.getTime();//转化为时间戳毫秒数
|
||
var daoqiT = new Date(goods.cancelTime.replace(/-/g, '/'));//到期时间
|
||
var time = parseInt((daoqiT - t_s) / 1000);
|
||
if (time > 0) {
|
||
var timeM = parseInt(time / 60);
|
||
var timeS = time % 60;
|
||
var ticker = '';
|
||
if (timeM < 10) {
|
||
timeM = '0' + timeM
|
||
}
|
||
if (timeS < 10) {
|
||
timeS = '0' + timeS
|
||
}
|
||
ticker = timeM + ':' + timeS
|
||
this.setData({
|
||
time: time - 1,
|
||
ticker: ticker
|
||
})
|
||
} else {
|
||
this.setData({
|
||
time: 'time - 1',
|
||
ticker: '',
|
||
})
|
||
clearInterval(this.data.setIntervalTime)
|
||
}
|
||
}, 1000)
|
||
})
|
||
}
|
||
if (goods.status == 3) {
|
||
// 获取发货时间
|
||
let orderDeliverTime = goods.orderDeliverTime
|
||
console.log("=======")
|
||
let orderDeliverTimeMillisecond = (new Date(orderDeliverTime.replace(/-/g, '/'))).getTime() + 15 * 24 * 60 * 60 * 1000; //得到毫秒数
|
||
// 获取现在的毫秒值
|
||
console.log(orderDeliverTimeMillisecond)
|
||
let nowTime = new Date().getTime()
|
||
// 计算已经过了的时间
|
||
let surplusDay = orderDeliverTimeMillisecond - nowTime
|
||
if (surplusDay > 0) {
|
||
let timeStr = dateFormat2(surplusDay)
|
||
console.log(timeStr)
|
||
this.setData({
|
||
leftoverDay: timeStr,
|
||
leftoverDayI: orderDeliverTimeMillisecond,
|
||
})
|
||
// const self = this;
|
||
time = setInterval(() => {
|
||
console.log("======")
|
||
this.countDown()
|
||
}, 1000)
|
||
// data[i]["timeStr"] = timeStr;
|
||
// data[i]["time"] = time;
|
||
}
|
||
|
||
// let days = Math.floor(surplusDay/(24*3600*1000)); //计算出天数
|
||
// let leftoverDay = 15 - days //计算剩余天数
|
||
// this.setData({
|
||
// leftoverDay
|
||
// })
|
||
}
|
||
} else {
|
||
wx.showModal({
|
||
title: '提示!',
|
||
content: res.data.message,
|
||
showCancel: false,
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
//申请售后
|
||
apply: function (e) {
|
||
const { id, num, sq, packageId } = e.currentTarget.dataset
|
||
console.log(packageId);
|
||
wx.navigateTo({
|
||
url: '/pages/my/applyAfter_sales/applyAfter_sales?id=' + id + '&num=' + num + '&sq=' + sq + "&packageId=" + packageId,
|
||
})
|
||
},
|
||
countDown() {
|
||
let leftoverDayI = this.data.leftoverDayI;
|
||
let nowTime = new Date().getTime()
|
||
// 计算已经过了的时间
|
||
let surplusDay = leftoverDayI - nowTime
|
||
if (surplusDay > 0) {
|
||
let timeStr = dateFormat2(surplusDay)
|
||
this.setData({
|
||
leftoverDay: timeStr
|
||
})
|
||
}
|
||
},
|
||
|
||
pay(e) {
|
||
this.payM({
|
||
orderNumber: this.data.goods.orderNumber
|
||
})
|
||
},
|
||
//支付
|
||
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 == 1) {
|
||
//调用微信支付API
|
||
wx.requestPayment({
|
||
timeStamp: res.data.value.timeStamp,
|
||
nonceStr: res.data.value.nonceStr,
|
||
package: res.data.value.package,
|
||
signType: 'MD5',
|
||
paySign: res.data.value.paySign,
|
||
success(res) {
|
||
console.log(res)
|
||
wx.showToast({
|
||
title: '支付成功',
|
||
icon: 'success',
|
||
duration: 1500,
|
||
success() {
|
||
setTimeout(() => {
|
||
wx.navigateBack()
|
||
}, 1000);
|
||
}
|
||
})
|
||
},
|
||
fail(res) {
|
||
console.log(res)
|
||
wx.hideLoading()
|
||
wx.showToast({
|
||
title: '支付失败',
|
||
icon: 'none',
|
||
duration: 2000,
|
||
})
|
||
}
|
||
})
|
||
} else {
|
||
wx.showModal({
|
||
title: '提示!',
|
||
content: res.data.message,
|
||
showCancel: false,
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
|
||
//确认收货
|
||
confirm: function (e) {
|
||
wx.showModal({
|
||
title: '提示!',
|
||
content: '确认客户已提货吗?',
|
||
success: s => {
|
||
if (s.confirm) {
|
||
wx.showLoading({
|
||
title: '加载中..',
|
||
})
|
||
wx.request({
|
||
url: app.globalData.ip + '/wisdommining/api/order/confirmOrder',
|
||
method: 'POST',
|
||
header: {
|
||
"content-type": "application/x-www-form-urlencoded",
|
||
},
|
||
data: {
|
||
orderId: this.data.goods.id
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
wx.hideLoading()
|
||
if (res.data.code == 1) {
|
||
wx.showToast({
|
||
title: '操作成功~',
|
||
icon: 'none',
|
||
success: ss => {
|
||
setTimeout(() => {
|
||
wx.navigateBack()
|
||
}, 1000);
|
||
}
|
||
})
|
||
} else {
|
||
wx.showModal({
|
||
title: '确认失败!',
|
||
content: res.data.message,
|
||
showCancel: false,
|
||
})
|
||
}
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
|
||
},
|
||
|
||
// 评价订单
|
||
rate(e) {
|
||
wx.navigateTo({
|
||
url: '/pages/rate/rate',
|
||
})
|
||
},
|
||
// 删除订单
|
||
del(e) {
|
||
let orderId = this.data.goods.id
|
||
wx.showModal({
|
||
title: '提示信息',
|
||
content: '您确认删除当前订单吗?',
|
||
success: ee => {
|
||
if (ee.confirm) {
|
||
wx.request({
|
||
url: app.globalData.ip + '/wisdommining/api/order/delOrder',
|
||
method: 'POST',
|
||
header: {
|
||
"content-type": "application/x-www-form-urlencoded",
|
||
},
|
||
data: {
|
||
orderId: orderId,
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
wx.hideLoading()
|
||
if (res.data.code == 1) {
|
||
wx.showToast({
|
||
title: '删除成功~',
|
||
icon: 'none',
|
||
success: eee => {
|
||
setTimeout((t) => {
|
||
wx.navigateBack()
|
||
}, 1000);
|
||
}
|
||
})
|
||
} else {
|
||
wx.showModal({
|
||
title: '提示!',
|
||
content: res.data.message,
|
||
showCancel: false,
|
||
})
|
||
}
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
|
||
// 图片预览
|
||
codeImg(e) {
|
||
let src = e.currentTarget.dataset.img;
|
||
wx.previewImage({
|
||
current: e.currentTarget.dataset.img, // 当前显示图片的http链接
|
||
urls: [e.currentTarget.dataset.img] // 需要预览的图片http链接列表
|
||
})
|
||
},
|
||
|
||
callCustomService() {
|
||
wx.makePhoneCall({
|
||
phoneNumber: '15955151737',
|
||
})
|
||
},
|
||
viewLogisticsDetails(e) {
|
||
const { logistics, logisticsName, orderNumber } = e.currentTarget.dataset
|
||
wx.navigateTo({
|
||
url: `/pages/logistics_details/logistics_details?orderNumber=${orderNumber}&logistics=${logistics}&logisticsName=${logisticsName}`,
|
||
})
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
|
||
},
|
||
|
||
}) |