/// <summary> /// 映射权限树 /// </summary> /// <param name="permissionCodes">权限码</param> /// <param name="fixedPermissionCodes">固定的权限码,不可操作</param> /// <returns></returns> public static IEnumerable <ZTreeNode> MapToPermissionTree(this IEnumerable <string> permissionCodes, IEnumerable <string> fixedPermissionCodes = null) { var permissionerList = GetAllPermissionerList(); var permissionNodeList = permissionerList.Select(p => { var node = new ZTreeNode { Id = p.Code, ParentId = p.ParentCode, Name = p.DisplayName, }; if (permissionCodes.Contains(p.Code)) { node.Checked = node.Open = true; } return(node); }); if (fixedPermissionCodes != null) { permissionNodeList = permissionNodeList.Select(p => { if (fixedPermissionCodes.Contains(p.Id)) { p.CheckDisabled = true; } return(p); }); } return(permissionNodeList); }
public string Tree() { var cateProdList = Bak365Service.GetCateProdList(); var cateList = cateProdList.GroupBy(a => new { a.PareNo, a.CateNo, a.CateName }, (a, b) => a); var nodes = new ConcurrentBag <ZTreeNode>(); foreach (var cate in cateList) { nodes.Add(new ZTreeNode() { id = cate.CateNo, name = cate.CateName, pId = cate.PareNo, isParent = true }); } var preProdList = _preProdService.Get(Global.USER_ID); Parallel.ForEach(cateList, cate => { var prodList = cateProdList.Where(a => a.CateNo == cate.CateNo && !string.IsNullOrWhiteSpace(a.ProdNo)); foreach (var prod in prodList) { var node = new ZTreeNode(); node.id = prod.ProdNo; node.name = prod.ProdName; node.pId = prod.CateNo; if (preProdList.Exists(a => a.ProdNo == prod.ProdNo)) { node.@checked = true; } nodes.Add(node); } }); var sortNodes = nodes.OrderBy(a => a.id); //将获取的节点集合转换为json格式字符串,并返回 string json = JsonConvert.SerializeObject(sortNodes); return(json); }
public ActionResult GetListTree() { var listAllItems = itemLogic.GetList(); List <ZTreeNode> result = new List <ZTreeNode>(); foreach (var item in listAllItems) { ZTreeNode model = new ZTreeNode(); model.id = item.Id; model.pId = item.ParentId; model.name = item.Name; model.open = true; result.Add(model); } return(Content(result.ToJson())); }
public ActionResult GetListTree() { var listAllItems = _itemService.GetList(); List <ZTreeNode> result = new List <ZTreeNode>(); foreach (var item in listAllItems) { ZTreeNode model = new ZTreeNode(); model.id = item.Id.ToString(); model.pId = ConvertZTreeGuid(item.ParentId); model.name = item.Name; model.open = true; result.Add(model); } return(Content(result.ToJson())); }
public async Task <dynamic> GetMenuTreeListByRoleId(long roleId) { var menuIds = await this.GetMenuIdsByRoleId(roleId) ?? new List <long>(); List <ZTreeNode <long, dynamic> > roleTreeList = new List <ZTreeNode <long, dynamic> >(); List <SysMenu> menus = await _menuRepository.GetAsync(q => q.WithOrderBy(o => o.OrderBy(x => x.ID))); foreach (var menu in menus) { var parentMenu = menus.FirstOrDefault(x => x.Code == menu.PCode); ZTreeNode <long, dynamic> node = new ZTreeNode <long, dynamic> { ID = menu.ID, PID = parentMenu != null ? parentMenu.ID : 0, Name = menu.Name, Open = parentMenu != null, Checked = menuIds.Contains(menu.ID) }; roleTreeList.Add(node); } List <Node <long> > nodes = _mapper.Map <List <Node <long> > >(roleTreeList); foreach (var node in nodes) { foreach (var child in nodes) { if (child.PID == node.ID) { node.Children.Add(child); } } } var groups = roleTreeList.GroupBy(x => x.PID).Where(x => x.Key > 1); foreach (var group in groups) { roleTreeList.RemoveAll(x => x.ID == group.Key); } return(new { treeData = nodes.Where(x => x.PID == 0), checkedIds = roleTreeList.Where(x => x.Checked && x.PID != 0).Select(x => x.ID) }); }
public ActionResult Index(string roleId) { var listPerIds = _roleAuthorizeService.GetList(roleId).Select(c => c.ModuleId).ToList(); var listAllPers = _permissionService.GetList(); List <ZTreeNode> result = new List <ZTreeNode>(); foreach (var item in listAllPers) { ZTreeNode model = new ZTreeNode(); model.@checked = listPerIds.Contains(item.Id) ? model.@checked = true : model.@checked = false; model.id = item.Id; model.pId = item.ParentId; model.name = item.Name; model.open = true; result.Add(model); } return(Content(result.ToJson())); }
public ActionResult GetListTree() { var listAllItems = ItemService.GetList(); List <ZTreeNode> result = new List <ZTreeNode>(); foreach (var item in listAllItems) { ZTreeNode model = new ZTreeNode() { id = item.Id, pId = item.SIParentId, name = item.SIName, open = true, }; result.Add(model); } return(Content(result.ToJson())); }
public ActionResult ShopPowersIndex(string shopID) { //商户权限 用编码标识是否存在 var listPerIds = permissionLogic.GetShopPowersList(Convert.ToInt32(shopID)).Select(it => it.EnCode); //超管权限 var listAllPers = permissionLogic.GetShopPowersList(OperatorProvider.Instance.Current.ShopID); List <ZTreeNode> result = new List <ZTreeNode>(); foreach (var item in listAllPers) { ZTreeNode model = new ZTreeNode(); model.@checked = listPerIds.Contains(item.EnCode) ? model.@checked = true : model.@checked = false; model.id = item.Id; model.pId = item.ParentId; model.name = item.Name; model.open = true; result.Add(model); } return(Content(result.ToJson())); }
public ZTreeNode[] QueryRelatedDep(out string str_error, int id) { List <ZTreeNode> list = new List <ZTreeNode>(); str_error = ""; try { string sql = string.Format(@"select d.dep_id, d.dep_name, d.dep_parent, e.fence_id from sys_dep d left join dep_fence_relationship t on d.dep_id = t.dep_id left join electronic_fence e on t.fence_id = e.fence_id and e.fence_id = {0} where d.delete_mark = 0", id); string error = ""; DataTable dt = DataBaseHelper.ExecuteTable(sql, out error); if (error == "") { foreach (DataRow dr in dt.Rows) { ZTreeNode node = new ZTreeNode(); node.id = Convert.ToInt32(dr[0]); node.name = dr[1].ToString(); node.parent = Convert.ToInt32(dr[2]); node.isChecked = dr[3].ToString() == "" ? false : true; list.Add(node); } } else { throw new Exception(error); } } catch (Exception ex) { str_error = ex.Message; SystemLog.WriteErrorLog("围栏关联部分信息查询失败", "1505", ex.Message, ex.StackTrace); } return(list.ToArray()); }
private static List <ZTreeNode> ToZTreeNode(IEnumerable <DepartmentResponse> source) { var results = new List <ZTreeNode>(20); foreach (var item in source) { var ztreeNode = new ZTreeNode { Id = item.DeparentId, Name = item.Name, Type = "Department" }; if (item.Users != null && item.Users.Any()) { ztreeNode.Children = new List <ZTreeNode>(); foreach (var user in item.Users) { ztreeNode.Children.Add(new ZTreeNode { Id = user.UserID, Name = user.UserName, Type = "User", IconSkin = "user" }); } } if (item.Children != null && item.Children.Any()) { if (ztreeNode.Children != null) { ztreeNode.Children.AddRange(ToZTreeNode(item.Children)); } else { ztreeNode.Children = ToZTreeNode(item.Children); } } results.Add(ztreeNode); } return(results); }