Department.razor.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using AntDesign.TableModels;
  2. using EasyTemplate.Tool;
  3. using Microsoft.JSInterop;
  4. using SqlSugar;
  5. namespace EasyTemplate.Blazor.Web.Components.Pages.Management.Department;
  6. public partial class Department
  7. {
  8. protected override async Task OnAfterRenderAsync(bool firstRender)
  9. {
  10. if (firstRender)
  11. {
  12. await NavigationManager.RedirectLogin(IJSRuntime);
  13. //await Query();
  14. }
  15. }
  16. /// <summary>
  17. /// 查
  18. /// </summary>
  19. /// <returns></returns>
  20. private async Task Query()
  21. {
  22. Loading = true;
  23. RefAsync<int> total = 0;
  24. var res = await _repository.AsQueryable()
  25. .WhereIF(!string.IsNullOrWhiteSpace(Q_Name), x => x.Name.Contains(Q_Name))
  26. .OrderByDescending(x => x.Id)
  27. .ToPageListAsync(Pi, Ps, total);
  28. Total = total.Value;
  29. DataSource = res;
  30. Loading = false;
  31. //_table.ReloadData();
  32. }
  33. /// <summary>
  34. /// 增/改
  35. /// </summary>
  36. /// <param name="data"></param>
  37. /// <returns></returns>
  38. private async Task<bool> InsertOrUpdate(SystemDepartment data)
  39. => await _repository.InsertOrUpdateAsync(data);
  40. /// <summary>
  41. /// 删除
  42. /// </summary>
  43. /// <param name="row"></param>
  44. /// <returns></returns>
  45. private async Task Delete(SystemDepartment row)
  46. {
  47. if (!await Comfirm($"确认删除 [{row.Name}] ?")) return;
  48. var flag = await _repository.AsUpdateable()
  49. .SetColumns(x => x.IsDelete == true)
  50. .Where(x => x.Id == row.Id)
  51. .ExecuteCommandAsync() > 0;
  52. Table.ReloadData(Pi, Ps);
  53. }
  54. /// <summary>
  55. /// 重置查询
  56. /// </summary>
  57. private async Task ResetQuery()
  58. {
  59. Q_Name = string.Empty;
  60. Pi = 1;
  61. await Query();
  62. }
  63. private async Task OnChange(QueryModel<SystemDepartment> query)
  64. => await Query();
  65. private async Task Search()
  66. {
  67. Pi = 1;
  68. await Query();
  69. }
  70. /// <summary>
  71. /// 注入实例
  72. /// </summary>
  73. [Inject] private SqlSugarRepository<SystemDepartment> _repository { get; set; }
  74. /// <summary>
  75. ///
  76. /// </summary>
  77. [Inject] NavigationManager NavigationManager { get; set; }
  78. /// <summary>
  79. ///
  80. /// </summary>
  81. [Inject] IJSRuntime IJSRuntime { get; set; }
  82. /// <summary>
  83. /// 账号
  84. /// </summary>
  85. private string Q_Name { get; set; }
  86. /// <summary>
  87. ///
  88. /// </summary>
  89. private ITable Table;
  90. /// <summary>
  91. ///
  92. /// </summary>
  93. private IEnumerable<SystemDepartment> SelectedRows = [];
  94. /// <summary>
  95. ///
  96. /// </summary>
  97. private List<SystemDepartment> DataSource;
  98. /// <summary>
  99. ///
  100. /// </summary>
  101. private int Pi = 1;
  102. /// <summary>
  103. ///
  104. /// </summary>
  105. private int Ps = 20;
  106. /// <summary>
  107. ///
  108. /// </summary>
  109. private int Total;
  110. /// <summary>
  111. ///
  112. /// </summary>
  113. private bool Loading = false;
  114. /// <summary>
  115. ///
  116. /// </summary>
  117. Func<PaginationTotalContext, string> ShowTotal => x => $"总共 {Total} 条";
  118. }