weaver-e10-builder 1.5.12 → 1.5.14

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 (333) hide show
  1. package/dist/commands/actionflow.d.ts.map +1 -1
  2. package/dist/commands/actionflow.js +1 -0
  3. package/dist/commands/actionflow.js.map +1 -1
  4. package/dist/commands/designer-common.d.ts.map +1 -1
  5. package/dist/commands/designer-common.js +91 -0
  6. package/dist/commands/designer-common.js.map +1 -1
  7. package/dist/commands/designer-setters.d.ts.map +1 -1
  8. package/dist/commands/designer-setters.js +148 -47
  9. package/dist/commands/designer-setters.js.map +1 -1
  10. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  11. package/dist/commands/form-add-detail-table.js +150 -8
  12. package/dist/commands/form-add-detail-table.js.map +1 -1
  13. package/dist/commands/form-browser-definition.d.ts +14 -0
  14. package/dist/commands/form-browser-definition.d.ts.map +1 -0
  15. package/dist/commands/form-browser-definition.js +493 -0
  16. package/dist/commands/form-browser-definition.js.map +1 -0
  17. package/dist/commands/form-code.d.ts +5 -0
  18. package/dist/commands/form-code.d.ts.map +1 -0
  19. package/dist/commands/form-code.js +276 -0
  20. package/dist/commands/form-code.js.map +1 -0
  21. package/dist/commands/form-engine-linkage.d.ts +3 -0
  22. package/dist/commands/form-engine-linkage.d.ts.map +1 -0
  23. package/dist/commands/form-engine-linkage.js +199 -0
  24. package/dist/commands/form-engine-linkage.js.map +1 -0
  25. package/dist/commands/form-formula.d.ts.map +1 -1
  26. package/dist/commands/form-formula.js +11 -6
  27. package/dist/commands/form-formula.js.map +1 -1
  28. package/dist/commands/form-layout-template-advanced.d.ts +3 -0
  29. package/dist/commands/form-layout-template-advanced.d.ts.map +1 -0
  30. package/dist/commands/form-layout-template-advanced.js +115 -0
  31. package/dist/commands/form-layout-template-advanced.js.map +1 -0
  32. package/dist/commands/form-layout-template-easy.d.ts +3 -0
  33. package/dist/commands/form-layout-template-easy.d.ts.map +1 -0
  34. package/dist/commands/form-layout-template-easy.js +59 -0
  35. package/dist/commands/form-layout-template-easy.js.map +1 -0
  36. package/dist/commands/form-layout.d.ts.map +1 -1
  37. package/dist/commands/form-layout.js +77 -0
  38. package/dist/commands/form-layout.js.map +1 -1
  39. package/dist/commands/form-list-filter.js +1 -1
  40. package/dist/commands/form-list-filter.js.map +1 -1
  41. package/dist/commands/form-list-utils.d.ts +5 -0
  42. package/dist/commands/form-list-utils.d.ts.map +1 -1
  43. package/dist/commands/form-list-utils.js +23 -3
  44. package/dist/commands/form-list-utils.js.map +1 -1
  45. package/dist/commands/form-permission.d.ts.map +1 -1
  46. package/dist/commands/form-permission.js +55 -19
  47. package/dist/commands/form-permission.js.map +1 -1
  48. package/dist/commands/form-physical-table.d.ts.map +1 -1
  49. package/dist/commands/form-physical-table.js +8 -2
  50. package/dist/commands/form-physical-table.js.map +1 -1
  51. package/dist/commands/form.d.ts.map +1 -1
  52. package/dist/commands/form.js +476 -30
  53. package/dist/commands/form.js.map +1 -1
  54. package/dist/commands/menu.d.ts +68 -2
  55. package/dist/commands/menu.d.ts.map +1 -1
  56. package/dist/commands/menu.js +186 -41
  57. package/dist/commands/menu.js.map +1 -1
  58. package/dist/commands/page.d.ts.map +1 -1
  59. package/dist/commands/page.js +29 -6
  60. package/dist/commands/page.js.map +1 -1
  61. package/dist/commands/special.d.ts.map +1 -1
  62. package/dist/commands/special.js +3 -2
  63. package/dist/commands/special.js.map +1 -1
  64. package/dist/commands/wf-form.d.ts.map +1 -1
  65. package/dist/commands/wf-form.js +76 -31
  66. package/dist/commands/wf-form.js.map +1 -1
  67. package/dist/commands/workflow-auth-resp.js +2 -2
  68. package/dist/commands/workflow-auth-resp.js.map +1 -1
  69. package/dist/commands/workflow-base-settings.d.ts +3 -0
  70. package/dist/commands/workflow-base-settings.d.ts.map +1 -0
  71. package/dist/commands/workflow-base-settings.js +73 -0
  72. package/dist/commands/workflow-base-settings.js.map +1 -0
  73. package/dist/commands/workflow-condition.d.ts.map +1 -1
  74. package/dist/commands/workflow-condition.js +59 -450
  75. package/dist/commands/workflow-condition.js.map +1 -1
  76. package/dist/commands/workflow-export.d.ts +9 -0
  77. package/dist/commands/workflow-export.d.ts.map +1 -0
  78. package/dist/commands/workflow-export.js +121 -0
  79. package/dist/commands/workflow-export.js.map +1 -0
  80. package/dist/commands/workflow-node.d.ts.map +1 -1
  81. package/dist/commands/workflow-node.js +28 -53
  82. package/dist/commands/workflow-node.js.map +1 -1
  83. package/dist/commands/workflow-operator-batch.d.ts +3 -0
  84. package/dist/commands/workflow-operator-batch.d.ts.map +1 -0
  85. package/dist/commands/workflow-operator-batch.js +35 -0
  86. package/dist/commands/workflow-operator-batch.js.map +1 -0
  87. package/dist/commands/workflow-subprocess.d.ts.map +1 -1
  88. package/dist/commands/workflow-subprocess.js +21 -33
  89. package/dist/commands/workflow-subprocess.js.map +1 -1
  90. package/dist/commands/workflow.d.ts.map +1 -1
  91. package/dist/commands/workflow.js +36 -37
  92. package/dist/commands/workflow.js.map +1 -1
  93. package/dist/index.js +18 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/services/actionflow/browser_source.d.ts +9 -0
  96. package/dist/services/actionflow/browser_source.d.ts.map +1 -0
  97. package/dist/services/actionflow/browser_source.js +12 -0
  98. package/dist/services/actionflow/browser_source.js.map +1 -0
  99. package/dist/services/actionflow/components/date_trigger.js +1 -1
  100. package/dist/services/actionflow/components/date_trigger.js.map +1 -1
  101. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  102. package/dist/services/actionflow/components/document_actions.js +178 -25
  103. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  104. package/dist/services/actionflow/components/enquiry_form.js +1 -1
  105. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  106. package/dist/services/actionflow/components/logic_flow_set.d.ts.map +1 -1
  107. package/dist/services/actionflow/components/logic_flow_set.js +80 -8
  108. package/dist/services/actionflow/components/logic_flow_set.js.map +1 -1
  109. package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -1
  110. package/dist/services/actionflow/components/meeting_create.js +1 -0
  111. package/dist/services/actionflow/components/meeting_create.js.map +1 -1
  112. package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -1
  113. package/dist/services/actionflow/components/schedule_create.js +2 -0
  114. package/dist/services/actionflow/components/schedule_create.js.map +1 -1
  115. package/dist/services/actionflow/components/time_batch_trigger.js +1 -1
  116. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
  117. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  118. package/dist/services/actionflow/components/workflow_actions.js +6 -2
  119. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  120. package/dist/services/actionflow/context_preflight.d.ts +5 -0
  121. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  122. package/dist/services/actionflow/context_preflight.js +186 -35
  123. package/dist/services/actionflow/context_preflight.js.map +1 -1
  124. package/dist/services/actionflow/filter_rules.d.ts.map +1 -1
  125. package/dist/services/actionflow/filter_rules.js +9 -8
  126. package/dist/services/actionflow/filter_rules.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 +8 -0
  130. package/dist/services/actionflow/form_source.js.map +1 -1
  131. package/dist/services/actionflow/formula_service.d.ts +2 -1
  132. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  133. package/dist/services/actionflow/formula_service.js +69 -34
  134. package/dist/services/actionflow/formula_service.js.map +1 -1
  135. package/dist/services/actionflow/logicflow_source.d.ts +5 -0
  136. package/dist/services/actionflow/logicflow_source.d.ts.map +1 -0
  137. package/dist/services/actionflow/logicflow_source.js +15 -0
  138. package/dist/services/actionflow/logicflow_source.js.map +1 -0
  139. package/dist/services/actionflow/preflight_service.d.ts +15 -0
  140. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  141. package/dist/services/actionflow/preflight_service.js +561 -29
  142. package/dist/services/actionflow/preflight_service.js.map +1 -1
  143. package/dist/services/actionflow/runtime_metadata.d.ts +8 -0
  144. package/dist/services/actionflow/runtime_metadata.d.ts.map +1 -1
  145. package/dist/services/actionflow/runtime_metadata.js +25 -0
  146. package/dist/services/actionflow/runtime_metadata.js.map +1 -1
  147. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  148. package/dist/services/actionflow/workflow_compiler.js +75 -23
  149. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  150. package/dist/services/actionflow/workflow_source.d.ts +2 -0
  151. package/dist/services/actionflow/workflow_source.d.ts.map +1 -1
  152. package/dist/services/actionflow/workflow_source.js +7 -0
  153. package/dist/services/actionflow/workflow_source.js.map +1 -1
  154. package/dist/services/auth-resp-condition.d.ts +7 -3
  155. package/dist/services/auth-resp-condition.d.ts.map +1 -1
  156. package/dist/services/auth-resp-condition.js +58 -63
  157. package/dist/services/auth-resp-condition.js.map +1 -1
  158. package/dist/services/browser.d.ts +5 -0
  159. package/dist/services/browser.d.ts.map +1 -1
  160. package/dist/services/browser.js +16 -4
  161. package/dist/services/browser.js.map +1 -1
  162. package/dist/services/condition-rules.d.ts +2 -30
  163. package/dist/services/condition-rules.d.ts.map +1 -1
  164. package/dist/services/condition-rules.js +3 -219
  165. package/dist/services/condition-rules.js.map +1 -1
  166. package/dist/services/designer-dataset.d.ts +45 -0
  167. package/dist/services/designer-dataset.d.ts.map +1 -0
  168. package/dist/services/designer-dataset.js +156 -0
  169. package/dist/services/designer-dataset.js.map +1 -0
  170. package/dist/services/form-association.d.ts +7 -0
  171. package/dist/services/form-association.d.ts.map +1 -1
  172. package/dist/services/form-association.js +22 -1
  173. package/dist/services/form-association.js.map +1 -1
  174. package/dist/services/form-code.d.ts +53 -0
  175. package/dist/services/form-code.d.ts.map +1 -0
  176. package/dist/services/form-code.js +370 -0
  177. package/dist/services/form-code.js.map +1 -0
  178. package/dist/services/form-create.d.ts +20 -0
  179. package/dist/services/form-create.d.ts.map +1 -1
  180. package/dist/services/form-create.js +73 -1
  181. package/dist/services/form-create.js.map +1 -1
  182. package/dist/services/form-field-build.d.ts +1 -1
  183. package/dist/services/form-field-build.d.ts.map +1 -1
  184. package/dist/services/form-field-build.js +20 -1
  185. package/dist/services/form-field-build.js.map +1 -1
  186. package/dist/services/form-field-drop.d.ts +2 -0
  187. package/dist/services/form-field-drop.d.ts.map +1 -1
  188. package/dist/services/form-field-drop.js +2 -0
  189. package/dist/services/form-field-drop.js.map +1 -1
  190. package/dist/services/form-layout-detail-insert.d.ts +58 -0
  191. package/dist/services/form-layout-detail-insert.d.ts.map +1 -0
  192. package/dist/services/form-layout-detail-insert.js +293 -0
  193. package/dist/services/form-layout-detail-insert.js.map +1 -0
  194. package/dist/services/form-layout-insert.d.ts.map +1 -1
  195. package/dist/services/form-layout-insert.js +34 -2
  196. package/dist/services/form-layout-insert.js.map +1 -1
  197. package/dist/services/form-layout-source/compile.d.ts.map +1 -1
  198. package/dist/services/form-layout-source/compile.js +11 -4
  199. package/dist/services/form-layout-source/compile.js.map +1 -1
  200. package/dist/services/form-layout-template-advanced.d.ts +330 -0
  201. package/dist/services/form-layout-template-advanced.d.ts.map +1 -0
  202. package/dist/services/form-layout-template-advanced.js +1437 -0
  203. package/dist/services/form-layout-template-advanced.js.map +1 -0
  204. package/dist/services/form-layout-template-easy.d.ts +34 -0
  205. package/dist/services/form-layout-template-easy.d.ts.map +1 -0
  206. package/dist/services/form-layout-template-easy.js +159 -0
  207. package/dist/services/form-layout-template-easy.js.map +1 -0
  208. package/dist/services/form-layout-template-flow.d.ts +23 -0
  209. package/dist/services/form-layout-template-flow.d.ts.map +1 -0
  210. package/dist/services/form-layout-template-flow.js +99 -0
  211. package/dist/services/form-layout-template-flow.js.map +1 -0
  212. package/dist/services/form-linkage-condition.d.ts +15 -0
  213. package/dist/services/form-linkage-condition.d.ts.map +1 -1
  214. package/dist/services/form-linkage-condition.js +19 -10
  215. package/dist/services/form-linkage-condition.js.map +1 -1
  216. package/dist/services/form-permission-archive.d.ts +23 -1
  217. package/dist/services/form-permission-archive.d.ts.map +1 -1
  218. package/dist/services/form-permission-archive.js +54 -2
  219. package/dist/services/form-permission-archive.js.map +1 -1
  220. package/dist/services/form-physical-table.d.ts +10 -0
  221. package/dist/services/form-physical-table.d.ts.map +1 -1
  222. package/dist/services/form-physical-table.js +20 -0
  223. package/dist/services/form-physical-table.js.map +1 -1
  224. package/dist/services/form-sub-detail.d.ts +25 -0
  225. package/dist/services/form-sub-detail.d.ts.map +1 -1
  226. package/dist/services/form-sub-detail.js +64 -0
  227. package/dist/services/form-sub-detail.js.map +1 -1
  228. package/dist/services/form-view-linkage-functions.d.ts +19 -0
  229. package/dist/services/form-view-linkage-functions.d.ts.map +1 -0
  230. package/dist/services/form-view-linkage-functions.js +90 -0
  231. package/dist/services/form-view-linkage-functions.js.map +1 -0
  232. package/dist/services/matrix-condition.d.ts +32 -1
  233. package/dist/services/matrix-condition.d.ts.map +1 -1
  234. package/dist/services/matrix-condition.js +169 -6
  235. package/dist/services/matrix-condition.js.map +1 -1
  236. package/dist/services/menu-catalog.d.ts +24 -1
  237. package/dist/services/menu-catalog.d.ts.map +1 -1
  238. package/dist/services/menu-catalog.js +49 -2
  239. package/dist/services/menu-catalog.js.map +1 -1
  240. package/dist/services/workflow-base-settings.d.ts +117 -0
  241. package/dist/services/workflow-base-settings.d.ts.map +1 -0
  242. package/dist/services/workflow-base-settings.js +504 -0
  243. package/dist/services/workflow-base-settings.js.map +1 -0
  244. package/dist/services/workflow-condition-core.d.ts +48 -0
  245. package/dist/services/workflow-condition-core.d.ts.map +1 -0
  246. package/dist/services/workflow-condition-core.js +316 -0
  247. package/dist/services/workflow-condition-core.js.map +1 -0
  248. package/dist/services/workflow-context.d.ts +10 -0
  249. package/dist/services/workflow-context.d.ts.map +1 -0
  250. package/dist/services/workflow-context.js +15 -0
  251. package/dist/services/workflow-context.js.map +1 -0
  252. package/dist/services/workflow-export.d.ts +80 -0
  253. package/dist/services/workflow-export.d.ts.map +1 -0
  254. package/dist/services/workflow-export.js +150 -0
  255. package/dist/services/workflow-export.js.map +1 -0
  256. package/dist/services/workflow-field-permission-route.d.ts +75 -0
  257. package/dist/services/workflow-field-permission-route.d.ts.map +1 -0
  258. package/dist/services/workflow-field-permission-route.js +52 -0
  259. package/dist/services/workflow-field-permission-route.js.map +1 -0
  260. package/dist/services/workflow-field-permission.d.ts +18 -0
  261. package/dist/services/workflow-field-permission.d.ts.map +1 -0
  262. package/dist/services/workflow-field-permission.js +40 -0
  263. package/dist/services/workflow-field-permission.js.map +1 -0
  264. package/dist/services/workflow-node-layout.d.ts +11 -10
  265. package/dist/services/workflow-node-layout.d.ts.map +1 -1
  266. package/dist/services/workflow-node-layout.js +24 -62
  267. package/dist/services/workflow-node-layout.js.map +1 -1
  268. package/dist/services/workflow-operator-batch-condition.d.ts +23 -0
  269. package/dist/services/workflow-operator-batch-condition.d.ts.map +1 -0
  270. package/dist/services/workflow-operator-batch-condition.js +56 -0
  271. package/dist/services/workflow-operator-batch-condition.js.map +1 -0
  272. package/dist/services/workflow-operator.d.ts +12 -5
  273. package/dist/services/workflow-operator.d.ts.map +1 -1
  274. package/dist/services/workflow-operator.js +41 -16
  275. package/dist/services/workflow-operator.js.map +1 -1
  276. package/package.json +1 -1
  277. package/skill-docs/SKILL.md +155 -290
  278. package/skill-docs/_catalog.md +12 -3
  279. package/skill-docs/actionflows/references/components/document/GetDocumentInfo.md +17 -17
  280. package/skill-docs/actionflows/references/components/logic/LogicFlowSet.md +23 -17
  281. package/skill-docs/assets/form-template/style-templates-advanced-base-example.json +1420 -0
  282. package/skill-docs/assets/form-template/style-templates-advanced-base.css +33 -0
  283. package/skill-docs/assets/form-template/style-templates-advanced-blue-crystal-example.json +1094 -0
  284. package/skill-docs/assets/form-template/style-templates-advanced-document-example.json +1251 -0
  285. package/skill-docs/assets/form-template/style-templates-advanced-grid-example.json +39 -0
  286. package/skill-docs/assets/form-template/style-templates-advanced-page-example.json +38 -0
  287. package/skill-docs/assets/form-template/style-templates-advanced-placements-example.json +30 -0
  288. package/skill-docs/assets/form-template/style-templates-advanced-standard-example.json +53 -0
  289. package/skill-docs/assets/form-template/style-templates-advanced-structure-example.json +25 -0
  290. package/skill-docs/assets/form-template/style-templates-advanced-table-example.json +1420 -0
  291. package/skill-docs/references/code-block/guide-code-block.md +141 -0
  292. package/skill-docs/references/code-block/guide-layout-css.md +107 -0
  293. package/skill-docs/references/code-block/ref-controls.md +60 -0
  294. package/skill-docs/references/code-block/ref-coverage.md +32 -0
  295. package/skill-docs/references/code-block/ref-details.md +57 -0
  296. package/skill-docs/references/code-block/ref-events-validation.md +42 -0
  297. package/skill-docs/references/code-block/ref-foundations-fields.md +56 -0
  298. package/skill-docs/references/code-block/ref-recipes.md +164 -0
  299. package/skill-docs/references/code-block/ref-troubleshooting.md +49 -0
  300. package/skill-docs/references/code-block/ref-ui-global.md +47 -0
  301. package/skill-docs/references/coding/guide-page-code.md +2 -0
  302. package/skill-docs/references/coding/ref-compile-rules.md +2 -0
  303. package/skill-docs/references/common/capability-boundaries.md +15 -0
  304. package/skill-docs/references/common/guide-install.md +44 -0
  305. package/skill-docs/references/common/guide-plan-template.md +2 -1
  306. package/skill-docs/references/common/map.md +11 -1
  307. package/skill-docs/references/common/ref-cli-commands.md +689 -648
  308. package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +8 -4
  309. package/skill-docs/references/form/form-template/style-templates-advanced-css-guide.md +167 -0
  310. package/skill-docs/references/form/form-template/style-templates-advanced.md +315 -0
  311. package/skill-docs/references/form/form-template/style-templates-easy.md +55 -0
  312. package/skill-docs/references/form/form-template/style-templates-flow.md +27 -0
  313. package/skill-docs/references/form/form-template/style-templates.md +29 -0
  314. package/skill-docs/references/form/guide-browser-definition.md +148 -0
  315. package/skill-docs/references/form/guide-create-form.md +258 -250
  316. package/skill-docs/references/form/guide-field-linkage.md +56 -14
  317. package/skill-docs/references/form/guide-form-archive-permission.md +29 -6
  318. package/skill-docs/references/form/guide-form-formula-functions.md +11 -0
  319. package/skill-docs/references/form/guide-form-layout-incremental.md +28 -0
  320. package/skill-docs/references/form/guide-form-layout-planning.md +11 -0
  321. package/skill-docs/references/form/guide-form-layout-source.md +4 -0
  322. package/skill-docs/references/form/guide-form-linkage.md +295 -269
  323. package/skill-docs/references/form/guide-form-physical-table.md +2 -0
  324. package/skill-docs/references/form/guide-form-view.md +3 -0
  325. package/skill-docs/references/form/ref-form-fields.md +301 -293
  326. package/skill-docs/references/form/ref-list-filter-date-params.md +83 -0
  327. package/skill-docs/references/menu/system-menus.md +12 -0
  328. package/skill-docs/references/workflow/condition-core-contract.md +63 -0
  329. package/skill-docs/references/workflow/guide-base-auth-share-remind.md +126 -0
  330. package/skill-docs/references/workflow/guide-workflow-condition.md +476 -447
  331. package/skill-docs/references/workflow/guide-workflow-node-layout.md +6 -0
  332. package/skill-docs/references/workflow/guide-workflow.md +29 -3
  333. package/skill-docs/references/form/style-templates.md +0 -97
