WorkflowDefine.razor.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. using AntDesign;
  2. using AntDesign.TableModels;
  3. using Microsoft.AspNetCore.Components;
  4. using Microsoft.JSInterop;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. using wispro.sp.web.Services;
  10. namespace wispro.sp.web.Pages.Workflow
  11. {
  12. public partial class WorkflowDefine
  13. {
  14. private List<wispro.sp.entity.workflowDefine.Workflow> workflows = new List<wispro.sp.entity.workflowDefine.Workflow>();
  15. ITable table;
  16. int _pageIndex = 1;
  17. int _pageSize = 10;
  18. int _total = 0;
  19. bool _loading = false;
  20. bool isAdd = false;
  21. entity.workflowDefine.Workflow EditingObj = null;
  22. share.ActionObject InitAction = null;
  23. bool _visible = false;
  24. bool _initModalVisible = false;
  25. List<wispro.sp.entity.EnumnDescription<wispro.sp.entity.workflowDefine.FieldType>> FieldTypes
  26. = entity.EnumHelper.getEnumDescriptionDic<wispro.sp.entity.workflowDefine.FieldType>();
  27. entity.workflowDefine.FieldType fieldType = entity.workflowDefine.FieldType.ActionInputValue;
  28. [Inject] protected IUserService UserService { get; set; }
  29. [Inject] protected WorkflowService workflowService { get; set; }
  30. [Inject] protected MessageService _msgService { get; set; }
  31. [Inject] protected NavigationManager navigation { get; set; }
  32. [Inject] protected IAuthService _authService { get; set; }
  33. [Inject] protected NavigationManager NavigationManager { get; set; }
  34. [Inject] protected IJSRuntime JSRuntime { get; set; }
  35. protected override async System.Threading.Tasks.Task OnInitializedAsync()
  36. {
  37. var canVisist = await _authService.CanVisitResource("/Department");
  38. if (!canVisist)
  39. {
  40. var config = new MessageConfig()
  41. {
  42. Content = "您没有权限使用该功能",
  43. Type = MessageType.Error
  44. };
  45. var ret = _msgService.Open(config);
  46. await JSRuntime.InvokeVoidAsync("history.back");
  47. }
  48. await base.OnInitializedAsync();
  49. workflows = await workflowService.getAllWorkflows();
  50. }
  51. private void AddNew()
  52. {
  53. isAdd = true;
  54. EditingObj = new entity.workflowDefine.Workflow();
  55. InitAction = new share.ActionObject();
  56. InitAction.Action = new entity.workflowDefine.Action();
  57. InitAction.InputValueSettingObjects = new List<share.InputValueSettingObject>();
  58. //Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(InitAction));
  59. _visible = true;
  60. }
  61. async Task HandleOk()
  62. {
  63. if (EditingObj.Id ==0)
  64. {
  65. EditingObj.CreateTime = DateTime.Now;
  66. var retResponse = await workflowService.AddWorkflow(EditingObj,InitAction);
  67. if (retResponse.Success)
  68. {
  69. workflows = await workflowService.getAllWorkflows();
  70. _visible = false;
  71. //StateHasChanged();
  72. }
  73. else
  74. {
  75. await _msgService.Error(retResponse.ErrorMessage);
  76. }
  77. }
  78. }
  79. void HandleCancel()
  80. {
  81. _visible = false;
  82. }
  83. public int serialNumber(int pageIndex, int pageSize, int Id)
  84. {
  85. int iIndex = 0;
  86. foreach (wispro.sp.entity.workflowDefine.Workflow sf in workflows)
  87. {
  88. iIndex++;
  89. if (sf.Id == Id)
  90. {
  91. break;
  92. }
  93. }
  94. return iIndex;
  95. }
  96. wispro.sp.entity.workflowDefine.Workflow SelectedWorkflow;
  97. Dictionary<string, object> OnRow(RowData<wispro.sp.entity.workflowDefine.Workflow> row) => new()
  98. {
  99. ["id"] = row.Data.Id,
  100. ["onclick"] = ((Action)delegate
  101. {
  102. SelectedWorkflow = row.Data;
  103. //Console.WriteLine($"row {row.Data.Name} was clicked");
  104. })
  105. };
  106. async Task Delete(entity.workflowDefine.Workflow workflow)
  107. {
  108. var ret = await workflowService.Delete(workflow.Id);
  109. if (ret.Success)
  110. {
  111. workflows.Remove(workflow);
  112. }
  113. else
  114. {
  115. await _msgService.Error(ret.ErrorMessage);
  116. }
  117. }
  118. void Detail(int Id)
  119. {
  120. navigation.NavigateTo($"/Workflow/Detail/{Id}");
  121. }
  122. //IDictionary<entity.workflowDefine.Workflow, List<entity.workflowDefine.InputValueSetting>> dicFieldSettings
  123. // = new Dictionary<entity.workflowDefine.Workflow, List<entity.workflowDefine.InputValueSetting>>();
  124. //void InitFieldSetting(entity.workflowDefine.Workflow workflow)
  125. //{
  126. // if (dicFieldSettings.ContainsKey(workflow))
  127. // {
  128. // InitInputValues = dicFieldSettings[workflow];
  129. // }
  130. // else
  131. // {
  132. // InitInputValues = new List<entity.workflowDefine.InputValueSetting>();
  133. // dicFieldSettings.Add(workflow,InitInputValues);
  134. // }
  135. // _initModalVisible = true;
  136. //}
  137. }
  138. }