273 lines
6.4 KiB
JavaScript
273 lines
6.4 KiB
JavaScript
// packageC/hotel/HotelSearch/HotelSearch.js
|
|
var location = require("../../../mybehaviors/location/location");
|
|
var app = getApp();
|
|
Page({
|
|
behaviors: [location],
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
SEARCH_URL: "plugin.hotel.frontend.hotel.goods.get-hotel-goods-by-title",
|
|
address: "",
|
|
point: {
|
|
lat: '',
|
|
lng: ''
|
|
},
|
|
city: '',
|
|
title: '',
|
|
start_time: '',
|
|
end_time: '',
|
|
price: '',
|
|
star: '',
|
|
category: '',
|
|
loading: false,
|
|
allLoaded: false,
|
|
goload: true,
|
|
isLoadMore: true,
|
|
page: 1,
|
|
total_page: 0,
|
|
list_arr: [],
|
|
search_value: "",
|
|
toolbar: false,
|
|
PageNameList: {}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
if (options.start) {
|
|
this.setData({
|
|
start_time: options.start
|
|
});
|
|
}
|
|
if (options.star) {
|
|
this.setData({
|
|
star: options.star
|
|
});
|
|
}
|
|
if (options.end) {
|
|
this.setData({
|
|
end_time: options.end
|
|
});
|
|
}
|
|
if (options.price) {
|
|
this.setData({
|
|
price: options.price
|
|
});
|
|
}
|
|
if (options.category) {
|
|
this.setData({
|
|
category: options.category
|
|
});
|
|
}
|
|
|
|
this.getCustomizeHotelHead();
|
|
this._getLocation(()=> {this.search();});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
if (this.data.isLoadMore) {
|
|
this.searchMore();
|
|
} else {
|
|
console.log('没有更多数据');
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
|
|
//附近搜索
|
|
search() {
|
|
var that = this;
|
|
let urlStr = app.getNetAddresss(that.data.SEARCH_URL);
|
|
urlStr += '&lng=' + this.data.point.lng;
|
|
urlStr += '&lat=' + this.data.point.lat;
|
|
urlStr += '&city_name=' + that.data.city;
|
|
urlStr += '&page=' + this.data.page;
|
|
urlStr += '&entrance_time=' + (this.data.start_time ? this.data.start_time : '');
|
|
urlStr += '&price=' + (this.data.price ? this.data.price : '');
|
|
urlStr += '&star_rated=' + (this.data.star ? this.data.star : '');
|
|
urlStr += '&category_id=' + (this.data.category ? this.data.category : '');
|
|
urlStr += '&leave_at=' + (this.data.end_time ? this.data.end_time : '');
|
|
urlStr += '&kwd=' + (this.data.search_value ? this.data.search_value : '');
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
list_arr: res.data.data,
|
|
total_page: res.data.last_page
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
//获取酒店自定义字段
|
|
getCustomizeHotelHead() {
|
|
let that = this;
|
|
let isQuestHotel = "";
|
|
try {
|
|
const value = wx.getStorageSync('customizeHotelHead');
|
|
if (value) {
|
|
isQuestHotel = value;
|
|
// Do something with return value
|
|
}
|
|
} catch (e) {
|
|
// Do something when catch error
|
|
}
|
|
if (!app._isTextEmpty(isQuestHotel)) {
|
|
this.setData({
|
|
PageNameList: JSON.parse(isQuestHotel)
|
|
});
|
|
wx.setNavigationBarTitle({
|
|
title: this.data.PageNameList.hotels + '搜索页'
|
|
});
|
|
} else {
|
|
let urlStr = app.getNetAddresss("plugin.hotel.frontend.hotel.get-hotel-info.get-custom-name");
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
PageNameList: res.data
|
|
});
|
|
wx.setNavigationBarTitle({
|
|
title: (res.data.PageNameList.hotels + '搜索页') ? (res.data.PageNameList.hotels + '搜索页') : ''
|
|
});
|
|
try {
|
|
wx.setStorageSync('customizeHotelHead', JSON.stringify(res.data));
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|
|
}
|
|
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
gotoSearch() {
|
|
this.initData();
|
|
this.search();
|
|
},
|
|
initData() {
|
|
this.setData({
|
|
page: 1,
|
|
total_page: 0,
|
|
goload: true,
|
|
loading: true,
|
|
allLoaded: false,
|
|
isLoadMore: true,
|
|
list_arr: []
|
|
});
|
|
},
|
|
searchMore() {
|
|
var that = this;
|
|
if (this.data.page == this.data.total_page) {
|
|
return;
|
|
}
|
|
if (this.data.page >= this.data.total_page) {
|
|
this.setData({
|
|
loading: true,
|
|
allLoaded: true
|
|
});
|
|
return;
|
|
} else {
|
|
this.setData({
|
|
page: this.data.page + 1
|
|
});
|
|
let urlStr = app.getNetAddresss(that.data.SEARCH_URL);
|
|
urlStr += '&lng=' + this.data.point.lng;
|
|
urlStr += '&lat=' + this.data.point.lat;
|
|
urlStr += '&city_name=' + this.data.city;
|
|
urlStr += '&page=' + this.data.page;
|
|
urlStr += '&entrance_time=' + (this.data.start_time ? this.data.start_time : '');
|
|
urlStr += '&price=' + (this.data.price ? this.data.price : '');
|
|
urlStr += '&star_rated=' + (this.data.star ? this.data.star : '');
|
|
urlStr += '&category_id=' + (this.data.category ? this.data.category : '');
|
|
urlStr += '&leave_at=' + (this.data.end_time ? this.data.end_time : '');
|
|
urlStr += '&kwd=' + (this.data.search_value ? this.data.search_value : '');
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
loading: false,
|
|
allLoaded: false,
|
|
list_arr: that.data.list_arr.concat(res.data.data) //数组拼接
|
|
});
|
|
} else {
|
|
that.setData({
|
|
page: that.data.page - 1,
|
|
loading: true,
|
|
allLoaded: true,
|
|
isLoadMore: false
|
|
});
|
|
return;
|
|
}
|
|
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
seainp(e) {
|
|
let val = e.detail.value;
|
|
this.setData({
|
|
search_value: val
|
|
});
|
|
}
|
|
}); |