修改菜单模式
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Yi.Framework.Model.DbInit
|
||||
{
|
||||
new menu()
|
||||
{
|
||||
menu_name="用户角色管理",is_show=1,children=new List<menu>()
|
||||
menu_name="用户角色管理",is_show=1,is_top=1, children=new List<menu>()
|
||||
{
|
||||
new menu()
|
||||
{
|
||||
@@ -110,7 +110,7 @@ namespace Yi.Framework.Model.DbInit
|
||||
},
|
||||
new menu()
|
||||
{
|
||||
menu_name="角色接口管理",is_show=1,children=new List<menu>()
|
||||
menu_name="角色接口管理",is_show=1, is_top=1,children=new List<menu>()
|
||||
{
|
||||
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>()
|
||||
menu_name="路由管理",is_show=1,is_top=1,children=new List<menu>()
|
||||
{
|
||||
new menu()
|
||||
{
|
||||
|
||||
@@ -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<menu> TopMenuBuild(List<menu> 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<menu> TopMenuBuild2(List<menu> 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<menu> GetMenuByUserId(string router)
|
||||
{
|
||||
return await _Db.Set<menu>().Include(u => u.children).ThenInclude(u => u.mould)
|
||||
|
||||
@@ -25,5 +25,11 @@ export default {
|
||||
url: `/User/GetUserInfoById`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
},
|
||||
GetMenuByUserId() {
|
||||
return myaxios({
|
||||
url: `/User/GetMenuByUserId`,
|
||||
method: 'get'
|
||||
})
|
||||
},
|
||||
}
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
mouldSelect: [],
|
||||
mouldList: [],
|
||||
desserts: [],
|
||||
selectionType: "leaf",
|
||||
selectionType: "independent",
|
||||
selection: [],
|
||||
dialog: false,
|
||||
editedItem: {},
|
||||
|
||||
@@ -49,15 +49,21 @@
|
||||
<script>
|
||||
// Utilities
|
||||
// import { get, sync } from 'vuex-pathify'
|
||||
|
||||
import userApi from '@/api/userApi'
|
||||
export default {
|
||||
methods: {
|
||||
init(){
|
||||
userApi.GetMenuByUserId().then((resp)=>{
|
||||
this.items=resp.data;
|
||||
})
|
||||
},
|
||||
logout() {
|
||||
this.$store.dispatch("Logout").then((resp) => {
|
||||
this.$router.push({ path: "/login" });
|
||||
});
|
||||
},
|
||||
},
|
||||
created(){this.init()},
|
||||
data: () => ({
|
||||
image:
|
||||
"https://demos.creative-tim.com/material-dashboard-pro/assets/img/sidebar-1.jpg",
|
||||
@@ -66,70 +72,7 @@ export default {
|
||||
|
||||
dark: null,
|
||||
|
||||
items: [
|
||||
{
|
||||
menu_name: "首页",
|
||||
icon: "mdi-view-dashboard",
|
||||
router: "/",
|
||||
},
|
||||
{
|
||||
menu_name: "用户角色管理",
|
||||
icon: "mdi-account",
|
||||
router: "",
|
||||
children: [
|
||||
{
|
||||
menu_name: "用户管理",
|
||||
icon: "mdi-account",
|
||||
router: "/admuser/",
|
||||
children: null,
|
||||
},
|
||||
{
|
||||
menu_name: "角色管理",
|
||||
icon: "mdi-account-tie",
|
||||
router: "/admrole/",
|
||||
children: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
menu_name: "菜单接口管理",
|
||||
icon: "mdi-clipboard-outline",
|
||||
router: "",
|
||||
children: [
|
||||
{
|
||||
menu_name: "菜单管理",
|
||||
icon: "mdi-account",
|
||||
router: "/admMenu/",
|
||||
children: null,
|
||||
},
|
||||
{
|
||||
menu_name: "接口管理",
|
||||
icon: "mdi-account",
|
||||
router: "/admMould/",
|
||||
children: null,
|
||||
},
|
||||
{
|
||||
menu_name: "角色菜单分配管理",
|
||||
icon: "mdi-account",
|
||||
router: "/admRoleMenu/",
|
||||
children: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
menu_name: "测试路由",
|
||||
icon: "mdi-clipboard-outline",
|
||||
router: "",
|
||||
children: [
|
||||
{
|
||||
menu_name: "用户信息",
|
||||
icon: "mdi-account",
|
||||
router: "/userinfo/",
|
||||
children: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
items: [],
|
||||
}),
|
||||
name: "DefaultDrawer",
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
open-on-click
|
||||
selectable
|
||||
:items="Menuitems"
|
||||
selection-type="leaf"
|
||||
selection-type="independent"
|
||||
v-model="selectionMenu"
|
||||
return-object
|
||||
open-all
|
||||
|
||||
Reference in New Issue
Block a user