using AntDesign; using Microsoft.AspNetCore.Components; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using wispro.sp.entity.workflowDefine; using wispro.sp.web.Services; namespace wispro.sp.web.Pages.Workflow { public partial class WorkflowDetail { Components.FlowChart chart; entity.workflowDefine.Workflow workflow; List Steps; List Actions; List Transfers; UserField userField = new UserField(); [Parameter] public int WorkflowId { get; set; } [Inject] protected MessageService _msgService { get; set; } [Inject] protected WorkflowService _wfService { get; set; } async Task InitData() { //int Id = int.Parse(WorkflowId.ToString()); workflow = await _wfService.GetWorkflow(WorkflowId); Steps = await _wfService.GetSteps(WorkflowId); Actions = await _wfService.GetActions(WorkflowId); Transfers = await _wfService.GetTransfers(WorkflowId); } protected async override Task OnInitializedAsync() { await base.OnInitializedAsync(); #region Demo流程数据 await InitData(); //在此处添加获取流程数据栏位 //workflow = new entity.workflowDefine.Workflow(); //workflow.Name = "请假流程"; //workflow.InitAction = new entity.workflowDefine.Action(); //workflow.InitAction.Name = "填写请假条"; //Steps = new List(); //var step1 = new entity.workflowDefine.Step(); //step1.Name = "部门主管申核"; //step1.Id = 1; //Steps.Add(step1); //var step2 = new entity.workflowDefine.Step(); //step2.Name = "总经理申核"; //step2.Id = 2; //Steps.Add(step2); //var step3 = new entity.workflowDefine.Step(); //step3.Name = "申核结果通知"; //step3.Id = 3; //Steps.Add(step3); //var step4 = new entity.workflowDefine.Step(); //step4.Name = "新步骤"; //step4.Id = 4; //Steps.Add(step4); //var step5 = new entity.workflowDefine.Step(); //step5.Name = "新步骤"; //step5.Id = 5; //Steps.Add(step5); //workflow.EndStepId = 3; //Transfers = new List(); //var t = new entity.workflowDefine.TrasferCondition(); //t.StepId = null; //t.nextStepId = 1; //Transfers.Add(t); //var t1 = new entity.workflowDefine.TrasferCondition(); //t1.StepId = 1; //t1.nextStepId = 2; //Transfers.Add(t1); //var t2 = new entity.workflowDefine.TrasferCondition(); //t2.StepId = 1; //t2.nextStepId = 3; //Transfers.Add(t2); //var t3 = new entity.workflowDefine.TrasferCondition(); //t3.StepId = 2; //t3.nextStepId = 3; //Transfers.Add(t3); #endregion } void OnClickStep(entity.workflowDefine.Step step) { //_msgService.Info($"您点击了:【{step.Name}】步骤"); } void OnDblClickStep(entity.workflowDefine.Step step) { bool b = (workflow.EndStepId != null && workflow.EndStepId.Value == step.Id); EditStep = new share.NewStepObject() { Step = step, isLastStep = b }; try { userField = System.Text.Json.JsonSerializer.Deserialize(step.defaultResponseSetting); } catch { userField = new UserField(); } //Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(EditStep)); StepModalShow = true; } void OnClickAction(entity.workflowDefine.Action action) { //_msgService.Info($"您点击了:【{action.Name}】操作"); } void OnClickTransfer(entity.workflowDefine.TrasferCondition transfer) { //_msgService.Info($"您点击了:从步骤【{transfer.StepId}】到步骤【{transfer.nextStepId}】的移转条件!"); } share.NewStepObject EditStep; entity.workflowDefine.Action EditAction; entity.workflowDefine.TrasferCondition EditTransfer; bool StepModalShow = false; bool ActionModalShow = false; bool TransferModalShow = false; void AddNewStep() { EditStep = new share.NewStepObject(); EditStep.Step = new entity.workflowDefine.Step() { Name = "新步骤", stepType = 2, workflowId = workflow.Id }; EditStep.isLastStep = false; userField = new UserField(); StepModalShow = true; } void AddNewAction() { EditAction = new entity.workflowDefine.Action(); EditAction.Name = "新操作"; EditAction.inputValuesSettings = new List(); ActionModalShow = true; } void AddNewTransfer() { EditTransfer = new entity.workflowDefine.TrasferCondition(); TransferModalShow = true; } async Task EditStepOK() { Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(userField)); EditStep.Step.defaultResponseSetting = System.Text.Json.JsonSerializer.Serialize(userField); var ret = await _wfService.SaveStep(EditStep); if (ret.Success) { StepModalShow = false; await InitData(); chart.Refresh(); StateHasChanged(); } else { await _msgService.Error("保存出现错误!"); } } void EditStepCancel() { StepModalShow = false; } async Task EditActionOK() { var ret =await _wfService.SaveAction(EditAction); if (ret.Success) { ActionModalShow = false; await InitData(); chart.Refresh(); StateHasChanged(); } else { await _msgService.Error("保存出现错误!"); } } void EditActionCancel() { ActionModalShow = false; } int EditTransferStepId = 0; async Task EditTransferOK() { Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(EditTransfer)); if(EditTransfer.StepId!= null && EditTransfer.StepId.Value == 0) { EditTransfer.StepId = null; } var ret = await _wfService.SaveTransfer(EditTransfer); if (ret.Success) { TransferModalShow = false; await InitData(); chart.Refresh(); StateHasChanged(); } else { await _msgService.Error("保存出现错误!"); } } void EditTransferCancel() { TransferModalShow = false; } } }