xz_jiangzi/pages/venue/venue.js
2020-08-06 16:49:55 +08:00

227 lines
4.9 KiB
JavaScript

var app = getApp();
// pages/venue/venue.js
Page({
/**
* 页面的初始数据
*/
data: {
venueUrl : app.venueUrl,
imgRoute : '/route/file/downloadfile/true/',
venueTypeParentId : 'df8b758c-f6d8-465a-9aa8-c451fde47076',
page : '1',
rows : '10',
venueTypeList: [],
venuesList: [],
orderKey : '',
venueType : '',
latitude: '',
longitude: '',
selectingArea: false, // 显示隐藏选择区域
areaList: [],
venueArea: '',
areaName: ''
},
//获取定位
getLocation: function () {
var self = this;
wx.getLocation({
type: 'gcj02',
success: function (res) {
self.setData({
latitude: res.latitude,
longitude: res.longitude
})
},
complete: function(){
self.listPageVenuesInfo();
}
})
},
//获取场馆分类
listVenueType : function(){
var self = this;
app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuedictionary/listvenuedictionarybyparentidrelease/{venueTypeParentId}',
[app.venueUrl, self.data.venueTypeParentId]), {}, null,
function(code,data){
self.setData({
venueTypeList: data.data
});
},function(code, data){
app.dialog.msg(data.msg);
}
);
},
//获取场馆列表
listPageVenuesInfo : function(){
var self = this;
app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuesinfo/listpagevenuesinforelease', [app.venueUrl]),
{
page : self.data.page,
rows : self.data.rows,
orderKey : self.data.orderKey,
venueType : self.data.venueType,
latitude: self.data.latitude,
longitude: self.data.longitude,
selfLocation: 'TX',
venueArea: self.data.venueArea
}, null,
function(code, data){
data.rows.forEach(element => {
element.venuePanorama = element.venuePanorama.split(',')[0];
if(element.apart >= 1000){
element.apart = (element.apart / 1000).toFixed(2) + 'km';
} else {
element.apart += 'm';
}
});
self.setData({
venuesList : data.rows,
page : data.page
});
if (data.rows.length == 0) {
app.dialog.msg('暂无数据');
}
}, function(code,data){
app.dialog.msg(data.msg);
},function(){
wx.hideNavigationBarLoading();
wx.stopPullDownRefresh();
wx.hideLoading();
}
);
},
//切换场馆类型
changeVenueType: function(options){
var id = options.currentTarget.dataset.id;
if(id == this.data.venueType){
id = ''
}
this.setData({
venueType : id
})
this.listPageVenuesInfo();
},
//切换场馆排序
changeVenuesOrderBy: function(options){
var beCheck = options.currentTarget.dataset.becheck;
this.setData({
orderKey : beCheck
})
this.listPageVenuesInfo();
},
//去详情页
goDetail: function (options) {
var venuesInfoId = options.currentTarget.dataset.id;
wx.navigateTo({
url: '../venueDetail/venueDetail?venuesInfoId=' + venuesInfoId,
})
},
//选择区域
selectArea: function () {
this.setData({
selectingArea: true
})
},
// 获取地区列表
getAreaList: function () {
var self = this;
app.restAjax.get(app.restAjax.path(app.usercenterUrl + '/app/dataarea/listareabyparentidrelease/640675', []),
self.data.pages, null, function (code, data) {
if (code == '200') {
self.setData({
areaList: data
})
}
})
},
// 切换地区
changeArea: function (e) {
app.dialog.loading('正在加载');
this.setData({
venueArea: e.currentTarget.dataset.area,
selectingArea: false,
areaName: e.currentTarget.dataset.areaname
})
this.listPageVenuesInfo()
},
// 全部地区
loadAll: function () {
this.setData({
venueArea: '',
selectingArea: false
})
this.listPageVenuesInfo()
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.listVenueType();
this.getLocation();
this.getAreaList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
wx.showNavigationBarLoading();
this.setData({
venueType: '',
orderKey: '',
})
this.onLoad();
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})