예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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));
        }
예제 #4
0
        //
        // GET: /SystemPage/
        public ActionResult Index(string menuID)
        {
            ComMenuBll    cb = new ComMenuBll();
            ComMenuEntity cm = cb.GetMenuByID(menuID);

            return(View(cm));
        }
예제 #5
0
        /// <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)));
        }
예제 #6
0
        /// <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>());
        }
예제 #7
0
        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));
        }
예제 #8
0
        /// <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);
            }
        }
예제 #9
0
        /// <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());
        }
예제 #10
0
        /// <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));
        }
예제 #11
0
        /// <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));
        }
예제 #12
0
        /// <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;
        }
예제 #13
0
        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);
        }
예제 #14
0
        /// <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);
            }
        }
예제 #15
0
        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));
        }
예제 #16
0
        /// <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);
            }
        }