TreeSelectVo.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Model;
  2. using Newtonsoft.Json;
  3. namespace Vo
  4. {
  5. /// <summary>
  6. /// Treeselect树结构实体类
  7. /// </summary>
  8. public class TreeSelectVo
  9. {
  10. /// <summary>
  11. /// 节点Id
  12. /// </summary>
  13. public long Id { get; set; }
  14. /// <summary>
  15. /// 节点名称
  16. /// </summary>
  17. public string Label { get; set; }
  18. public string Status { get; set; }
  19. public string MenuType { get; set; }
  20. public TreeSelectVo() { }
  21. public TreeSelectVo(SysMenu menu)
  22. {
  23. Id = menu.MenuId;
  24. Label = menu.Name;
  25. Status = menu.Visible;
  26. MenuType = menu.MenuType;
  27. List<TreeSelectVo> child = new List<TreeSelectVo>();
  28. foreach (var item in menu.Children)
  29. {
  30. child.Add(new TreeSelectVo(item));
  31. }
  32. Children = child;
  33. }
  34. public TreeSelectVo(SysDept dept)
  35. {
  36. Id = dept.DeptId;
  37. Label = dept.Name;
  38. //menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); java写法
  39. List<TreeSelectVo> child = new List<TreeSelectVo>();
  40. foreach (var item in dept.children)
  41. {
  42. child.Add(new TreeSelectVo(item));
  43. }
  44. Children = child;
  45. }
  46. [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
  47. public List<TreeSelectVo> Children { get; set; }
  48. }
  49. }