市北党建引领小程序初始化
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

// 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);
}
})