/// <summary> /// 级联选择列表 /// </summary> /// <param name="param"></param> /// <returns></returns> public async Task <ApiResult <List <SysOrganizeSelect> > > GetSelect() { var result = new ApiResult <List <SysOrganizeSelect> >(); try { var list = new List <SysOrganizeSelect>(); //查询所有 var reslist = await _thisRepository.GetListAsync(); foreach (var item in reslist.Where(m => m.ParentId == "0").OrderByDescending(m => m.Sort)) { var selectModel = new SysOrganizeSelect() { value = item.Id.ToString(), label = item.Name }; var child = GetChildSelect(new List <SysOrganizeSelect>(), 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); }
/// <summary> /// 递归形成tree /// </summary> /// <returns></returns> private List <SysOrganizeSelect> GetChildSelect(List <SysOrganizeSelect> resList, List <SysOrganize> sourceList, string id) { var child = sourceList.Where(m => m.ParentId == id).OrderByDescending(m => m.Sort).ToList(); foreach (var item in child) { var selectModel = new SysOrganizeSelect() { value = item.Id.ToString(), label = item.Name }; var childs = GetChildSelect(new List <SysOrganizeSelect>(), sourceList, item.Id); selectModel.children = childs.Count > 0 ? childs : null; resList.Add(selectModel); } return(resList); }