yuminge-app/yun-min-program-plugin-master/packageC/o2o/o2oLocation/o2oLocation.js

300 lines
7.6 KiB
JavaScript

// pages/o2oLocation/o2oLocation.js
var app = getApp();
// import utils from '../../../utils/city.js';
Page({
/**
* 页面的初始数据
*/
data: {
tag: '',
sixCity: [],
citys: [],
city: '',
JumpArray: [],
position_switch:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
if (options.tag == "activityHome" || options.tag == "activitySearch" || options.tag == 'activitySort' ) {
this.setData({
tag: options.tag,
isHome:true,
});
}else if(options.tag == "search"){
this.setData({
tag: options.tag,
isHome:true,
});
}else if(options.tag == "storeConsume"){
this.setData({
tag: options.tag,
id:options.id,
});
}else if (options.tag) {
this.setData({
tag: options.tag
});
}
this._getSixCityList();
this._getCityList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
},
_getSixCityList() {
let api = '';
let that = this;
if (this.data.tag == "hotel") {
api = "plugin.hotel.frontend.hotel.hotel.get-hot-citys";
}else if(this.data.tag == "easyRefuel"){
api = "plugin.easy-refuel.frontend.index.getHotCitys";
}else if(this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort'){
api = "plugin.activity-apply.api.index.getHotCitys";
}else if(this.data.tag == "communityStore" || this.data.tag == "communityStoreDetails"){ //社区门店
api = "plugin.store-community.frontend.community.getHotCitys";
} else {
api = 'plugin.store-cashier.frontend.store.store.getHotCitys';
}
let urlStr = app.getNetAddresss(api);
app._getNetWork({
url: urlStr,
success: function(resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
sixCity: res.data.citys
});
// console.log(that.data.sixCity,res.data.citys);
try{
if(res.data.position_switch == '1'){
that.setData({
position_switch:true
});
}
}catch(err){
console.log(err);
}
} else {
console.log(res.msg);
}
},
fail: function(res) {
console.log(res);
}
});
},
_getCityList() {
let api = '';
let that = this;
if (this.data.tag == "hotel") {
api = "plugin.hotel.frontend.hotel.hotel.get-city-initials";
}else if(this.data.tag == "easyRefuel"){
api = "plugin.easy-refuel.frontend.index.getCitys";
} else if(this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort'){
api = "plugin.activity-apply.api.index.getCityInitials";
} else if(this.data.tag == "communityStore" || this.data.tab=="communityStoreDetails"){
api = "plugin.store-community.frontend.community.getCityInitials";
}else {
api = 'plugin.store-cashier.frontend.store.store.getCityInitials';
}
let urlStr = app.getNetAddresss(api);
app._getNetWork({
url: urlStr,
success: function(resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
citys: res.data.initials
});
let shortcutListData = res.data.initials.map((group) => {
return String(group.title).substr(0, 1);
});
that.setData({
shortcutList: shortcutListData
});
that.Jumpinit();
} else {
console.log(res.msg);
}
},
fail: function(res) {
console.log(res);
}
});
},
goback() {
wx.navigateBack({
delta: 1
});
},
tosearch() {
if(this.data.tag == 'storeConsume'){
// 门店消费卡进来的
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag+'&id='+this.data.id
});
return;
}
if (this.data.tag) {
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag
});
} else {
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc'
});
}
},
toGeolocation() {
if(this.data.tag == 'storeConsume'){
// 门店消费卡进来的
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag+'&id='+this.data.id
});
return;
}
if (this.data.tag) {
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag
});
} else {
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc'
});
}
},
setCity(e) {
let areaname = e.currentTarget.dataset.fulladdress;
console.log(e);
if(!areaname){
this.setData({
city: ''
});
wx.setStorage({
key: "address-point",
data: { point: { lat: '0', lng: '0' }, city: '' }
});
let mapmessageData = {
title: '',
message: '',
latitude: '',
longitude: '',
city: ''
};
if(this.data.tag == 'home'){
wx.reLaunch({
url: '/packageG/index/index?addressData=' + JSON.stringify(this.data.mapmessageData)
});
}else if(this.data.tag == 'diy'){
let urls = wx.getStorageSync('diyurl');
wx.reLaunch({url:urls});
}else{
wx.reLaunch({
url: '/packageC/o2o/o2oHome/o2oHome?addressData=' + JSON.stringify(mapmessageData)
});
}
}else if (this.data.tag) {
this.setData({
city: areaname
});
if (this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort') {
wx.navigateTo({
url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city
});
}else if(this.data.tag == "storeConsume"){
wx.navigateTo({
url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city+'&id='+this.data.id
});
}else{
wx.navigateTo({
url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city
});
}
} else {
this.setData({
city: areaname
});
wx.navigateTo({
url: '/packageC/o2o/o2oCity/o2oCity?city=' + this.data.city
});
}
},
Jump(e) {
let index = e.currentTarget.dataset.index;
// let text = e.currentTarget.dataset.text;
wx.pageScrollTo({
scrollTop: this.data.JumpArray[index],
duration: 300
});
},
Jumpinit() {
let that = this;
const query = wx.createSelectorQuery();
query.selectAll('.d_jump').boundingClientRect();
query.selectViewport().scrollOffset();
query.exec(
function(res) {
let resData = res["0"];
let JumpArray = [];
JumpArray = resData.map(function(val) {
return val.top;
});
that.setData({
JumpArray: JumpArray
});
}
);
}
});