You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
4.6 KiB
JavaScript
201 lines
4.6 KiB
JavaScript
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")
|
|
}
|
|
}
|
|
}) |