// subpages/home/pages/streetPage/streetPage.js const api = require('../../../../utils/home') Page({ /** * 页面的初始数据 */ data: { orgList:[], streetArr:[], streetId:'', multiIndex:[0], multiArray: [[], [], []], first:true, second:false, secondIndex:-1, third:false, thirdIndex:-1, noticeList:[], id:"", arr:[], visible:false }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let {parentDeptNames} = JSON.parse(wx.getStorageSync('userInfo') ) let arr = parentDeptNames.split('-') wx.setNavigationBarTitle({ title:arr[2]+'网格力量' }) this.getAllOrgList(options) }, getAllOrgList(options){ api.getAllOrgList().then(res=>{ let arr = res.data.options[0].children.filter(f=>Object.keys(f).indexOf("children")!=-1); let gridArr=[] let smallGrid=[] let street =[] arr.map(m=>{ m.children.map(item=>{ if (options.id==item.value&&item.children) { item.children.map(items=>{ gridArr.push(items.label) items.childrenArr=[] if (items.children) { items.children.map(itemss=>{ items.childrenArr.push(itemss.label) }) if (gridArr[0]==items.label) { items.children.map(itemss=>{ smallGrid.push(itemss.label) }) } } street.push(items.childrenArr) }) this.setData({ ['multiArray[0]'] :[item.label], }) } }) }) gridArr.forEach((f,i,aboriginal)=>{ aboriginal[i]=f&&f.split("区")[1] }) smallGrid.forEach((f,i,aboriginal)=>{ aboriginal[i]=f&&"第"+f.split("第")[2] }) street.forEach((f)=>{ f.forEach((item,i,aboriginal)=>{ aboriginal[i]=item&&"第"+item.split("第")[2] }) }) this.setData({ ['multiArray[1]'] :gridArr, ['multiArray[2]'] :smallGrid, streetArr:street, id:options.id, arr:arr }) this.getRedResiList(options.id) // let grid = [] // this.data.streetArr.forEach(item=>{ // if(item.children){ // item.children.forEach(itemC=>{ // if(itemC.children){ // itemC.children.forEach(itemK=>{ // grid.push({label:itemK.label,value:itemK.value,pid:itemC.value,type:'grid'}) // }) // } // }) // } // }) // let fiterArr = grid.filter(item=>item.pid == options.id) // console.log(fiterArr,898989); // this.setData({ // orgList:fiterArr, // streetId:options.pid // }) }).catch(err=>{ console.log(err); }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, // 当点击按钮时触发回退操作 handleClickBack(){ let savedUserInfo = JSON.parse(wx.getStorageSync("userInfo")); let arr = [...savedUserInfo.allDeptIds.split(',')]; if(this.data.streetId){ wx.navigateTo({ url: `/subpages/home/pages/communityPage/communityPage?id=${this.data.streetId}`, }) }else{ wx.navigateTo({ url: `/subpages/home/pages/communityPage/communityPage?id=${arr[1]}`, }) } }, handleClickTo(e){ wx.navigateTo({ url: `/subpages/home/pages/smallGridPage/smallGridPage?id=${e.currentTarget.dataset.value}`, }) }, bindMultiPickerColumnChange: function (e) { if (e.target.dataset.id==0) { this.setData({ first:true, third:false, thirdIndex:-1, second:false, secondIndex:-1, }) } if (e.target.dataset.id==2) { if (this.data.third&&this.data.thirdIndex==e.target.dataset.index) { this.setData({ third:false, thirdIndex:-1 }) }else{ this.setData({ third:true, thirdIndex:e.target.dataset.index }) } } if(e.target.dataset.id === 1) { if (this.data.second&&this.data.secondIndex==e.target.dataset.index) { this.setData({ second:false, secondIndex:-1, thirdIndex:-1, third:false }) }else{ this.setData({ ['multiArray[2]'] :this.data.streetArr[e.target.dataset.index], second:true, secondIndex:e.target.dataset.index, thirdIndex:-1, third:false }) } } let arr =[] this.data.arr.forEach(f=>{ f.children.forEach(item=>{ if (item.value==this.data.id) { arr=item.children } }) }) if (this.data.second&&!this.data.third) { arr.forEach(f=>{ if (f.label&&f.label.indexOf(this.data.multiArray[1][this.data.secondIndex])!=-1) { this.getRedResiList(f.value) } }) } if (!this.data.second) { this.getRedResiList(this.data.id) } if (this.data.third) { arr.forEach(f=>{ if (f.label.indexOf(this.data.multiArray[1][this.data.secondIndex])!=-1) { f.children.forEach(item=>{ if (item.label.indexOf(this.data.multiArray[2][this.data.thirdIndex])!=-1) { this.getRedResiList(item.value) } }) } }) } this.setData({ visible:false }) }, getRedResiList(id){ let par = { deptId:id } api.getListGridForce(par).then(res=>{ this.setData({ noticeList:res.data }) }).catch(err=>{ console.log(err); }) }, to_call: function (e) { wx.makePhoneCall({ phoneNumber: e.currentTarget.dataset.phone }) }, changeVisible(){ this.setData({ visible:true }) }, onTap(e){ console.log(e); } })