Example #1
0
        /// <summary>
        /// 级联选择列表
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task <ApiResult <List <SysMenuSelect> > > GetSelect()
        {
            var result = new ApiResult <List <SysMenuSelect> >();

            try
            {
                var list = new List <SysMenuSelect>();
                //查询所有
                var reslist = await _thisRepository.GetListAsync();

                foreach (var item in reslist.Where(m => m.ParentId == "0").OrderByDescending(m => m.Sort))
                {
                    var selectModel = new SysMenuSelect()
                    {
                        value = item.Id.ToString(),
                        label = item.Name
                    };
                    var child = GetChildSelect(new List <SysMenuSelect>(), reslist, item.Id);
                    selectModel.children = child.Count > 0 ? child : null;
                    list.Add(selectModel);
                }
                result.Data = list;
            }
            catch (Exception ex)
            {
                result.StatusCode = (int)HttpStatusCode.InternalServerError;
                result.Message    = ex.Message;
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 递归形成tree
        /// </summary>
        /// <returns></returns>
        private List <SysMenuSelect> GetChildSelect(List <SysMenuSelect> resList, List <SysMenu> sourceList, string id)
        {
            var child = sourceList.Where(m => m.ParentId == id).OrderByDescending(m => m.Sort).ToList();

            foreach (var item in child)
            {
                var selectModel = new SysMenuSelect()
                {
                    value = item.Id.ToString(),
                    label = item.Name
                };
                var childs = GetChildSelect(new List <SysMenuSelect>(), sourceList, item.Id);
                selectModel.children = childs.Count > 0 ? childs : null;
                resList.Add(selectModel);
            }
            return(resList);
        }