201 lines
4.6 KiB
JavaScript
201 lines
4.6 KiB
JavaScript
// pages/o2oCategory/o2oCategory.js
|
|
var location = require("../../../mybehaviors/location/location");
|
|
|
|
var app = getApp();
|
|
Page({
|
|
behaviors: [location],
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
id: "",
|
|
city: "",
|
|
point: {
|
|
lat: "",
|
|
lng: "",
|
|
},
|
|
page: 1,
|
|
total_page: 0,
|
|
stores: [],
|
|
loading: false,
|
|
allLoaded: false,
|
|
isLoadMore: true,
|
|
openTemplate: 0 //门店列表样式
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
console.log(options);
|
|
if(options.name){
|
|
this.setData({
|
|
title:options.name
|
|
});
|
|
wx.setNavigationBarTitle({
|
|
title: options.name,
|
|
});
|
|
}
|
|
if (options.id) {
|
|
this.setData({
|
|
id: options.id,
|
|
});
|
|
}
|
|
if (options.city) {
|
|
this.setData({
|
|
city: options.city,
|
|
point: JSON.parse(options.point),
|
|
});
|
|
this.getStoresByCategoryIdLngAndLat();
|
|
} else {
|
|
this._getLocation(() => {this.getStoresByCategoryIdLngAndLat();});
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {},
|
|
getStoresByCategoryIdLngAndLat() {
|
|
let that = this;
|
|
let urlStr = app.getNetAddresss(
|
|
"plugin.store-cashier.frontend.store.store.get-store-list-by-category-id-to-page"
|
|
);
|
|
let point = app.qqMapTransBMap(
|
|
parseFloat(this.data.point.lng),
|
|
parseFloat(this.data.point.lat)
|
|
);
|
|
if (!point.lng) {
|
|
(point.lng = ""), (point.lat = "");
|
|
}
|
|
urlStr += "&category_id=" + this.data.id;
|
|
urlStr += "&lng=" + point.lng;
|
|
urlStr += "&lat=" + point.lat;
|
|
urlStr += "&city_name=" + this.data.city;
|
|
urlStr += "&page=" + this.data.page;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
stores: res.data.data,
|
|
openTemplate: res.data.store_list_style || 0
|
|
});
|
|
if (res.data.last_page) {
|
|
that.setData({
|
|
total_page: res.data.last_page,
|
|
});
|
|
} else if (res.data.lastPage) {
|
|
that.setData({
|
|
total_page: res.data.lastPage,
|
|
});
|
|
}
|
|
} else {
|
|
that.setData({
|
|
stores: [],
|
|
});
|
|
wx.showToast({
|
|
icon: "none",
|
|
title: res.msg,
|
|
duration: 1000,
|
|
});
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
});
|
|
}, 1500);
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
getMoreData() {
|
|
var that = this;
|
|
if (this.data.page == this.data.total_page) {
|
|
return;
|
|
}
|
|
if (this.data.page >= this.data.total_page) {
|
|
that.setData({
|
|
loading: true,
|
|
allLoaded: true,
|
|
});
|
|
return;
|
|
} else {
|
|
this.setData({
|
|
page: this.data.page + 1,
|
|
});
|
|
let urlStr = app.getNetAddresss(
|
|
"plugin.store-cashier.frontend.store.store.get-store-list-by-category-id-to-page"
|
|
);
|
|
let point = app.qqMapTransBMap(
|
|
parseFloat(this.data.point.lng),
|
|
parseFloat(this.data.point.lat)
|
|
);
|
|
urlStr += "&category_id=" + this.data.id;
|
|
urlStr += "&lng=" + point.lng;
|
|
urlStr += "&lat=" + point.lat;
|
|
urlStr += "&city_name=" + this.data.city;
|
|
urlStr += "&page=" + this.data.page;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
loading: false,
|
|
allLoaded: false,
|
|
});
|
|
let stores = that.data.stores;
|
|
that.setData({
|
|
stores: stores.concat(res.data.data),
|
|
});
|
|
} else {
|
|
that.setData({
|
|
page: that.data.page - 1,
|
|
loading: true,
|
|
allLoaded: true,
|
|
isLoadMore: false,
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
}
|
|
},
|
|
});
|