WorkflowDefine.razor.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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 IJSRuntime JSRuntime { get; set; }
  34. protected override async System.Threading.Tasks.Task OnInitializedAsync()
  35. {
  36. var canVisist = await _authService.CanVisitResource("/Department");
  37. if (!canVisist)
  38. {
  39. var config = new MessageConfig()
  40. {
  41. Content = "您没有权限使用该功能",
  42. Type = MessageType.Error
  43. };
  44. var ret = _msgService.Open(config);
  45. await JSRuntime.InvokeVoidAsync("history.back");
  46. }
  47. await base.OnInitializedAsync();
  48. workflows = await workflowService.getAllWorkflows();
  49. }
  50. private void AddNew()
  51. {
  52. isAdd = true;
  53. EditingObj = new entity.workflowDefine.Workflow();
  54. InitAction = new share.ActionObject();
  55. InitAction.Action = new entity.workflowDefine.Action();
  56. InitAction.InputValueSettingObjects = new List<share.InputValueSettingObject>();
  57. //Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(InitAction));
  58. _visible = true;
  59. }
  60. async Task HandleOk()
  61. {
  62. if (EditingObj.Id ==0)
  63. {
  64. EditingObj.CreateTime = DateTime.Now;
  65. var retResponse = await workflowService.AddWorkflow(EditingObj,InitAction);
  66. if (retResponse.Success)
  67. {
  68. workflows = await workflowService.getAllWorkflows();
  69. _visible = false;
  70. //StateHasChanged();
  71. }
  72. else
  73. {
  74. await _msgService.Error(retResponse.ErrorMessage);
  75. }
  76. }
  77. }
  78. void HandleCancel()
  79. {
  80. _visible = false;
  81. }
  82. public int serialNumber(int pageIndex, int pageSize, int Id)
  83. {
  84. int iIndex = 0;
  85. foreach (wispro.sp.entity.workflowDefine.Workflow sf in workflows)
  86. {
  87. iIndex++;
  88. if (sf.Id == Id)
  89. {
  90. break;
  91. }
  92. }
  93. return iIndex;
  94. }
  95. wispro.sp.entity.workflowDefine.Workflow SelectedWorkflow;
  96. Dictionary<string, object> OnRow(RowData<wispro.sp.entity.workflowDefine.Workflow> row) => new()
  97. {
  98. ["id"] = row.Data.Id,
  99. ["onclick"] = ((Action)delegate
  100. {
  101. SelectedWorkflow = row.Data;
  102. //Console.WriteLine($"row {row.Data.Name} was clicked");
  103. })
  104. };
  105. async Task Delete(entity.workflowDefine.Workflow workflow)
  106. {
  107. var ret = await workflowService.Delete(workflow.Id);
  108. if (ret.Success)
  109. {
  110. workflows.Remove(workflow);
  111. }
  112. else
  113. {
  114. await _msgService.Error(ret.ErrorMessage);
  115. }
  116. }
  117. void Detail(int Id)
  118. {
  119. navigation.NavigateTo($"/Workflow/Detail/{Id}");
  120. }
  121. //IDictionary<entity.workflowDefine.Workflow, List<entity.workflowDefine.InputValueSetting>> dicFieldSettings
  122. // = new Dictionary<entity.workflowDefine.Workflow, List<entity.workflowDefine.InputValueSetting>>();
  123. //void InitFieldSetting(entity.workflowDefine.Workflow workflow)
  124. //{
  125. // if (dicFieldSettings.ContainsKey(workflow))
  126. // {
  127. // InitInputValues = dicFieldSettings[workflow];
  128. // }
  129. // else
  130. // {
  131. // InitInputValues = new List<entity.workflowDefine.InputValueSetting>();
  132. // dicFieldSettings.Add(workflow,InitInputValues);
  133. // }
  134. // _initModalVisible = true;
  135. //}
  136. }
  137. }