xz_bailang/pages/venue/venue.js

230 lines
5.8 KiB
JavaScript

var app = getApp();
// pages/venue/venue.js
Page({
/**
* 页面的初始数据
*/
data: {
venueUrl: app.venueUrl,
imgRoute: '/route/file/download/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/{areaCode}', [app.venueUrl, app.areaCode]), {
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/area/listbyparentidrelease/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 () {
}
})