weaver-e10-builder 1.0.7-beta → 1.0.9-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/dist/commands/actionflow.d.ts +7 -0
  2. package/dist/commands/actionflow.d.ts.map +1 -0
  3. package/dist/commands/actionflow.js +105 -0
  4. package/dist/commands/actionflow.js.map +1 -0
  5. package/dist/commands/auth.js +1 -1
  6. package/dist/commands/auth.js.map +1 -1
  7. package/dist/commands/form-list.d.ts.map +1 -1
  8. package/dist/commands/form-list.js +18 -9
  9. package/dist/commands/form-list.js.map +1 -1
  10. package/dist/commands/form-native.d.ts +0 -14
  11. package/dist/commands/form-native.d.ts.map +1 -1
  12. package/dist/commands/form-native.js +398 -72
  13. package/dist/commands/form-native.js.map +1 -1
  14. package/dist/commands/form.d.ts.map +1 -1
  15. package/dist/commands/form.js +5 -2
  16. package/dist/commands/form.js.map +1 -1
  17. package/dist/commands/wf-form.d.ts.map +1 -1
  18. package/dist/commands/wf-form.js +872 -42
  19. package/dist/commands/wf-form.js.map +1 -1
  20. package/dist/commands/workflow-action.d.ts +11 -0
  21. package/dist/commands/workflow-action.d.ts.map +1 -1
  22. package/dist/commands/workflow-action.js +13 -1586
  23. package/dist/commands/workflow-action.js.map +1 -1
  24. package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
  25. package/dist/commands/workflow-create-workflow.js +111 -30
  26. package/dist/commands/workflow-create-workflow.js.map +1 -1
  27. package/dist/commands/workflow-node-robot.js +1 -1
  28. package/dist/commands/workflow-node-robot.js.map +1 -1
  29. package/dist/commands/workflow-node-validate.d.ts.map +1 -1
  30. package/dist/commands/workflow-node-validate.js +56 -45
  31. package/dist/commands/workflow-node-validate.js.map +1 -1
  32. package/dist/commands/workflow-numbering.d.ts.map +1 -1
  33. package/dist/commands/workflow-numbering.js +98 -2
  34. package/dist/commands/workflow-numbering.js.map +1 -1
  35. package/dist/commands/workflow-operator-sign.d.ts +3 -0
  36. package/dist/commands/workflow-operator-sign.d.ts.map +1 -0
  37. package/dist/commands/workflow-operator-sign.js +118 -0
  38. package/dist/commands/workflow-operator-sign.js.map +1 -0
  39. package/dist/commands/workflow.d.ts.map +1 -1
  40. package/dist/commands/workflow.js +83 -6
  41. package/dist/commands/workflow.js.map +1 -1
  42. package/dist/core/client.d.ts +2 -0
  43. package/dist/core/client.d.ts.map +1 -1
  44. package/dist/core/client.js +2 -0
  45. package/dist/core/client.js.map +1 -1
  46. package/dist/index.js +4 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/services/actionflow/build_workflow_draft.d.ts +20 -0
  49. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -0
  50. package/dist/services/actionflow/build_workflow_draft.js +222 -0
  51. package/dist/services/actionflow/build_workflow_draft.js.map +1 -0
  52. package/dist/services/actionflow/calendar_mapper.d.ts +3 -0
  53. package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -0
  54. package/dist/services/actionflow/calendar_mapper.js +152 -0
  55. package/dist/services/actionflow/calendar_mapper.js.map +1 -0
  56. package/dist/services/actionflow/component_registry.d.ts +13 -0
  57. package/dist/services/actionflow/component_registry.d.ts.map +1 -0
  58. package/dist/services/actionflow/component_registry.js +213 -0
  59. package/dist/services/actionflow/component_registry.js.map +1 -0
  60. package/dist/services/actionflow/components/action_eb_add.d.ts +3 -0
  61. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -0
  62. package/dist/services/actionflow/components/action_eb_add.js +127 -0
  63. package/dist/services/actionflow/components/action_eb_add.js.map +1 -0
  64. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts +4 -0
  65. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -0
  66. package/dist/services/actionflow/components/action_eb_add_compiler.js +13 -0
  67. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -0
  68. package/dist/services/actionflow/components/action_eb_delete.d.ts +3 -0
  69. package/dist/services/actionflow/components/action_eb_delete.d.ts.map +1 -0
  70. package/dist/services/actionflow/components/action_eb_delete.js +69 -0
  71. package/dist/services/actionflow/components/action_eb_delete.js.map +1 -0
  72. package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts +4 -0
  73. package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts.map +1 -0
  74. package/dist/services/actionflow/components/action_eb_delete_compiler.js +7 -0
  75. package/dist/services/actionflow/components/action_eb_delete_compiler.js.map +1 -0
  76. package/dist/services/actionflow/components/action_eb_recover.d.ts +3 -0
  77. package/dist/services/actionflow/components/action_eb_recover.d.ts.map +1 -0
  78. package/dist/services/actionflow/components/action_eb_recover.js +28 -0
  79. package/dist/services/actionflow/components/action_eb_recover.js.map +1 -0
  80. package/dist/services/actionflow/components/action_eb_recover_compiler.d.ts +3 -0
  81. package/dist/services/actionflow/components/action_eb_recover_compiler.d.ts.map +1 -0
  82. package/dist/services/actionflow/components/action_eb_recover_compiler.js +16 -0
  83. package/dist/services/actionflow/components/action_eb_recover_compiler.js.map +1 -0
  84. package/dist/services/actionflow/components/action_eb_save_version.d.ts +3 -0
  85. package/dist/services/actionflow/components/action_eb_save_version.d.ts.map +1 -0
  86. package/dist/services/actionflow/components/action_eb_save_version.js +30 -0
  87. package/dist/services/actionflow/components/action_eb_save_version.js.map +1 -0
  88. package/dist/services/actionflow/components/action_eb_save_version_compiler.d.ts +3 -0
  89. package/dist/services/actionflow/components/action_eb_save_version_compiler.d.ts.map +1 -0
  90. package/dist/services/actionflow/components/action_eb_save_version_compiler.js +15 -0
  91. package/dist/services/actionflow/components/action_eb_save_version_compiler.js.map +1 -0
  92. package/dist/services/actionflow/components/action_eb_update.d.ts +3 -0
  93. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -0
  94. package/dist/services/actionflow/components/action_eb_update.js +154 -0
  95. package/dist/services/actionflow/components/action_eb_update.js.map +1 -0
  96. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts +16 -0
  97. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -0
  98. package/dist/services/actionflow/components/action_eb_update_compiler.js +94 -0
  99. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -0
  100. package/dist/services/actionflow/components/approve_create.d.ts +3 -0
  101. package/dist/services/actionflow/components/approve_create.d.ts.map +1 -0
  102. package/dist/services/actionflow/components/approve_create.js +44 -0
  103. package/dist/services/actionflow/components/approve_create.js.map +1 -0
  104. package/dist/services/actionflow/components/approve_trigger.d.ts +5 -0
  105. package/dist/services/actionflow/components/approve_trigger.d.ts.map +1 -0
  106. package/dist/services/actionflow/components/approve_trigger.js +184 -0
  107. package/dist/services/actionflow/components/approve_trigger.js.map +1 -0
  108. package/dist/services/actionflow/components/approve_trigger_compiler.d.ts +4 -0
  109. package/dist/services/actionflow/components/approve_trigger_compiler.d.ts.map +1 -0
  110. package/dist/services/actionflow/components/approve_trigger_compiler.js +20 -0
  111. package/dist/services/actionflow/components/approve_trigger_compiler.js.map +1 -0
  112. package/dist/services/actionflow/components/condition.d.ts +3 -0
  113. package/dist/services/actionflow/components/condition.d.ts.map +1 -0
  114. package/dist/services/actionflow/components/condition.js +23 -0
  115. package/dist/services/actionflow/components/condition.js.map +1 -0
  116. package/dist/services/actionflow/components/date_trigger.d.ts +5 -0
  117. package/dist/services/actionflow/components/date_trigger.d.ts.map +1 -0
  118. package/dist/services/actionflow/components/date_trigger.js +129 -0
  119. package/dist/services/actionflow/components/date_trigger.js.map +1 -0
  120. package/dist/services/actionflow/components/document_actions.d.ts +28 -0
  121. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -0
  122. package/dist/services/actionflow/components/document_actions.js +266 -0
  123. package/dist/services/actionflow/components/document_actions.js.map +1 -0
  124. package/dist/services/actionflow/components/eb_get_data_by_id.d.ts +5 -0
  125. package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -0
  126. package/dist/services/actionflow/components/eb_get_data_by_id.js +44 -0
  127. package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -0
  128. package/dist/services/actionflow/components/enquiry_form.d.ts +5 -0
  129. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -0
  130. package/dist/services/actionflow/components/enquiry_form.js +100 -0
  131. package/dist/services/actionflow/components/enquiry_form.js.map +1 -0
  132. package/dist/services/actionflow/components/event_form_data.d.ts +3 -0
  133. package/dist/services/actionflow/components/event_form_data.d.ts.map +1 -0
  134. package/dist/services/actionflow/components/event_form_data.js +29 -0
  135. package/dist/services/actionflow/components/event_form_data.js.map +1 -0
  136. package/dist/services/actionflow/components/hrm_actions.d.ts +7 -0
  137. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -0
  138. package/dist/services/actionflow/components/hrm_actions.js +138 -0
  139. package/dist/services/actionflow/components/hrm_actions.js.map +1 -0
  140. package/dist/services/actionflow/components/index.d.ts +32 -0
  141. package/dist/services/actionflow/components/index.d.ts.map +1 -0
  142. package/dist/services/actionflow/components/index.js +132 -0
  143. package/dist/services/actionflow/components/index.js.map +1 -0
  144. package/dist/services/actionflow/components/logic_flow_set.d.ts +10 -0
  145. package/dist/services/actionflow/components/logic_flow_set.d.ts.map +1 -0
  146. package/dist/services/actionflow/components/logic_flow_set.js +79 -0
  147. package/dist/services/actionflow/components/logic_flow_set.js.map +1 -0
  148. package/dist/services/actionflow/components/meeting_create.d.ts +5 -0
  149. package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -0
  150. package/dist/services/actionflow/components/meeting_create.js +37 -0
  151. package/dist/services/actionflow/components/meeting_create.js.map +1 -0
  152. package/dist/services/actionflow/components/multiple_execution.d.ts +5 -0
  153. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -0
  154. package/dist/services/actionflow/components/multiple_execution.js +136 -0
  155. package/dist/services/actionflow/components/multiple_execution.js.map +1 -0
  156. package/dist/services/actionflow/components/output.d.ts +9 -0
  157. package/dist/services/actionflow/components/output.d.ts.map +1 -0
  158. package/dist/services/actionflow/components/output.js +81 -0
  159. package/dist/services/actionflow/components/output.js.map +1 -0
  160. package/dist/services/actionflow/components/schedule_create.d.ts +5 -0
  161. package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -0
  162. package/dist/services/actionflow/components/schedule_create.js +42 -0
  163. package/dist/services/actionflow/components/schedule_create.js.map +1 -0
  164. package/dist/services/actionflow/components/send_message.d.ts +7 -0
  165. package/dist/services/actionflow/components/send_message.d.ts.map +1 -0
  166. package/dist/services/actionflow/components/send_message.js +200 -0
  167. package/dist/services/actionflow/components/send_message.js.map +1 -0
  168. package/dist/services/actionflow/components/simple_scheduler.d.ts +5 -0
  169. package/dist/services/actionflow/components/simple_scheduler.d.ts.map +1 -0
  170. package/dist/services/actionflow/components/simple_scheduler.js +22 -0
  171. package/dist/services/actionflow/components/simple_scheduler.js.map +1 -0
  172. package/dist/services/actionflow/components/time_batch_trigger.d.ts +5 -0
  173. package/dist/services/actionflow/components/time_batch_trigger.d.ts.map +1 -0
  174. package/dist/services/actionflow/components/time_batch_trigger.js +92 -0
  175. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -0
  176. package/dist/services/actionflow/components/workflow_actions.d.ts +26 -0
  177. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -0
  178. package/dist/services/actionflow/components/workflow_actions.js +403 -0
  179. package/dist/services/actionflow/components/workflow_actions.js.map +1 -0
  180. package/dist/services/actionflow/context_data_builder.d.ts +9 -0
  181. package/dist/services/actionflow/context_data_builder.d.ts.map +1 -0
  182. package/dist/services/actionflow/context_data_builder.js +31 -0
  183. package/dist/services/actionflow/context_data_builder.js.map +1 -0
  184. package/dist/services/actionflow/context_preflight.d.ts +6 -0
  185. package/dist/services/actionflow/context_preflight.d.ts.map +1 -0
  186. package/dist/services/actionflow/context_preflight.js +122 -0
  187. package/dist/services/actionflow/context_preflight.js.map +1 -0
  188. package/dist/services/actionflow/context_provider.d.ts +18 -0
  189. package/dist/services/actionflow/context_provider.d.ts.map +1 -0
  190. package/dist/services/actionflow/context_provider.js +102 -0
  191. package/dist/services/actionflow/context_provider.js.map +1 -0
  192. package/dist/services/actionflow/context_source.d.ts +7 -0
  193. package/dist/services/actionflow/context_source.d.ts.map +1 -0
  194. package/dist/services/actionflow/context_source.js +10 -0
  195. package/dist/services/actionflow/context_source.js.map +1 -0
  196. package/dist/services/actionflow/design_client.d.ts +48 -0
  197. package/dist/services/actionflow/design_client.d.ts.map +1 -0
  198. package/dist/services/actionflow/design_client.js +170 -0
  199. package/dist/services/actionflow/design_client.js.map +1 -0
  200. package/dist/services/actionflow/document_source.d.ts +5 -0
  201. package/dist/services/actionflow/document_source.d.ts.map +1 -0
  202. package/dist/services/actionflow/document_source.js +5 -0
  203. package/dist/services/actionflow/document_source.js.map +1 -0
  204. package/dist/services/actionflow/enrich_approve_trigger.d.ts +12 -0
  205. package/dist/services/actionflow/enrich_approve_trigger.d.ts.map +1 -0
  206. package/dist/services/actionflow/enrich_approve_trigger.js +107 -0
  207. package/dist/services/actionflow/enrich_approve_trigger.js.map +1 -0
  208. package/dist/services/actionflow/filter_rules.d.ts +14 -0
  209. package/dist/services/actionflow/filter_rules.d.ts.map +1 -0
  210. package/dist/services/actionflow/filter_rules.js +259 -0
  211. package/dist/services/actionflow/filter_rules.js.map +1 -0
  212. package/dist/services/actionflow/form_source.d.ts +17 -0
  213. package/dist/services/actionflow/form_source.d.ts.map +1 -0
  214. package/dist/services/actionflow/form_source.js +42 -0
  215. package/dist/services/actionflow/form_source.js.map +1 -0
  216. package/dist/services/actionflow/formula_service.d.ts +51 -0
  217. package/dist/services/actionflow/formula_service.d.ts.map +1 -0
  218. package/dist/services/actionflow/formula_service.js +999 -0
  219. package/dist/services/actionflow/formula_service.js.map +1 -0
  220. package/dist/services/actionflow/generation_service.d.ts +28 -0
  221. package/dist/services/actionflow/generation_service.d.ts.map +1 -0
  222. package/dist/services/actionflow/generation_service.js +283 -0
  223. package/dist/services/actionflow/generation_service.js.map +1 -0
  224. package/dist/services/actionflow/hrm_source.d.ts +4 -0
  225. package/dist/services/actionflow/hrm_source.d.ts.map +1 -0
  226. package/dist/services/actionflow/hrm_source.js +8 -0
  227. package/dist/services/actionflow/hrm_source.js.map +1 -0
  228. package/dist/services/actionflow/id_generator.d.ts +13 -0
  229. package/dist/services/actionflow/id_generator.d.ts.map +1 -0
  230. package/dist/services/actionflow/id_generator.js +33 -0
  231. package/dist/services/actionflow/id_generator.js.map +1 -0
  232. package/dist/services/actionflow/person_source.d.ts +7 -0
  233. package/dist/services/actionflow/person_source.d.ts.map +1 -0
  234. package/dist/services/actionflow/person_source.js +34 -0
  235. package/dist/services/actionflow/person_source.js.map +1 -0
  236. package/dist/services/actionflow/preflight_service.d.ts +42 -0
  237. package/dist/services/actionflow/preflight_service.d.ts.map +1 -0
  238. package/dist/services/actionflow/preflight_service.js +1247 -0
  239. package/dist/services/actionflow/preflight_service.js.map +1 -0
  240. package/dist/services/actionflow/query_field_defaults.d.ts +3 -0
  241. package/dist/services/actionflow/query_field_defaults.d.ts.map +1 -0
  242. package/dist/services/actionflow/query_field_defaults.js +46 -0
  243. package/dist/services/actionflow/query_field_defaults.js.map +1 -0
  244. package/dist/services/actionflow/readback_verifier.d.ts +11 -0
  245. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -0
  246. package/dist/services/actionflow/readback_verifier.js +252 -0
  247. package/dist/services/actionflow/readback_verifier.js.map +1 -0
  248. package/dist/services/actionflow/request.d.ts +13 -0
  249. package/dist/services/actionflow/request.d.ts.map +1 -0
  250. package/dist/services/actionflow/request.js +15 -0
  251. package/dist/services/actionflow/request.js.map +1 -0
  252. package/dist/services/actionflow/runtime_metadata.d.ts +27 -0
  253. package/dist/services/actionflow/runtime_metadata.d.ts.map +1 -0
  254. package/dist/services/actionflow/runtime_metadata.js +142 -0
  255. package/dist/services/actionflow/runtime_metadata.js.map +1 -0
  256. package/dist/services/actionflow/save_workflow_draft.d.ts +34 -0
  257. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -0
  258. package/dist/services/actionflow/save_workflow_draft.js +449 -0
  259. package/dist/services/actionflow/save_workflow_draft.js.map +1 -0
  260. package/dist/services/actionflow/system_params.d.ts +5 -0
  261. package/dist/services/actionflow/system_params.d.ts.map +1 -0
  262. package/dist/services/actionflow/system_params.js +55 -0
  263. package/dist/services/actionflow/system_params.js.map +1 -0
  264. package/dist/services/actionflow/trigger_common.d.ts +6 -0
  265. package/dist/services/actionflow/trigger_common.d.ts.map +1 -0
  266. package/dist/services/actionflow/trigger_common.js +41 -0
  267. package/dist/services/actionflow/trigger_common.js.map +1 -0
  268. package/dist/services/actionflow/workflow_compiler.d.ts +27 -0
  269. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -0
  270. package/dist/services/actionflow/workflow_compiler.js +1804 -0
  271. package/dist/services/actionflow/workflow_compiler.js.map +1 -0
  272. package/dist/services/actionflow/workflow_source.d.ts +14 -0
  273. package/dist/services/actionflow/workflow_source.d.ts.map +1 -0
  274. package/dist/services/actionflow/workflow_source.js +86 -0
  275. package/dist/services/actionflow/workflow_source.js.map +1 -0
  276. package/dist/services/workflow-initiator.d.ts +15 -0
  277. package/dist/services/workflow-initiator.d.ts.map +1 -0
  278. package/dist/services/workflow-initiator.js +77 -0
  279. package/dist/services/workflow-initiator.js.map +1 -0
  280. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ import { buildTriggerDataSource, buildTriggerOperators, buildTriggerQueryFields } from '../trigger_common.js';
