TreeSelectVo.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 Name { get; set; }
  18. public long ParentId { get; set; }
  19. public string MenuType { get; set; }
  20. public string Path { get; set; }
  21. public int SortOrder { get; set; }
  22. public TreeSelectMeta Meta { get; set; }
  23. public List<string> Permission { get; set; }
  24. public TreeSelectVo() { }
  25. public TreeSelectVo(SysMenu menu)
  26. {
  27. Id = menu.MenuId;
  28. Name = menu.Name;
  29. ParentId = menu.ParentId;
  30. MenuType = menu.MenuType;
  31. Path = menu.Path;
  32. SortOrder = menu.SortOrder;
  33. Meta = new TreeSelectMeta();
  34. Meta.Title = menu.Name;
  35. Meta.Icon = menu.Icon;
  36. Permission = new List<string>();
  37. List<TreeSelectVo> child = new List<TreeSelectVo>();
  38. foreach (var item in menu.Children)
  39. {
  40. if(item.MenuType == "0")
  41. {
  42. child.Add(new TreeSelectVo(item));
  43. }
  44. else
  45. {
  46. Permission.Add(item.Permission);
  47. }
  48. }
  49. Children = child;
  50. }
  51. public TreeSelectVo(SysDept dept)
  52. {
  53. Id = dept.deptId;
  54. Name = dept.name;
  55. List<TreeSelectVo> child = new List<TreeSelectVo>();
  56. foreach (var item in dept.children)
  57. {
  58. child.Add(new TreeSelectVo(item));
  59. }
  60. Children = child;
  61. }
  62. [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
  63. public List<TreeSelectVo> Children { get; set; }
  64. }
  65. public class TreeSelectMeta
  66. {
  67. public string Title { get; set; }
  68. public string Icon { get; set; }
  69. public List<string> Roles { get; set; }
  70. public List<string> Auths { get; set; }
  71. }
  72. }