const card = require('../../utils/card.js'); const util = require('../../utils/util.js'); const app = getApp(); var pageSize = 10; var firstLoad = true; var loadMore = function (that) { var dataList = that.data.dataList; var showLength = dataList.length; var totalCount = that.data.totalCount; if (!firstLoad && (showLength >= totalCount)) { return; } that.setData({ hidden: false }); // 当前位置 wx.getLocation({ type: 'gcj02', //返回可以用于wx.openLocation的经纬度 success: function (res) { var latitude = res.latitude var longitude = res.longitude queryShops(that, longitude, latitude); }, fail: function () { queryShops(that, "", "", 0, 0); } }); } var queryShops = function (that, longitude, latitude) { var dataList = that.data.dataList; var pageNum = that.data.pageNum; var keyword = that.data.inputVal; card.getCouponApplyShop(that.data.couponId, pageNum, pageSize, longitude, latitude,"name",keyword, function (res) { var resData = res.data; if (resData.status == 1) { var totalNum = resData.totalCount; if (dataList.length >= totalNum) { that.setData({ hidden: true }); return; } var totalPage = resData.pageCount; var shopList = resData.list; var shopLength = shopList.length; for (var value of shopList) { value.distance = (parseFloat(value.distance) / 1000).toFixed(2); dataList.push(value); } pageNum = pageNum + 1; that.setData({ hidden: true, totalCount: totalNum, totalPage: totalPage, pageNum: pageNum, dataList: dataList }); } else { that.setData({ hidden: true }); } }, function (res) {}); } Page({ data: { hidden: false, pageNum: 1, totalPage: 0, totalCount: 0, dataList: [], inputShowed: false, inputVal: "", inputFlag: 0, statusBarHeight: app.statusBarHeight * 2.5, }, onLoad: function (options) { if (options.couponId) { this.setData({ couponId: options.couponId }); } else { app.showMsg("券id不存在即将返回上一层", "none"); wx.navigateBack({}); } }, onShow: function () { loadMore(this); this.setData({ color: app.globalData.color }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { wx.showNavigationBarLoading() //在标题栏中显示加载 loadMore(this); wx.hideNavigationBarLoading() //完成停止加载 wx.stopPullDownRefresh() //停止下拉刷新 }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { loadMore(this); }, onLocation: function (e) { var latitude = e.currentTarget.dataset.latitude; var longitude = e.currentTarget.dataset.longitude; console.error("--------" + latitude + "----" + latitude) if (latitude != "" && longitude != "") { wx.openLocation({ latitude: Number(latitude), longitude: Number(longitude), scale: 28 }) } else { // 当前位置 wx.getLocation({ type: 'gcj02', //返回可以用于wx.openLocation的经纬度 success: function (res) { var latitude = res.latitude var longitude = res.longitude wx.openLocation({ latitude: latitude, longitude: longitude, scale: 28 }) } }); } }, showInput: function () { this.setData({ inputShowed: true }); }, hideInput: function () { this.resetSearch(); this.setData({ inputVal: "", inputShowed: false, inputFlag: 0 }); }, clearInput: function () { this.resetSearch(); this.setData({ inputVal: "", inputFlag: 0 }); }, inputTyping: function (e) { var inputFlag = 1; var inputVal = e.detail.value; this.setData({ inputVal: inputVal, inputFlag: inputFlag }); this.resetSearch(); if (inputVal == "") { inputFlag = 0; this.setData({ inputFlag: inputFlag }); } }, resetSearch: function () { var inputFlag = this.data.inputFlag; if (inputFlag == 1) { this.setData({ hidden: false, pageNum: 1, totalPage: 0, totalCount: 0, dataList: [] }); loadMore(this); } }, phone: function (e) { if (e.currentTarget.dataset.phone) { wx.makePhoneCall({ phoneNumber: e.currentTarget.dataset.phone, }) } else { app.showMsg("电话不存在", "none") } } })