/// <summary> /// 初始化树 默认找出顶级菜单 /// add by lpl /// 2019-1-2 /// </summary> /// <returns></returns> public List <MenuModels> InitTree() { var user = CurrentUser.CrmUser; //根据权限加载用户树 bool isAdmin = new CrmUserMenuBll().GetAuthorizationByUserId("System", "Admin", user.Id); var TreeList = new ComMenuBll().GetAllMenu(new ComMenuEntity() { IsMenu = 1 }, isAdmin); List <MenuModels> rootNode = new List <MenuModels>(); foreach (var plist in TreeList.Where(t => t.ParentMenuId == "00001")) { MenuModels jt = new MenuModels(); jt.id = plist.Id; jt.text = plist.MenuName; jt.parentid = plist.ParentMenuId; jt.icon = ""; jt.url = plist.MenuUrl; jt.attributes = CreateUrl(TreeList, jt); jt.menus = CreateChildTree(TreeList, jt); rootNode.Add(jt); } return(rootNode); }
/// <summary> /// 加载左侧TreeViewJson /// 添加人:周 鹏 /// 添加时间:2014-12-15 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <returns></returns> public JsonResult TreeMenu() { try { var menus = new ComMenuBll().GetAllMenu(new ComMenuEntity()); var topMenus = menus.Where(x => x.ParentMenuId == "-").ToList(); var menuList = (from comMenuEntity in topMenus let childs = ChildTree(menus, comMenuEntity.Id) select new TreeNode() { id = comMenuEntity.Id, text = comMenuEntity.MenuName, img = !string.IsNullOrEmpty(comMenuEntity.IconPic) ? "/Content/Images/Icon16/" + comMenuEntity.IconPic : "/Content/Images/Icon16/messenger.png", Location = comMenuEntity.MenuUrl, showcheck = false, isexpand = true, complete = true, hasChildren = childs.Count > 0, ChildNodes = childs }).ToList(); return(Json(menuList, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(null); } }
/// <summary> /// 获取系统功能菜单Json 数据 /// 添加人:周 鹏 /// 添加时间:2014-03-26 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <returns></returns> public JsonResult GetLeftMenu(string menuId) { ComMenuEntity titleMenu = new ComMenuBll().GetMenuByID(menuId); var menus = new ComMenuBll().GetUserMenus(CurrentUser.CrmUser.Id); menus = menus.Where(t => t.Id.Substring(0, 4).ToString().Equals(menuId) && !t.Id.Equals(menuId)).ToList(); var menuList = menus.Select(comMenuEntity => new ZTreeNode() { id = comMenuEntity.Id, pId = comMenuEntity.ParentMenuId, name = comMenuEntity.MenuName, openFlag = comMenuEntity.OpenType.ToString(), icon = string.IsNullOrEmpty(comMenuEntity.IconPic) ? "/Content/Theme/Default/Images/treesystem.gif" : comMenuEntity.IconPic, open = false }).ToList(); var rtEntity = new StatusModel <ZTreeNode> { rtData = menuList, rtMsrg = titleMenu.MenuName, rtState = 0 }; return(Json(rtEntity, JsonRequestBehavior.AllowGet)); }
// // GET: /SystemPage/ public ActionResult Index(string menuID) { ComMenuBll cb = new ComMenuBll(); ComMenuEntity cm = cb.GetMenuByID(menuID); return(View(cm)); }
/// <summary> /// 加载右侧表格数据 /// </summary> /// <param name="menuId"></param> /// <returns></returns> public string LoadGrid(string menuId) { var menus = new ComMenuBll().GetSearchResult(new ComMenuEntity { ParentMenuId = (menuId ?? string.Empty).Trim() }, 100); return(CommonMethod.PageToJson(CommonMethod.PageToJqDataGrid(menus))); }
/// <summary> /// 获取用户菜单 /// </summary> /// <param name="userId">用户Id</param> /// <returns></returns> public List <ComMenuEntity> GetUserMenus(string userId) { if (string.IsNullOrEmpty(userId)) { return(null); } List <ComMenuEntity> userMenus = new ComMenuBll().GetUserMenus(userId); return(userMenus ?? new List <ComMenuEntity>()); }
public ActionResult Edit(string menuId) { var comMenu = new ComMenuEntity(); if (!string.IsNullOrEmpty(menuId)) { comMenu = new ComMenuBll().Get(menuId); comMenu.IconPic = comMenu.IconPic; } SetDefaultData(comMenu); return(View(comMenu)); }
/// <summary> /// 加载菜单 /// </summary> /// <returns></returns> public string LoadAccordionMenu(string source, string para) { try { if (string.IsNullOrEmpty(source)) { if (!string.IsNullOrEmpty(para)) { source = "0000"; } else { source = "0001"; } } var currentUser = CurrentUser.CrmUser; var list = new List <ComMenuEntity>(); var userMenus = new ComMenuBll().GetAllMenu(new ComMenuEntity() { ParentMenuId = source }); if (userMenus.Any()) { list.AddRange(userMenus); var secMenuList = new ComMenuBll().GetAllMenu(new ComMenuEntity()).Where(x => userMenus.Any(y => y.Id == x.ParentMenuId)).ToList(); if (secMenuList.Any()) { list.AddRange(secMenuList); } } var menuList = list.Select(comMenuEntity => new TreeMenuNode() { ModuleId = comMenuEntity.Id, FullName = comMenuEntity.MenuName, Icon = comMenuEntity.Action, Location = comMenuEntity.MenuUrl, ParentId = string.IsNullOrEmpty(comMenuEntity.ParentMenuId) ? "" : comMenuEntity.ParentMenuId, MenuLevel = comMenuEntity.MenuLevel }).ToList(); //var json = Json(menuList, JsonRequestBehavior.AllowGet); return(JsonConvert.SerializeObject(menuList)); } catch (Exception) { return(null); } }
/// <summary> /// 菜单等级 /// 添加人:周 鹏 /// 添加时间:2014-03-28 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <param name="menuLevel">菜单等级(1:一级菜单 2:二级菜单 3:三级菜单)</param> /// <returns></returns> public string AjaxLoadMenus(int menuLevel) { //父级菜单 var menus = new ComMenuBll().GetAllMenu(menuLevel - 1); var sbMenus = new StringBuilder(); sbMenus.AppendFormat("<option value=\"0\">请选择父级菜单</option>"); if (menus.Count > 0) { foreach (var t in menus.Where(t => !string.IsNullOrEmpty(t.MenuName))) { sbMenus.AppendFormat("<option value=\"" + t.Id + "\">" + t.MenuName + "</option>"); } } return(sbMenus.ToString()); }
/// <summary> /// 删除菜单 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <param name="id">菜单编号</param> /// <returns></returns> public JsonResult Delete(string id) { var rtState = 1; if (!string.IsNullOrEmpty(id)) { rtState = new ComMenuBll().BatchDeleteMenu("'" + id + "'") ? 1 : 0; } var rtEntity = new StatusModel <DBNull> { rtData = null, rtMsrg = "成功", rtState = rtState }; return(Json(rtEntity, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 权限设置 /// </summary> /// <param name="id">编号:角色、用户</param> /// <param name="type">设置类型:角色、用户</param> /// <returns></returns> public ActionResult AllotPermission(string id, string type) { ViewData["Id"] = id; ViewData["IdType"] = type; List <ComMenuEntity> menus; if (!string.IsNullOrEmpty(type) && type.Equals("user")) { menus = new ComMenuBll().GetUserMenus(id); //人员菜单 } else { menus = new ComMenuBll().GetRoleMenus(id); //角色菜单 } ViewData["MenuList"] = menus; var allMenus = new ComMenuBll().GetAllMenu(new ComMenuEntity()); return(View(allMenus)); }
/// <summary> /// 加载默认值 /// 添加人:周 鹏 /// 添加时间:2014-03-28 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <param name="comMenu">ComMenu实体</param> private void SetDefaultData(ComMenuEntity comMenu) { //父级菜单 var menus = new ComMenuBll().GetAllMenu(comMenu.MenuLevel - 1, 1); menus.Insert(0, new ComMenuEntity { Id = "", MenuName = "请选择父级菜单" }); ViewData["ParentMenuList"] = new SelectList(menus, "Id", "MenuName", comMenu.ParentMenuId); //菜单级别 var menuLevellist = EnumOperate.ConvertEnumToListItems(typeof(MenuLevel), comMenu.MenuLevel.ToString(CultureInfo.InvariantCulture)); ViewData["MenuLevelList"] = menuLevellist; //打开方式 var opTypelist = EnumOperate.ConvertEnumToListItems(typeof(OpenType), comMenu.OpenType.ToString(CultureInfo.InvariantCulture)); ViewData["OpenTypeList"] = opTypelist; //来源 var sourcelist = EnumOperate.ConvertEnumToListItems(typeof(Source), comMenu.Source.ToString(CultureInfo.InvariantCulture)); ViewData["SourceList"] = sourcelist; }
public string GetUrl(string id, out int openFlag) { ComMenuEntity cm = new ComMenuBll().GetMenuByID(id); string systemid = cm.SystemId; string url = cm.MenuUrl; string linkUrl = cm.MenuUrl; if (!url.Equals(string.Empty)) { if (!string.IsNullOrEmpty(systemid)) { //应用系统地址 var attrValues = new ComAttributeValueBll().GetSearchResult(new ComAttributeValueEntity() { RsId = systemid, AttributeId = 1 }); var attrUserLogin = new CrmUserMapBll().GetAllUserMaps(CurrentUser.CrmUser.Id, systemid); if (attrValues.Any() && attrUserLogin.Any()) { var chqm = url.IndexOf("?", StringComparison.Ordinal); var parameter = attrUserLogin[0].LoginName + "|" + DateTime.Now.ToString(AppConst.DateFormatLong); var md5Parm = HttpUtility.UrlEncode(CommonMethod.Encrypt(parameter, AppConst.EncryptKey, AppConst.EncryptKey)); //拼接URL linkUrl = attrValues[0].Value + url + (chqm == -1 ? "?" : "&") + "uid=" + md5Parm; } } else { linkUrl = "../" + url; } } openFlag = cm.OpenType; return(linkUrl); }
/// <summary> /// 加载菜单 /// 添加人:周 鹏 /// 添加时间:2014-12-15 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <param name="moduleId">菜单编号</param> /// <returns></returns> public JsonResult LoadTreeMenu(string moduleId) { try { var currentUser = CurrentUser.CrmUser; var userMenus = new ComMenuBll().GetUserMenus(currentUser.Id); List <ComMenuEntity> childMenus; if (!string.IsNullOrEmpty(moduleId)) { childMenus = userMenus.Where(x => x.ParentMenuId == moduleId).ToList(); } else { return(null); } var menuList = (from comMenuEntity in childMenus let childs = ChildTree(userMenus, comMenuEntity.Id) select new TreeNode() { id = comMenuEntity.Id, text = comMenuEntity.MenuName, img = !string.IsNullOrEmpty(comMenuEntity.IconPic) ? "/Content/Images/Icon16/" + comMenuEntity.IconPic : "/Content/Images/Icon16/messenger.png", Location = comMenuEntity.MenuUrl, showcheck = false, isexpand = false, complete = true, hasChildren = childs.Count > 0, ChildNodes = childs }).ToList(); return(Json(menuList, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(null); } }
public ActionResult Right(string menuID) { ComMenuEntity cm = new ComMenuBll().GetMenuByID(menuID); List <ComMenuEntity> allmenu = new ComMenuBll().GetUserMenus(CurrentUser.CrmUser.Id) as List <ComMenuEntity>; Dictionary <ComMenuEntity, List <ComMenuEntity> > dic = new Dictionary <ComMenuEntity, List <ComMenuEntity> >(); List <ComMenuEntity> menuLsit = allmenu.Where(t => t.ParentMenuId == menuID).ToList(); List <ComMenuEntity> temp; int count = 0; foreach (ComMenuEntity item in menuLsit) { temp = allmenu.Where(t => t.MenuLevel > 1 && t.Id.Substring(0, 8).Equals(item.Id) && !string.IsNullOrEmpty(t.MenuUrl)).ToList(); foreach (var item2 in temp) { item2.MenuUrl = GetUrl(item2.Id); } if (temp.Count > 0) { dic.Add(item, temp); } else { item.MenuUrl = GetUrl(item.Id); temp = new List <ComMenuEntity>(); temp.Add(item); dic.Add(item, temp); } if (count == 3) { break; } count++; } ViewData["MenuList"] = dic; return(View(cm)); }
/// <summary> /// 加载手风琴菜单 /// 添加人:周 鹏 /// 添加时间:2014-12-15 /// </summary> /// <history> /// 修改描述:时间+作者+描述 /// </history> /// <returns></returns> public JsonResult LoadAccordionMenu() { try { var currentUser = CurrentUser.CrmUser; var userMenus = new ComMenuBll().GetUserMenus(currentUser.Id).Where(x => x.IsMenu == 1); var menuList = userMenus.Select(comMenuEntity => new TreeMenuNode() { ModuleId = comMenuEntity.Id, FullName = comMenuEntity.MenuName, Icon = string.IsNullOrEmpty(comMenuEntity.IconPic) ? "messenger.png" : comMenuEntity.IconPic, Location = comMenuEntity.MenuUrl, ParentId = string.IsNullOrEmpty(comMenuEntity.ParentMenuId) ? "" : comMenuEntity.ParentMenuId, MenuLevel = comMenuEntity.MenuLevel }).ToList(); var json = Json(menuList, JsonRequestBehavior.AllowGet); return(json); } catch (Exception) { return(null); } }