// pages/cartPay/cartPay.js import { dateFormat2 } from '../../utils/util' const app = getApp(); let time = null; Page({ /** * 页面的初始数据 */ data: { goods: [], ticker: '--:--', leftoverDay: "", shops: false,//商铺进入 refundLogistics: null }, //商品详情 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.afterSalesStatus == 64) { this.setData({ refundLogistics: JSON.stringify([{ id: Date.now(), goods: [], logisticsNumber: goods.orderRefundNumber }]) }) } 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 () { }, })