2
+ export const TIME_BATCH_TRIGGER_COMPONENT = {
3
+ type: 'TimeBatchTrigger',
4
+ nodeRole: 'event',
5
+ description: '按 Cron 表达式扫描数据源中符合条件的数据并批量触发动作流。',
6
+ display: { typeName: '定时批量触发', componentName: '定时批量触发', componentDesc: '定时扫描数据源符合条件的数据并触发动作流', icon: 'Icon-scheduled-batch-triggering-mcolor' },
7
+ params: {
8
+ dataSource: { required: true, description: '要扫描的数据源(表单)。标准格式为 groupId/id。', valueType: 'platform_reference', referenceType: 'ebuilder_form', valueShape: 'object' },
9
+ cornString: { required: true, description: 'Quartz Cron 表达式。例如每天 10:00:0 0 10 * * ?。', valueType: 'string' },
10
+ queryFields: { required: false, description: '批量查询输出字段;未提供或传空数组时默认全选(含数据ID等系统字段)。仅在需求明确限制输出时传字段列表。', valueType: 'array', valueShape: 'array' },
11
+ orderFields: { required: false, description: '查询排序字段。', valueType: 'array', valueShape: 'array' },
12
+ openRetryFlag: { required: false, description: '是否启用失败重试。', valueType: 'boolean' },
13
+ filterCondition: { required: false, description: '批量筛选条件。', valueType: 'object', valueShape: 'object' },
14
+ operator: { required: true, description: '操作人。', valueType: 'platform_reference', referenceType: 'user_assignment', valueShape: 'object' },
15
+ },
16
+ propertySources: [
17
+ { properties: ['dataSource', 'queryFields', 'filterCondition'], module: 'core.form_source', lookups: ['dsGroup', 'dsList', 'getEbField', 'showDataSourceFields'], purpose: '解析批量触发表单、查询字段和筛选字段', fallback: 'real_candidate_only' },
18
+ { properties: ['operator'], module: 'core.person_source', lookups: ['resourceData'], purpose: '补全必填操作人', fallback: 'real_candidate_only' },
19
+ ],
20
+ dataMapping: {
21
+ dataSource: '_timeBatchDataSource', cornString: 'cornString', queryFields: 'queryFields', orderFields: 'orderFields',
22
+ openRetryFlag: 'openRetryFlag', filterCondition: 'filterInput', operator: 'operator',
23
+ },
24
+ defaultData: { rate: '6', radioVal: 'cycle', cycle: 1, openRetry: false, openRetryFlag: false, physical: true, typeFrom: 'FORM' },
25
+ triggerType: 'TimerTrigger',
26
+ triggerTypeName: '定时批量触发',
27
+ runtimeContext: { inputs: [], outputs: ['FormData', 'FormField', 'SettingInfo', 'accessId', 'monitorId'] },
28
+ dataFields: {
29
+ dataSource: { type: 'object', required: true, subfields: ['id', 'groupId', 'text', 'type'] },
30
+ filterInput: { type: 'object', required: true },
31
+ rate: { type: 'string', required: true, default: '6' },
32
+ cornString: { type: 'string', required: true },
33
+ operator: { type: 'array', required: true },
34
+ queryFields: { type: 'array', required: false },
35
+ },
36
+ };
37
+ const TIME_BATCH_DEFAULTS = {
38
+ radioVal: 'cycle', rate: 6, cycle: 1, hourDb: '', dayDb: '', weekDb: '', monthDb: '',
39
+ atWeekDb: '', atWeekDetailDb: '', lastWeekDb: '', cornString: '', endTime: '', startTime: '',
40
+ openRetry: false, openRetryFlag: false, physical: true, typeFrom: 'FORM',
41
+ filterInput: { isNewFilter: true, isParent: true, datas: [], parentNode: '', relationship: '1', key: '' },
42
+ operator: [], queryFields: [], filterText: '',
43
+ };
44
+ export function timeBatchTriggerCompiler(draftParams, ctx) {
45
+ const meta = ctx.meta || {};
46
+ const appId = ctx.appId;
47
+ const result = JSON.parse(JSON.stringify(TIME_BATCH_DEFAULTS));
48
+ const ds = draftParams.dataSource || {};
49
+ const [dsId, dsGroup, dataSource] = buildTriggerDataSource(ds, { includeSourceId: true });
50
+ if (ds && typeof ds === 'object') {
51
+ result.dataSource = dataSource;
52
+ result.sourceId = dsId;
53
+ result.tableNames = String(ds.text || ds.name || '');
54
+ result.groupId = dsGroup;
55
+ result.typeFrom = String(ds.type || 'FORM');
56
+ result.physical = true;
57
+ result.appId = dsGroup;
58
+ }
59
+ const cornString = String(draftParams.cornString ?? '').trim();
60
+ if (!cornString)
61
+ throw new Error('TimeBatchTrigger 缺少必填的 cornString(Quartz Cron 表达式)');
62
+ result.rate = 6;
63
+ result.radioVal = 'cycle';
64
+ result.cornString = cornString;
65
+ for (const key of ['orderFields']) {
66
+ const value = draftParams[key];
67
+ if (value !== undefined && value !== null && value !== '' && !(Array.isArray(value) && value.length === 0)) {
68
+ result[key] = JSON.parse(JSON.stringify(value));
69
+ }
70
+ }
71
+ if (draftParams.openRetryFlag !== undefined && draftParams.openRetryFlag !== null) {
72
+ result.openRetryFlag = Boolean(draftParams.openRetryFlag);
73
+ result.openRetry = Boolean(draftParams.openRetryFlag);
74
+ }
75
+ const fc = draftParams.filterCondition;
76
+ if (fc && typeof fc === 'object' && Object.keys(fc).length) {
77
+ if (!ctx.buildFilterInput)
78
+ throw new Error('TimeBatchTrigger.filterCondition requires a filter builder');
79
+ result.filterInput = ctx.buildFilterInput(result, fc, meta, appId, 'TimeBatchTrigger');
80
+ }
81
+ const operators = buildTriggerOperators(draftParams.operator);
82
+ if (operators.length)
83
+ result.operator = operators;
84
+ result.queryFields = buildTriggerQueryFields(draftParams.queryFields, dsId);
85
+ result.applicationName = draftParams.dataSource && typeof draftParams.dataSource === 'object' ? String(draftParams.dataSource.text || '') : '';
86
+ if (appId) {
87
+ result.currentApplication = appId;
88
+ result.applicationId = appId;
89
+ }
90
+ return result;
91
+ }
92
+ //# sourceMappingURL=time_batch_trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time_batch_trigger.js","sourceRoot":"","sources":["../../../../src/services/actionflow/components/time_batch_trigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** Native workflow actions. The DTO fields here are taken from the workflow component
2
+ * frontend and backend; keep reference values as FormulaBeans rather than raw IDs. */
3
+ import type { CompilerContext } from './index.js';
4
+ export declare const APPROVE_SAVE_COMPONENT: Record<string, any>;
5
+ export declare const APPROVE_MANDATORY_ARCHIVING_COMPONENT: Record<string, any>;
6
+ export declare const APPROVE_COMMIT_COMPONENT: Record<string, any>;
7
+ export declare const APPROVE_DELETE_COMPONENT: Record<string, any>;
8
+ export declare const APPROVE_DO_CIRCULATE_COMPONENT: Record<string, any>;
9
+ export declare const APPROVE_INTERVENTION_COMPONENT: Record<string, any>;
10
+ export declare const WORKFLOW_DOC_EMPOWERMENT_COMPONENT: Record<string, any>;
11
+ export declare const APPROVE_DO_FORWARD_COMPONENT: Record<string, any>;
12
+ export declare const APPROVE_DO_TURN_TODO_COMPONENT: Record<string, any>;
13
+ export declare const APPROVE_CONSUL_TURN_TODO_COMPONENT: Record<string, any>;
14
+ export declare const APPROVE_MANUAL_CC_COMPONENT: Record<string, any>;
15
+ export declare const APPROVE_ADD_SIGN_COMPONENT: Record<string, any>;
16
+ export declare const APPROVE_AGREE_REJECT_APPLY_COMPONENT: Record<string, any>;
17
+ export declare const APPROVE_REFUSE_REJECT_APPLY_COMPONENT: Record<string, any>;
18
+ export declare const APPROVE_REJECT_APPLY_COMPONENT: Record<string, any>;
19
+ export declare const APPROVE_WITHDRAW_COMPONENT: Record<string, any>;
20
+ export declare const APPROVE_SHARE_ENTRY_COMPONENT: Record<string, any>;
21
+ export declare const APPROVE_SEND_BACK_COMPONENT: Record<string, any>;
22
+ export declare const APPROVE_COMPLETELY_DELETE_COMPONENT: Record<string, any>;
23
+ export declare const WORKFLOW_TO_DOC_COMPONENT: Record<string, any>;
24
+ export declare const APPROVE_ENTRUST_COMPONENT: Record<string, any>;
25
+ export declare const workflowCompilers: Record<string, (draft: Record<string, any>, ctx: CompilerContext) => Record<string, any>>;
26
+ //# sourceMappingURL=workflow_actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow_actions.d.ts","sourceRoot":"","sources":["../../../../src/services/actionflow/components/workflow_actions.ts"],"names":[],"mappings":"AAAA;sFACsF;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAqPlD,eAAO,MAAM,sBAAsB,qBAKgO,CAAC;AAIpQ,eAAO,MAAM,qCAAqC,qBAEmD,CAAC;AAEtG,eAAO,MAAM,wBAAwB,qBAE+K,CAAC;AAGrN,eAAO,MAAM,wBAAwB,qBAEuI,CAAC;AAE7K,eAAO,MAAM,8BAA8B,qBAE4M,CAAC;AAExP,eAAO,MAAM,8BAA8B,qBAEgM,CAAC;AAE5O,eAAO,MAAM,kCAAkC,qBAEmD,CAAC;AAYnG,eAAO,MAAM,4BAA4B,qBAEuC,CAAC;AACjF,eAAO,MAAM,8BAA8B,qBAEF,CAAC;AAC1C,eAAO,MAAM,kCAAkC,qBAA4E,CAAC;AAC5H,eAAO,MAAM,2BAA2B,qBAE2H,CAAC;AACpK,eAAO,MAAM,0BAA0B,qBAEkE,CAAC;AAM1G,eAAO,MAAM,oCAAoC,qBAA4E,CAAC;AAC9H,eAAO,MAAM,qCAAqC,qBAA8E,CAAC;AACjI,eAAO,MAAM,8BAA8B,qBAA8E,CAAC;AAC1H,eAAO,MAAM,0BAA0B,qBAEoF,CAAC;AAC5H,eAAO,MAAM,6BAA6B,qBAEuI,CAAC;AAClL,eAAO,MAAM,2BAA2B,qBAE8Q,CAAC;AAEvT,eAAO,MAAM,mCAAmC,qBAEa,CAAC;AAC9D,eAAO,MAAM,yBAAyB,qBAKmD,CAAC;AAC1F,eAAO,MAAM,yBAAyB,qBAgBoD,CAAC;AAE3F,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEvH,CAAC"}
@@ -0,0 +1,403 @@
1
+ import { buildPersonFormula, formulaSystemVar, formulaFixedForAssignSwitch, buildSettingEntry } from '../formula_service.js';
2
+ import { buildFormulaReference } from './action_eb_update_compiler.js';
3
+ import { genSfId } from '../id_generator.js';
4
+ const workflowSource = [{
5
+ properties: ['workflowPath', 'requestId'], module: 'core.workflow_source',
6
+ lookups: ['workflowPathBrowserComplete', 'getWfField'], purpose: '解析流程定义和流程实例', fallback: 'real_candidate_only',
7
+ }];
8
+ const personSource = [{
9
+ properties: ['operator', 'initiator', 'employeeId', 'receiveIds', 'interventionReceiverIds', 'hrmResource', 'perator', 'joinOperators', 'shareEntities', 'entrustUser', 'consignee', 'ccReceiverIds'],
10
+ module: 'core.person_source', lookups: ['resourceData'], purpose: '解析人员 Browser 对象', fallback: 'real_candidate_only',
11
+ }];
12
+ function formula(value, ctx, person = false) {
13
+ if (value == null || value === '')
14
+ throw new Error('流程组件必填 FormulaBean 值不能为空');
15
+ const type = value && typeof value === 'object' ? String(value.type ?? '') : '';
16
+ if (value && typeof value === 'object' && ['1', '3', '4', '5', '6', '8', '9', '10'].includes(type) && !value.kind)
17
+ return { ...value };
18
+ if (person && value && typeof value === 'object')
19
+ return buildPersonFormula(value, ctx.meta, ctx.appId, false, true);
20
+ if (Array.isArray(value) && value.length && value.every((item) => item && typeof item === 'object' && (item.id || item.value))) {
21
+ const ids = value.map((item) => String(item.id ?? item.value));
22
+ const bean = formulaFixedForAssignSwitch(ids.join(','));
23
+ bean.name = value.map((item) => String(item.name ?? item.text ?? item.label ?? item.id ?? item.value)).join(',');
24
+ bean.applicationId = ctx.appId;
25
+ bean.config = { originValue: value, switchType: 'fixvalue', formulaVersion: 'V1' };
26
+ return bean;
27
+ }
28
+ if (value && typeof value === 'object' && (value.id || value.value) && (value.name || value.text || value.label)) {
29
+ const rawId = String(value.id ?? value.value);
30
+ const bean = formulaFixedForAssignSwitch(rawId);
31
+ bean.name = String(value.name ?? value.text ?? value.label ?? rawId);
32
+ bean.applicationId = ctx.appId;
33
+ bean.config = { originValue: [value], switchType: 'fixvalue', formulaVersion: 'V1' };
34
+ return bean;
35
+ }
36
+ if (value && typeof value === 'object' && (value.kind === 'system_variable' || value.assignmentKind === 'system_variable')) {
37
+ return formulaSystemVar(String(value.key || '{userid}'));
38
+ }
39
+ return buildFormulaReference(value, { meta: ctx.meta, appId: ctx.appId, eventId: ctx.eventNodeId, componentType: 'workflow' });
40
+ }
41
+ function formulas(value, ctx, person = false) {
42
+ const values = Array.isArray(value) ? value : [value];
43
+ if (!values.length || values.some((item) => item == null || item === ''))
44
+ throw new Error('流程组件人员/流程列表不能为空');
45
+ return values.map((item) => formula(item, ctx, person));
46
+ }
47
+ function workflowActionCompiler(type, draft, ctx) {
48
+ const result = ctx.compileGeneric(draft, type, ctx);
49
+ const require = (key) => {
50
+ const value = draft[key];
51
+ if (value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0)) {
52
+ throw new Error(`${type}.${key} 为必填项,不能省略或伪造`);
53
+ }
54
+ };
55
+ const put = (key, value, person = false) => {
56
+ if (value !== undefined && value !== null && value !== '')
57
+ result[key] = formula(value, ctx, person);
58
+ };
59
+ const putList = (key, value, person = false) => {
60
+ if (value !== undefined && value !== null)
61
+ result[key] = formulas(value, ctx, person);
62
+ };
63
+ if (type === 'ApproveSave' || type === 'ApproveCommit') {
64
+ require('workflowPath');
65
+ require('requestId');
66
+ require('operator');
67
+ put('requestId', draft.requestId);
68
+ put('requestName', draft.requestName);
69
+ put('operator', draft.operator, true);
70
+ put('remark', draft.remark);
71
+ put('odocId', draft.odocId);
72
+ put('dataId', draft.dataId);
73
+ if (type === 'ApproveSave')
74
+ put('onlySaveForm', draft.onlySaveForm ?? { kind: 'fixed', value: false });
75
+ }
76
+ else if (type === 'ApproveMandatoryArchiving') {
77
+ require('requestId');
78
+ require('operator');
79
+ put('requestId', draft.requestId);
80
+ put('operator', draft.operator, true);
81
+ put('remark', draft.remark);
82
+ }
83
+ else if (type === 'ApproveDelete') {
84
+ require('requestId');
85
+ require('operator');
86
+ putList('requestId', draft.requestId);
87
+ put('operator', draft.operator, true);
88
+ }
89
+ else if (type === 'ApproveDoCirculate') {
90
+ require('requestId');
91
+ require('receiveIds');
92
+ require('initiator');
93
+ put('requestId', draft.requestId);
94
+ putList('receiveIds', draft.receiveIds, true);
95
+ put('initiator', draft.initiator, true);
96
+ put('remark', draft.remark);
97
+ }
98
+ else if (['ApproveDoForward', 'ApproveDoTurnTodo', 'ApproveConsulTurnTodo'].includes(type)) {
99
+ require('requestId');
100
+ require('receiveIds');
101
+ require('initiator');
102
+ put('requestId', draft.requestId);
103
+ putList('receiveIds', draft.receiveIds, true);
104
+ put('initiator', draft.initiator, true);
105
+ for (const key of ['requestName', 'remark'])
106
+ put(key, draft[key]);
107
+ }
108
+ else if (type === 'ApproveManualCC') {
109
+ require('requestId');
110
+ require('receiveTypes');
111
+ require('receiveIds');
112
+ require('initiator');
113
+ put('requestId', draft.requestId);
114
+ putList('receiveIds', draft.receiveIds, true);
115
+ put('initiator', draft.initiator, true);
116
+ put('remark', draft.remark);
117
+ }
118
+ else if (type === 'ApproveAddSign') {
119
+ require('requestId');
120
+ require('employeeId');
121
+ require('src');
122
+ require('joinOperators');
123
+ put('requestId', draft.requestId);
124
+ put('employeeId', draft.employeeId, true);
125
+ putList('joinOperators', draft.joinOperators, true);
126
+ put('remark', draft.remark);
127
+ }
128
+ else if (['ApproveAgreeRejectApply', 'ApproveRefuseRejectApply'].includes(type)) {
129
+ require('requestId');
130
+ require('employeeId');
131
+ put('requestId', draft.requestId);
132
+ put('employeeId', draft.employeeId, true);
133
+ }
134
+ else if (type === 'ApproveRejectApply') {
135
+ require('requestId');
136
+ require('employeeId');
137
+ require('remark');
138
+ put('requestId', draft.requestId);
139
+ put('employeeId', draft.employeeId, true);
140
+ put('remark', draft.remark);
141
+ }
142
+ else if (type === 'ApproveWithdraw') {
143
+ require('requestId');
144
+ require('operator');
145
+ put('requestId', draft.requestId);
146
+ put('operator', draft.operator, true);
147
+ put('remark', draft.remark);
148
+ }
149
+ else if (type === 'ApproveShareEntry') {
150
+ require('requestIds');
151
+ require('shareType');
152
+ require('shareEntities');
153
+ require('perator');
154
+ putList('requestIds', draft.requestIds);
155
+ putList('shareEntities', draft.shareEntities, draft.shareType === 'user');
156
+ put('perator', draft.perator, true);
157
+ for (const key of ['minSeclevel', 'maxSeclevel', 'shareTargetType'])
158
+ put(key, draft[key]);
159
+ }
160
+ else if (type === 'ApproveSendBack') {
161
+ require('workflowPath');
162
+ require('requestId');
163
+ require('operator');
164
+ require('rejectToNodeId');
165
+ if (!Array.isArray(draft.workflowPath) || !draft.workflowPath.length)
166
+ throw new Error('ApproveSendBack.workflowPath 必须是已解析的工作流 Browser 对象数组');
167
+ if (!Array.isArray(draft.rejectToNodeId) || !draft.rejectToNodeId.length)
168
+ throw new Error('ApproveSendBack.rejectToNodeId 必须是已解析的节点 Browser 对象数组');
169
+ result.workflowPath = draft.workflowPath;
170
+ result.rejectToNodeId = draft.rejectToNodeId;
171
+ put('requestId', draft.requestId);
172
+ put('operator', draft.operator, true);
173
+ for (const key of ['requestName', 'odocId', 'remark', 'dataId'])
174
+ put(key, draft[key]);
175
+ }
176
+ else if (type === 'ApproveCompletelyDelete') {
177
+ require('requestIds');
178
+ require('operator');
179
+ putList('requestIds', draft.requestIds);
180
+ put('operator', draft.operator, true);
181
+ }
182
+ else if (type === 'WorkflowToDoc') {
183
+ require('workflowPath');
184
+ require('requestId');
185
+ require('operator');
186
+ require('toDocSettings');
187
+ const workflowPath = Array.isArray(draft.workflowPath) ? draft.workflowPath : [draft.workflowPath];
188
+ if (!workflowPath.length || !workflowPath.every((item) => item && typeof item === 'object' && item.id)) {
189
+ throw new Error('WorkflowToDoc.workflowPath 必须是已解析的工作流 Browser 对象');
190
+ }
191
+ const settings = draft.toDocSettings;
192
+ if (!settings || typeof settings !== 'object' || Array.isArray(settings)) {
193
+ throw new Error('WorkflowToDoc.toDocSettings 必须是来自平台存文档设置的对象');
194
+ }
195
+ if (String(settings.saveDirectorySelect ?? '0') === '0'
196
+ && (!Array.isArray(settings.saveDirectoryBrowserValue) || settings.saveDirectoryBrowserValue.length === 0)) {
197
+ throw new Error('WorkflowToDoc 固定目录模式必须提供真实 saveDirectoryBrowserValue 文档目录 Browser 对象;不能伪造目录。');
198
+ }
199
+ result.workflowPathBrowser = workflowPath;
200
+ put('requestIdFormula', draft.requestId);
201
+ put('operatorFormula', draft.operator, true);
202
+ const settingKeys = [
203
+ 'saveDirectorySelect', 'saveDirectoryBrowserValue', 'saveDirectoryOptionValue', 'fileManagerSelect',
204
+ 'fileManagerSelectBrowserValue', 'hrmResourceValue', 'reservedSignatureComments', 'docTypes',
205
+ 'offlineContainAttach', 'landscapePdf', 'docSource', 'layoutId', 'displayInForm', 'fileCoverFieldValue',
206
+ 'fileCoverField', 'displayWatermark', 'pdfMergeAttach', 'docFlowPage', 'manuallyDirectory', 'action',
207
+ ];
208
+ for (const key of settingKeys)
209
+ if (settings[key] !== undefined)
210
+ result[key] = settings[key];
211
+ result.id = String(draft.id || genSfId());
212
+ }
213
+ else if (type === 'ApproveEntrust') {
214
+ require('operator');
215
+ require('entrustUser');
216
+ require('consignee');
217
+ require('identityId');
218
+ require('entrustType');
219
+ const fields = draft._entrustFields;
220
+ if (!fields || typeof fields !== 'object') {
221
+ throw new Error('ApproveEntrust 缺少当前租户的动态字段定义;必须先执行预检。');
222
+ }
223
+ const entry = (name, value) => {
224
+ const field = fields[name];
225
+ if (!field)
226
+ throw new Error(`ApproveEntrust 当前租户缺少字段 ${name}`);
227
+ return [String(field.id), buildSettingEntry(String(field.id), value, String(field.componentKey || 'Text'), ctx.meta, ctx.appId, ctx.eventNodeId, 'OPERATE_EQUAL', type)];
228
+ };
229
+ const settingMain = Object.fromEntries([
230
+ entry('entrustUserId', draft.entrustUser),
231
+ entry('beAgentIdentities', { kind: 'fixed', value: draft.identityId }),
232
+ entry('consigneeId', draft.consignee),
233
+ ...['remark', 'startTime', 'endTime']
234
+ .filter((key) => draft[key] !== undefined && draft[key] !== null && draft[key] !== '')
235
+ .map((key) => entry(key, draft[key])),
236
+ ]);
237
+ const commonMain = Object.fromEntries([
238
+ entry('entrustType', { kind: 'fixed', value: draft.entrustType }),
239
+ ...['approveType', 'approveId', 'nodeId', 'entrustWfBoot', 'entrustBootSubApprove', 'entrustWfHandle', 'entrustSpecifyType', 'entrustApproveType', 'entrustTodoApprove']
240
+ .filter((key) => draft[key] !== undefined && draft[key] !== null && draft[key] !== '')
241
+ .map((key) => entry(key, draft[key])),
242
+ ]);
243
+ const formData = (main) => ({ opType: 'insert', updatePolicy: 'ALL', dataDrWithCalc: false, main, detail: [], updateFieldCondition: { updateField: [] } });
244
+ result.operatorId = formula(draft.operator, ctx, true);
245
+ result.setting = formData(settingMain);
246
+ result.settingCommon = formData(commonMain);
247
+ }
248
+ else if (type === 'ApproveIntervention') {
249
+ require('workflowId');
250
+ require('submitToNodeId');
251
+ require('requestId');
252
+ require('employeeId');
253
+ require('interventionReceiverIds');
254
+ if (!Array.isArray(draft.workflowId) || !draft.workflowId.length)
255
+ throw new Error('ApproveIntervention.workflowId 必须是已解析的工作流 Browser 对象数组');
256
+ if (!Array.isArray(draft.submitToNodeId) || !draft.submitToNodeId.length)
257
+ throw new Error('ApproveIntervention.submitToNodeId 必须是已解析的节点 Browser 对象数组');
258
+ result.workflowId = draft.workflowId;
259
+ result.submitToNodeId = draft.submitToNodeId;
260
+ put('requestId', draft.requestId);
261
+ put('employeeId', draft.employeeId, true);
262
+ putList('interventionReceiverIds', draft.interventionReceiverIds, true);
263
+ put('remark', draft.remark);
264
+ if (draft.ccType === '2')
265
+ put('ccReceiverIds', draft.ccReceiverIds, true);
266
+ }
267
+ else if (type === 'WorkFlowDocEmpowerment') {
268
+ require('requestId');
269
+ require('documents');
270
+ put('requestId', draft.requestId);
271
+ for (const key of ['hrmResource', 'department', 'subcompony', 'hrmRange', 'hrmCondition', 'documents', 'allowDocumentDownload']) {
272
+ if (draft[key] !== undefined && draft[key] !== null)
273
+ result[key] = formula(draft[key], ctx, key === 'hrmResource');
274
+ }
275
+ }
276
+ return result;
277
+ }
278
+ function contractDataFields(params, defaultData) {
279
+ const fields = {
280
+ ebActionId: { type: 'int|str', required: true, platformRef: 'actionConfig' },
281
+ };
282
+ for (const [name, definition] of Object.entries(params)) {
283
+ const param = definition;
284
+ fields[name] = {
285
+ type: String(param.valueType || 'any'),
286
+ required: Boolean(param.required),
287
+ ...(param.default !== undefined ? { default: param.default } : {}),
288
+ ...(Array.isArray(param.options) ? { options: param.options.map((item) => String(item?.value ?? item)) } : {}),
289
+ };
290
+ }
291
+ for (const [name, value] of Object.entries(defaultData)) {
292
+ if (name in fields)
293
+ continue;
294
+ fields[name] = { type: typeof value, required: false, default: value };
295
+ }
296
+ return fields;
297
+ }
298
+ function standard(type, name, desc, params, dataMapping, defaultData) {
299
+ return {
300
+ type, nodeRole: 'action', description: desc,
301
+ display: { typeName: name, componentName: name, componentDesc: desc, icon: 'Icon-approval-process01-mcolor' },
302
+ params, propertySources: [...workflowSource, ...personSource], dataMapping, defaultData,
303
+ runtimeContext: { inputs: ['FormData'], outputs: [] },
304
+ dataFields: contractDataFields(params, defaultData),
305
+ };
306
+ }
307
+ const formulaParam = (description, required = false) => ({ required, description, valueType: 'formula_or_reference' });
308
+ const personParam = (description, required = false) => ({ required, description, valueType: 'platform_reference', referenceType: 'user_assignment', valueShape: 'object' });
309
+ export const APPROVE_SAVE_COMPONENT = standard('ApproveSave', '保存流程', '保存流程和更新流程表单数据', {
310
+ workflowPath: { required: true, description: '目标流程定义 Browser 对象。', valueType: 'platform_reference', referenceType: 'workflow' },
311
+ requestId: formulaParam('要保存的流程实例 ID;可为上下文公式。', true), operator: personParam('保存操作人。', true),
312
+ requestName: formulaParam('流程标题。'), remark: formulaParam('签字意见。'), onlySaveForm: formulaParam('仅保存表单数据。'),
313
+ mapping: { required: false, description: '源字段→目标流程表单字段 ID。', valueType: 'object' }, constants: { required: false, description: '目标流程表单固定值。', valueType: 'object' }, detail: { required: false, description: '明细字段映射。', valueType: 'array' },
314
+ }, { workflowPath: '_bizWorkflowPath', mapping: '_setting_mapping', constants: '_setting_constants', detail: '_setting_detail', module: 'module', requestLevel: 'requestLevel' }, { ebActionId: '-1', type: 'ApproveSave', module: 'workflow', requestLevel: '0' });
315
+ // 保存/提交流程和新建流程共用流程表单 DTO;即使没有字段映射也保留空容器,避免设计器把表单数据判为缺失。
316
+ APPROVE_SAVE_COMPONENT.formDataPayload = { fieldsMetaKey: '_bizFields' };
317
+ export const APPROVE_MANDATORY_ARCHIVING_COMPONENT = standard('ApproveMandatoryArchiving', '强制结束流程', '将审批中的流程强制归档', {
318
+ requestId: formulaParam('要归档的流程实例 ID。', true), operator: personParam('操作者。', true), remark: formulaParam('签字意见。'), module: { required: false, default: 'workflow', description: '流程模块。', valueType: 'string' },
319
+ }, { module: 'module' }, { ebActionId: '-1', type: 'ApproveMandatoryArchiving', module: 'workflow' });
320
+ export const APPROVE_COMMIT_COMPONENT = standard('ApproveCommit', '提交流程', '对流程进行审批', {
321
+ workflowPath: { required: true, description: '目标流程定义 Browser 对象。', valueType: 'platform_reference', referenceType: 'workflow' }, requestId: formulaParam('待提交的流程实例 ID。', true), operator: personParam('审批操作人。', true), requestName: formulaParam('流程标题。'), remark: formulaParam('签字意见。'), mapping: { required: false, description: '流程表单字段映射。', valueType: 'object' }, constants: { required: false, description: '流程表单固定值。', valueType: 'object' }, detail: { required: false, description: '明细字段映射。', valueType: 'array' },
322
+ }, { workflowPath: '_bizWorkflowPath', mapping: '_setting_mapping', constants: '_setting_constants', detail: '_setting_detail', module: 'module' }, { ebActionId: '-1', type: 'ApproveCommit', module: 'workflow' });
323
+ APPROVE_COMMIT_COMPONENT.formDataPayload = { fieldsMetaKey: '_bizFields' };
324
+ export const APPROVE_DELETE_COMPONENT = standard('ApproveDelete', '删除流程', '将流程删除至回收站', {
325
+ requestId: { required: true, description: '要删除的一个或多个流程实例 ID/公式。', valueType: 'array' }, operator: personParam('操作人。', true), module: { required: false, default: 'workflow', description: '流程模块。', valueType: 'string' }, deleteType: { required: false, default: '0', description: '权限校验:0需要,1不需要。', valueType: 'enum' }, isNoCheck: { required: false, default: '0', description: '删除类型:0回收站,1彻底删除,3同时删除流程表。', valueType: 'enum' },
326
+ }, { module: 'module', deleteType: 'deleteType', isNoCheck: 'isNoCheck' }, { ebActionId: '-1', type: 'ApproveDelete', module: 'workflow', deleteType: '0', isNoCheck: '0' });
327
+ export const APPROVE_DO_CIRCULATE_COMPONENT = standard('ApproveDoCirculate', '抄送流程', '将流程抄送给指定接收方', {
328
+ requestId: formulaParam('关联流程实例 ID。', true), receiveIds: { required: true, description: '传阅接收人 Browser 对象数组。', valueType: 'array' }, initiator: personParam('操作人。', true), allowAnnotation: { required: false, default: '0', description: '是否可提交意见:0否,1是。', valueType: 'enum' }, allowForward: { required: false, default: '0', description: '是否可传阅:0否,1是。', valueType: 'enum' }, needWfBack: { required: false, default: '0', description: '阅知后是否通知我:0否,1是。', valueType: 'enum' }, remark: formulaParam('签字意见。'), wfGroup: { required: false, default: 'workflow', description: '流程模块。', valueType: 'string' },
329
+ }, { wfGroup: 'wfGroup', allowAnnotation: 'allowAnnotation', allowForward: 'allowForward', needWfBack: 'needWfBack' }, { ebActionId: '-1', type: 'ApproveDoCirculate', wfGroup: 'workflow', allowAnnotation: '0', allowForward: '0', needWfBack: '0' });
330
+ export const APPROVE_INTERVENTION_COMPONENT = standard('ApproveIntervention', '干预流程', '将流程干预流转到指定节点', {
331
+ workflowId: { required: true, description: '真实工作流 Browser 对象数组。', valueType: 'array' }, submitToNodeId: { required: true, description: '真实流程节点 Browser 对象数组。', valueType: 'array' }, requestId: formulaParam('关联流程实例 ID。', true), employeeId: personParam('操作人员。', true), interventionReceiverIds: { required: true, description: '节点处理人 Browser 对象数组。', valueType: 'array' }, signType: { required: true, description: '会签属性:0非会签,1会签,2依次处理。', valueType: 'enum' }, enableIntervention: { required: false, default: false, description: '是否执行节点附加操作。', valueType: 'boolean' }, ccType: { required: false, default: '0', description: '节点抄送人类型。', valueType: 'enum' }, ccReceiverIds: { required: false, description: 'ccType=2 时的抄送人。', valueType: 'platform_reference' }, remark: formulaParam('干预意见。'), wfGroup: { required: false, default: 'workflow', description: '流程模块。', valueType: 'string' },
332
+ }, { wfGroup: 'wfGroup', signType: 'signType', enableIntervention: 'enableIntervention', ccType: 'ccType' }, { ebActionId: '-1', type: 'ApproveIntervention', wfGroup: 'workflow', signType: '0', enableIntervention: false, ccType: '0' });
333
+ export const WORKFLOW_DOC_EMPOWERMENT_COMPONENT = standard('WorkFlowDocEmpowerment', '流程关联文档赋权', '对指定人员范围添加流程中相关文档的权限', {
334
+ requestId: formulaParam('关联流程实例 ID。', true), documents: { required: true, description: '相关文档 Browser 对象/公式。', valueType: 'formula_or_reference' }, hrmResource: { required: false, description: '人员范围。', valueType: 'formula_or_reference' }, department: { required: false, description: '部门范围。', valueType: 'formula_or_reference' }, subcompony: { required: false, description: '分部范围。', valueType: 'formula_or_reference' }, hrmRange: formulaParam('人员范围选择。'), hrmCondition: formulaParam('人力资源条件。'), allowDocumentDownload: formulaParam('是否允许下载文档。'), module: { required: false, default: 'workflow', description: '流程模块。', valueType: 'string' },
335
+ }, { module: 'module' }, { ebActionId: '-1', type: 'WorkFlowDocEmpowerment', module: 'workflow' });
336
+ function transferComponent(type, name, description, extras = {}, defaults = {}) {
337
+ return standard(type, name, description, {
338
+ requestId: formulaParam('关联流程实例 ID。', true),
339
+ receiveIds: { required: true, description: '接收人 Browser 对象数组。', valueType: 'array' },
340
+ initiator: personParam('操作人。', true),
341
+ requestName: formulaParam('流程标题。'), remark: formulaParam('签字意见。'),
342
+ ...extras,
343
+ }, { wfGroup: 'wfGroup', ...Object.fromEntries(Object.keys(extras).map((key) => [key, key])) }, { ebActionId: '-1', type, wfGroup: 'workflow', ...defaults });
344
+ }
345
+ export const APPROVE_DO_FORWARD_COMPONENT = transferComponent('ApproveDoForward', '转发流程', '将流程转发给指定人员', {
346
+ allowAnnotation: { required: false, default: '0', description: '是否可提交意见。', valueType: 'enum' }, needWfBack: { required: false, default: '0', description: '是否通知操作人。', valueType: 'enum' }, secLevel: { required: false, default: '0', description: '安全级别。', valueType: 'enum' }, requestLevel: { required: false, default: '-1', description: '紧急程度。', valueType: 'enum' },
347
+ }, { allowAnnotation: '0', needWfBack: '0', secLevel: '0', requestLevel: '-1' });
348
+ export const APPROVE_DO_TURN_TODO_COMPONENT = transferComponent('ApproveDoTurnTodo', '转办流程', '将流程转办给指定人员处理', {
349
+ secLevel: { required: false, default: '0', description: '安全级别。', valueType: 'enum' }, requestLevel: { required: false, default: '-1', description: '紧急程度。', valueType: 'enum' },
350
+ }, { secLevel: '0', requestLevel: '-1' });
351
+ export const APPROVE_CONSUL_TURN_TODO_COMPONENT = transferComponent('ApproveConsulTurnTodo', '征询转办流程', '将意见征询的流程转办给他人', {});
352
+ export const APPROVE_MANUAL_CC_COMPONENT = standard('ApproveManualCC', '抄送批注流程', '抄送人对流程进行意见批注', {
353
+ requestId: formulaParam('关联流程实例 ID。', true), receiveTypes: { required: true, description: '接收对象类型;当前仅支持 user。', valueType: 'enum', options: [{ value: 'user' }] }, receiveIds: { required: true, description: '接收人 Browser 对象数组。', valueType: 'array' }, initiator: personParam('操作人。', true), needBack: { required: false, default: false, description: '是否要求批注。', valueType: 'boolean' }, remark: formulaParam('签字意见。'),
354
+ }, { wfGroup: 'wfGroup', receiveTypes: 'receiveTypes', needBack: 'needBack' }, { ebActionId: '-1', type: 'ApproveManualCC', wfGroup: 'workflow', needBack: false });
355
+ export const APPROVE_ADD_SIGN_COMPONENT = standard('ApproveAddSign', '加审流程', '对流程添加审批人员', {
356
+ requestId: formulaParam('关联流程实例 ID。', true), employeeId: personParam('操作人员。', true), src: { required: true, description: '操作类型:joinSign 或 joinSignAndSubmit。', valueType: 'enum' }, joinOperators: { required: true, description: '加审人员 Browser 对象数组。', valueType: 'array' }, remark: formulaParam('签字意见。'),
357
+ }, { wfGroup: 'wfGroup', src: 'src' }, { ebActionId: '-1', type: 'ApproveAddSign', wfGroup: 'workflow' });
358
+ function rejectApplicationComponent(type, name, description, remarkRequired = false) {
359
+ return standard(type, name, description, {
360
+ requestId: formulaParam('关联流程实例 ID。', true), employeeId: personParam('操作人员。', true), remark: formulaParam('签字意见。', remarkRequired),
361
+ }, { wfGroup: 'wfGroup' }, { ebActionId: '-1', type, wfGroup: 'workflow' });
362
+ }
363
+ export const APPROVE_AGREE_REJECT_APPLY_COMPONENT = rejectApplicationComponent('ApproveAgreeRejectApply', '同意退回申请', '同意退回流程');
364
+ export const APPROVE_REFUSE_REJECT_APPLY_COMPONENT = rejectApplicationComponent('ApproveRefuseRejectApply', '拒绝退回申请', '拒绝将流程退回');
365
+ export const APPROVE_REJECT_APPLY_COMPONENT = rejectApplicationComponent('ApproveRejectApply', '退回申请流程', '申请将流程退回', true);
366
+ export const APPROVE_WITHDRAW_COMPONENT = standard('ApproveWithdraw', '撤回流程', '将已处理的流程撤回', {
367
+ requestId: formulaParam('关联流程实例 ID。', true), operator: personParam('操作者。', true), remind: { required: false, default: true, description: '是否提醒已提交的操作人。', valueType: 'boolean' }, remark: formulaParam('签字意见。'),
368
+ }, { module: 'module', remind: 'remind' }, { ebActionId: '-1', type: 'ApproveWithdraw', module: 'workflow', remind: true });
369
+ export const APPROVE_SHARE_ENTRY_COMPONENT = standard('ApproveShareEntry', '共享流程', '将流程共享给指定人', {
370
+ requestIds: { required: true, description: '要共享的流程实例 ID 公式数组。', valueType: 'array' }, shareType: { required: true, description: '共享对象类型;当前仅支持 user。', valueType: 'enum', options: [{ value: 'user' }] }, shareEntities: { required: true, description: '共享对象的真实用户 Browser 数组。', valueType: 'array' }, perator: personParam('操作人。', true), permissionType: { required: false, default: false, description: '是否可查看意见及评论。', valueType: 'boolean' }, minSeclevel: formulaParam('最小安全级别。'), maxSeclevel: formulaParam('最大安全级别。'), shareTargetType: formulaParam('角色级别;仅角色共享时有效。'),
371
+ }, { wfGroup: 'wfGroup', shareType: 'shareType', permissionType: 'permissionType' }, { ebActionId: '-1', type: 'ApproveShareEntry', wfGroup: 'workflow', permissionType: false });
372
+ export const APPROVE_SEND_BACK_COMPONENT = standard('ApproveSendBack', '退回流程', '将流程退回到指定节点', {
373
+ workflowPath: { required: true, description: '真实工作流 Browser 对象数组。', valueType: 'array' }, requestId: formulaParam('关联流程实例 ID。', true), rejectToNodeId: { required: true, description: '真实退回目标节点 Browser 对象数组。', valueType: 'array' }, rejectType: { required: false, default: '0', description: '退回方式。', valueType: 'enum' }, requestName: formulaParam('流程标题。'), secLevel: { required: false, default: '0', description: '安全级别。', valueType: 'enum' }, requestLevel: { required: false, default: '-1', description: '紧急程度。', valueType: 'enum' }, operator: personParam('操作者。', true), remark: formulaParam('签字意见。'), odocId: formulaParam('公文 ID。'), dataId: formulaParam('关联卡片数据 ID。'), mapping: { required: false, description: '流程表单字段映射。', valueType: 'object' }, constants: { required: false, description: '流程表单固定值。', valueType: 'object' }, detail: { required: false, description: '明细字段映射。', valueType: 'array' },
374
+ }, { mapping: '_setting_mapping', constants: '_setting_constants', detail: '_setting_detail', module: 'module', rejectType: 'rejectType', secLevel: 'secLevel', requestLevel: 'requestLevel' }, { ebActionId: '-1', type: 'ApproveSendBack', module: 'workflow', rejectType: '0', secLevel: '0', requestLevel: '-1' });
375
+ APPROVE_SEND_BACK_COMPONENT.formDataPayload = { fieldsMetaKey: '_bizFields' };
376
+ export const APPROVE_COMPLETELY_DELETE_COMPONENT = standard('ApproveCompletelyDelete', '彻底删除流程', '将回收站的流程彻底删除', {
377
+ requestIds: { required: true, description: '要彻底删除的流程实例 ID 公式数组。', valueType: 'array' }, operator: personParam('操作者。', true),
378
+ }, {}, { ebActionId: '-1', type: 'ApproveCompletelyDelete' });
379
+ export const WORKFLOW_TO_DOC_COMPONENT = standard('WorkflowToDoc', '流程存为文档', '流程内容以附件的形式存放在文档中', {
380
+ workflowPath: { required: true, description: '真实工作流 Browser 对象;编译时写入 workflowPathBrowser。', valueType: 'platform_reference', referenceType: 'workflow', valueShape: 'object' },
381
+ requestId: formulaParam('要存档的流程实例 ID。', true),
382
+ operator: personParam('执行存档的操作人。', true),
383
+ toDocSettings: { required: true, description: '真实流程存文档设置。固定目录必须包含 saveDirectoryBrowserValue 的文档目录 Browser 对象。', valueType: 'object' },
384
+ }, { module: 'module' }, { ebActionId: '-1', type: 'WorkflowToDoc', module: 'workflow' });
385
+ export const APPROVE_ENTRUST_COMPONENT = standard('ApproveEntrust', '委托流程', '将某人的流程委托给另一人代办', {
386
+ operator: personParam('执行委托的操作人。', true),
387
+ entrustUser: personParam('被委托人(委托人)。', true),
388
+ consignee: personParam('受托人。', true),
389
+ identityId: { required: true, description: '委托人身份 ID;必须由当前租户的委托身份接口实际返回,不能猜测。', valueType: 'string' },
390
+ entrustType: { required: true, description: '委托范围:1全部、2工作流类型、3工作流、4节点。', valueType: 'enum', options: [{ value: '1' }, { value: '2' }, { value: '3' }, { value: '4' }] },
391
+ approveType: { required: false, description: 'entrustType=2 时的真实流程类型 Browser 对象数组。', valueType: 'array' },
392
+ approveId: { required: false, description: 'entrustType=3 时的真实流程 Browser 对象数组。', valueType: 'array' },
393
+ nodeId: { required: false, description: 'entrustType=4 时的真实节点 Browser 对象数组。', valueType: 'array' },
394
+ entrustWfBoot: { required: false, description: '是否委托流程发起。', valueType: 'boolean' },
395
+ entrustBootSubApprove: { required: false, description: '是否委托发起子流程。', valueType: 'boolean' },
396
+ entrustWfHandle: { required: false, description: '是否委托流程处理。', valueType: 'boolean' },
397
+ entrustSpecifyType: { required: false, description: '指定操作类型。', valueType: 'enum' },
398
+ entrustApproveType: { required: false, description: '指定操作类型的真实 Browser 对象数组。', valueType: 'array' },
399
+ entrustTodoApprove: { required: false, description: '是否委托已有待办流程。', valueType: 'boolean' },
400
+ remark: formulaParam('委托说明。'), startTime: formulaParam('开始时间。'), endTime: formulaParam('结束时间。'),
401
+ }, { module: 'module' }, { ebActionId: '-1', type: 'ApproveEntrust', module: 'workflow' });
402
+ export const workflowCompilers = Object.fromEntries(['ApproveSave', 'ApproveMandatoryArchiving', 'ApproveCommit', 'ApproveDelete', 'ApproveDoCirculate', 'ApproveDoForward', 'ApproveDoTurnTodo', 'ApproveConsulTurnTodo', 'ApproveManualCC', 'ApproveAddSign', 'ApproveAgreeRejectApply', 'ApproveRefuseRejectApply', 'ApproveRejectApply', 'ApproveWithdraw', 'ApproveShareEntry', 'ApproveSendBack', 'ApproveCompletelyDelete', 'WorkflowToDoc', 'ApproveEntrust', 'ApproveIntervention', 'WorkFlowDocEmpowerment'].map((type) => [type, (draft, ctx) => workflowActionCompiler(type, draft, ctx)]));
403
+ //# sourceMappingURL=workflow_actions.js.map