|
|
|
|
// 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:"苏州市"
|
|
|
|
|
})
|
|
|
|
|
if(options.area_code){
|
|
|
|
|
let index = res.data.findIndex(item=>item.area_code==options.area_code);
|
|
|
|
|
this.setData({
|
|
|
|
|
area:index
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
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<now){
|
|
|
|
|
item.is_end = true;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
item.is_end = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
total:res.data.total,
|
|
|
|
|
list:list.concat(res.data.rows),
|
|
|
|
|
pageNo:this.data.pageNo+1
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getMovie:function(e){
|
|
|
|
|
if(!this.data.moreFlag) return;
|
|
|
|
|
let service={
|
|
|
|
|
1:"getHotMovieList",
|
|
|
|
|
2:"getCinemaList",
|
|
|
|
|
3:'getSoonShowsList'
|
|
|
|
|
};
|
|
|
|
|
let data = {
|
|
|
|
|
page:this.data.pageNo,
|
|
|
|
|
pageSize:10
|
|
|
|
|
};
|
|
|
|
|
if(this.data.movieType==2){
|
|
|
|
|
data.lat = this.data.lat;
|
|
|
|
|
data.lon = this.data.lon;
|
|
|
|
|
data.is_price_sort = this.data.sort=='price';
|
|
|
|
|
data.is_distance_sort = this.data.sort=='distance';
|
|
|
|
|
}
|
|
|
|
|
// if(this.data.movieType==1){
|
|
|
|
|
// data.queryDate = this.data.date
|
|
|
|
|
// }
|
|
|
|
|
if(this.data.movieType==2 && !this.data.lon){
|
|
|
|
|
wx.getLocation({
|
|
|
|
|
type: 'gcj02',
|
|
|
|
|
success:(res)=>{
|
|
|
|
|
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 () {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|