// pages/user/order/sceneOrderInfo/index.js import commonApi from "../../../../utils/https/common" import QRCode from '../../../../utils/weapp-qrcode.js' import util from "../../../../utils/util" let app = getApp(),timer; Page({ /** * 页面的初始数据 */ data: { info:null, orderState:app.globalData.orderState, productState:app.globalData.productState, product_model:null, isRefund:false, feeInfoFlag:false, codeIndex:0, codeImgs:[], minute:"", second:"", id:null, pay_methods:app.globalData.pay_methods, tjList:[], showLoading:true }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ id:options.id }) commonApi._post("product/get_product_by_type", { offset: 0, limit: 6, rand: true, type:"venue,post,line,ticket" }).then(res => { this.setData({ showLoading:false }) try { this.setData({ tjList: res.data.list }) } catch (error) { console.log(error); } }) }, close:function(){ let _this = this,info = _this.data.info; wx.showModal({ title:'提示', content:"确定取消吗", success:function(res){ if(res.confirm){ commonApi.user_post("order/close",{ order_id:info.order_id }).then(res=>{ if(res.code==1){ wx.showToast({ title: '取消成功', icon:'success' }) info.state = "CLOSED"; info.state_text = "已关闭"; info.order_product_list.map(item=>{ item.state='CLOSED' item.state_text='已关闭' }) _this.setData({ info:info }) } }) } } }) }, copy:function(e){ wx.setClipboardData({ data: e.currentTarget.dataset.num, success: function (res) { wx.showToast({ title: '复制成功', icon:'success' }) } }) }, getCodeImg:function(){ let code = "111"; let that = this,sys =wx.getSystemInfoSync(),radio = sys.screenWidth / 750,qrcode=this.data.info.order_product_list[0].qrcode,codeImgs=[]; qrcode.map((item,index)=>{ new QRCode('damocode'+index,{ text: item.use_code, width: 300 * radio, height: 300 * radio, padding: 12, // 生成二维码四周自动留边宽度,不传入默认为0 correctLevel: QRCode.CorrectLevel.L, // 二维码可辨识度 callback: (res) => { codeImgs.push(res.path); if(codeImgs.length==qrcode.length){ that.setData({ codeImgs:codeImgs }) } console.log(res) } }) }) }, prevCodeImg:function(){ let qrcode=this.data.info.order_product_list[0].qrcode,codeIndex = this.data.codeIndex; if(codeIndex==0){ this.setData({ codeIndex:qrcode.length-1 }) } else { this.setData({ codeIndex:codeIndex-1 }) } }, nextCodeImg:function(){ let qrcode=this.data.info.order_product_list[0].qrcode,codeIndex = this.data.codeIndex; codeIndex = codeIndex + 1; if(codeIndex==qrcode.length){ codeIndex = 0; } this.setData({ codeIndex:codeIndex }) }, showFeeInfo:function(){ this.setData({ feeInfoFlag:!this.data.feeInfoFlag }) }, refund:function(){ let _this = this,info = _this.data.info; wx.showModal({ title:'提示', content:"确定退款吗", success:function(res){ if(res.confirm){ commonApi.user_post("order/refund",{ order_id:info.order_id }).then(res=>{ if(res.code==1){ wx.showToast({ title: '取消成功', icon:'success' }) info.state = "WAIT_REFUND"; info.order_product_list.map(item=>{ item.state='WAIT_REFUND' }) _this.setData({ info:info }) } }) } } }) }, // 查看苏康码 gotoSku:function(){ commonApi.user_post("pbservice/Ztfw/sukangCode").then(res=>{ console.log(res) app.globalData.weburl = res.data.url; wx.navigateTo({ url: '/pages/pbService/web/index' }) return; }) }, gotoComment:function(e){ let id = e.currentTarget.dataset.id; wx.navigateTo({ url: '/pages/order/comment/index?id='+id, }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, daojishi:function(time){ let now = new Date().getTime(); if(now>time){ clearTimeout(timer); timer = null; util.back(); return; } let times = time - now,minute = Math.floor(times / (60 * 1000)),second = Math.round((times - minute * 60 * 1000) / 1000); this.setData({ minute:util.formatNumber(minute), second:util.formatNumber(second) }) timer = setTimeout(()=>{ this.daojishi(time); },1000) }, gotoDetail: function (e) { let item = e.currentTarget.dataset.item; util.pagePoint({ event: 'recommend_click', param: { id: item.id, type: item.type } }, 1) if (item.type == 'travels') { // 游记做特殊处理 其他都按照原来的来 wx.navigateTo({ url: '/pages/info/strategyInfo/index?id=' + item.s_id, }) } else { util.gotoDetail(item); } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { commonApi.user_post("order/query",{ order_id:this.data.id }).then(res=>{ if(res.data.create_time && res.data.auto_close_time && res.data.state=='UNPAID'){ let time = (new Date(res.data.create_time.replace(/-/g,'/')).getTime() + Number(res.data.auto_close_time) * 1000); this.daojishi(time); } let state = ""; res.data.stateNums = {} res.data.order_product_list.map(order=>{ if(res.data.stateNums[order.state]){ res.data.stateNums[order.state]++; } else { res.data.stateNums[order.state] = 1; } order.consignee_info = order.consignee_info?JSON.parse(order.consignee_info):null; state = state + order.state; order.contacts_info = order.contacts_info?JSON.parse(order.contacts_info):[] }) this.setData({ isRefund:state.indexOf("REFUND")!=-1, info:res.data, product_model:res.data.order_product_list[0].product_model }) this.getCodeImg() }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { clearTimeout(timer) timer = null; }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { } })