// pages/user/order/sceneOrderInfo/index.js import commonApi from "../../../../utils/https/common" import userApi from "../../../../utils/https/user" import QRCode from '../../../../utils/weapp-qrcode.js' import util from '../../../../utils/util' let app = getApp(),timer Page({ /** * 页面的初始数据 */ data: { id:null, info:null, orderState:app.globalData.orderState, productState:app.globalData.productState, product_model:null, isRefund:false, feeInfoFlag:false, codeIndex:0, codeImgs:[], minute:0, second:0, cardTypes:{}, cxr1:false, cxr1Text:'更多', sysm:false, sysmText:'更多', sysm2:false, sysm2Text:'更多', imgLen:[], ids:[] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ id:options.id }) userApi.user_post("user/getCardTypeList").then(res=>{ let cardTypes = {}; res.data.map(item=>{ cardTypes[item.type]=item.title; }) this.setData({ cardTypes:cardTypes }) }) }, copy:function(){ wx.setClipboardData({ data: this.data.codeImgs[this.data.codeIndex].code, success: function (res) { wx.showToast({ title: '复制成功', icon:'success' }) } }) }, getCodeImg:function(){ let that = this,sys =wx.getSystemInfoSync(),radio = sys.screenWidth / 750,qrcode=this.data.info.order_product_list[0].qrcode,codeImgs=[],codeId=0,arr = []; this.data.info.order_product_list.forEach(qrcode=>{ qrcode.qrcode.map((item,index)=>{ console.log(qrcode.is_force_display_code); item.is_force_display_code = qrcode.is_force_display_code console.log(item.is_force_display_code); arr.push(index) this.setData({ imgLen:arr }) if(item.use_url&&item.use_code){ codeImgs.push({img:item.use_url,code:item.use_code,text:item.use_code_display_text,state:item.stateText,is_force_display_code:item.is_force_display_code,flag:item.state}); // if(codeImgs.length==qrcode.qrcode.length){ // that.setData({ // codeImgs:codeImgs // }) // } that.setData({ codeImgs:codeImgs }) } else { console.log(item); new QRCode('damocode'+codeId,{ text: item.use_code, width: 300 * radio, height: 300 * radio, padding:10, // 生成二维码四周自动留边宽度,不传入默认为0 correctLevel: QRCode.CorrectLevel.H, // 二维码可辨识度 callback: (res) => { console.log(res); codeImgs.push({img:res.path,code:item.use_code,text:item.use_code_display_text,state:item.stateText,is_force_display_code:item.is_force_display_code,flag:item.state}); that.setData({ codeImgs:codeImgs }) } }) console.log(this.data.codeImgs); codeId = codeId + 1 } }) }) console.log(this.data.imgLen); console.log(this.data.codeImgs); }, 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(){ console.log(this.data.codeImgs); let qrcode=this.data.codeImgs,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 }) }, 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.order_product_list.map(item=>{ item.state='CLOSED' }) _this.setData({ info:info }) } }) } } }) }, 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 }) } }) } } }) }, 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) }, // 查看苏康码 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; }) }, goDetail(e){ console.log(e.currentTarget.dataset); let item = e.currentTarget.dataset.set if (item.is_package==1) { wx.navigateTo({ url:"/pages/info/postProductInfo/index?id="+item.product_id }) return } else if (item.is_package==2) { wx.navigateTo({ url: '/subPackages/goods/oneCardTour/info/index?id='+item.scene_id }); return } if (item.product_model=='ticket') { wx.navigateTo({ url:"/pages/info/sceneProductInfo/index?id="+item.scene_id }) }else if (item.product_model=='post') { wx.navigateTo({ url:"/pages/info/postProductInfo/index?id="+item.product_id }) } else if (item.product_model == 'show') { wx.navigateTo({ url:"/pages/info/showInfo/index?id="+item.product_id }) } }, showMsg(e){ console.log(e.currentTarget.dataset); let msg = e.currentTarget.dataset.msg switch (msg) { case 'cxr1': this.setData({ cxr1:!this.data.cxr1, cxr1Text:this.data.cxr1?'更多':'收起', }) break; case 'sysm1': this.setData({ sysm:!this.data.sysm, sysmText:this.data.sysm?'更多':'收起', }) break; case 'sysm2': this.setData({ sysm2:!this.data.sysm2, sysm2Text:this.data.sysm2?'更多':'收起', }) break; default: break; } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ 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 proId = [] res.data.order_product_list.forEach(item => { proId.push(item.product_id) }) let state = "" res.data.order_product_list.map(order=>{ order.qrcode.map(item=>{ item.stateText = app.globalData.codeState[item.state]; }) order.contacts_info = order.contacts_info?JSON.parse(order.contacts_info):[]; state = state + order.state; }) this.setData({ isRefund:state.indexOf("REFUND")!=-1, info:res.data, product_model:"ticket"||res.data.order_product_list[0].product_model, ids: proId.join(",") }) console.log(res.data); // debugger console.log('ids',this.data.ids); this.getCodeImg() // 获取行程规划 let that = this; wx.getLocation({ type: 'gcj02', success: function (r) { let ajaxes=[]; res.data.order_product_list.map(item=>{ ajaxes.push(commonApi.user_post("order/tripplan",{ point_type:"gd", child_order_id:item.child_order_id, lon:r.longitude, lat:r.latitude })) }) Promise.all(ajaxes).then(r=>{ console.log(r) let orderInfo = that.data.info; r.map((item,index)=>{ if(item && item.data && item.data.url){ orderInfo.order_product_list[index].btnUrl = item.data.url; } }) that.setData({ info:orderInfo }) }) } }) }) }, // 行程规划 leadRoad:function(e){ let url = e.currentTarget.dataset.url; app.globalData.weburl = url; wx.navigateTo({ url: '/pages/pbService/web/index' }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { clearTimeout(timer) timer = null }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { } })