From 0cc6604c842523a5bf26c288ac0a31f7fb4bbb61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Sat, 23 Oct 2021 20:23:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Yi.Framework.Model/DbInit/DataSeed.cs | 8 +- .../Yi.Framework.Service/UserService.cs | 36 +++++++-- Yi.Vue/src/api/userApi.js | 8 +- Yi.Vue/src/components/ccTreeview.vue | 2 +- Yi.Vue/src/layouts/default/Drawer.vue | 73 ++----------------- Yi.Vue/src/views/AdmRoleMenu.vue | 2 +- 6 files changed, 50 insertions(+), 79 deletions(-) diff --git a/Yi.Framework/Yi.Framework.Model/DbInit/DataSeed.cs b/Yi.Framework/Yi.Framework.Model/DbInit/DataSeed.cs index bff9b22e..5338be75 100644 --- a/Yi.Framework/Yi.Framework.Model/DbInit/DataSeed.cs +++ b/Yi.Framework/Yi.Framework.Model/DbInit/DataSeed.cs @@ -27,7 +27,7 @@ namespace Yi.Framework.Model.DbInit { new menu() { - menu_name="用户角色管理",is_show=1,children=new List() + menu_name="用户角色管理",is_show=1,is_top=1, children=new List() { new menu() { @@ -110,7 +110,7 @@ namespace Yi.Framework.Model.DbInit }, new menu() { - menu_name="角色接口管理",is_show=1,children=new List() + menu_name="角色接口管理",is_show=1, is_top=1,children=new List() { new menu() { @@ -190,14 +190,14 @@ namespace Yi.Framework.Model.DbInit }, new menu() { - menu_name="角色菜单分配管理",router="/admRoleMenu", is_show=1,children=null + menu_name="角色菜单分配管理",router="/admRoleMenu", is_show=1, children=null } } }, new menu() { - menu_name="路由管理",is_show=1,children=new List() + menu_name="路由管理",is_show=1,is_top=1,children=new List() { new menu() { diff --git a/Yi.Framework/Yi.Framework.Service/UserService.cs b/Yi.Framework/Yi.Framework.Service/UserService.cs index f42f34ae..dc425df8 100644 --- a/Yi.Framework/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework/Yi.Framework.Service/UserService.cs @@ -145,23 +145,25 @@ namespace Yi.Framework.Service { var menu = await _roleService.GetMenusByRole(role); menu.ForEach(u => u.roles = null); - menu_data = menu_data.Concat(menu).OrderByDescending(u => u.sort).ToList(); + menu_data = menu_data.Union(menu).OrderByDescending(u => u.sort).ToList(); } - return TopMenuBuild(menu_data); + return TopMenuBuild2(TopMenuBuild(menu_data)); } private List TopMenuBuild(List menu_data) { for (int i = menu_data.Count() - 1; i >= 0; i--) { - if (menu_data[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted|| menu_data[i].is_delete == (short)Common.Enum.ShowFlagEnum.NoShow) + + if (menu_data[i].icon == null) + { + menu_data[i].icon = "Yi"; + } + + if (menu_data[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted|| menu_data[i].is_show == (short)Common.Enum.ShowFlagEnum.NoShow) { menu_data.Remove(menu_data[i]); } - else if (menu_data[i].children == null) - { - menu_data[i].children =null; - } else if (menu_data[i].children != null) { menu_data[i].children = TopMenuBuild(menu_data[i].children.ToList()); @@ -169,6 +171,26 @@ namespace Yi.Framework.Service } return menu_data; } + + private List TopMenuBuild2(List menu_data) + { + + for (int i = menu_data.Count() - 1; i >= 0; i--) + { + if (menu_data[i].children.Count() == 0) + { + menu_data[i].children = null; + } + else if (menu_data[i].children != null) + { + menu_data[i].children = TopMenuBuild2(menu_data[i].children.ToList()); + } + } + return menu_data; + } + + + public async Task GetMenuByUserId(string router) { return await _Db.Set().Include(u => u.children).ThenInclude(u => u.mould) diff --git a/Yi.Vue/src/api/userApi.js b/Yi.Vue/src/api/userApi.js index 160fe868..f1e74664 100644 --- a/Yi.Vue/src/api/userApi.js +++ b/Yi.Vue/src/api/userApi.js @@ -25,5 +25,11 @@ export default { url: `/User/GetUserInfoById`, method: 'get' }) - } + }, + GetMenuByUserId() { + return myaxios({ + url: `/User/GetMenuByUserId`, + method: 'get' + }) + }, } \ No newline at end of file diff --git a/Yi.Vue/src/components/ccTreeview.vue b/Yi.Vue/src/components/ccTreeview.vue index 0b463960..7b915d65 100644 --- a/Yi.Vue/src/components/ccTreeview.vue +++ b/Yi.Vue/src/components/ccTreeview.vue @@ -93,7 +93,7 @@ export default { mouldSelect: [], mouldList: [], desserts: [], - selectionType: "leaf", + selectionType: "independent", selection: [], dialog: false, editedItem: {}, diff --git a/Yi.Vue/src/layouts/default/Drawer.vue b/Yi.Vue/src/layouts/default/Drawer.vue index 997566e5..58ca978a 100644 --- a/Yi.Vue/src/layouts/default/Drawer.vue +++ b/Yi.Vue/src/layouts/default/Drawer.vue @@ -49,15 +49,21 @@