123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- using Microsoft.AspNetCore.Components;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Dynamic;
- using System.Linq;
- using System.Threading.Tasks;
- using wispro.sp.entity.workflowDefine;
- using wispro.sp.share.Utility;
- namespace wispro.sp.web.Components
- {
- public partial class FlowChart
- {
- share.Utility.FlowChartUtility flowChartUtility;
- [Parameter]
- public double TitleHeight { get; set; } = 100;
- [Parameter]
- public double ChartWidth { get; set; } = 1200;
- [Parameter]
- public double ChartHeight { get; set; } = 900;
- [Parameter]
- public double rectWidth { get; set; } = 150;
- [Parameter]
- public double rectHeight { get; set; } = 60;
- [Parameter]
- public double initRadius { get; set; } = 20;
- [Parameter]
- public double EndRadius { get; set; } = 20;
- [Parameter]
- public double hSeparation { get; set; } = 40;
- [Parameter]
- public string StepShapeColor { get; set; } = "green";
- [Parameter]
- public string EndShapColor { get; set; } = "gray";
- int rectFontSize { get; set; } = 18;
- [Parameter]
- public List<entity.workflowDefine.Step> Steps { get; set; }
- [Parameter]
- public List<entity.workflowDefine.TrasferCondition> Transfers { get; set; }
- [Parameter]
- public List<entity.workflowDefine.Action> Actions { get; set; }
- [Parameter]
- public entity.workflowDefine.Workflow workflow { get; set; }
- protected override void OnInitialized()
- {
- Refresh();
- }
- public void Refresh()
- {
- flowChartUtility = new share.Utility.FlowChartUtility();
- flowChartUtility.workflow = workflow;
- flowChartUtility.Actions = Actions;
- flowChartUtility.Steps = Steps;
- flowChartUtility.Transfers = Transfers;
- flowChartUtility.hSeparation = hSeparation;
- flowChartUtility.initRadius = initRadius;
- flowChartUtility.EndShapColor = EndShapColor;
- flowChartUtility.EndRadius = EndRadius;
- flowChartUtility.ChartHeight = ChartHeight;
- flowChartUtility.ChartWidth = ChartWidth;
- flowChartUtility.rectHeight = rectHeight;
- flowChartUtility.rectWidth = rectWidth;
- flowChartUtility.Refresh();
- StateHasChanged();
- }
- void InitAction()
- {
- }
- #region 单击/双击事件
- [Parameter]
- public EventCallback<entity.workflowDefine.Step> OnClickStep { get; set; }
- [Parameter]
- public EventCallback<entity.workflowDefine.Action> OnClickAction{ get; set; }
- [Parameter]
- public EventCallback<entity.workflowDefine.TrasferCondition> OnClickTransfer { get; set; }
- [Parameter]
- public EventCallback<entity.workflowDefine.Step> OnDoubleClickStep { get; set; }
- [Parameter]
- public EventCallback<entity.workflowDefine.Action> OnDoubleClickAction { get; set; }
- [Parameter]
- public EventCallback<entity.workflowDefine.TrasferCondition> OnDoubleClickTransfer { get; set; }
- public dynamic SelectedObject;
- void ClickNode(shapeNode node)
- {
- SelectedObject = node.NodeObject;
- flowChartUtility.SelectedShape = node;
- StateHasChanged();
- if (node.NodeObject is entity.workflowDefine.Step)
- {
- if (OnClickStep.HasDelegate)
- {
- OnClickStep.InvokeAsync((entity.workflowDefine.Step)node.NodeObject);
- }
- }
- if (node.NodeObject is entity.workflowDefine.Action)
- {
- if (OnClickAction.HasDelegate)
- {
- OnClickAction.InvokeAsync((entity.workflowDefine.Action)node.NodeObject);
- }
- }
- }
- void DoubleClickNode(shapeNode node)
- {
- SelectedObject = node.NodeObject;
- flowChartUtility.SelectedShape = node;
- StateHasChanged();
- if (node.NodeObject is entity.workflowDefine.Step)
- {
- if (OnDoubleClickStep.HasDelegate)
- {
- OnDoubleClickStep.InvokeAsync((entity.workflowDefine.Step)node.NodeObject);
- }
- }
- if (node.NodeObject is entity.workflowDefine.Action)
- {
- if (OnDoubleClickAction.HasDelegate)
- {
- OnDoubleClickAction.InvokeAsync((entity.workflowDefine.Action)node.NodeObject);
- }
- }
- }
- void ClickTrasfer(entity.workflowDefine.TrasferCondition trasferCondition)
- {
- SelectedObject = trasferCondition;
- flowChartUtility.SelectedShape = null;
- if (OnClickTransfer.HasDelegate)
- {
- OnClickTransfer.InvokeAsync(trasferCondition);
- }
- }
- void DoubleClickTrasfer(entity.workflowDefine.TrasferCondition trasferCondition)
- {
- SelectedObject = trasferCondition;
- flowChartUtility.SelectedShape = null;
- if (OnDoubleClickTransfer.HasDelegate)
- {
- OnDoubleClickTransfer.InvokeAsync(trasferCondition);
- }
- }
- #endregion
- }
- }
|