weaver-e10-builder 1.0.11-beta → 1.1.0

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 (358) hide show
  1. package/dist/commands/actionflow.d.ts.map +1 -1
  2. package/dist/commands/actionflow.js +17 -3
  3. package/dist/commands/actionflow.js.map +1 -1
  4. package/dist/commands/auth.d.ts.map +1 -1
  5. package/dist/commands/auth.js +16 -0
  6. package/dist/commands/auth.js.map +1 -1
  7. package/dist/commands/form-association-manage.d.ts +3 -0
  8. package/dist/commands/form-association-manage.d.ts.map +1 -0
  9. package/dist/commands/form-association-manage.js +76 -0
  10. package/dist/commands/form-association-manage.js.map +1 -0
  11. package/dist/commands/form-association.d.ts.map +1 -1
  12. package/dist/commands/form-association.js +29 -25
  13. package/dist/commands/form-association.js.map +1 -1
  14. package/dist/commands/form-button.d.ts.map +1 -1
  15. package/dist/commands/form-button.js +71 -159
  16. package/dist/commands/form-button.js.map +1 -1
  17. package/dist/commands/form-field-linkage.d.ts +3 -0
  18. package/dist/commands/form-field-linkage.d.ts.map +1 -0
  19. package/dist/commands/form-field-linkage.js +300 -0
  20. package/dist/commands/form-field-linkage.js.map +1 -0
  21. package/dist/commands/form-list-columns.d.ts +3 -0
  22. package/dist/commands/form-list-columns.d.ts.map +1 -0
  23. package/dist/commands/form-list-columns.js +50 -0
  24. package/dist/commands/form-list-columns.js.map +1 -0
  25. package/dist/commands/form-list-permission.d.ts.map +1 -1
  26. package/dist/commands/form-list-permission.js +130 -15
  27. package/dist/commands/form-list-permission.js.map +1 -1
  28. package/dist/commands/form-list-stats.d.ts +0 -8
  29. package/dist/commands/form-list-stats.d.ts.map +1 -1
  30. package/dist/commands/form-list-stats.js +41 -133
  31. package/dist/commands/form-list-stats.js.map +1 -1
  32. package/dist/commands/form-list.d.ts.map +1 -1
  33. package/dist/commands/form-list.js +2 -126
  34. package/dist/commands/form-list.js.map +1 -1
  35. package/dist/commands/form-nlist.d.ts +22 -0
  36. package/dist/commands/form-nlist.d.ts.map +1 -0
  37. package/dist/commands/form-nlist.js +179 -0
  38. package/dist/commands/form-nlist.js.map +1 -0
  39. package/dist/commands/form-serial-mark.d.ts +0 -15
  40. package/dist/commands/form-serial-mark.d.ts.map +1 -1
  41. package/dist/commands/form-serial-mark.js +604 -137
  42. package/dist/commands/form-serial-mark.js.map +1 -1
  43. package/dist/commands/form.d.ts.map +1 -1
  44. package/dist/commands/form.js +207 -2
  45. package/dist/commands/form.js.map +1 -1
  46. package/dist/commands/interface.d.ts +3 -0
  47. package/dist/commands/interface.d.ts.map +1 -0
  48. package/dist/commands/interface.js +51 -0
  49. package/dist/commands/interface.js.map +1 -0
  50. package/dist/commands/menu-permission.d.ts.map +1 -1
  51. package/dist/commands/menu-permission.js +133 -82
  52. package/dist/commands/menu-permission.js.map +1 -1
  53. package/dist/commands/skill.d.ts +3 -0
  54. package/dist/commands/skill.d.ts.map +1 -0
  55. package/dist/commands/skill.js +112 -0
  56. package/dist/commands/skill.js.map +1 -0
  57. package/dist/commands/update.d.ts +13 -0
  58. package/dist/commands/update.d.ts.map +1 -0
  59. package/dist/commands/update.js +101 -0
  60. package/dist/commands/update.js.map +1 -0
  61. package/dist/commands/workflow-condition.d.ts.map +1 -1
  62. package/dist/commands/workflow-condition.js +3 -1
  63. package/dist/commands/workflow-condition.js.map +1 -1
  64. package/dist/commands/workflow-node-empty-handle.d.ts +13 -0
  65. package/dist/commands/workflow-node-empty-handle.d.ts.map +1 -0
  66. package/dist/commands/workflow-node-empty-handle.js +137 -0
  67. package/dist/commands/workflow-node-empty-handle.js.map +1 -0
  68. package/dist/commands/workflow.d.ts.map +1 -1
  69. package/dist/commands/workflow.js +101 -25
  70. package/dist/commands/workflow.js.map +1 -1
  71. package/dist/index.js +12 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/postinstall.d.ts +2 -0
  74. package/dist/postinstall.d.ts.map +1 -0
  75. package/dist/postinstall.js +17 -0
  76. package/dist/postinstall.js.map +1 -0
  77. package/dist/services/actionflow/command_output.d.ts +4 -0
  78. package/dist/services/actionflow/command_output.d.ts.map +1 -1
  79. package/dist/services/actionflow/command_output.js +44 -0
  80. package/dist/services/actionflow/command_output.js.map +1 -1
  81. package/dist/services/actionflow/component_registry.d.ts.map +1 -1
  82. package/dist/services/actionflow/component_registry.js +5 -1
  83. package/dist/services/actionflow/component_registry.js.map +1 -1
  84. package/dist/services/actionflow/components/action_eb_add.js +1 -1
  85. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  86. package/dist/services/actionflow/components/approve_trigger.d.ts +5 -0
  87. package/dist/services/actionflow/components/approve_trigger.d.ts.map +1 -1
  88. package/dist/services/actionflow/components/approve_trigger.js +22 -1
  89. package/dist/services/actionflow/components/approve_trigger.js.map +1 -1
  90. package/dist/services/actionflow/components/approve_trigger_compiler.js +2 -2
  91. package/dist/services/actionflow/components/approve_trigger_compiler.js.map +1 -1
  92. package/dist/services/actionflow/components/custom_trigger.d.ts +9 -0
  93. package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -0
  94. package/dist/services/actionflow/components/custom_trigger.js +47 -0
  95. package/dist/services/actionflow/components/custom_trigger.js.map +1 -0
  96. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  97. package/dist/services/actionflow/components/enquiry_form.js +29 -3
  98. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  99. package/dist/services/actionflow/components/event_button.d.ts +3 -0
  100. package/dist/services/actionflow/components/event_button.d.ts.map +1 -0
  101. package/dist/services/actionflow/components/event_button.js +32 -0
  102. package/dist/services/actionflow/components/event_button.js.map +1 -0
  103. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  104. package/dist/services/actionflow/components/index.js +10 -0
  105. package/dist/services/actionflow/components/index.js.map +1 -1
  106. package/dist/services/actionflow/components/inner_mq_listener.d.ts +3 -0
  107. package/dist/services/actionflow/components/inner_mq_listener.d.ts.map +1 -0
  108. package/dist/services/actionflow/components/inner_mq_listener.js +40 -0
  109. package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -0
  110. package/dist/services/actionflow/components/inner_mq_send.d.ts +5 -0
  111. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -0
  112. package/dist/services/actionflow/components/inner_mq_send.js +72 -0
  113. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -0
  114. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  115. package/dist/services/actionflow/components/send_message.js +7 -4
  116. package/dist/services/actionflow/components/send_message.js.map +1 -1
  117. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  118. package/dist/services/actionflow/context_preflight.js +7 -1
  119. package/dist/services/actionflow/context_preflight.js.map +1 -1
  120. package/dist/services/actionflow/design_client.d.ts +13 -2
  121. package/dist/services/actionflow/design_client.d.ts.map +1 -1
  122. package/dist/services/actionflow/design_client.js +56 -8
  123. package/dist/services/actionflow/design_client.js.map +1 -1
  124. package/dist/services/actionflow/enrich_approve_trigger.d.ts.map +1 -1
  125. package/dist/services/actionflow/enrich_approve_trigger.js +31 -0
  126. package/dist/services/actionflow/enrich_approve_trigger.js.map +1 -1
  127. package/dist/services/actionflow/form_source.d.ts +2 -0
  128. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  129. package/dist/services/actionflow/form_source.js +5 -0
  130. package/dist/services/actionflow/form_source.js.map +1 -1
  131. package/dist/services/actionflow/formula_service.d.ts +1 -1
  132. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  133. package/dist/services/actionflow/formula_service.js +118 -12
  134. package/dist/services/actionflow/formula_service.js.map +1 -1
  135. package/dist/services/actionflow/functions_catalog.d.ts +2 -1
  136. package/dist/services/actionflow/functions_catalog.d.ts.map +1 -1
  137. package/dist/services/actionflow/functions_catalog.js +2392 -180
  138. package/dist/services/actionflow/functions_catalog.js.map +1 -1
  139. package/dist/services/actionflow/functions_source.d.ts.map +1 -1
  140. package/dist/services/actionflow/functions_source.js +3 -0
  141. package/dist/services/actionflow/functions_source.js.map +1 -1
  142. package/dist/services/actionflow/generation_service.d.ts +11 -0
  143. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  144. package/dist/services/actionflow/generation_service.js +66 -23
  145. package/dist/services/actionflow/generation_service.js.map +1 -1
  146. package/dist/services/actionflow/plan_constraints.d.ts +5 -0
  147. package/dist/services/actionflow/plan_constraints.d.ts.map +1 -0
  148. package/dist/services/actionflow/plan_constraints.js +54 -0
  149. package/dist/services/actionflow/plan_constraints.js.map +1 -0
  150. package/dist/services/actionflow/preflight_service.d.ts +3 -0
  151. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  152. package/dist/services/actionflow/preflight_service.js +152 -8
  153. package/dist/services/actionflow/preflight_service.js.map +1 -1
  154. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -1
  155. package/dist/services/actionflow/readback_verifier.js +63 -2
  156. package/dist/services/actionflow/readback_verifier.js.map +1 -1
  157. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  158. package/dist/services/actionflow/save_workflow_draft.js +43 -2
  159. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  160. package/dist/services/actionflow/update_service.d.ts +41 -0
  161. package/dist/services/actionflow/update_service.d.ts.map +1 -0
  162. package/dist/services/actionflow/update_service.js +767 -0
  163. package/dist/services/actionflow/update_service.js.map +1 -0
  164. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  165. package/dist/services/actionflow/workflow_compiler.js +120 -12
  166. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  167. package/dist/services/condition-rules.d.ts.map +1 -1
  168. package/dist/services/condition-rules.js +3 -1
  169. package/dist/services/condition-rules.js.map +1 -1
  170. package/dist/services/esb-interface/document-parser.d.ts +6 -0
  171. package/dist/services/esb-interface/document-parser.d.ts.map +1 -0
  172. package/dist/services/esb-interface/document-parser.js +247 -0
  173. package/dist/services/esb-interface/document-parser.js.map +1 -0
  174. package/dist/services/esb-interface/importer.d.ts +9 -0
  175. package/dist/services/esb-interface/importer.d.ts.map +1 -0
  176. package/dist/services/esb-interface/importer.js +44 -0
  177. package/dist/services/esb-interface/importer.js.map +1 -0
  178. package/dist/services/esb-interface/postman-collection.d.ts +9 -0
  179. package/dist/services/esb-interface/postman-collection.d.ts.map +1 -0
  180. package/dist/services/esb-interface/postman-collection.js +125 -0
  181. package/dist/services/esb-interface/postman-collection.js.map +1 -0
  182. package/dist/services/esb-interface/types.d.ts +91 -0
  183. package/dist/services/esb-interface/types.d.ts.map +1 -0
  184. package/dist/services/esb-interface/types.js +2 -0
  185. package/dist/services/esb-interface/types.js.map +1 -0
  186. package/dist/services/form-association.d.ts +49 -0
  187. package/dist/services/form-association.d.ts.map +1 -0
  188. package/dist/services/form-association.js +279 -0
  189. package/dist/services/form-association.js.map +1 -0
  190. package/dist/services/form-button-position.d.ts +35 -0
  191. package/dist/services/form-button-position.d.ts.map +1 -0
  192. package/dist/services/form-button-position.js +109 -0
  193. package/dist/services/form-button-position.js.map +1 -0
  194. package/dist/services/form-create.d.ts.map +1 -1
  195. package/dist/services/form-create.js +4 -1
  196. package/dist/services/form-create.js.map +1 -1
  197. package/dist/services/form-list-columns.d.ts +54 -0
  198. package/dist/services/form-list-columns.d.ts.map +1 -0
  199. package/dist/services/form-list-columns.js +236 -0
  200. package/dist/services/form-list-columns.js.map +1 -0
  201. package/dist/services/form-list-stats.d.ts +44 -0
  202. package/dist/services/form-list-stats.d.ts.map +1 -0
  203. package/dist/services/form-list-stats.js +302 -0
  204. package/dist/services/form-list-stats.js.map +1 -0
  205. package/dist/services/form-nlist.d.ts +42 -0
  206. package/dist/services/form-nlist.d.ts.map +1 -0
  207. package/dist/services/form-nlist.js +332 -0
  208. package/dist/services/form-nlist.js.map +1 -0
  209. package/dist/services/skill-provision.d.ts +23 -0
  210. package/dist/services/skill-provision.d.ts.map +1 -0
  211. package/dist/services/skill-provision.js +96 -0
  212. package/dist/services/skill-provision.js.map +1 -0
  213. package/dist/services/update-check.d.ts +24 -0
  214. package/dist/services/update-check.d.ts.map +1 -0
  215. package/dist/services/update-check.js +108 -0
  216. package/dist/services/update-check.js.map +1 -0
  217. package/dist/services/workflow-initiator.js +3 -3
  218. package/dist/services/workflow-initiator.js.map +1 -1
  219. package/package.json +5 -2
  220. package/skill-docs/SKILL.md +263 -0
  221. package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +17 -0
  222. package/skill-docs/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  223. package/skill-docs/actionflows/references/components/document/AttachmentCopy.md +17 -0
  224. package/skill-docs/actionflows/references/components/document/AttachmentMove.md +17 -0
  225. package/skill-docs/actionflows/references/components/document/DocumentCopy.md +17 -0
  226. package/skill-docs/actionflows/references/components/document/DocumentDelete.md +17 -0
  227. package/skill-docs/actionflows/references/components/document/DocumentEdit.md +17 -0
  228. package/skill-docs/actionflows/references/components/document/DocumentMove.md +17 -0
  229. package/skill-docs/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  230. package/skill-docs/actionflows/references/components/document/DocumentRenewal.md +17 -0
  231. package/skill-docs/actionflows/references/components/document/DocumentRevert.md +17 -0
  232. package/skill-docs/actionflows/references/components/document/DocumentSave.md +17 -0
  233. package/skill-docs/actionflows/references/components/document/DocumentSubscription.md +17 -0
  234. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  235. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  236. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  237. package/skill-docs/actionflows/references/components/document/FileFolderSave.md +17 -0
  238. package/skill-docs/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  239. package/skill-docs/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  240. package/skill-docs/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  241. package/skill-docs/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  242. package/skill-docs/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  243. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +61 -0
  244. package/skill-docs/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
  245. package/skill-docs/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  246. package/skill-docs/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  247. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +23 -0
  248. package/skill-docs/actionflows/references/components/ebuilder/DateTrigger.md +17 -0
  249. package/skill-docs/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  250. package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +101 -0
  251. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +33 -0
  252. package/skill-docs/actionflows/references/components/ebuilder/EventFormData.md +17 -0
  253. package/skill-docs/actionflows/references/components/ebuilder/TimeBatchTrigger.md +17 -0
  254. package/skill-docs/actionflows/references/components/logic/Condition.md +23 -0
  255. package/skill-docs/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  256. package/skill-docs/actionflows/references/components/logic/MultipleExecution.md +38 -0
  257. package/skill-docs/actionflows/references/components/logic/Output.md +17 -0
  258. package/skill-docs/actionflows/references/components/message/InnerMQSend.md +40 -0
  259. package/skill-docs/actionflows/references/components/message/SendMessage.md +17 -0
  260. package/skill-docs/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  261. package/skill-docs/actionflows/references/components/personnel/HrmEmployeeUpdate.md +32 -0
  262. package/skill-docs/actionflows/references/components/personnel/PersonnelOnboarding.md +34 -0
  263. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +45 -0
  264. package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +40 -0
  265. package/skill-docs/actionflows/references/components/trigger/SimpleScheduler.md +17 -0
  266. package/skill-docs/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  267. package/skill-docs/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  268. package/skill-docs/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  269. package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +17 -0
  270. package/skill-docs/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  271. package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  272. package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +17 -0
  273. package/skill-docs/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  274. package/skill-docs/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  275. package/skill-docs/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  276. package/skill-docs/actionflows/references/components/workflow/ApproveEntrust.md +17 -0
  277. package/skill-docs/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  278. package/skill-docs/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  279. package/skill-docs/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  280. package/skill-docs/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  281. package/skill-docs/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  282. package/skill-docs/actionflows/references/components/workflow/ApproveSave.md +17 -0
  283. package/skill-docs/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  284. package/skill-docs/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  285. package/skill-docs/actionflows/references/components/workflow/ApproveTrigger.md +84 -0
  286. package/skill-docs/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  287. package/skill-docs/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  288. package/skill-docs/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  289. package/skill-docs/actionflows/references/condition_rules.md +99 -0
  290. package/skill-docs/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
  291. package/skill-docs/actionflows/references/function_rules.md +13 -0
  292. package/skill-docs/actionflows/references/trigger_runtime_notes.md +53 -0
  293. package/skill-docs/assets/sample/.claude/settings.local.json +8 -0
  294. package/skill-docs/assets/sample/api/formApi.js +510 -0
  295. package/skill-docs/assets/sample/config/config.js +0 -0
  296. package/skill-docs/assets/sample/config/configLoad.js +0 -0
  297. package/skill-docs/assets/sample/config/configLoad_default.js +0 -0
  298. package/skill-docs/assets/sample/config/config_default.js +0 -0
  299. package/skill-docs/assets/sample/entry.js +22 -0
  300. package/skill-docs/assets/sample/eslint.config.cjs +48 -0
  301. package/skill-docs/assets/sample/memo.md +0 -0
  302. package/skill-docs/assets/sample/readme.js +8 -0
  303. package/skill-docs/references/auth/guide-auth.md +88 -0
  304. package/skill-docs/references/coding/guide-edit-backfill.md +189 -0
  305. package/skill-docs/references/coding/guide-form-crud.md +262 -0
  306. package/skill-docs/references/coding/guide-page-code.md +224 -0
  307. package/skill-docs/references/coding/guide-page-export.md +119 -0
  308. package/skill-docs/references/coding/ref-compile-rules.md +106 -0
  309. package/skill-docs/references/common/guide-plan-template.md +201 -0
  310. package/skill-docs/references/common/ref-cli-commands.md +320 -0
  311. package/skill-docs/references/components/@weapp-Button.md +104 -0
  312. package/skill-docs/references/components/base-Badge.md +100 -0
  313. package/skill-docs/references/components/base-Dialog.md +358 -0
  314. package/skill-docs/references/components/base-Empty.md +58 -0
  315. package/skill-docs/references/components/base-Tag.md +112 -0
  316. package/skill-docs/references/components/display-Alert.md +64 -0
  317. package/skill-docs/references/components/display-Avatar.md +150 -0
  318. package/skill-docs/references/components/display-Calendar.md +263 -0
  319. package/skill-docs/references/components/display-Carousel.md +115 -0
  320. package/skill-docs/references/components/display-Collapse.md +299 -0
  321. package/skill-docs/references/components/display-FilePreview.md +49 -0
  322. package/skill-docs/references/components/display-Icon.md +66 -0
  323. package/skill-docs/references/components/display-List.md +320 -0
  324. package/skill-docs/references/components/display-Pagination.md +41 -0
  325. package/skill-docs/references/components/display-Spin.md +34 -0
  326. package/skill-docs/references/components/display-Steps.md +89 -0
  327. package/skill-docs/references/components/display-Table.md +160 -0
  328. package/skill-docs/references/components/display-Title.md +117 -0
  329. package/skill-docs/references/components/form-Checkbox.md +161 -0
  330. package/skill-docs/references/components/form-DepartmentBrowser-api.md +52 -0
  331. package/skill-docs/references/components/form-EmployeeBrowser-api.md +51 -0
  332. package/skill-docs/references/components/form-EmployeeBrowser.md +51 -0
  333. package/skill-docs/references/components/form-Input.md +123 -0
  334. package/skill-docs/references/components/form-Radio.md +145 -0
  335. package/skill-docs/references/components/form-Select.md +191 -0
  336. package/skill-docs/references/components/form-Switch.md +46 -0
  337. package/skill-docs/references/components/form-Upload.md +53 -0
  338. package/skill-docs/references/components/generic-Echarts.md +102 -0
  339. package/skill-docs/references/form/guide-create-form.md +409 -0
  340. package/skill-docs/references/form/guide-ebuilder-filter.md +73 -0
  341. package/skill-docs/references/form/guide-ebuilder-scope.md +82 -0
  342. package/skill-docs/references/form/guide-field-linkage.md +121 -0
  343. package/skill-docs/references/form/guide-form-association.md +108 -0
  344. package/skill-docs/references/form/guide-form-button.md +54 -0
  345. package/skill-docs/references/form/guide-form-data.md +48 -0
  346. package/skill-docs/references/form/guide-form-formula-functions.md +297 -0
  347. package/skill-docs/references/form/guide-form-linkage.md +185 -0
  348. package/skill-docs/references/form/guide-form-view-permission.md +38 -0
  349. package/skill-docs/references/form/guide-form-view.md +284 -0
  350. package/skill-docs/references/form/guide-list-columns.md +52 -0
  351. package/skill-docs/references/form/guide-list-stats.md +83 -0
  352. package/skill-docs/references/form/style-templates.md +44 -0
  353. package/skill-docs/references/hrm/guide-matrix.md +103 -0
  354. package/skill-docs/references/menu/system-menus.md +63 -0
  355. package/skill-docs/references/workflow/guide-workflow-action.md +172 -0
  356. package/skill-docs/references/workflow/guide-workflow-condition.md +405 -0
  357. package/skill-docs/references/workflow/guide-workflow.md +402 -0
  358. package/skill-docs/references/workflow/operator-matrix.md +74 -0
