// pages/DetailsOfRefund/DetailsOfRefund.js var http = require('../../utils/http.js'); var util = require('../../utils/util.js'); Page({ /** * 页面的初始数据 */ data: { statusObject: { 0: '待支付', 20: '订单已接单', 30: '订单待配送', 40: '订单配送中', 50: '订单取消待审核', 60: '订单已取消', 70: '订单已送达', 80: '订单已完成' }, totalUsableScore:0, dvyType:'',//配送方式 orderItemDtos: [], remarks: "", actualTotal: 0, canRefund:false, userAddrDto: null, orderNumber: "", createTime: "", status: 0, productTotalAmount: '', transfee: '', totalNum:0, reduceAmount: '', prodid: '', orderType: 0, shopName: '', //店铺名称 canRefund: false, // 能否退款 canAllRefund: false, // 能否整单退款 isLastProd: false, //最后一款商品 irrevocable: false, //不可撤销 sum: [], //本单已申请单个退款的商品数组 orderScore: 0, // 整单使用积分 orderNumSend:'' }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.setData({ orderNumSend:options.orderNum }) this.loadOrderDetail(options.orderNum); }, /** * 加载订单数据 */ loadOrderDetail: function(orderNum) { var ths = this; wx.showLoading(); //加载订单详情 var params = { url: "/p/myOrder/orderDetail", method: "GET", data: { orderNumber: orderNum }, callBack: function(res) { let img='' res.orderItemDtos.forEach(e=>{ img=e.pic.split(',') e.pic=img[0] }) var dvyType if(res.dvyType == 1){ dvyType = '运费(快递)' }else if(res.dvyType == 3){ dvyType = '配送费(即时配送)' }else{ dvyType = '自提' } ths.setData({ totalUsableScore:res.totalUsableScore, dvyType:dvyType, orderNumber: orderNum, actualTotal: res.actualTotal, //实际支付总额(商品总额+运费) canRefund:res.canRefund, userAddrDto: res.userAddrDto, remarks: res.remarks, orderItemDtos: res.orderItemDtos, createTime: res.createTime, status: res.status, // status: res.status,//海博订单状态 productTotalAmount: res.total, //所有商品总额 transfee: res.transfee, //运费 totalNum:res.totalNum, reduceAmount: res.reduceAmount, orderType: res.orderType, shopName: res.shopName, canRefund: res.canRefund, canAllRefund: res.canAllRefund, orderScore: res.orderScore, // 整单使用积分 }); wx.hideLoading(); } }; http.request(params); }, //跳转商品详情页 toProdPage: function(e) { var prodid = e.currentTarget.dataset.prodid; if(this.data.orderType==3){ console.log('积分商品') wx.navigateTo({ url: '/pages/convertProdDet/convertProdDet?prodid=' + prodid, }) }else{ wx.navigateTo({ url: '/pages/prod/prod?prodid=' + prodid, }) } }, /** * 付款 */ onPayAgain: function (e) { wx.showLoading({ mask: true }); var ths = this; var orderType = this.data.orderType; var params = { url: "/p/order/pay", method: "POST", data: { orderType: orderType ? orderType : 0, payType: 1, orderNumbers: this.data.orderNumber }, callBack: res => { //console.log(res); wx.hideLoading(); wx.requestPayment({ timeStamp: res.timeStamp, nonceStr: res.nonceStr, package: res.package, signType: res.signType, paySign: res.paySign, success: function () { ths.loadOrderDetail(this.data.orderNumber) //请求订单详情数据 // wx.navigateTo({ // url: '/pages/pay-result/pay-result?sts=1&orderNumbers=' + e.currentTarget.dataset.ordernum, // }) }, fail: function (err) { //console.log("支付失败"); } }) } }; http.request(params); }, //删除已完成||已取消的订单 delOrderList: function (e) { var ths = this wx.showModal({ title: '', content: '确定要删除此订单吗?', confirmColor: "#FF941A", success(res) { if (res.confirm) { var ordernum = e.currentTarget.dataset.ordernum; wx.showLoading(); var params = { url: "/p/myOrder/" + ordernum, method: "DELETE", data: {}, callBack: function (res) { ths.loadOrderData(ths.data.sts, 1); wx.hideLoading(); } } http.request(params); } else if (res.cancel) { console.log('用户点击取消') } } }) }, /** * 取消订单 */ onCancelOrder: function (e) { var ths = this; wx.showModal({ title: '', content: '要取消此订单?', confirmColor: "#FF941A", cancelText: '否', confirmText: '是', success(res) { if (res.confirm) { wx.showLoading({ mask: true }); var params = { url: "/p/myOrder/cancel/" + ths.data.orderNumber, method: "PUT", data: {}, callBack: function (res) { //console.log(res); ths.loadOrderDetail(ths.data.orderNumber) //请求订单详情数据 wx.hideLoading(); } }; http.request(params); } else if (res.cancel) { //console.log('用户点击取消') } } }) }, /** * 申请退款 */ applyRefund: function(e) { var item = {} item.orderNumber = this.data.orderNumber; item.actualTotal = this.data.actualTotal; item.transfee = this.data.transfee; item.status = this.data.status; //订单状态 item.orderItemDtos = this.data.orderItemDtos; item.totalNum = this.data.totalNum item.orderScore = this.data.orderScore, // 整单积分 item.userAddrDto = this.data.userAddrDto, // 用户信息 //拿到存储在本地的订单项数据 wx.setStorageSync("refundItem", item); wx.redirectTo({ //通过wx.redirectTo实现跳转(关闭当前页面,跳转到应用内某个页面) url: '/pages/applyRefund/applyRefund', }) }, // 一键复制事件 copyBtn: function(e) { let data = e.currentTarget.dataset.value wx.setClipboardData({ //准备复制的数据 data, success: function(res) { wx.showToast({ title: '复制成功', }); } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })