// pages/city/index.js const app = getApp(); Page({ /** * 页面的初始数据 */ data: { inputShowed: false, inputVal: "", hotCity:[{id:1,name:"郑州"},{id:2,name:"上海"},{id:3,name:"昆山"},{id:4,name:"苏州"},{id:5,name:"无锡"},{id:6,name:"深圳"},{id:7,name:"南京"},{id:8,name:"东莞"},{id:9,name:"常州"}], hotCitySelect:-1, toView:'', cityList:[], letter:["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"], selectedQuanGuo: { name: '全国', shortName: '全国', checked: true, }, selectedCityLocal: { name: '', shortName: '', checked: false, }, selectedCity: { name: '', shortName: '', checked: false, }, selectedCityTemp: { name: '', shortName: '', checked: false, }, alpha: '', plShow:false, pltop:70, selectedQuanGuoStorage: { name: '全国', shortName: '全国', checked: true, }, selectedCityStorage: { name: '', shortName: '', checked: false, }, selectedCityLocalStorage: { name: '', shortName: '', checked: false, }, selectedCityTempStorage: { name: '', shortName: '', checked: false, }, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; try { var searchCityParamStorage = wx.getStorageSync('searchCityParamStorage') console.log("searchCityParamStorage======", searchCityParamStorage); var selectedCityTempParamStorage = wx.getStorageSync('selectedCityTempParamStorage') console.log("selectedCityTempParamStorage======", selectedCityTempParamStorage); var tag = wx.getStorageSync('selectedQuanGuoStorage'); if (tag && app.isNotEmptyCheck(tag.name)) { that.data.selectedQuanGuoStorage = wx.getStorageSync('selectedQuanGuoStorage') console.log("selectedQuanGuoStorage======", that.data.selectedQuanGuoStorage); that.data.selectedCityStorage = wx.getStorageSync('selectedCityStorage') console.log("selectedCityStorage======", that.data.selectedCityStorage); that.data.selectedCityLocalStorage = wx.getStorageSync('selectedCityLocalStorage') console.log("selectedCityLocalStorage======", that.data.selectedCityLocalStorage); that.data.selectedCityTempStorage = wx.getStorageSync('selectedCityTempStorage') console.log("selectedCityTempStorage======", that.data.selectedCityTempStorage); } if (searchCityParamStorage && app.isNotEmptyCheck(searchCityParamStorage.name)) { that.setData({ selectedQuanGuo: JSON.parse(JSON.stringify(that.data.selectedQuanGuoStorage)), selectedCity: JSON.parse(JSON.stringify(that.data.selectedCityStorage)), selectedCityTemp: JSON.parse(JSON.stringify(that.data.selectedCityTempStorage)), }); } else { that.setData({ selectedQuanGuo: that.data.selectedQuanGuo, selectedCityLocal: that.data.selectedCityLocal, selectedCity: that.data.selectedCity, selectedCityTemp: that.data.selectedCityTemp }); } } catch (e) { console.log("获取缓存设置的查询职位列表参数错误:", e); } this.getAllCityLevel2(); }, leftMove(e){ this.setData({ toView:'', }) }, handlerAlphaTap(e) { console.log(e.target.dataset.item); this.setData({ toView:e.target.dataset.item, alpha:e.target.dataset.item, plShow:true }) }, touchEnd(e){ this.setData({ plShow:false }) }, touchMove(e) { var that = this; // console.log(e) console.log(e.changedTouches[0].clientY); let moveY = e.changedTouches[0].clientY; let rY = moveY - 80; // toView:'hot' // toView:e.target.dataset.item if(rY >= 0) { let index = Math.ceil(rY / 22); // console.log(index); if(index == 1){ this.setData({toView: 'top', alpha:'查', plShow:true}); }else if(index == 2){ this.setData({toView: 'hot', alpha:'热', plShow:true,pltop:92}); }else{ let nonwAp = that.data.letter[index - 3]; let hg = (index - 2) * 22; this.setData({toView: nonwAp, alpha:nonwAp, plShow:true,pltop:92 + hg}); } // if(0 <= index < list.length) { // let nonwAp = list[index]; // nonwAp && this.setData({alpha: nonwAp.alphabet}); // } } // let {list} = this.data; // console.log(list) // console.log(this.data.alphabet) // let moveY = e.touches[0].clientY; // let rY = moveY - this.offsetTop; // if(rY >= 0) { // let index = Math.ceil((rY - this.apHeight)/ this.apHeight); // if(0 <= index < list.length) { // let nonwAp = list[index]; // nonwAp && this.setData({alpha: nonwAp.alphabet}); // } // } }, getLocation() { var that = this; if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); } else { wx.getSetting({ success: res => { console.log(res); // res.authSetting.location if (res.authSetting['scope.userLocation']) { wx.getLocation({ type: 'gcj02', success(res1) { console.log("获取位置"); console.log(res1); app.globalData.lng = res1.longitude; app.globalData.lat = res1.latitude; that.getCityNameByLatLng(res1.longitude, res1.latitude, 1); }, fail() { } }); that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); } else { console.log("11111111"); wx.openSetting({ success (res) { console.log(res.authSetting) // res.authSetting = { // "scope.userInfo": true, // "scope.userLocation": true // } } }) // that.getStoreJobDetailById(); } } }); } }, selectQuanGuo: function (e) { var that = this; that.data.selectedQuanGuo.checked = true; that.data.selectedCity.checked = false; that.data.selectedCityLocal.checked = false; that.data.selectedCityTemp.checked = false; this.setData({ selectedQuanGuo: that.data.selectedQuanGuo, selectedCity: that.data.selectedCity, selectedCityTemp: that.data.selectedCityTemp, selectedCityLocal: that.data.selectedCityLocal, }); }, selectOld: function (e) { var that = this; that.clearAllChecked(); that.data.selectedCity.checked = true; this.setData({ selectedQuanGuo: that.data.selectedQuanGuo, selectedCity: that.data.selectedCity, selectedCityTemp: that.data.selectedCityTemp, selectedCityLocal: that.data.selectedCityLocal, }); }, reset:function (e) { this.clearAllChecked(); this.data.selectedQuanGuo.checked = true; this.setAllSelected(); }, selectCity: function (e) { var city = e.currentTarget.dataset.city; console.log(city); var that = this; if (this.data.selectedCity.id != city.id) { this.data.selectedCity.checked = false; } this.data.selectedCityTemp = city; this.data.selectedCityTemp.checked = true; this.data.selectedQuanGuo.checked = false; this.setData({ selectedCity: that.data.selectedCity, selectedCityTemp: that.data.selectedCityTemp, selectedQuanGuo: that.data.selectedQuanGuo, }); }, loginOut: function () { var that = this; var temp; if(that.data.selectedCityTemp.checked) { that.clearAllChecked(); that.data.selectedCityTemp.checked = true; temp = that.data.selectedCityTemp; that.data.selectedCity = that.data.selectedCityTemp; } else if(that.data.selectedQuanGuo.checked) { that.clearAllChecked(); that.data.selectedQuanGuo.checked = true; temp = that.data.selectedQuanGuo; } else if(that.data.selectedCity.checked) { that.clearAllChecked(); that.data.selectedCity.checked = true; temp = that.data.selectedCity; } else if(that.data.selectedCityLocal.checked) { that.clearAllChecked(); that.data.selectedCityLocal.checked = true; temp = that.data.selectedCityLocal; } try { wx.setStorageSync('selectedCityTempParamStorage', that.data.selectedCity); wx.setStorageSync('searchCityParamStorage', temp); wx.setStorageSync('selectedQuanGuoStorage', that.data.selectedQuanGuo); wx.setStorageSync('selectedCityStorage', that.data.selectedCity); wx.setStorageSync('selectedCityLocalStorage', that.data.selectedCityLocal); wx.setStorageSync('selectedCityTempStorage', that.data.selectedCityTemp); } catch (e) { console.log("index-设置查询职位列表参数错误", e); } wx.reLaunch({ url: "../index/index?fromSearchPage=1" }) }, showInput: function () { this.setData({ inputShowed: true }); }, hideInput: function () { this.setData({ inputVal: "", inputShowed: false }); }, clearInput: function () { this.setData({ inputVal: "" }); }, inputTyping: function (e) { this.setData({ inputVal: e.detail.value }); }, clickHot:function(e){ this.setData({ toView:'hot' }) }, goTop:function(e){ this.setData({ toView:'top' }) }, chooseLetter:function(e){ console.log(e.target.dataset.item); this.setData({ toView:e.target.dataset.item }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, getAllCityLevel2: function () { var that = this; wx.request({ url: app.globalData.ip + '/city/getAllCityLevel2', data: {}, header: app.globalData.header, method: "GET", success: function (res) { console.log(res); that.setData({ cityList:res.data.data }) console.log(that.data.cityList); if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 0); } else { wx.getLocation({ type: 'gcj02', success (res) { console.log(res); app.globalData.lng = res.longitude; app.globalData.lat = res.latitude; that.getCityNameByLatLng(res.longitude, res.latitude, 0); } }) } } }) }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, getCityNameByLatLng: function (longitude, latitude, comeFrom) { var that = this; wx.request({ url: app.globalData.ip + '/location/getCityNameByLatLng', data: { lng: longitude, lat: latitude, }, header: app.globalData.headers, method: "GET", success: function (res) { console.log(res); if (res.data.status == 200) { var cityName = res.data.data; var tag = false; that.data.cityList.forEach(item => { item.list.forEach(item1 => { if (item1.name == cityName) { // if (that.data.selectedCityLocalStorage) {} // debugger; if (comeFrom == 1) {//主动点击获取位置 that.clearAllChecked(); that.data.selectedCityLocal = item1; that.data.selectedCityLocal.checked = true; that.setAllSelected(); } else { if (that.data.selectedCityLocalStorage.checked) { that.clearAllChecked(); that.data.selectedCityLocal = item1; that.data.selectedCityLocal.checked = true; that.setAllSelected(); } else { // that.clearAllChecked(); that.data.selectedCityLocal = item1; that.data.selectedCityLocal.checked = false; that.setAllSelected(); } } } }); }); } } }) }, clearAllChecked: function () { var that = this; that.data.selectedQuanGuo.checked = false; that.data.selectedCity.checked = false; that.data.selectedCityLocal.checked = false; that.data.selectedCityTemp.checked = false; }, setAllSelected: function () { var that = this; this.setData({ selectedQuanGuo: that.data.selectedQuanGuo, selectedCity: that.data.selectedCity, selectedCityTemp: that.data.selectedCityTemp, selectedCityLocal: that.data.selectedCityLocal, }); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ // onShareAppMessage: function () { // } })