@@ -1,3 +1,4 @@
1
+ import { getWorkflowContext } from '../services/workflow-context.js';
1
2
  import { readFileSync } from 'node:fs';
2
3
  import { buildMatrixRules, parseMatrixRuleInputs } from '../services/workflow-matrix-rule.js';
3
4
  import { AuthSession } from '../core/auth.js';
@@ -87,6 +88,12 @@ export function normalizeActionRow(row) {
87
88
  }
88
89
  return row;
89
90
  }
91
+ /** 角色关键词命中多个角色时的错误文案:列出候选 ID 与名称,提醒用更精确的写法。 */
92
+ function roleAmbiguityMessage(a) {
93
+ const lines = a.candidates.map((c) => ` ${c.id} ${c.content}`).join('\n');
94
+ return `角色「${a.keyword}」匹配到 ${a.candidates.length} 个,请用角色 ID 或完整名称指定`
95
+ + `(未改动节点操作者):\n${lines}`;
96
+ }
90
97
  export function registerWorkflowCommands(program) {
91
98
  const wf = program.command('workflow').description('流程管理');
92
99
  wf.command('create')
@@ -506,8 +513,8 @@ export function registerWorkflowCommands(program) {
506
513
  .description('设置审批节点的操作者')
507
514
  .argument('<workflowId>', '流程 ID')
508
515
  .argument('<nodeId>', '节点 ID')
509
- .argument('[keyword]', '人员/角色关键词(--type form 时不需要)', '')
510
- .option('--type <type>', '操作者类型: user(指定人) / role(指定角色) / dept(指定部门) / position(指定岗位) / all(所有人) / free(自由选择) / superior(发起人上级) / initiator(流程发起人本人) / prev-node(上一节点) / form(表单相关人员) / matrix(矩阵对应)', 'user')
516
+ .argument('[keyword]', '人员/角色关键词(角色可传名称或 ID;--type form 时不需要)', '')
517
+ .option('--type <type>', '操作者类型: user(指定人) / role(指定角色,名称或 ID) / dept(指定部门) / position(指定岗位) / all(所有人) / free(自由选择) / superior(发起人上级) / initiator(流程发起人本人) / prev-node(上一节点) / form(表单相关人员) / matrix(矩阵对应)', 'user')
511
518
  .option('--source <formObjId>', '表单 ID(--type form 时必填)')
512
519
  .option('--target <fieldId>', '人员字段 ID(--type form 时必填)')
513
520
  .option('--condition <json>', '筛选条件 JSON / @文件(--type form 时可选)')
@@ -527,7 +534,6 @@ export function registerWorkflowCommands(program) {
527
534
  .option('--matrix-rules <json>', '矩阵条件对象数组或@文件,与--matrix-rule互斥。sourceField=条件列ID;type=field配targetField=表单字段ID,type=0配content=指定部门/分部ID数组;operate可选,默认本级')
528
535
  .option('--matrix-name <name>', '矩阵名称(显示标签用,未传则留空)')
529
536
  .option('--value-name <name>', '值字段显示名(缺省自动从值列取)')
530
- .option('--batch-condition <expr>', '批次条件表达式(--type matrix 可选)')
531
537
  .option('--append', '追加操作者组(不清空节点已有操作者组;默认是清空后全量重建)')
532
538
  .option('--segment', '片段节点操作者(内部 workflowId 用 -99999999;nodeId 传片段节点 id)')
533
539
  .action(async (workflowId, nodeId, keyword, cmdOpts) => {
@@ -592,11 +598,15 @@ export function registerWorkflowCommands(program) {
592
598
  const { findRolesByKeywords } = await import('../services/workflow-operator.js');
593
599
  const treeData = await client.get(`${baseUrl}/api/bs/auth/role/tree?menuCode=roleSettings`);
594
600
  const roles = treeData?.data?.data || [];
595
- const { missing } = findRolesByKeywords(roles, keyword);
601
+ const { missing, ambiguous } = findRolesByKeywords(roles, keyword);
596
602
  if (missing) {
597
603
  console.error(`未找到角色: ${missing}(未改动节点操作者)`);
598
604
  process.exit(1);
599
605
  }
606
+ if (ambiguous) {
607
+ console.error(roleAmbiguityMessage(ambiguous));
608
+ process.exit(1);
609
+ }
600
610
  }
601
611
  else if (cmdOpts.type === 'user') {
602
612
  const r = await client.post(`${baseUrl}/api/hrm/common/getEmployeeByKeyWords`, { keyword, searchType: 1, searchCount: 5, appDetachModule: 'EM', disableAppDetach: 0, pageNo: 1, pageSize: 5 });
@@ -1144,8 +1154,7 @@ export function registerWorkflowCommands(program) {
1144
1154
  // Get reserveGroupId
1145
1155
  const reserveGroupId = await fetchReserveGroupId(client, baseUrl, workflowId, nodeId);
1146
1156
  const so = resolveSignOrder(SIGN_ORDER_MAP_BASIC, cmdOpts.signOrder);
1147
- const batchCond = cmdOpts.batchCondition || '';
1148
- const conditionDesc = batchCond ? `矩阵条件:${matrixRuleCondition}\\n批次条件:${batchCond}` : `矩阵条件:${matrixRuleCondition}`;
1157
+ const conditionDesc = `矩阵条件:${matrixRuleCondition}`;
1149
1158
  // D09: 标签对齐平台真实 payload——矩阵名/值名列名尽量从矩阵配置取,缺省用显式参数/空
1150
1159
  const matrixName = cmdOpts.matrixName || '';
1151
1160
  const targetCN = cmdOpts.valueName || matrixValueName;
@@ -1170,7 +1179,7 @@ export function registerWorkflowCommands(program) {
1170
1179
  isOpen: true, bigTypeId: 4,
1171
1180
  conditionSourceId: '-1',
1172
1181
  condition: conditionDesc,
1173
- groupCondition: batchCond,
1182
+ groupCondition: '',
1174
1183
  matrixRuleCondition,
1175
1184
  isSuportVirtualId: false, openProjectOrganization: false, isExtendType: 0,
1176
1185
  };
@@ -1207,11 +1216,15 @@ export function registerWorkflowCommands(program) {
1207
1216
  console.error('--type role 需要角色关键词');
1208
1217
  process.exit(1);
1209
1218
  }
1210
- const { found: foundList, missing } = findRolesByKeywords(roles, keyword);
1219
+ const { found: foundList, missing, ambiguous } = findRolesByKeywords(roles, keyword);
1211
1220
  if (missing) {
1212
1221
  console.error(`未找到角色: ${missing}`);
1213
1222
  process.exit(1);
1214
1223
  }
1224
+ if (ambiguous) {
1225
+ console.error(roleAmbiguityMessage(ambiguous));
1226
+ process.exit(1);
1227
+ }
1215
1228
  targetId = foundList.map(f => f.id).join(',');
1216
1229
  targetName = foundList.map(f => f.content).join(',');
1217
1230
  browserDatas = foundList.map(f => ({
@@ -2459,38 +2472,24 @@ export function registerWorkflowCommands(program) {
2459
2472
  // Select/SelectMultiple 字段常量赋值 customValue 必须存选项 valueKey:
2460
2473
  // 流程表单 Select valueKey=序号(0/1/2);eb 表 Select valueKey=雪花id(=selectionId)。
2461
2474
  // 存选项名会导致设计器打开值空、actionName 值部分被清。
2462
- // 两类表单字段读取接口不同,需兼容:先 workflow 接口(流程表单),读不到再 eb 接口(eb 表关联流程)。
2463
- // formId 从 getDisplayLayoutForm 反查(流程表单=formId,eb 表=关联 eb 表 formId)。
2475
+ // Existing workflow metadata determines the form API; never use failed requests as a type discriminator.
2476
+ const context = await getWorkflowContext(client, baseUrl, wf);
2477
+ const fid = context.formId;
2464
2478
  let customValue = value;
2465
- try {
2466
- const dl = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeLayout/getDisplayLayoutForm?workflowId=${wf}&nodeId=${nodeId}`);
2467
- const fid = String(dl?.data?.formId || '');
2468
- if (fid && parsed.fieldId) {
2469
- let f = {};
2470
- // ① workflow 接口(流程表单 Select,valueKey=0/1/2)
2471
- try {
2472
- const gf = await client.post(`${baseUrl}/api/workflow/core/form/field/manage/getFormField`, { module: 'workflow', formTableField: { formField: { id: parsed.fieldId, form: { id: fid } } } }, { ebbusinessid: fid });
2473
- f = gf?.data || {};
2474
- }
2475
- catch { /* try eb */ }
2476
- // ② workflow 接口读不到 options(eb 流程字段在 eb 表)→ eb 接口(valueKey=雪花id)
2477
- // eb 接口需 customParam:{objId}(用 formId 当 objId 即可读到 options,抓包确认)
2478
- if (!Array.isArray(f.options) || f.options.length === 0) {
2479
- try {
2480
- const gf2 = await client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/getFormField`, { module: 'ebuilderform', customParam: { objId: fid }, formTableField: { formField: { id: parsed.fieldId, form: { id: fid } } } }, { ebbusinessid: fid });
2481
- f = gf2?.data || {};
2482
- }
2483
- catch { /* 保持 */ }
2484
- }
2485
- if (/select/i.test(String(f.type || f.componentKey || ''))) {
2486
- const opts = Array.isArray(f.options) ? f.options : [];
2487
- const hit = opts.find((o) => o.name === value);
2488
- if (hit)
2489
- customValue = String(hit.valueKey);
2490
- }
2479
+ if (parsed.fieldId) {
2480
+ const eb = context.kind === 'ebuilder';
2481
+ const gf = await client.post(`${baseUrl}${eb ? '/api/ebuilder/form' : '/api/workflow/core'}/form/field/manage/getFormField`, { module: eb ? 'ebuilderform' : 'workflow', ...(eb ? { customParam: { objId: fid } } : {}),
2482
+ formTableField: { formField: { id: parsed.fieldId, form: { id: fid } } } }, { ebbusinessid: fid });
2483
+ if (gf?.code !== 200 || gf.status === false || !gf.data)
2484
+ throw Error('读取赋值字段失败,停止保存');
2485
+ const f = gf.data;
2486
+ if (/select/i.test(String(f.type || f.componentKey || ''))) {
2487
+ const opts = Array.isArray(f.options) ? f.options : [];
2488
+ const hit = opts.find((o) => o.name === value);
2489
+ if (hit)
2490
+ customValue = String(hit.valueKey);
2491
2491
  }
2492
2492
  }
2493
- catch { /* 解析失败保持原值(非 Select 或字段读不到) */ }
2494
2493
  payload = {
2495
2494
  workflowId: wf, objId: nodeId, triggerType: 'all',
2496
2495
  data: [{