Files
sphc/pages/order_details/order_details.js
quantulr e679915b6c update
2024-05-17 17:14:40 +08:00

400 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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