Exemple #1
0
        /// <summary>
        /// 递归生成子树
        /// </summary>
        /// <param name="allMenuList"></param>
        /// <param name="vmMenu"></param>
        /// <returns></returns>
        private List <LeftMenuVm> CreateChildTree(List <Menu> allMenuList, LeftMenuVm vmMenu)
        {
            var parentMenuId           = vmMenu.id;//根节点ID
            List <LeftMenuVm> nodeList = new List <LeftMenuVm>();
            var children = allMenuList.Where(t => t.ParentMenuId == parentMenuId);

            foreach (var chl in children)
            {
                var node = new LeftMenuVm();
                node.id       = chl.Id;
                node.title    = chl.MenuName ?? "";
                node.url      = chl.MenuUrl ?? "";
                node.icon     = chl.MenuIcon ?? "";
                node.children = CreateChildTree(allMenuList, node);
                nodeList.Add(node);
            }
            return(nodeList);
        }
Exemple #2
0
        /// <summary>
        /// 根据子系统获取相应的菜单列表
        /// </summary>
        /// <returns></returns>
        public IActionResult GetMenuBySubsystem(int subId)
        {
            var result = _unitOfWork.GetRepository <Menu>().GetEntities(i => i.SubSystemId == subId);

            var allMenuList  = result.ToList();
            var rootNodeList = new List <LeftMenuVm>();

            foreach (var parentNodeList in allMenuList.Where(t => t.ParentMenuId == null))
            {
                var menuNode = new LeftMenuVm();
                menuNode.id       = parentNodeList.Id;
                menuNode.title    = parentNodeList.MenuName ?? "";
                menuNode.url      = parentNodeList.MenuUrl ?? "";
                menuNode.icon     = parentNodeList.MenuIcon ?? "";
                menuNode.children = CreateChildTree(allMenuList, menuNode);
                rootNodeList.Add(menuNode);
            }

            return(Json(rootNodeList));
        }