op端企业管理服务权限树修改

This commit is contained in:
duyufeng
2024-08-28 08:57:32 +08:00
parent 169ee2f432
commit 029d665c0f
2 changed files with 64 additions and 7 deletions

View File

@@ -82,9 +82,10 @@
const comApi = computed(() => { const comApi = computed(() => {
return calMap[opType.value as keyof typeof calMap]; return calMap[opType.value as keyof typeof calMap];
}); });
// 公共请求方法包含tablereloaddrawerclose // 公共请求方法包含tablereloaddrawerclose
const fetch = (params, isReload = true) => { const fetch = (params, isReload = true) => {
console.log(params)
console.log(comApi.value)
http.post(comApi.value, params).then(() => { http.post(comApi.value, params).then(() => {
NsMessage.success('操作成功'); NsMessage.success('操作成功');
onClose(); onClose();
@@ -197,10 +198,61 @@
// 获取服务权限树 // 获取服务权限树
const getTree = (params) => { const getTree = (params) => {
return http.post(enterPrise.permissionTree, params).then((res) => { return http.post(enterPrise.permissionTree, params).then((res) => {
treeData.value = res.data?.data; // treeData.value = res.data?.data;
let dataTreeList = res.data?.data;
let getDataTreeList = dataTreeListReply(dataTreeList)
treeData.value = filterTreeData(getDataTreeList);
}); });
}; };
getTree({}); // 递归处理权限树数据将子级为空的节点增加“hidden"标识)
const dataTreeListReply =(data:any)=>{
return data.map(item => {
if (item.menus && item.menus.length > 0) {
return {
...item,
menus: dataTreeListReply(item.menus),
};
}
if (item.menus && item.menus.length == 0) {
item.hidden = true;
}
return item;
});
}
//递归处理服务权限树数据将子级menus为空的节点隐藏
const filterTreeData = (data:any) => {
return data.map(item => {
//方法一给子节点menus为空的当前节点增加样式控制显示隐藏
if (item.menus && item.menus.length > 0) {
item.menus.map(itemchild=>{
if(itemchild.menus && itemchild.menus.length==0){
item.class = 'parentNodeArrowHide';
}
})
return {
...item,
menus: filterTreeData(item.menus),
};
}else{
if(item.hidden){
item.class = 'leafNodeHide';
}
}
return item;
})
//方法二递归过滤掉滤掉hidden的节点
// return data.filter(item => !item.hidden).map(item => {
// if (item.menus) {
// return {
// ...item,
// menus: filterTreeData(item.menus),
// };
// }
// return item;
// });
}
getTree({})
// 获取当前企业拥有的权限数据 // 获取当前企业拥有的权限数据
const getPermissionData = (params) => { const getPermissionData = (params) => {
@@ -354,3 +406,11 @@
} }
} }
</style> </style>
<style>
.leafNodeHide{
display:none!important;
}
.parentNodeArrowHide .ant-tree-switcher{
visibility: hidden;
}
</style>

View File

@@ -164,7 +164,6 @@
}; };
//菜单类型按钮切换 //菜单类型按钮切换
const chanageMenuType = (e:any,typeMenu:any)=>{ const chanageMenuType = (e:any,typeMenu:any)=>{
console.log(e)
let currentType = null; let currentType = null;
if(e && e.target){ if(e && e.target){
currentType = e.target.value; currentType = e.target.value;
@@ -246,8 +245,6 @@
if(menuRadioType.value==1){ if(menuRadioType.value==1){
params.pid = currentLineData.value?currentLineData.value.pid:"root";//一级菜单pid,传'root' params.pid = currentLineData.value?currentLineData.value.pid:"root";//一级菜单pid,传'root'
} }
console.log("1234567777")
console.log(menuRadioType.value)
if(addOrEditType.value==1){//新增 if(addOrEditType.value==1){//新增
http.post(menuS.queryMenuPageAdd, params).then(() => { http.post(menuS.queryMenuPageAdd, params).then(() => {
NsMessage.success('操作成功'); NsMessage.success('操作成功');