@@ -0,0 +1,172 @@
1
+ # 流程动作流指南
2
+
3
+ > 流程基础(建流程、节点、连线、审批人)见 `workflow/guide-workflow.md`,分支条件见 `workflow/guide-workflow-condition.md`。本指南专讲**节点提交事件**和**跨表单动作流**(本表数据 → 目标表 新增/更新/删除 记录)。
4
+ >
5
+ > **动作流新建走 `e10-cli actionflow generate`,已有动作流修改走 `e10-cli actionflow update`**。新建是语义 plan → 编译 → preflight → 保存并启用 → 正式回读;修改是精确 appId → 读取正式设计 → 备份 → 按原 ID 保留式修改 → `saveDesign` → 正式回读。`ApproveTrigger` 自带流程节点触发绑定,不走 pathdef/addaction。详见 `actionflows/SKILL.md` + `e10-cli actionflow component-describe <type>`。`e10-cli workflow action` 仅作动作流**管理**(`list-node`/`clear-node` 查清节点绑定、`delete`/`disable`/`batch-delete` 禁用删除动作流 app)。
6
+
7
+ ## 节点提交事件(字段更新)
8
+
9
+ 节点提交/到达时自动更新本表单字段值(actionType=0),如「审批状态置为审批中」。
10
+
11
+ > CLI 接受简化 JSON,内部自动构造 `saveAddActionList` 正确 payload(`targetValue`/`firstValue:"custom"`/`customValue`/`actionType:0`/`triggerType:"pre"` 等)。也支持直接传完整 `data:[]` 结构(高级用法)——**传入的 `data:[]` 行会自动归一化**,把 `action list-node` 的读回结果原样回传是安全的。
12
+ >
13
+ > **合并语义**:写入前先读回节点已有动作并归一化,再追加新动作写回——不覆盖已有动作。可与节点上的 type2 动作流安全混用同一节点。若节点已被写坏(读动作恒 500),CLI 会明确提示用 `delete-node` 删节点重建(API 无法修复)。
14
+ >
15
+ > **fieldId 会校验**:简化 JSON 的 `fieldId` 必须是流程表单里真实存在的字段,CLI 写入前反查表单字段校验,无效会报错并列出可用字段。**切勿用占位 fieldId**(如 `"1"`)——无效 fieldId 会被服务端存成空字段映射,之后任何合并写回都会把节点写坏(读恒 500,只能 delete-node 重建)。
16
+
17
+ **命令**:
18
+ ```bash
19
+ e10-cli workflow save-action @action.json
20
+ ```
21
+ > **只接 JSON 一个参数**:`workflowId` / `nodeId` 写在 JSON 内部,不是位置参数。写成 `save-action <wf> <node> @file` 会报错。
22
+
23
+ ### action.json 格式(常量赋值)
24
+
25
+ ```json
26
+ {
27
+ "workflowId": "1296243932023734272",
28
+ "nodeId": "1296243932023734278",
29
+ "nodeName": "上级审批",
30
+ "fieldId": "1296243579896791071",
31
+ "fieldName": "审批状态",
32
+ "value": "1296243644242280449"
33
+ }
34
+ ```
35
+
36
+ | 字段 | 必填 | 说明 |
37
+ |------|------|------|
38
+ | workflowId | 是 | 流程 ID |
39
+ | nodeId | 是 | 节点 ID(即 `objId`) |
40
+ | nodeName | 否 | 节点显示名(默认"节点") |
41
+ | fieldId | 是 | 要更新的目标字段 fieldId |
42
+ | fieldName | 否 | 字段显示名(用于 `actionName` 展示) |
43
+ | value | 是 | 常量值。Text/Number 字段用实际值;Select 用 option 的 valueKey |
44
+ | trigger | 否 | 触发时机,默认 `"pre"`(到达节点时);`leave` 离开 / `back-arrive` 退回到达 |
45
+
46
+ ---
47
+
48
+ ## 跨表单动作流(本表数据 → 目标表 新增/更新/删除 记录)
49
+
50
+ 跨表单动作流的**生成**统一走 `e10-cli actionflow generate`:写一份语义 plan(`event` + `actions`),CLI 编译、preflight、保存并启用、正式回读,返回设计器链接。组件参数、映射、条件的权威是 `e10-cli actionflow component-describe <type>`,参考 `actionflows/references/components/` 下对应组件 md。下面是平台机制要点,写 plan 时按此组织。
51
+
52
+ 已有动作流的局部变更不要重新生成新应用;先用 `read-design --out` 保存正式设计,再按 `actionflows/SKILL.md` 的 `update` 计划格式提交显式 `operations`。更新器会自动备份原设计并保留未声明内容,不能按名称选择目标,也不会在保存/回读失败时自动回滚或删除目标。更新计划中的节点 ID 必须来自这次正式回读;保存新版时平台可能重分配动作/出口节点 ID,CLI 会按新版版本列表定位新场景并按动作树结构回读校验,不能把新 ID 变化误判为失败。更新时触发器 `event` 必须保持原样,不能修改触发类型、触发表单、触发时机或其他触发器参数;如果需求要变更触发器,必须改为新建动作流,CLI 会在检查/保存前明确拒绝。正常更新通过后调用 `saveDesign` 时固定使用 `saveNewVersion:true`,保存为该动作流的新版本。
53
+
54
+ ### 平台机制要点
55
+
56
+ **目标表字段映射**:plan 的 `mapping` 是 `{源字段 paramKey: 目标字段 ID}`。目标字段 ID 支持 `+`/`-` 前缀做加减运算(赋值不加前缀、`+`累加、`-`扣减)。源字段用本次 `actionflow workflow-context-fields` 返回的原始 `paramKey`,不写死 `FormData.*`/`ApprovalData.*` 路径(编译器自动判定)。
57
+
58
+ **明细表映射(明细→明细)**:`ActionEbAdd` 的 `insert`/`batchInsert` 支持源明细表逐行写入目标明细表。同一目标明细表的映射须来自同一张源明细表(作为该表「依据值」basisValue)。明细目标字段不支持 `+`/`-` 前缀。**明细 update/delete**(含 basisValue/rowId 行匹配/updateAdd、requestId 定位)走 `ActionEbUpdate`/`ActionEbDelete` 契约的 `filterCondition`(动态右值引用 requestId),`component-describe ActionEbUpdate` 看 detail + requestId 定位参数。
59
+
60
+ **更新定位方式**:`ActionEbUpdate` 的 `opType`:`id`(按数据ID更新,配 EBuilder 关联字段其值=目标记录数据ID)/ `updateData`+`filterInput`(按「目标字段=源字段值」匹配,推荐)/ `fieldUpdate`(按字段匹配,保存后右侧条件会被清空,不可用)。匹配字段不要选 `*_name`/「名称」显示字段(标签文本非真值)。
61
+
62
+ **常量值**:plan 里目标字段可用固定值(constants)而非映射字段;公式计算(加减乘除多字段)用 `formula`。mapping/constants/formula 可混合。详见 `component-describe ActionEbAdd/ActionEbUpdate`。
63
+
64
+ ---
65
+
66
+ ## 流程数据写入台账(数据来源落点)
67
+
68
+ **场景**:流程发起时写入目标台账、归档/退回时更新/删除台账记录(如"流程数据写入项目台账",发起写入、归档更新、退回删除)。
69
+
70
+ **核心前提:目标台账必须建「数据来源」Flow 字段**(浏览-流程,`--sform-id` 指向流程绑定的表单 objId)。它存的是**流程实例 ID(requestId)**——add 时写入它,update/delete 靠它定位是哪次流程创建的记录,点击还能跳回流程。
71
+
72
+ ```bash
73
+ # 台账建「数据来源」Flow 字段(只读,来源=项目立项流程)
74
+ e10-cli form add-field <台账objId> <appId> "数据来源" Flow --sform-id <流程表单objId>
75
+ ```
76
+
77
+ **① add(发起写入)**:plan 里把流程实例 ID(requestId 系统变量)写进台账「数据来源」字段,其余字段按 mapping 映射。
78
+
79
+ **② update/delete(归档更新/退回删除)**:定位条件"**台账.数据来源 = 当前流程 requestId**"。`filterCondition` 动态右值引用 requestId,编译器自动判定为 `ApprovalData` 流程数据——`paramKey` 必须用本次 `actionflow workflow-context-fields` 返回的原始键,不要写死路径。示例 plan 结构:
80
+
81
+ ```json
82
+ {
83
+ "event": {"type":"ApproveTrigger","params":{"workflowPath":{"id":"<流程id>"},"triggerTiming":"workflow_completed"}},
84
+ "actions":[
85
+ {"type":"ActionEbUpdate","params":{
86
+ "targetForm":{"groupId":"<appId>","id":"<台账objId>"},
87
+ "person":{"id":"<人员id>","name":"<姓名>"},
88
+ "opType":"updateData",
89
+ "filterCondition":{"field":{"id":"<台账数据来源字段ID>","label":"<数据来源字段名>"},"operator":"eq","right":{"type":"context","paramKey":"<workflow-context-fields 返回的流程ID paramKey>","label":"流程ID"}},
90
+ "mapping":{"<源paramKey>":"<目标字段ID>"}
91
+ }}
92
+ ]
93
+ }
94
+ ```
95
+
96
+ > `filterCondition` 格式**以 `actionflows/references/condition_rules.md` 为准**:`field` 必须为 `{id,label}` 对象、`operator` 用英文操作符(`eq/neq/gt/lt/gte/lte/contains/uncontains/empty/nempty`,`empty/nempty` 无右值)、右值键必须为 `right`。`value` 别名、`=`、裸字符串 `field`、数组根节点和 `relationship:"1|0"` 都会在编译前被拒绝。需求含条件/筛选时先翻 condition_rules.md 再下笔。
97
+
98
+ > **关联流程左值特别注意**:不要因为字段 ID 是数字就套用普通 e-builder 的 `field_<id>`。`Workflow` 必须使用原始数字 `fieldName`、`fieldType:"String"`、空 `module`/`originBrowserType`,`formInfo.formId/layoutId`,顶层 `sformId` 和仅含 `fieldId` 的 `config`;`sformId` 从 `workflowPath.formIds` 反查流程表单对象,不能用目标表单版本 ID代替。
99
+
100
+ > 也可直接给 `actionflow generate` 下自然语言 plan("流程归档时按数据来源更新台账,项目状态置为立项"),由组件契约承载。`generate` 默认保存并启用设计(saveDesign saveAndStart=true,正式生效),返回 appId + 设计器链接,event 节点已含流程节点触发绑定。仅 `mode:"stash"` 时走暂存(需设计器手动发布)。
101
+
102
+ **③ add 回写 dataId(源表存台账记录 ID)**:若后续 update/delete 想用"源表字段 = 台账 dataId"定位,`actionflow workflow-context-fields` 提供"回写数据ID对应字段"候选查询。
103
+
104
+ ---
105
+
106
+ ## 关联 EBuilder 更新目标表数据(跨表更新)
107
+
108
+ **场景**:表A(带流程)通过 EBuilder 关联字段指向表B,流程到节点时动作流更新表B的目标记录字段。
109
+
110
+ **机制**:表A 的 EBuilder 关联字段的值 = 表B 记录的数据ID。plan 里 `ActionEbUpdate` 的 `opType=id`(按数据ID更新)+ `filterCondition` 用表A的 EBuilder 关联字段 → 直接用关联值定位表B记录,无需字段值匹配。
111
+
112
+ ### 建两张表
113
+
114
+ 表B「客户台账表」(被更新):客户名称(Text)、最后拜访日期(Date)、累计拜访金额(Money)
115
+ ```json
116
+ [
117
+ {"componentKey":"Text","fieldName":"客户名称"},
118
+ {"componentKey":"Date","fieldName":"最后拜访日期"},
119
+ {"componentKey":"Money","fieldName":"累计拜访金额"}
120
+ ]
121
+ ```
122
+
123
+ 表A「拜访登记表」(带流程):拜访日期(Date)、拜访金额(Money)、客户关联(EBuilder→表B)
124
+ ```json
125
+ [
126
+ {"componentKey":"Date","fieldName":"拜访日期"},
127
+ {"componentKey":"Money","fieldName":"拜访金额"},
128
+ {"componentKey":"EBuilder","fieldName":"客户关联","sformId":"<表B objId>","dataTitle":"客户名称"}
129
+ ]
130
+ ```
131
+ > EBuilder 字段:`sformId`=目标表 objId,`dataTitle`=目标表显示字段(填字段名或 fieldId,CLI 自动解析)。
132
+
133
+ 写 plan 时 mapping 目标ID 不加前缀=**直接赋值**(源值原样写入);加 `+`=累加,`-`=扣减。直接赋值时按目标字段类型(日期/金额/文本等)自动匹配。
134
+
135
+ ---
136
+
137
+ ## 条件性动作流(同一节点按条件走不同动作)
138
+
139
+ 一个节点可挂**多个动作流,各自带触发条件**——提交时只有条件命中的动作才执行。典型场景「合同变更」:变更类型=续期 → 插入台账;变更/终止 → 更新+插入。
140
+
141
+ 在 plan 里用 `Condition` 组件(逻辑分支)表达条件,或多个 `ActionEb*` 配 `filterCondition`。条件规则语法见 `actionflows/references/condition_rules.md`。`actionflow component-describe Condition` 看条件组件契约。
142
+
143
+ > **验证**:`e10-cli workflow action list-node <wf> <node>` 会标注 `⚠️条件` 的动作为带规则动作。条件内容在流程设计器节点 → 提交事件 → 动作的规则图标里查看。
144
+
145
+ ---
146
+
147
+ ## 动作流管理
148
+
149
+ 生成(`actionflow generate`)之后的查/清/删/禁用:
150
+
151
+ ```bash
152
+ e10-cli workflow action list-node <wf> <node> # 列节点绑定的动作(type0 常量赋值 + type2 动作流)
153
+ e10-cli workflow action clear-node <wf> <node> # 清空节点动作绑定(deleteAddAction,不删动作流实体)
154
+ e10-cli workflow action disable <appId> <name> # 禁用动作流(禁用后可删除)
155
+ e10-cli workflow action delete <appId> <name> # 删除动作流(自动先禁用再 batchAddRecycle)
156
+ e10-cli workflow action batch-delete @list.json # 批量删除(每项 {id,name})
157
+ ```
158
+
159
+ > **clear-node vs delete**:`clear-node` 只解绑节点(动作流实体仍在);`delete` 删动作流 app(节点残留悬空引用,前端显示「被删除」,平台无按动作流反查节点接口,逐个 `clear-node` 清理)。
160
+ >
161
+ > **list-node 显示**:`type0 常量赋值`(本表字段赋值,`save-action` 写的)/ `type2 动作流`(`actionflow generate` 生成的,带 appId)。
162
+
163
+ ---
164
+
165
+ ## 角色管理
166
+
167
+ ```bash
168
+ e10-cli role list # 查看角色树
169
+ e10-cli role create <name> --parent <id> --code <code> --remark <text>
170
+ e10-cli role delete <ids...> # 删除角色(可多个)
171
+ e10-cli role add-member <roleId> <keyword> # 搜索人员添加到角色
172
+ ```
@@ -0,0 +1,405 @@
1
+ # 流程分支条件指南
2
+
3
+ > 流程基础(建流程、节点、连线、审批人)见 `workflow/guide-workflow.md`。本指南专讲**分支/出口条件**:金额>1万走高级审批、合同类型=采购走快速通道这类路由。
4
+
5
+ ## 添加分支条件(简化语法,推荐)
6
+
7
+ **一行命令搞定**,自动校验字段类型、自动生成 API payload、自动绑定到连线:
8
+
9
+ > **AND / OR 规则写在「同一次调用」里**:要组合多条规则,一次 `add` 传多个 `--rule` + `--relation AND|OR`,例如
10
+ > `--rule "form:金额:大于:1000" --rule "system:流程标题:包含:合同" --relation AND`。
11
+ >
12
+ > **对同一连线重复 `add` 是「替换」,不是叠加**:第二次 `add` 会先删掉该连线旧条件再重建。这是刻意的——若允许跨调用叠加,极易产生 `(金额≥100万) AND (金额<100万)` 这类永远不成立的矛盾条件。因此**想给已有条件补一条规则,必须在新的 `add` 里把旧规则连同新规则一起写全**,不能靠再跑一次叠上去。
13
+ >
14
+ > **同源节点多分支**:一条连线只绑一个条件。要分多个分支,先给每个分支各建一条连线(`add-link`),再分别对每条连线 `add`。
15
+
16
+ ### 基础示例
17
+
18
+ ```bash
19
+ # 系统字段条件
20
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "条件名称" \
21
+ --rule "system:流程标题:包含:关键词"
22
+
23
+ # 数值范围条件
24
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "金额过万" \
25
+ --rule "system:流程超时(时):范围:1:72"
26
+
27
+ # 日期范围条件
28
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "今年发起" \
29
+ --rule "system:发起时间:范围:2026-01-01:2026-12-31"
30
+
31
+ # 为空/不为空
32
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "无部门" \
33
+ --rule "system:发起人部门:为空"
34
+
35
+ # 多规则 AND/OR 组合
36
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "复合条件" \
37
+ --rule "system:流程标题:包含:报销" \
38
+ --rule "system:流程超时(时):大于:24" \
39
+ --relation AND
40
+
41
+ # 表单字段条件(字段ID / 名称 / dataKey 均可匹配)
42
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "表单字段" \
43
+ --rule "form:<字段ID>:大于:1000" # 按 fieldId
44
+ --rule "form:申请金额:大于:1000" # 按字段名
45
+ --rule "form:je_2831:大于:1000" # 按 dataKey(原生流程表单 fieldId 会变,用 dataKey 最稳)
46
+ ```
47
+
48
+ ### 选项类字段(Select/CheckBox/RadioBox):用"属于"或"包含"
49
+
50
+ 选项类字段归 Browser 族,用 `属于`(= `包含`,code 9)匹配任一选项:
51
+
52
+ ```bash
53
+ # 合同类型=采购类(单个选项)
54
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "采购类合同" \
55
+ --rule "form:合同类型:属于:采购类"
56
+
57
+ # 报销类型∈{差旅费,住宿费}(多个选项,逗号分隔)
58
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "差旅住宿报销" \
59
+ --rule "form:报销类型:属于:差旅费,住宿费"
60
+
61
+ # 也可以直接用"包含"(等价)
62
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "招待费报销" \
63
+ --rule "form:报销类型:包含:招待费"
64
+
65
+ # 不包含/不属于
66
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "非采购类" \
67
+ --rule "form:合同类型:不属于:采购类"
68
+ ```
69
+
70
+ > `属于` 和 `包含` 是**别名**,底层都是 code 9("包含或属于"),由平台显示语义。对 Select/CheckBox/RadioBox 选项字段,建议用 `属于`;对文本/人员字段用 `包含`。
71
+
72
+ ### 人员/部门字段
73
+
74
+ 人员/部门字段值走浏览器解析,用逗号分隔多值:
75
+
76
+ ```bash
77
+ # 报销人=闫宇或吴鹏(人员多选)
78
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "闫宇或吴鹏报销" \
79
+ --rule "form:报销人:等于:闫宇,吴鹏"
80
+
81
+ # 所属部门=财务部
82
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "财务部报销" \
83
+ --rule "form:所属部门:等于:财务部"
84
+
85
+ # 部门不含子部门
86
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "本部门" \
87
+ --rule "form:所属部门:等于:财务部:不包含子部门"
88
+ ```
89
+
90
+ ### 字段 vs 字段比较(变量模式)
91
+
92
+ 用 `field` 关键字表示值来自另一个字段,而非字面值:
93
+
94
+ ```bash
95
+ # 发起时间 ≥ 报销日期(系统字段 vs 表单字段)
96
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "先报销后发起" \
97
+ --rule "system:发起时间:大于等于:field:报销日期"
98
+
99
+ # 发票日期 < 报销日期(表单字段 vs 表单字段)
100
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "发票早于报销日期" \
101
+ --rule "form:发票日期:小于:field:报销日期"
102
+
103
+ # 数值字段 vs 字段
104
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "超标" \
105
+ --rule "form:实际金额:大于:field:预算金额"
106
+ ```
107
+
108
+ > **语法**:`来源:左字段:操作:field:右字段`。`field` 是固定关键字,表示右边是字段引用不是字面值。支持 `system` 和 `form` 两种来源,适用范围:`大于`/`小于`/`等于`/`不等于`/`大于等于`/`小于等于`。
109
+
110
+ ### 明细字段条件
111
+
112
+ 末尾必带量词 `:任一`(任一行满足) / `:所有`(所有行满足):
113
+
114
+ ```bash
115
+ # 明细任一行金额>1万
116
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "明细金额过万" \
117
+ --rule "form:明细金额:大于:10000:任一"
118
+
119
+ # 明细所有行数量都在 1~100
120
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "明细数量范围" \
121
+ --rule "form:明细数量:范围:1:100:所有"
122
+
123
+ # 明细字段 vs 字段(发票日期 < 报销日期)
124
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "明细发票日期" \
125
+ --rule "form:发票日期:小于:field:报销日期:任一"
126
+ ```
127
+
128
+ ### OR 分组:用 `|` 分隔子规则
129
+
130
+ 同一条 `--rule` 内用 `|` 分隔表示 OR 关系:
131
+
132
+ ```bash
133
+ # 报销类型∈{差旅费,住宿费} OR 发票编号以FP开头
134
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "差旅住宿或FP发票" \
135
+ --rule "form:报销类型:属于:差旅费,住宿费:任一|form:发票编号:包含:FP:任一"
136
+
137
+ # 报销金额>10000 OR 紧急程度=紧急
138
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "大额或紧急" \
139
+ --rule "form:报销金额:大于:10000" \
140
+ --rule "system:紧急程度:等于:紧急"
141
+ ```
142
+
143
+ > 单条 `--rule` 内用 `|` 分隔的子规则是 OR 关系;多条 `--rule` 之间默认 AND 关系(`--relation OR` 可改)。
144
+
145
+ ### 完整复杂条件示例
146
+
147
+ ```bash
148
+ # 报销初审→财务部专项复核:
149
+ # AND条件:所属部门=财务部, 报销金额5k~10k, 发起时间≥报销日期,
150
+ # OR条件(明细):报销类型∈{差旅费,住宿费} OR 发票编号以FP开头
151
+ e10-cli workflow condition add <wf> <sourceId> <nodeId> "财务部复核" \
152
+ --rule "form:所属部门:等于:财务部" \
153
+ --rule "form:报销金额:范围:5000:10000" \
154
+ --rule "system:发起时间:大于等于:field:报销日期" \
155
+ --rule "form:报销类型:属于:差旅费,住宿费:任一|form:发票编号:包含:FP:任一"
156
+ ```
157
+
158
+ ## 添加分支条件(原始 JSON,完整控制)
159
+
160
+ 需要 4 步操作:
161
+ ```bash
162
+ # 1. 生成新连线 ID
163
+ e10-cli workflow generate-link-id <workflowId> # → newLinkId
164
+
165
+ # 2. 获取当前流程图 XML,在 XML 中添加新的 <mxCell edge="1"> 后保存
166
+ e10-cli workflow save-layout <workflowId> @修改后的xml文件
167
+
168
+ # 3. 保存条件规则(CLI 自动生成节点 ID,只需写条件逻辑)
169
+ e10-cli workflow save-condition @条件.json --app-id <appId> # → conditionKey
170
+
171
+ # 4. 绑定条件到连线
172
+ e10-cli workflow set-link-condition-key <wf> <linkId> <key> <nodeId>
173
+ ```
174
+
175
+ > `--app-id` 用于自动生成唯一 ID。省略时透传原始 JSON(需自己填好所有 ID)。
176
+
177
+ ## 条件 JSON 格式
178
+
179
+ `childrens` 是**递归树结构**,叶子条件用 `selectType` 判断,分组条件用 `relation` + `childrens` 组合。**CLI 只自动生成 ID**(`expressionId`/`expressionBaseId`/`dataValueId`/`elementValue*Id`),其余字段必须按以下格式手写。
180
+
181
+ **完整结构**:
182
+ ```json
183
+ {
184
+ "source": 2,
185
+ "sourceId": "连线ID",
186
+ "workflowId": "流程ID",
187
+ "conditionName": "条件名称",
188
+ "linkName": "连线名称",
189
+ "needFormfield": true,
190
+ "readOnly": false,
191
+ "mapBaseId": "表单ID",
192
+ "isEdit": false,
193
+ "isFromRuleListPage": true,
194
+ "relation": 1,
195
+ "childrens": [/* 叶子或分组 */]
196
+ }
197
+ ```
198
+
199
+ ---
200
+
201
+ ### 两种节点类型
202
+
203
+ **叶子条件** — 有 `selectType`,无 `childrens`:
204
+
205
+ **分组条件** — 有 `relation` + `childrens`,无 `selectType`:
206
+
207
+ ```json
208
+ { "relation": 1, "childrens": [/* 嵌套的叶子或分组 */] }
209
+ ```
210
+
211
+ > `selectType` 是数字 3 或 4。`relation`: 1=AND, 2=OR。
212
+
213
+ ---
214
+
215
+ ### 叶子条件:字段前缀由 fieldType 决定
216
+
217
+ > **关键**:每组字段有 `{前缀}CompareOptionLeft`、`{前缀}ValueOptionLeft`、`{前缀}TextValueLeft1` 三件套。
218
+
219
+ **Text / Textarea → `String*` 前缀**:
220
+
221
+ ```json
222
+ {
223
+ "selectType": 4,
224
+ "formField": [{ "supportContainType": false, "total": false, "name": "字段名", "id": "fieldId", "fieldType": "Text", "groupKey": "Text" }],
225
+ "StringValueOptionLeft": 1,
226
+ "StringCompareOptionLeft": 5,
227
+ "StringTextValueLeft1": "要匹配的值",
228
+ "valueType": "0"
229
+ }
230
+ ```
231
+
232
+ **Number / Money / Int → `Number*` 前缀**:
233
+
234
+ ```json
235
+ {
236
+ "selectType": 4,
237
+ "formField": [{ "supportContainType": false, "total": false, "name": "金额", "id": "fieldId", "fieldType": "Money", "groupKey": "Money" }],
238
+ "NumberValueOptionLeft": 1,
239
+ "NumberCompareOptionLeft": 1,
240
+ "NumberTextValueLeft1": "50000",
241
+ "valueType": "1"
242
+ }
243
+ ```
244
+
245
+ **Select / RadioBox / CheckBox → `Browser*` 前缀**:
246
+
247
+ ```json
248
+ {
249
+ "selectType": 4,
250
+ "formField": [{ "supportContainType": false, "total": false, "name": "字段名", "id": "fieldId", "fieldType": "Select", "groupKey": "Select" }],
251
+ "BrowserCompareOptionLeft": "9",
252
+ "BrowserValueOptionLeft": "1",
253
+ "BrowserTextValueLeft1": [{ "id": "选项valueKey", "content": "选项名" }],
254
+ "valueType": "0"
255
+ }
256
+ ```
257
+
258
+ **Date / DateTime → `Date*` 前缀**:
259
+
260
+ ```json
261
+ {
262
+ "selectType": 4,
263
+ "formField": [{ "supportContainType": false, "total": false, "name": "日期", "id": "fieldId", "fieldType": "Date", "groupKey": "Date" }],
264
+ "DateValueOptionLeft": 1,
265
+ "DateCompareOptionLeft": 1,
266
+ "DateTextValueLeft1": "2026-07-23",
267
+ "valueType": "0"
268
+ }
269
+ ```
270
+
271
+ **系统变量-字符串**(selectType=3, systemVariable="-1" 等):
272
+
273
+ ```json
274
+ {
275
+ "selectType": 3,
276
+ "systemVariable": "-1",
277
+ "StringValueOptionLeft": 1,
278
+ "StringCompareOptionLeft": 5,
279
+ "StringTextValueLeft1": "值",
280
+ "valueType": "0"
281
+ }
282
+ ```
283
+
284
+ **系统变量-日期**(selectType=3, systemVariable="-3" 等):
285
+
286
+ ```json
287
+ {
288
+ "selectType": 3,
289
+ "systemVariable": "-3",
290
+ "DateValueOptionLeft": 1,
291
+ "DateCompareOptionLeft": 1,
292
+ "DateTextValueLeft1": "2026-07-23",
293
+ "valueType": "0"
294
+ }
295
+ ```
296
+
297
+ ---
298
+
299
+ ### formField 字段映射
300
+
301
+ `formField` 需要**完整字段元数据**(不是精简格式)。直接从 `form read --app-id <appId> --out fields.json` 输出的字段对象中取,保留所有字段。
302
+
303
+ `formField` 至少包含:`id`(fieldId)、`name`(fieldName)、`fieldType`、`detail`、`detailName`、`total`、`formId`、`sourceModule`、`layoutDetail`、`selectDataSource`、`groupKey`、`supportContainType`、`newFormDesigner`、`variable`、`valueCount`、`dataTemplateId`、`detailTableId`。
304
+
305
+ > **不要精简**:碰到 `selectType: "4"` 就把 `form read` 返回的字段对象全量塞进 `formField` 数组。紧凑格式在 mulinquan 碰巧能过但不完整,eteams 直接拒绝。
306
+
307
+ ---
308
+
309
+ ## 查看已有条件
310
+
311
+ ```bash
312
+ # 列出工作流下所有连线绑定的条件(连线名 + 条件名 + 表达式 + mapId)
313
+ e10-cli workflow condition list <workflowId> [--name <关键词>]
314
+ # 查看单个条件详情(含中文表达式),id 可用 conditionKey / mapId / conditionId
315
+ e10-cli workflow condition get <workflowId> <id>
316
+ # 删除条件(自动解绑连线),id 同 get
317
+ e10-cli workflow condition delete <workflowId> <id> [--link-id <linkId>]
318
+ ```
319
+
320
+ > **getConditionList 是「按连线」查询**:请求体需回传 getConditionSet 的完整上下文
321
+ > (`sourceId`=连线 + `conditionName`=sourceName + `linkName` + `mapBaseId`/`conditionKey`
322
+ > + `exitConditionMapBrowserInfo`/`conditionMapBrowserBean`),只传简化参数会返回空列表。
323
+ > 删除时 `deleteConditions.mapIds` 需传 **mapId**(getConditionList 记录里的 mapId),不是 conditionKey。
324
+
325
+ ---
326
+
327
+ ### 前缀速查表
328
+
329
+ | 字段类型 | selectType | 前缀 | CompareOption 类型 | valueType |
330
+ |---------|-----------|------|--------------------|-----------|
331
+ | Text / Textarea | 4 | `String` | number | `"0"` |
332
+ | Number / Money / Int | 4 | `Number` | number | `"1"` |
333
+ | Select / RadioBox / CheckBox | 4 | `Browser` | **string** | `"0"` |
334
+ | Date / DateTime | 4 | `Date` | number | `"0"` |
335
+ | 系统变量-字符串 | 3 | `String` | number | `"0"` |
336
+ | 系统变量-日期 | 3 | `Date` | number | `"0"` |
337
+ | 系统变量-下拉 | 3 | `SysBrowser` | — | `"0"` |
338
+
339
+ ---
340
+
341
+ ### 比较符(CompareOption)
342
+
343
+ | 值 | 含义 |
344
+ |---|------|
345
+ | 1 | 大于 |
346
+ | 2 | 大于等于 |
347
+ | 3 | 小于 |
348
+ | 4 | 小于等于 |
349
+ | 5 | 等于 |
350
+ | 6 | 不等于 |
351
+ | 9 | 包含(文本/人员/部门)/ 属于(发起人/下拉) |
352
+ | 10 | 不包含 / 不属于 |
353
+ | 13 | 为空 |
354
+ | 14 | 不为空 |
355
+
356
+ > **易错**:`1` 是「大于」**不是**「大于等于」——`≥` 要用 `2`,`<` 用 `3`,`≤` 用 `4`。
357
+ > Number/Date 字段用 1/2/3/4/5/6(数值、日期比较);Text 用 5/6/9/10(等于/不等于/包含/不包含);Select/Browser 用 9/10(属于/不属于)。完整矩阵见 operator-matrix.md。
358
+
359
+ ---
360
+
361
+ ### 树结构示例
362
+
363
+ `合同子类型=采购类 AND 合同总金额≤50000`:
364
+
365
+ ```json
366
+ {
367
+ "source": 2,
368
+ "sourceId": "1294902940272197632",
369
+ "workflowId": "1294602764921430016",
370
+ "conditionName": "采购类5w快速通道",
371
+ "linkName": "采购类5w快速通道",
372
+ "needFormfield": true,
373
+ "readOnly": false,
374
+ "mapBaseId": "1294601519433310236",
375
+ "isEdit": false,
376
+ "isFromRuleListPage": true,
377
+ "relation": 1,
378
+ "childrens": [
379
+ {
380
+ "selectType": 4,
381
+ "formField": [{"supportContainType":false,"total":false,"name":"合同子类型","id":"1294601519433310217","fieldType":"Select","groupKey":"Select"}],
382
+ "BrowserCompareOptionLeft": "9",
383
+ "BrowserValueOptionLeft": "1",
384
+ "BrowserTextValueLeft1": [{"id":"1294601523677945864","content":"采购类"}],
385
+ "valueType": "0"
386
+ },
387
+ {
388
+ "selectType": 4,
389
+ "formField": [{"supportContainType":false,"total":false,"name":"合同总金额","id":"1294601519433310221","fieldType":"Money","groupKey":"Money"}],
390
+ "NumberCompareOptionLeft": 4,
391
+ "NumberValueOptionLeft": 1,
392
+ "NumberTextValueLeft1": "50000",
393
+ "valueType": "1"
394
+ }
395
+ ]
396
+ }
397
+ ```
398
+
399
+ > `expressionId`/`expressionBaseId`/`dataValueId`/`elementValue*Id` 省略,CLI 自动生成。
400
+
401
+ ---
402
+
403
+ ## 参考
404
+
405
+ - [字段类型与关系符编码矩阵](operator-matrix.md) — 数字编码、字段类型矩阵、系统字段清单