From 36af41e89929133ea8659f4d1e8449f06ae57ecf Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 23 Oct 2022 14:43:38 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DynamicForm/DynamicForm.Core/Workflows/WorkflowAdapter.cs | 2 +- .../WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowAdapter.cs b/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowAdapter.cs index 3990460..1db0674 100644 --- a/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowAdapter.cs +++ b/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowAdapter.cs @@ -21,7 +21,7 @@ namespace DynamicForm.Core.Workflows public async Task CreateAndStartWorkTask(WorkflowId WorkflowId, string Name, string FormData, string EntityFullName, string EntityKeyValue, string CreatedUserId) { - var result = await webApiClient.PostAsync, object>("workflow/api/workflow/CreateAndStartWorkTask", new + var result = await webApiClient.PostAsync, object>("workflow/api/workflow/CreateWorkTask", new { WorkflowId = new { diff --git a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs index 5d026c0..7a53cb6 100644 --- a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs +++ b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs @@ -26,7 +26,7 @@ namespace WorkFlowCore.IAppService.WorkFlows Task UpdateWorkFlow(UpdateWorkFlowInput input); Task CreateWorkTask(CreateWorkTaskInput input); Task CreateSimulationWorkTask(CreateWorkTaskInput input); - Task CreateAndStartWorkTask(CreateWorkTaskInput input); + //Task CreateAndStartWorkTask(CreateWorkTaskInput input); Task GetWorkTask(Guid id); Task> StartWorkTask(StartWorkTaskInput input); Task> PassProve(ProveInput input); -- Gitee From efc3c605c06d5d8e8404f959be392055ba66f581 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 23 Oct 2022 15:08:05 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/formDesign/components/dynamicCol.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/admin/vue-admin-template/src/views/workflows/formDesign/components/dynamicCol.vue b/admin/vue-admin-template/src/views/workflows/formDesign/components/dynamicCol.vue index 109b959..030aec7 100644 --- a/admin/vue-admin-template/src/views/workflows/formDesign/components/dynamicCol.vue +++ b/admin/vue-admin-template/src/views/workflows/formDesign/components/dynamicCol.vue @@ -52,18 +52,20 @@ placement="top" > - + + 编辑 - + + 复制 @@ -74,7 +76,8 @@ placement="top" > - + + 删除 -- Gitee From 7158042c19574c191388440c64b9bf99e9e65af0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 23 Oct 2022 21:55:15 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=92=8C=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common.AppService/Dtos/BaseCreationDto.cs | 22 +++++++++ .../Commons/Common.AppService/Dtos/BaseDto.cs | 15 +++++++ .../Dtos/BaseModificationDto.cs | 22 +++++++++ .../ICreationEntity.cs | 2 +- .../IModificationEntity.cs | 2 +- .../ISoftDeleteEntity.cs | 2 +- .../FormInstances/FormInstanceAppService.cs | 12 ++--- .../FormDesigns/FormDesignInterface.cs | 30 +++++++++++++ .../FormInstances/FormInstanceManager.cs | 1 + .../Workflows/WorkflowInterface.cs | 6 +++ .../FormInstances/Dto/FormInstanceDto.cs | 2 +- .../FormInstances/Dto/WorkflowIdDto.cs | 15 +++++++ .../WorkFlowCores/WorkFlowAppService.cs | 35 +++++++++++++-- .../WorkFlowCore.IAppService.csproj | 1 + .../WorkFlows/Dto/WorkTaskDto.cs | 45 +++++++++++++++++++ .../WorkFlows/Dto/WorkflowIdDto.cs | 15 +++++++ .../WorkFlows/IWorkFlowAppService.cs | 4 +- .../views/workflows/formInstance/index.vue | 7 ++- .../views/workflows/myFormInstance/index.vue | 7 ++- .../views/workflows/pendings/handledIndex.vue | 5 +++ .../src/views/workflows/pendings/index.vue | 5 +++ 21 files changed, 238 insertions(+), 17 deletions(-) create mode 100644 WorkFlowCore/Commons/Common.AppService/Dtos/BaseCreationDto.cs create mode 100644 WorkFlowCore/Commons/Common.AppService/Dtos/BaseDto.cs create mode 100644 WorkFlowCore/Commons/Common.AppService/Dtos/BaseModificationDto.cs create mode 100644 WorkFlowCore/DynamicForm/DynamicForm.Core/FormDesigns/FormDesignInterface.cs create mode 100644 WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/WorkflowIdDto.cs create mode 100644 WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkTaskDto.cs create mode 100644 WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkflowIdDto.cs diff --git a/WorkFlowCore/Commons/Common.AppService/Dtos/BaseCreationDto.cs b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseCreationDto.cs new file mode 100644 index 0000000..7c13865 --- /dev/null +++ b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseCreationDto.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Common.AppService.Dtos +{ + public class BaseCreationDto : BaseCreationDto + { + + } + public class BaseCreationDto : BaseDto + { + /// + /// 创建用户 + /// + public string CreatedUserId { get; set; } + /// + /// 创建时间 + /// + public DateTime CreationTime { get; set; } + } +} diff --git a/WorkFlowCore/Commons/Common.AppService/Dtos/BaseDto.cs b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseDto.cs new file mode 100644 index 0000000..6405252 --- /dev/null +++ b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseDto.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Common.AppService.Dtos +{ + public class BaseDto : BaseDto + { + + } + public class BaseDto + { + public TKey Id { get; set; } + } +} diff --git a/WorkFlowCore/Commons/Common.AppService/Dtos/BaseModificationDto.cs b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseModificationDto.cs new file mode 100644 index 0000000..ee2a09c --- /dev/null +++ b/WorkFlowCore/Commons/Common.AppService/Dtos/BaseModificationDto.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Common.AppService.Dtos +{ + public class BaseModificationDto: BaseModificationDto + { + + } + public class BaseModificationDto: BaseCreationDto + { + /// + /// 更新时间 + /// + public DateTime ModifiedTime { get; set; } + /// + /// 更新用户 + /// + public string ModifiedUserId { get; set; } + } +} diff --git a/WorkFlowCore/Commons/Common.IBaseRepositories/ICreationEntity.cs b/WorkFlowCore/Commons/Common.IBaseRepositories/ICreationEntity.cs index d3edf35..6adf78e 100644 --- a/WorkFlowCore/Commons/Common.IBaseRepositories/ICreationEntity.cs +++ b/WorkFlowCore/Commons/Common.IBaseRepositories/ICreationEntity.cs @@ -4,7 +4,7 @@ using System.Text; namespace Common.IBaseRepositories { - public interface ICreationEntity + public interface ICreationEntity : IEntity { /// /// 创建用户 diff --git a/WorkFlowCore/Commons/Common.IBaseRepositories/IModificationEntity.cs b/WorkFlowCore/Commons/Common.IBaseRepositories/IModificationEntity.cs index 77b4fd0..0381b16 100644 --- a/WorkFlowCore/Commons/Common.IBaseRepositories/IModificationEntity.cs +++ b/WorkFlowCore/Commons/Common.IBaseRepositories/IModificationEntity.cs @@ -4,7 +4,7 @@ using System.Text; namespace Common.IBaseRepositories { - public interface IModificationEntity + public interface IModificationEntity:IEntity { /// /// 更新时间 diff --git a/WorkFlowCore/Commons/Common.IBaseRepositories/ISoftDeleteEntity.cs b/WorkFlowCore/Commons/Common.IBaseRepositories/ISoftDeleteEntity.cs index bad794d..8dba391 100644 --- a/WorkFlowCore/Commons/Common.IBaseRepositories/ISoftDeleteEntity.cs +++ b/WorkFlowCore/Commons/Common.IBaseRepositories/ISoftDeleteEntity.cs @@ -4,7 +4,7 @@ using System.Text; namespace Common.IBaseRepositories { - public interface ISoftDeleteEntity + public interface ISoftDeleteEntity : IEntity { /// /// 删除用户 diff --git a/WorkFlowCore/DynamicForm/DynamicForm.AppService/FormInstances/FormInstanceAppService.cs b/WorkFlowCore/DynamicForm/DynamicForm.AppService/FormInstances/FormInstanceAppService.cs index 44c9525..ca3de4d 100644 --- a/WorkFlowCore/DynamicForm/DynamicForm.AppService/FormInstances/FormInstanceAppService.cs +++ b/WorkFlowCore/DynamicForm/DynamicForm.AppService/FormInstances/FormInstanceAppService.cs @@ -6,6 +6,7 @@ using Common.IBaseRepositories4EF; using Common.WebApi.ViewModels; using DynamicForm.Core; using DynamicForm.Core.FormInstances; +using DynamicForm.Core.Workflows; using DynamicForm.IAppService.FormInstances; using DynamicForm.IAppService.FormInstances.Dto; using Mapster; @@ -24,13 +25,15 @@ namespace DynamicForm.AppService.FormInstances private readonly FormInstanceManager formInstanceManager; private readonly ICommonSession commonSession; private readonly IBasicRepository4EF designRepository; + private readonly IBasicRepository workflowVersionRepository; - public FormInstanceAppService(IBasicRepository4EF repository, FormInstanceManager formInstanceManager,ICommonSession commonSession, IBasicRepository4EF designRepository) : base(repository) + public FormInstanceAppService(IBasicRepository4EF repository, FormInstanceManager formInstanceManager, ICommonSession commonSession, IBasicRepository4EF designRepository, IBasicRepository workflowVersionRepository) : base(repository) { this.repository = repository; this.formInstanceManager = formInstanceManager; this.commonSession = commonSession; this.designRepository = designRepository; + this.workflowVersionRepository = workflowVersionRepository; } public override async Task CreateAsync(FormInstanceCreateInput input) @@ -66,7 +69,7 @@ namespace DynamicForm.AppService.FormInstances } public async Task> GetPageListOfCurrentUserAsync([FromQuery] GetPageResultInput input) { - var count = await repository.GetCountAsync(input.Conditions); + var count = await repository.GetCountAsync(input.Conditions, f => f.CreatedUserId == commonSession.User.Id); var entities = await repository.GetPagedListAsync(input.Conditions, f => f.CreatedUserId == commonSession.User.Id, input.SkipCount, input.MaxResultCount, input.Sorting); var items = entities.Select(e => e.ToFormInstance()).Adapt>(); @@ -79,14 +82,13 @@ namespace DynamicForm.AppService.FormInstances { var formDesignIds = items.Select(e => e.FormDesignId.Id).Distinct().ToList(); var formDesigns = await designRepository.GetListAsync(d => formDesignIds.Contains(d.Id)); - var formDesignNameMap = formDesigns.GroupBy(f => f.Id).ToDictionary(g => g.Key, g => g.FirstOrDefault().Title); - - + var workflows = await workflowVersionRepository.GetListAsync(w => items.Select(i => i.WorkflowId.Id).Contains(w.WorkflowId)); items.ForEach(e => { e.FormDesignTitle = formDesignNameMap.ContainsKey(e.FormDesignId.Id) ? formDesignNameMap[e.FormDesignId.Id] : ""; + e.WorkflowId.WorkflowName = workflows.FirstOrDefault(w=>w.WorkflowId==e.WorkflowId.Id&&w.VersionNo==e.WorkflowId.Version)?.WorkflowName; }); } diff --git a/WorkFlowCore/DynamicForm/DynamicForm.Core/FormDesigns/FormDesignInterface.cs b/WorkFlowCore/DynamicForm/DynamicForm.Core/FormDesigns/FormDesignInterface.cs new file mode 100644 index 0000000..512aed4 --- /dev/null +++ b/WorkFlowCore/DynamicForm/DynamicForm.Core/FormDesigns/FormDesignInterface.cs @@ -0,0 +1,30 @@ +using Common.DependencyInjection; +using Common.IBaseRepositories; +using DynamicForm.Core.Workflows; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DynamicForm.Core.FormDesigns +{ + public class FormDesignInterface : IScopedService + { + private readonly IBasicRepository formDesignRepository; + private readonly IBasicRepository formDesignVersionRepository; + private readonly WorkflowAdapter workflowAdapter; + + public FormDesignInterface(IBasicRepository formDesignRepository, IBasicRepository formDesignVersionRepository, WorkflowAdapter workflowAdapter) + { + this.formDesignRepository = formDesignRepository; + this.formDesignVersionRepository = formDesignVersionRepository; + this.workflowAdapter = workflowAdapter; + } + + public async Task GetFormDesignVersion(FormDesignId formDesignId) + { + return await formDesignVersionRepository.GetAsync(f => f.FormDesignId == formDesignId.Id && f.Version == formDesignId.Version); + } + } +} diff --git a/WorkFlowCore/DynamicForm/DynamicForm.Core/FormInstances/FormInstanceManager.cs b/WorkFlowCore/DynamicForm/DynamicForm.Core/FormInstances/FormInstanceManager.cs index a7dc7c9..22f665d 100644 --- a/WorkFlowCore/DynamicForm/DynamicForm.Core/FormInstances/FormInstanceManager.cs +++ b/WorkFlowCore/DynamicForm/DynamicForm.Core/FormInstances/FormInstanceManager.cs @@ -47,6 +47,7 @@ namespace DynamicForm.Core.FormInstances public async Task CreateAndStartWorkTask(Guid formInstanceId) { var instanceInfo = await formInstanceInfoRepository.GetAsync(f => f.Id == formInstanceId); + var instance = instanceInfo.ToFormInstance(); var started = await workflowAdapter.CreateAndStartWorkTask(new Workflows.WorkflowId { diff --git a/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowInterface.cs b/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowInterface.cs index 99567ca..c8f544b 100644 --- a/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowInterface.cs +++ b/WorkFlowCore/DynamicForm/DynamicForm.Core/Workflows/WorkflowInterface.cs @@ -30,5 +30,11 @@ namespace DynamicForm.Core.Workflows repository.InsertAsync(currentVersion).Wait(); } } + + public async Task GetWorkflowVersionByWorkflowId(WorkflowId workflowId) + { + var currentVersion = repository.GetAsync(v => v.WorkflowId == workflowId.Id && v.VersionNo == workflowId.VersionId).Result; + return currentVersion; + } } } diff --git a/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/FormInstanceDto.cs b/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/FormInstanceDto.cs index 329345c..9baae5a 100644 --- a/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/FormInstanceDto.cs +++ b/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/FormInstanceDto.cs @@ -11,7 +11,7 @@ namespace DynamicForm.IAppService.FormInstances.Dto { public FormDesignId FormDesignId { get; set; } public string FormDesignTitle { get; set; } - public WorkflowId WorkflowId { get; set; } + public WorkflowIdDto WorkflowId { get; set; } public string Title { get; set; } public string FormData { get; set; } public WorkTaskStatus WorkflowStatus { get; set; } diff --git a/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/WorkflowIdDto.cs b/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/WorkflowIdDto.cs new file mode 100644 index 0000000..eb0ad22 --- /dev/null +++ b/WorkFlowCore/DynamicForm/DynamicForm.IAppService/FormInstances/Dto/WorkflowIdDto.cs @@ -0,0 +1,15 @@ +using DynamicForm.Core; +using System; +using System.Collections.Generic; +using System.Text; + +namespace DynamicForm.IAppService.FormInstances.Dto +{ + public class WorkflowIdDto : WorkflowId + { + /// + /// 流程名称 + /// + public string WorkflowName { get; set; } + } +} diff --git a/WorkFlowCore/Workflow/WorkFlowCore.AppService/WorkFlowCores/WorkFlowAppService.cs b/WorkFlowCore/Workflow/WorkFlowCore.AppService/WorkFlowCores/WorkFlowAppService.cs index 6bfcb33..c6a9aa4 100644 --- a/WorkFlowCore/Workflow/WorkFlowCore.AppService/WorkFlowCores/WorkFlowAppService.cs +++ b/WorkFlowCore/Workflow/WorkFlowCore.AppService/WorkFlowCores/WorkFlowAppService.cs @@ -1,4 +1,5 @@ using Common.IBaseRepositories; +using MapsterMapper; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; @@ -22,6 +23,7 @@ namespace WorkFlowCore.AppService.WorkFlows private WorkflowManager workflowManager; private WorkTaskManager workTaskManager; private readonly WorkflowInterface workflowInterface; + private readonly Mapper mapper; private IBasicRepository workflowRepository; private IBasicRepository worktaskRepository; private IBasicRepository versionRepository; @@ -38,6 +40,7 @@ namespace WorkFlowCore.AppService.WorkFlows , IWorkflowSession workflowSession , WorkTaskManager workTaskManager , WorkflowInterface workflowInterface + , Mapper mapper ) { this.conditionManager = conditionManager; @@ -49,6 +52,7 @@ namespace WorkFlowCore.AppService.WorkFlows this.workflowSession = workflowSession; this.workTaskManager = workTaskManager; this.workflowInterface = workflowInterface; + this.mapper = mapper; } /// /// 获取所有条件 @@ -308,18 +312,41 @@ namespace WorkFlowCore.AppService.WorkFlows /// 获取用户待处理的流程 /// /// - public async Task> GetUnHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) + public async Task> GetUnHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) { - return await workTaskManager.GetUnHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var worktasks = await workTaskManager.GetUnHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var result = new PageResult + { + Items = mapper.Map, List>(worktasks.Items), + Total = worktasks.Total + }; + var workflows = await workflowRepository.GetListAsync(w => worktasks.Items.Select(s => s.WorkflowId.Id).Contains(w.Id)); + result.Items.ForEach(i => + { + i.WorkflowId.WorkflowName = workflows.FirstOrDefault(w => w.Id == i.WorkflowId.Id && w.ActiveVersion == i.WorkflowId.VersionId)?.Name; + }); + return result; + } /// /// 获取用户已处理的流程 /// /// - public async Task> GetHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) + public async Task> GetHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) { - return await workTaskManager.GetHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var worktasks = await workTaskManager.GetHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var result = new PageResult + { + Items = mapper.Map, List>(worktasks.Items), + Total = worktasks.Total + }; + var workflows =await workflowRepository.GetListAsync(w => worktasks.Items.Select(s => s.WorkflowId.Id).Contains(w.Id)); + result.Items.ForEach(i => + { + i.WorkflowId.WorkflowName = workflows.FirstOrDefault(w => w.Id==i.WorkflowId.Id&& w.ActiveVersion == i.WorkflowId.VersionId)?.Name; + }); + return result; } /// /// 根据实体类型获取所有的处理中的工作流 diff --git a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlowCore.IAppService.csproj b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlowCore.IAppService.csproj index 42b0b96..25bfe2d 100644 --- a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlowCore.IAppService.csproj +++ b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlowCore.IAppService.csproj @@ -5,6 +5,7 @@ + diff --git a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkTaskDto.cs b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkTaskDto.cs new file mode 100644 index 0000000..061fd6d --- /dev/null +++ b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkTaskDto.cs @@ -0,0 +1,45 @@ +using Common.AppService.Dtos; +using Common.Mapster; +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.Workflows; +using WorkFlowCore.WorkTasks; + +namespace WorkFlowCore.IAppService.WorkFlows.Dto +{ + [MapFrom(typeof(WorkTask))] + public class WorkTaskDto: BaseModificationDto + { + /// + /// 流程id + /// + public WorkflowIdDto WorkflowId { get; set; } + /// + /// 任务名称 + /// + public string Name { get; set; } + + /// + /// 表单数据(json) + /// + public string FormData { get; set; } + /// + /// 实体全称 + /// + public string EntityFullName { get; set; } + /// + /// 实体主键值 + /// + public string EntityKeyValue { get; set; } + /// + /// 审批状态 + /// + public WorkTaskStatus WorkTaskStatus { get; set; } = WorkTaskStatus.Pending; + + public bool IsProcessed { get => WorkTaskStatus == WorkTaskStatus.Processed; } + public bool IsPending { get => WorkTaskStatus == WorkTaskStatus.Pending; } + public bool IsProcessing { get => WorkTaskStatus == WorkTaskStatus.Processing; } + public bool IsSimulation { get; set; } + } +} diff --git a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkflowIdDto.cs b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkflowIdDto.cs new file mode 100644 index 0000000..263440c --- /dev/null +++ b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/Dto/WorkflowIdDto.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.Workflows; + +namespace WorkFlowCore.IAppService.WorkFlows.Dto +{ + public class WorkflowIdDto: WorkflowId + { + /// + /// 流程名称 + /// + public string WorkflowName { get; set; } + } +} diff --git a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs index 7a53cb6..254112a 100644 --- a/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs +++ b/WorkFlowCore/Workflow/WorkFlowCore.IAppService/WorkFlows/IWorkFlowAppService.cs @@ -35,8 +35,8 @@ namespace WorkFlowCore.IAppService.WorkFlows Task> ForwardProve(ForwardProveInput input); Task> GetAllTaskStepsOfWorkTask(Guid? worktaskId); Task> GetAllTaskStepsOfWorkTaskByEntityInfo(string entityFullName, string entityKeyValue); - Task> GetUnHandledWorkTasksOfUser(GetUnHandledWorkTasksOfUserInput input); - Task> GetHandledWorkTasksOfUser( GetUnHandledWorkTasksOfUserInput input); + Task> GetUnHandledWorkTasksOfUser(GetUnHandledWorkTasksOfUserInput input); + Task> GetHandledWorkTasksOfUser( GetUnHandledWorkTasksOfUserInput input); Task> GetAllProcessingWorkTasksByEntityType(GetAllProcessingWorkTasksByEntityTypeInput input); } } diff --git a/admin/vue-admin-template/src/views/workflows/formInstance/index.vue b/admin/vue-admin-template/src/views/workflows/formInstance/index.vue index a115eb0..5a3efc3 100644 --- a/admin/vue-admin-template/src/views/workflows/formInstance/index.vue +++ b/admin/vue-admin-template/src/views/workflows/formInstance/index.vue @@ -9,7 +9,12 @@ - + + +