示例#1
0
        /// <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);
        }
示例#2
0
        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);
        }
示例#3
0
        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()));
        }
示例#4
0
        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()));
        }
示例#5
0
        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()));
        }
示例#7
0
        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()));
        }
示例#8
0
        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()));
        }
示例#9
0
        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());
        }
示例#10
0
        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);
        }