123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- import { CACHE_LONGITUDE, CACHE_LATITUDE} from '../../config.js';
- import { storeListApi } from '../../api/store.js';
- import wxh from '../../utils/wxh.js';
- const app = getApp();
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- parameter: {
- 'navbar': '1',
- 'return': '1',
- 'title': '门店列表'
- },
- loading: false,//是否加载中
- loadend: false,//是否加载完毕
- loadTitle: '加载更多',//提示语
- page: 1,
- limit: 10,
- isClose: false,
- storeList: [],
- status: ''
- // longitude: '',
- // latitude: ''
- },
- onLoad: function (options) {
- this.setData({ status: options.go });
- // if (options.go === 'order') this.checked();
- },
- /**
- * 登录回调
- *
- */
- onLoadFun: function () {
- let longitude = wx.getStorageSync(CACHE_LONGITUDE); //经度
- let latitude = wx.getStorageSync(CACHE_LATITUDE); //纬度
- // this.setData({ latitude: latitude, longitude: longitude });
- if (longitude && latitude){
- this.getList(longitude, latitude);
- }else{
- this.selfLocation();
- }
- },
- /**
- * 授权地址
- *
- */
- selfLocation: function () {
- const that = this;
- wxh.selfLocation().then(res=>{
- that.getList(res.longitude, res.latitude);
- }).catch(()=>{
- that.getList();
- });
- },
- /**
- * 选中门店
- *
- */
- checked: function (e) {
- let details = e.currentTarget.dataset.details;
- let pages = getCurrentPages(); //当前页面
- let prevPage = pages[pages.length - 2]; //上一页面
- prevPage.setData({
- storeItem: details
- });
- if (this.data.status === 'order') wx.navigateBack({ delta: 1 });
- },
- /**
- * 获取门店列表数据
- */
- getList: function (longitudes, latitudes) {
- if (this.data.loadend) return;
- if (this.data.loading) return;
- this.setData({ loading: true, loadTitle: "" });
- let data={
- latitude: latitudes || '', //纬度
- longitude: longitudes || '', //经度
- page: this.data.page,
- limit: this.data.limit
- }
- storeListApi(data).then(res => {
- let list = res.data.list || [];
- let loadend = list.length < this.data.limit;
- this.data.storeList = app.SplitArray(list, this.data.storeList);
- this.setData({
- storeList: this.data.storeList,
- loadend: loadend,
- loading: false,
- loadTitle: loadend ? "我也是有底线的" : '加载更多',
- page: this.data.page + 1
- });
- }).catch(err => {
- this.setData({ loading: false, loadTitle: "加载更多" });
- })
- },
- /**
- * 拨打电话
- */
- makePhone: function (e) {
- let phone = e.currentTarget.dataset.phone;
- wx.makePhoneCall({
- phoneNumber: phone
- })
- },
- /**
- * 打开地图
- *
- */
- showMaoLocation: function (e) {
- let details = e.currentTarget.dataset.details;
- if (!details.latitude || !details.longitude) return app.Tips({ title: '缺少经纬度信息无法查看地图!' });
- wx.openLocation({
- latitude: parseFloat(details.latitude),
- longitude: parseFloat(details.longitude),
- scale: 8,
- name: details.name,
- address: details.address + details.detailed_address,
- success: function () {
- },
- });
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- this.setData({ isClose: true });
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- // if (app.globalData.isLog && this.data.isClose) {
- // this.setData({ loadend: false, page: 1, storeList: [] });
- // let longitude = wx.getStorageSync(CACHE_LONGITUDE); //经度
- // let latitude = wx.getStorageSync(CACHE_LATITUDE); //纬度
- // this.getList(longitude, latitude);
- // }
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- let longitude = wx.getStorageSync(CACHE_LONGITUDE); //经度
- let latitude = wx.getStorageSync(CACHE_LATITUDE); //纬度
- this.getList(longitude, latitude);
- }
- })
|