102 lines
2.1 KiB
TypeScript
102 lines
2.1 KiB
TypeScript
import { loginStatusPage, post } from '@/utils/https';
|
|
import { getAuthInfo, toArray } from '@/utils/util';
|
|
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
list: [] as any[],
|
|
},
|
|
handleLogin(e: any) {
|
|
this.setData({ isLogin: e.detail });
|
|
if (e.detail) {
|
|
this.init();
|
|
}
|
|
},
|
|
init() {
|
|
this.setData({ authInfo: getAuthInfo() });
|
|
this.getList();
|
|
},
|
|
|
|
getList() {
|
|
post('Groups/myAuth').then((res: any) => {
|
|
const list = toArray(res.right_tree);
|
|
const rights = `${res.rights || ''}`.split(',');
|
|
this.data.list.length = 0;
|
|
|
|
toArray(list).forEach((menu) => {
|
|
const arr: any[] = [];
|
|
toArray(menu.children).forEach((menu2) => {
|
|
let flag = false;
|
|
toArray(menu2.children).forEach((fun) => {
|
|
fun.web_checked = rights.includes(`${fun.function_id}`);
|
|
if (fun.web_checked) {
|
|
flag = true;
|
|
}
|
|
});
|
|
|
|
if (flag) {
|
|
arr.push({
|
|
menu_ch_name: menu2.menu_ch_name,
|
|
menu_id: menu2.menu_id,
|
|
functions: toArray(menu2.children),
|
|
});
|
|
}
|
|
});
|
|
if (arr.length) {
|
|
this.data.list.push({
|
|
menu_ch_name: menu.menu_ch_name,
|
|
menu_id: menu.menu_id,
|
|
children: arr,
|
|
});
|
|
}
|
|
});
|
|
// console.log(this.data.list);
|
|
this.setData({ list: this.data.list });
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(_options) {
|
|
loginStatusPage(this);
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {},
|
|
});
|