修改菜单模式
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Yi.Framework.Model.DbInit
|
|||||||
{
|
{
|
||||||
new menu()
|
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()
|
new menu()
|
||||||
{
|
{
|
||||||
@@ -110,7 +110,7 @@ namespace Yi.Framework.Model.DbInit
|
|||||||
},
|
},
|
||||||
new menu()
|
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()
|
new menu()
|
||||||
{
|
{
|
||||||
@@ -190,14 +190,14 @@ namespace Yi.Framework.Model.DbInit
|
|||||||
},
|
},
|
||||||
new menu()
|
new menu()
|
||||||
{
|
{
|
||||||
menu_name="角色菜单分配管理",router="/admRoleMenu", is_show=1,children=null
|
menu_name="角色菜单分配管理",router="/admRoleMenu", is_show=1, children=null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
new menu()
|
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()
|
new menu()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -145,23 +145,25 @@ namespace Yi.Framework.Service
|
|||||||
{
|
{
|
||||||
var menu = await _roleService.GetMenusByRole(role);
|
var menu = await _roleService.GetMenusByRole(role);
|
||||||
menu.ForEach(u => u.roles = null);
|
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)
|
private List<menu> TopMenuBuild(List<menu> menu_data)
|
||||||
{
|
{
|
||||||
|
|
||||||
for (int i = menu_data.Count() - 1; i >= 0; i--)
|
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]);
|
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)
|
else if (menu_data[i].children != null)
|
||||||
{
|
{
|
||||||
menu_data[i].children = TopMenuBuild(menu_data[i].children.ToList());
|
menu_data[i].children = TopMenuBuild(menu_data[i].children.ToList());
|
||||||
@@ -169,6 +171,26 @@ namespace Yi.Framework.Service
|
|||||||
}
|
}
|
||||||
return menu_data;
|
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)
|
public async Task<menu> GetMenuByUserId(string router)
|
||||||
{
|
{
|
||||||
return await _Db.Set<menu>().Include(u => u.children).ThenInclude(u => u.mould)
|
return await _Db.Set<menu>().Include(u => u.children).ThenInclude(u => u.mould)
|
||||||
|
|||||||
@@ -25,5 +25,11 @@ export default {
|
|||||||
url: `/User/GetUserInfoById`,
|
url: `/User/GetUserInfoById`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
|
GetMenuByUserId() {
|
||||||
|
return myaxios({
|
||||||
|
url: `/User/GetMenuByUserId`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,7 @@ export default {
|
|||||||
mouldSelect: [],
|
mouldSelect: [],
|
||||||
mouldList: [],
|
mouldList: [],
|
||||||
desserts: [],
|
desserts: [],
|
||||||
selectionType: "leaf",
|
selectionType: "independent",
|
||||||
selection: [],
|
selection: [],
|
||||||
dialog: false,
|
dialog: false,
|
||||||
editedItem: {},
|
editedItem: {},
|
||||||
|
|||||||
@@ -49,15 +49,21 @@
|
|||||||
<script>
|
<script>
|
||||||
// Utilities
|
// Utilities
|
||||||
// import { get, sync } from 'vuex-pathify'
|
// import { get, sync } from 'vuex-pathify'
|
||||||
|
import userApi from '@/api/userApi'
|
||||||
export default {
|
export default {
|
||||||
methods: {
|
methods: {
|
||||||
|
init(){
|
||||||
|
userApi.GetMenuByUserId().then((resp)=>{
|
||||||
|
this.items=resp.data;
|
||||||
|
})
|
||||||
|
},
|
||||||
logout() {
|
logout() {
|
||||||
this.$store.dispatch("Logout").then((resp) => {
|
this.$store.dispatch("Logout").then((resp) => {
|
||||||
this.$router.push({ path: "/login" });
|
this.$router.push({ path: "/login" });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
created(){this.init()},
|
||||||
data: () => ({
|
data: () => ({
|
||||||
image:
|
image:
|
||||||
"https://demos.creative-tim.com/material-dashboard-pro/assets/img/sidebar-1.jpg",
|
"https://demos.creative-tim.com/material-dashboard-pro/assets/img/sidebar-1.jpg",
|
||||||
@@ -66,70 +72,7 @@ export default {
|
|||||||
|
|
||||||
dark: null,
|
dark: null,
|
||||||
|
|
||||||
items: [
|
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,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}),
|
}),
|
||||||
name: "DefaultDrawer",
|
name: "DefaultDrawer",
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
open-on-click
|
open-on-click
|
||||||
selectable
|
selectable
|
||||||
:items="Menuitems"
|
:items="Menuitems"
|
||||||
selection-type="leaf"
|
selection-type="independent"
|
||||||
v-model="selectionMenu"
|
v-model="selectionMenu"
|
||||||
return-object
|
return-object
|
||||||
open-all
|
open-all
|
||||||
|
|||||||
Reference in New Issue
Block a user