Example #1
0
        /// <summary>
        /// 获取路由名称
        /// </summary>
        /// <param name="menu">菜单信息</param>
        /// <returns></returns>
        public String GetRouteName(MenuOutputDto menu)
        {
            String routerName = menu.EnCode;

            // 非外链并且是一级目录(类型为目录)
            if (IsMeunDoc(menu))
            {
                routerName = "";
            }
            return(routerName);
        }
Example #2
0
        /// <summary>
        /// 获取组件信息
        /// </summary>
        /// <param name="menu">菜单信息</param>
        /// <returns></returns>
        public String GetComponent(MenuOutputDto menu)
        {
            String component = "Layout";

            if (!string.IsNullOrEmpty(menu.Component) && IsMeunFrame(menu) && !IsMeunDoc(menu))
            {
                component = menu.Component;
            }
            else if (string.IsNullOrEmpty(menu.Component) && IsParentView(menu))
            {
                component = "ParentView";
            }
            return(component);
        }
Example #3
0
        /// <summary>
        /// 获取路由地址
        /// </summary>
        /// <param name="menu">菜单信息</param>
        /// <returns></returns>
        public String GetRouterPath(MenuOutputDto menu)
        {
            String routerPath = menu.UrlAddress;

            // 非外链并且是一级目录(类型为目录)
            if ("" == menu.ParentId && menu.MenuType == "C" && !menu.IsFrame)
            {
                routerPath = menu.UrlAddress;// "/" + menu.EnCode;
            }
            // 非外链并且是一级目录(类型为菜单)
            else if (IsMeunDoc(menu))
            {
                routerPath = "/";
            }
            return(routerPath);
        }
Example #4
0
        /// <summary>
        /// 构建菜单树
        /// </summary>
        /// <param name="menus">菜单列表</param>
        /// <param name="parentId">父级Id</param>
        /// <returns></returns>
        public List <MenuOutputDto> BuildTreeMenus(List <Menu> menus, string parentId = "")
        {
            List <MenuOutputDto> resultList    = new List <MenuOutputDto>();
            List <Menu>          childNodeList = menus.FindAll(t => t.ParentId == parentId);

            foreach (Menu menu in childNodeList)
            {
                MenuOutputDto menuOutputDto = new MenuOutputDto();
                menuOutputDto = menu.MapTo <MenuOutputDto>();
                List <Menu> subChildNodeList = menus.FindAll(t => t.ParentId == menu.Id);
                if (subChildNodeList.Count > 0)
                {
                    menuOutputDto.SubMenu = BuildTreeMenus(menus, menu.Id);
                }
                resultList.Add(menuOutputDto);
            }

            return(resultList);
        }
Example #5
0
 /// <summary>
 /// 是否为parent_view组件
 /// </summary>
 /// <param name="menu">菜单信息</param>
 /// <returns></returns>
 public bool IsParentView(MenuOutputDto menu)
 {
     return(menu.ParentId != "" && menu.MenuType == "C");
 }
Example #6
0
 /// <summary>
 /// 是否为菜单内部跳转
 /// </summary>
 /// <param name="menu">菜单信息</param>
 /// <returns></returns>
 public bool IsMeunFrame(MenuOutputDto menu)
 {
     return(menu.MenuType == "M" && !menu.IsFrame);
 }
Example #7
0
 /// <summary>
 /// 是否为菜单内部跳转,并且是一级目录
 /// </summary>
 /// <param name="menu">菜单信息</param>
 /// <returns></returns>
 public bool IsMeunDoc(MenuOutputDto menu)
 {
     return(menu.ParentId == "" && menu.MenuType == "M" && !menu.IsFrame);
 }
        /// <summary>
        /// 获取菜单详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Get(int id)
        {
            MenuOutputDto c = MenuBll.GetById(id).Mapper <MenuOutputDto>();

            return(ResultData(c));
        }