// pages/activity/index.js var app = getApp() import util from "../../../utils/util" import commonApi from "../../../utils/https/common" Page({ /** * 页面的初始数据 */ data: { isYL:false, selectDay:new Date().getTime(), days: ['日','一','二','三','四','五','六'], types:[null,'show','exhibition','scene','movie','lecture','other'], weeks:[], pageNo:1, sort:"", list:[], date:null, total:1, areas:['姑苏','吴江','苏州'], area:0, type:2, movieType:1, moreFlag:true, lat:"", lon:"", keywords:"", realKeywords:"" }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let d = new Date(); let month = d.getMonth() + 1,day = d.getDate(); month = month>10?month:("0"+month); day = day>10?day:("0"+day); this.setData({ selectDay:d.getTime(), date:d.getFullYear()+"-"+month+"-"+day }) this.getWeekDay(); commonApi._post("pbservice/Other/getSuzhouAreas").then(res=>{ res.data.unshift({ area_code:"", area_name:"苏州市" }) this.setData({ areas:res.data }) this.getList() }) }, changeType:function(e){ this.setData({ type:e.currentTarget.dataset.type, list:[], total:1, pageNo:1, moreFlag:true, keywords:"", realKeywords:"" }) this.getList(); }, changeArea:function(e){ this.setData({ area:e.detail.value, list:[], total:1, pageNo:1, moreFlag:true }) this.getList() }, // 获取当前选择日期的一周日期范围 getWeekDay:function(){ var myDate = this.data.selectDay, daySecond = 24 * 60 * 60 * 1000,reslist=[]; for (let i = myDate - daySecond * 3; i <= myDate + daySecond * 3; i = i + daySecond){ let day = new Date(i),putDate = day.getDate(); putDate = putDate>=10?putDate:'0'+putDate let item = { times:i, day:this.data.days[day.getDay()], date:putDate, isSelect:i==myDate }; reslist.push(item); } this.setData({ weeks: reslist }) }, yulan:function(e){ let flag = e.currentTarget.dataset.flag; if(flag==0 && this.data.isYL || flag==1 && this.data.isYL==false) return; this.setData({ isYL:flag==0, list:[], pageNo:1, total:1, moreFlag:true, }) this.getList() }, getYL:function(){ let list = this.data.list; commonApi._post("pbservice/Actcalendar/getActPrevList",{ page_no:this.data.pageNo, category:this.data.types[this.data.type], keywords:this.data.realKeywords, area_key:this.data.areas[this.data.area].area_code, page_num:10 }).then(res=>{ this.setData({ total:res.data.total, list:list.concat(res.data.rows), pageNo:this.data.pageNo+1 }) }) }, // picker修改日期 bindDateChange:function(e){ this.setData({ selectDay: new Date(e.detail.value).getTime(), list:[], pageNo:1, total:1, date:e.detail.value, moreFlag:true, isYL:false }) this.getWeekDay(); this.getList(); }, // 点击修改日期 changeDate:function(e){ let times = e.currentTarget.dataset.times,d = new Date(times); let month = d.getMonth()+1,day = d.getDate(); month = month>10?month:('0'+month); day = day>10?day:('0'+day); this.setData({ selectDay: times, date:d.getFullYear()+"-"+month+"-"+day, list:[], pageNo:1, total:1, moreFlag:true, isYL:false }) this.getList(); }, getList:function(){ let list = this.data.list; if(this.data.isYL){ this.getYL(); return; } if(this.data.type==4){ this.getMovie(); return; } if(list.length>=this.data.total) return; commonApi._post('pbservice/Actcalendar/getActList',{ page_no:this.data.pageNo, date:this.data.date, category:this.data.types[this.data.type], keywords:this.data.realKeywords, area_key:this.data.areas[this.data.area].area_code, page_num:10 }).then(res=>{ let now = new Date().getTime(); res.data.rows.map(item=>{ if(item.end_date){ let end_date = item.end_date; if(end_date.indexOf(":")==-1){ end_date = end_date+" 23:59:59"; } end_date = new Date(end_date.replace(/-/g,'/')).getTime(); if(end_date{ this.setData({ lat:res.latitude, lon:res.longitude }) data.lat =res.latitude; data.lon =res.longitude; commonApi._post('Cinema/'+service[this.data.movieType],data).then(res=>{ res.data.map(item=>{ if(item.distance || item.distance==0){ if(item.distance>=1000){ item.distance = (item.distance/1000).toFixed(2)+'km'; } else { item.distance = (item.distance).toFixed(2)+'m'; } } }) this.setData({ list:this.data.list.concat(res.data), pageNo:this.data.pageNo+1, moreFlag:res.data.length<10?false:true }) }) }, fail:()=>{ wx.showToast({ title: '请打开位置授权', icon:'none' }) commonApi._post('Cinema/'+service[this.data.movieType],data).then(res=>{ this.setData({ list:this.data.list.concat(res.data), pageNo:this.data.pageNo+1, moreFlag:res.data.length<10?false:true }) }) } }) } else { commonApi._post('Cinema/'+service[this.data.movieType],data).then(res=>{ res.data.map(item=>{ if(item.distance || item.distance==0){ if(item.distance>=1000){ item.distance = (item.distance/1000).toFixed(2)+'km'; } else { item.distance = (item.distance).toFixed(2)+'m'; } } }) this.setData({ list:this.data.list.concat(res.data), pageNo:this.data.pageNo+1, moreFlag:res.data.length<10?false:true }) }) } }, setSort:function(e){ let sort = e.currentTarget.dataset.sort; if(this.data.sort==sort) sort=""; this.setData({ sort:sort, list:[], total:1, pageNo:1, moreFlag:true }) this.getList(); }, changeMovieType:function(e){ let type = e.currentTarget.dataset.type; this.setData({ movieType:type, list:[], pageNo:1, total:1, moreFlag:true }) this.getList() }, gotoDetail:function(e){ let item = e.currentTarget.dataset.item; if(this.data.type==4 && this.data.movieType!=2){ wx.navigateTo({ url: '/pages/list/movieticket/list/info/index?id='+item.third_id }) } else if(this.data.type==4){ wx.navigateTo({ url: '/pages/list/movieticket/list/cinema/index?id='+item.third_id }) } else { wx.navigateTo({ url: '/pages/info/activityInfo/index?id='+item.id, }) } }, changeKeywords:function(e){ this.setData({ keywords:e.detail.value }) }, search:function(){ this.setData({ realKeywords:this.data.keywords, list:[], pageNo:1, total:1, moreFlag:true }) this.getList(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.getList() }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })