Department.razor.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. using AntDesign;
  2. using Microsoft.AspNetCore.Components;
  3. using Microsoft.AspNetCore.Components.Web;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text.Json;
  8. using System.Threading.Tasks;
  9. using wispro.sp.web.Services;
  10. namespace wispro.sp.web.Pages.Organization
  11. {
  12. public partial class Department
  13. {
  14. private List<wispro.sp.entity.Department> departments;
  15. Tree<wispro.sp.entity.Department> tree;
  16. string searchKey;
  17. bool _loading = false;
  18. entity.Department _editDepartment;
  19. [Inject] OrganizationService orgService { get; set; }
  20. protected override async System.Threading.Tasks.Task OnInitializedAsync()
  21. {
  22. _loading = true;
  23. departments =await orgService.GetDepartments();
  24. _loading = false;
  25. }
  26. #region 部门操作
  27. bool newModal = false;
  28. private void AddNew(entity.Department parentDept)
  29. {
  30. _editDepartment = new entity.Department();
  31. if (parentDept != null)
  32. {
  33. _editDepartment.parentId = parentDept.Id;
  34. //if(!string.IsNullOrEmpty(parentDept.ancestors))
  35. //{
  36. // _editDepartment.ancestors = $"{parentDept.ancestors},{parentDept.Id}";
  37. //}
  38. //else
  39. //{
  40. // _editDepartment.ancestors = parentDept.Id.ToString();
  41. //}
  42. //_editDepartment.order_num = GetChildren(parentDept).Count + 1;
  43. }
  44. newModal = true;
  45. }
  46. private void EditDept(entity.Department department)
  47. {
  48. _editDepartment = department;
  49. newModal = true;
  50. }
  51. private async Task DeleteDept(entity.Department department)
  52. {
  53. var result = await orgService.DeleteDept(department.Id);
  54. departments = await orgService.GetDepartments();
  55. StateHasChanged();
  56. }
  57. private async System.Threading.Tasks.Task NewOk(MouseEventArgs e)
  58. {
  59. newModal = false;
  60. Console.WriteLine(JsonSerializer.Serialize(_editDepartment));
  61. var retObj = await orgService.SaveDept(_editDepartment);
  62. Console.WriteLine(JsonSerializer.Serialize(retObj));
  63. departments = await orgService.GetDepartments();
  64. StateHasChanged();
  65. }
  66. private void NewCancel(MouseEventArgs e)
  67. {
  68. newModal = false;
  69. }
  70. #endregion
  71. void OnSelect(TreeEventArgs<entity.Department> e)
  72. {
  73. _editDepartment = e.Node.DataItem;
  74. //Console.WriteLine(JsonSerializer.Serialize(e));
  75. }
  76. private List<wispro.sp.entity.Department> GetChildren(wispro.sp.entity.Department dept)
  77. {
  78. if(dept == null)
  79. {
  80. var retList = departments.Where<wispro.sp.entity.Department>(x => x.parentId == null).OrderBy(x=>x.order_num).ToList();
  81. Console.WriteLine(JsonSerializer.Serialize(retList));
  82. return retList;
  83. }
  84. else
  85. {
  86. var retList = departments.Where<wispro.sp.entity.Department>(x => x.parentId == dept.Id).OrderBy(x => x.order_num).ToList();
  87. Console.WriteLine(JsonSerializer.Serialize(retList));
  88. return retList;
  89. }
  90. }
  91. void HandleRightClick(MouseEventArgs args)
  92. {
  93. if (args.Button == 2)
  94. Console.WriteLine("This is a right click");
  95. }
  96. }
  97. }