private static void CreateTreeModel(List <Sys_Menu> menus, List <MenusTreeModel> treeList) { var One_list = menus.Where(e => e.ParentID == 0).ToList(); foreach (var item in One_list) { MenusTreeModel tree = new MenusTreeModel() { id = item.PKID.ToString(), label = item.MenuName, path = item.Path, icon = item.Icon, children = new List <MenusTreeModel>() }; var two_list = menus.Where(e => e.ParentID == item.PKID).ToList(); foreach (var _item in two_list) { MenusTreeModel _tree = new MenusTreeModel() { id = _item.PKID.ToString(), path = _item.Path, icon = _item.Icon, label = _item.MenuName, }; tree.children.Add(_tree); } treeList.Add(tree); } }
public static RtnMessage GetModuleList() { RtnMessage rtnMsg = new RtnMessage(); rtnMsg.Code = 0; List <SysModule> menuList = new List <SysModule>(); List <MenusTreeModel> treeList = new List <MenusTreeModel>(); try { using (var db = new Database(new MySqlConnection(SysConfig.DefaultConnection))) { menuList = db.Fetch <SysModule>($"SELECT * FROM sys_module"); #region 构造树形结构 var One_list = menuList.Where(e => e.ParentId == 0).ToList(); foreach (var item in One_list) { MenusTreeModel tree = new MenusTreeModel() { id = item.Id, label = item.ModuleName, children = new List <MenusTreeModel>() }; var two_list = menuList.Where(e => e.ParentId == item.Id).ToList(); foreach (var _item in two_list) { MenusTreeModel _tree = new MenusTreeModel() { id = _item.Id, label = _item.ModuleName, }; tree.children.Add(_tree); } treeList.Add(tree); //} #endregion rtnMsg.Data = treeList; } } } catch (Exception ex) { rtnMsg.Code = -1; Common.LoggerHelper.Error(ex.ToString()); return(rtnMsg); } return(rtnMsg); }
public async Task <JsonResult> GetTreeList() { var res = await _service.GetMenuPagedList(1, 100, "a.status<>-1"); List <MenusTreeModel> treeList = new List <MenusTreeModel>(); var menuList = res.Items; #region 构造树形结构 var One_list = menuList.Where(e => e.ParentID == 0).ToList(); foreach (var item in One_list) { MenusTreeModel tree = new MenusTreeModel() { id = item.PKID.ToString(), label = item.MenuName, children = new List <MenusTreeModel>() }; var two_list = menuList.Where(e => e.ParentID == item.PKID).ToList(); foreach (var _item in two_list) { MenusTreeModel _tree = new MenusTreeModel() { id = _item.PKID.ToString(), label = _item.MenuName, children = new List <MenusTreeModel>() }; var operation = await _service.GetOperation(Convert.ToInt32(_tree.id)); foreach (var op in operation) { _tree.children.Add(new MenusTreeModel { id = _item.PKID.ToString() + "_" + op.PKID.ToString(), label = op.OperationName }); } tree.children.Add(_tree); } treeList.Add(tree); } #endregion return(Json(treeList)); }