xf hai 1 ano
pai
achega
68da3c4e94

+ 14 - 1
src/Hotline.Api/Controllers/WorkflowController.cs

@@ -16,6 +16,7 @@ using Hotline.FlowEngine.WorkflowModules;
 using Microsoft.AspNetCore.Authorization;
 using XF.Domain.Authentications;
 using XF.Domain.Exceptions;
+using XF.Domain.Extensions;
 using XF.Utility.EnumExtensions;
 using XF.Domain.Repository;
 
@@ -492,6 +493,11 @@ public class WorkflowController : BaseController
     [HttpGet("base-data")]
     public async Task<dynamic> BaseData()
     {
+        var levels = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
+        var orgs = levels.Select(d => new KeyValuePair<string, string>(d.ToString(), $"{d.ToChinese()}级部门办理")).ToList();
+        var center = new KeyValuePair<string, string>("center", "中心办理");
+        var centerIsTop = new List<KeyValuePair<string, string>> { center };
+        centerIsTop.AddRange(orgs);
         return new
         {
             ModuleOptions = WorkflowModuleConsts.AllModules.Select(d => new KeyValuePair<string, string>(d.Code, d.Name)),
@@ -501,9 +507,16 @@ public class WorkflowController : BaseController
             StepPropertiesOptions = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.WorkflowStepComponent, HttpContext.RequestAborted),
             //PathPolicyOptions = EnumExts.GetDescriptions<EPathPolicy>(),
             ExecuteModeOptions = EnumExts.GetDescriptions<EExecuteMode>(),
-            DynamicPolicyOptions = EnumExts.GetDescriptions<EDynamicPolicy>(),
             InstanceModeOptions = EnumExts.GetDescriptions<EInstanceMode>(),
             StepTypeOptions = EnumExts.GetDescriptions<EStepType>().Where(d => d.Key != 1 && d.Key != 2),
+            DynamicPolicyOptions = EnumExts.GetDescriptions<EDynamicPolicy>()
+                .Select(d => new
+                {
+                    Key = d.Key,
+                    Value = d.Value,
+                    Items = d.Key == 0 || d.Key == 2 ? centerIsTop : orgs
+                }),//todo thk
+
         };
     }
 

+ 1 - 1
src/Hotline.Share/Dtos/FlowEngine/Definition/StepDefineBasic.cs

@@ -82,7 +82,7 @@ namespace Hotline.Share.Dtos.FlowEngine.Definition
         /// <summary>
         /// 到此标记终止动态实例化(多次模式才有)
         /// <remarks>
-        /// 按直属部门重复既保存orgLevel:int
+        /// 按直属部门重复既保存x级部门办理的x:int
         /// </remarks>
         /// </summary>
         public string? TerminalDynamicMark { get; set; }