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