list.js
2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// components/reserve/caixi.js
import util from '../../../utils/util';
import App from '../../../utils/api';
const {regeneratorRuntime} = global
Component({
/**
* 组件的属性列表
*/
properties: {
multiArray:{
type:Array,
value:[]
},
multiIndex: {
type:Array,
value:[]
},
tags: {
type:Array,
value:[]
},
},
/**
* 组件的初始数据
*/
data: {
hidden:true,
statusBarHeight: 20,
titleBarHeight:44,
markers:[],
hasMore:true,
},
attached(){
//导航栏自适应
let systemInfo = wx.getSystemInfoSync();
let reg = /ios/i;
let pt = 20;//导航状态栏上内边距
let h = 44;//导航状态栏高度
if(reg.test(systemInfo.system)){
pt = systemInfo.statusBarHeight;
}else{
pt = systemInfo.statusBarHeight;
h = 48;
}
this.setData({
statusBarHeight: pt,
titleBarHeight:h,
})
},
/**
* 组件的方法列表
*/
methods: {
hide(){
this.setData({
hidden:true,
})
},
show(){
this.setData({
hidden:false,
})
},
getList(mapParam){
this.offset=1 //page
this.size=20 //page size
//计算视窗中心
let map=JSON.parse(mapParam.map);
let lat=map.northeast.latitude-(map.northeast.latitude-map.southwest.latitude)/2;
let lng=map.northeast.longitude-(map.northeast.longitude-map.southwest.longitude)/2;
this.param={
lat:lat,
lng:lng,
lat_extend:mapParam.lat,
lng_extend:mapParam.lng,
offset:this.offset,
size:this.size,
distance:50,
};
if(mapParam.centre_pos){
this.param.centre_pos=mapParam.centre_pos
}
if(mapParam.tags){
this.param.tags=mapParam.tags
}
if(mapParam.cuisine){
this.param.cuisine=mapParam.cuisine
}
if(mapParam.when_date){//日期
this.param.when_date=mapParam.when_date
}
if(mapParam.several){//人数
this.param.several=mapParam.several
}
if(mapParam.daily){//时段
this.param.daily=mapParam.daily
}
App.Customer.SellerLists(this.param).then(res=>{
// this.setData({
// hasMore:res.data.length==this.size,
// markers:res.data,
// })
this.triggerEvent('event',{type:'getListEnd',total:res.data.length})
})
},
getListMore(){
this.param.offset+=1;
let markers=this.data.markers;
App.Customer.SellerLists(this.param).then(res=>{
this.setData({
hasMore:res.data.length==this.size,
markers:markers.concat(res.data),
})
})
},
caixiShow(){
this.triggerEvent('event',{type:'caixiShow'})
},
tagsChange(e){
this.triggerEvent('event',{type:'tagsChange',e:e})
},
gotoDetail(e){
wx.navigateTo({
url:'/pages/reserve/shopHome?id='+util.attr(e,'sid')
})
},
}
})