示例#1
0
        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);
        }
示例#3
0
        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));
        }