weaver-e10-builder 1.6.11 → 1.6.13

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 (260) hide show
  1. package/dist/cli-register.d.ts +22 -0
  2. package/dist/cli-register.d.ts.map +1 -0
  3. package/dist/cli-register.js +340 -0
  4. package/dist/cli-register.js.map +1 -0
  5. package/dist/commands/form-browser-definition.d.ts.map +1 -1
  6. package/dist/commands/form-browser-definition.js +108 -7
  7. package/dist/commands/form-browser-definition.js.map +1 -1
  8. package/dist/commands/form-browser-scope-rules.d.ts +27 -0
  9. package/dist/commands/form-browser-scope-rules.d.ts.map +1 -0
  10. package/dist/commands/form-browser-scope-rules.js +141 -0
  11. package/dist/commands/form-browser-scope-rules.js.map +1 -0
  12. package/dist/commands/form-browser-scope-tree.d.ts +14 -0
  13. package/dist/commands/form-browser-scope-tree.d.ts.map +1 -0
  14. package/dist/commands/form-browser-scope-tree.js +115 -0
  15. package/dist/commands/form-browser-scope-tree.js.map +1 -0
  16. package/dist/commands/form-list-columns.d.ts.map +1 -1
  17. package/dist/commands/form-list-columns.js +85 -3
  18. package/dist/commands/form-list-columns.js.map +1 -1
  19. package/dist/commands/form-list-config.d.ts +9 -0
  20. package/dist/commands/form-list-config.d.ts.map +1 -0
  21. package/dist/commands/form-list-config.js +113 -0
  22. package/dist/commands/form-list-config.js.map +1 -0
  23. package/dist/commands/form-list-filter.d.ts.map +1 -1
  24. package/dist/commands/form-list-filter.js +231 -3
  25. package/dist/commands/form-list-filter.js.map +1 -1
  26. package/dist/commands/form-nlist.d.ts.map +1 -1
  27. package/dist/commands/form-nlist.js +48 -1
  28. package/dist/commands/form-nlist.js.map +1 -1
  29. package/dist/commands/matrix-maintainer.d.ts +3 -0
  30. package/dist/commands/matrix-maintainer.d.ts.map +1 -0
  31. package/dist/commands/matrix-maintainer.js +117 -0
  32. package/dist/commands/matrix-maintainer.js.map +1 -0
  33. package/dist/commands/matrix.d.ts.map +1 -1
  34. package/dist/commands/matrix.js +2 -0
  35. package/dist/commands/matrix.js.map +1 -1
  36. package/dist/commands/report-validate.d.ts.map +1 -1
  37. package/dist/commands/report-validate.js +36 -0
  38. package/dist/commands/report-validate.js.map +1 -1
  39. package/dist/commands/role.d.ts.map +1 -1
  40. package/dist/commands/role.js +354 -0
  41. package/dist/commands/role.js.map +1 -1
  42. package/dist/commands/special.d.ts.map +1 -1
  43. package/dist/commands/special.js +67 -31
  44. package/dist/commands/special.js.map +1 -1
  45. package/dist/commands/wf-form.d.ts.map +1 -1
  46. package/dist/commands/wf-form.js +1 -121
  47. package/dist/commands/wf-form.js.map +1 -1
  48. package/dist/commands/workflow-layout-components.d.ts +3 -0
  49. package/dist/commands/workflow-layout-components.d.ts.map +1 -0
  50. package/dist/commands/workflow-layout-components.js +36 -0
  51. package/dist/commands/workflow-layout-components.js.map +1 -0
  52. package/dist/commands/workflow-node-batch.d.ts +3 -0
  53. package/dist/commands/workflow-node-batch.d.ts.map +1 -0
  54. package/dist/commands/workflow-node-batch.js +136 -0
  55. package/dist/commands/workflow-node-batch.js.map +1 -0
  56. package/dist/commands/workflow-node-opinion.d.ts +3 -0
  57. package/dist/commands/workflow-node-opinion.d.ts.map +1 -0
  58. package/dist/commands/workflow-node-opinion.js +51 -0
  59. package/dist/commands/workflow-node-opinion.js.map +1 -0
  60. package/dist/commands/workflow-node-reject.js +1 -1
  61. package/dist/commands/workflow-node-reject.js.map +1 -1
  62. package/dist/commands/workflow-node.d.ts.map +1 -1
  63. package/dist/commands/workflow-node.js +4 -3
  64. package/dist/commands/workflow-node.js.map +1 -1
  65. package/dist/index.js +19 -209
  66. package/dist/index.js.map +1 -1
  67. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  68. package/dist/services/actionflow/build_workflow_draft.js +8 -0
  69. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  70. package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
  71. package/dist/services/actionflow/calendar_mapper.js +7 -4
  72. package/dist/services/actionflow/calendar_mapper.js.map +1 -1
  73. package/dist/services/actionflow/component_registry.d.ts.map +1 -1
  74. package/dist/services/actionflow/component_registry.js +18 -2
  75. package/dist/services/actionflow/component_registry.js.map +1 -1
  76. package/dist/services/actionflow/components/action_eb_delete.js +1 -1
  77. package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
  78. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  79. package/dist/services/actionflow/components/action_eb_update.js +2 -1
  80. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  81. package/dist/services/actionflow/components/approve_create.d.ts.map +1 -1
  82. package/dist/services/actionflow/components/approve_create.js +4 -3
  83. package/dist/services/actionflow/components/approve_create.js.map +1 -1
  84. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  85. package/dist/services/actionflow/components/document_actions.js +15 -48
  86. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  87. package/dist/services/actionflow/components/enquiry_form.d.ts +0 -7
  88. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  89. package/dist/services/actionflow/components/enquiry_form.js +10 -54
  90. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  91. package/dist/services/actionflow/components/form_data_builder.d.ts +2 -0
  92. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  93. package/dist/services/actionflow/components/form_data_builder.js +35 -0
  94. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  95. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
  96. package/dist/services/actionflow/components/inner_mq_send.js +8 -2
  97. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
  98. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  99. package/dist/services/actionflow/components/send_message.js +60 -4
  100. package/dist/services/actionflow/components/send_message.js.map +1 -1
  101. package/dist/services/actionflow/components/serverless_action.d.ts.map +1 -1
  102. package/dist/services/actionflow/components/serverless_action.js +39 -0
  103. package/dist/services/actionflow/components/serverless_action.js.map +1 -1
  104. package/dist/services/actionflow/components/simple_scheduler.d.ts.map +1 -1
  105. package/dist/services/actionflow/components/simple_scheduler.js +46 -12
  106. package/dist/services/actionflow/components/simple_scheduler.js.map +1 -1
  107. package/dist/services/actionflow/components/time_batch_trigger.js +4 -3
  108. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
  109. package/dist/services/actionflow/context_preflight.js +5 -5
  110. package/dist/services/actionflow/context_preflight.js.map +1 -1
  111. package/dist/services/actionflow/form_source.d.ts +2 -0
  112. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  113. package/dist/services/actionflow/form_source.js +45 -10
  114. package/dist/services/actionflow/form_source.js.map +1 -1
  115. package/dist/services/actionflow/formula_service.d.ts +1 -0
  116. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  117. package/dist/services/actionflow/formula_service.js +130 -36
  118. package/dist/services/actionflow/formula_service.js.map +1 -1
  119. package/dist/services/actionflow/param_mapping_basis.d.ts +3 -0
  120. package/dist/services/actionflow/param_mapping_basis.d.ts.map +1 -0
  121. package/dist/services/actionflow/param_mapping_basis.js +61 -0
  122. package/dist/services/actionflow/param_mapping_basis.js.map +1 -0
  123. package/dist/services/actionflow/preflight_service.d.ts +2 -0
  124. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  125. package/dist/services/actionflow/preflight_service.js +73 -35
  126. package/dist/services/actionflow/preflight_service.js.map +1 -1
  127. package/dist/services/actionflow/runtime_metadata.d.ts +1 -0
  128. package/dist/services/actionflow/runtime_metadata.d.ts.map +1 -1
  129. package/dist/services/actionflow/runtime_metadata.js +3 -0
  130. package/dist/services/actionflow/runtime_metadata.js.map +1 -1
  131. package/dist/services/actionflow/trigger_common.d.ts.map +1 -1
  132. package/dist/services/actionflow/trigger_common.js +4 -7
  133. package/dist/services/actionflow/trigger_common.js.map +1 -1
  134. package/dist/services/actionflow/update_service.d.ts +6 -0
  135. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  136. package/dist/services/actionflow/update_service.js +6 -38
  137. package/dist/services/actionflow/update_service.js.map +1 -1
  138. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  139. package/dist/services/actionflow/workflow_compiler.js +7 -7
  140. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  141. package/dist/services/actionflow/workflow_request_level.d.ts +3 -0
  142. package/dist/services/actionflow/workflow_request_level.d.ts.map +1 -0
  143. package/dist/services/actionflow/workflow_request_level.js +11 -0
  144. package/dist/services/actionflow/workflow_request_level.js.map +1 -0
  145. package/dist/services/form-layout-describe.d.ts.map +1 -1
  146. package/dist/services/form-layout-describe.js +3 -2
  147. package/dist/services/form-layout-describe.js.map +1 -1
  148. package/dist/services/form-layout-document.d.ts.map +1 -1
  149. package/dist/services/form-layout-document.js +2 -1
  150. package/dist/services/form-layout-document.js.map +1 -1
  151. package/dist/services/form-list-columns.d.ts +11 -0
  152. package/dist/services/form-list-columns.d.ts.map +1 -1
  153. package/dist/services/form-list-columns.js +10 -0
  154. package/dist/services/form-list-columns.js.map +1 -1
  155. package/dist/services/form-list-config.d.ts +58 -0
  156. package/dist/services/form-list-config.d.ts.map +1 -0
  157. package/dist/services/form-list-config.js +140 -0
  158. package/dist/services/form-list-config.js.map +1 -0
  159. package/dist/services/form-list-fields.d.ts +36 -0
  160. package/dist/services/form-list-fields.d.ts.map +1 -0
  161. package/dist/services/form-list-fields.js +182 -0
  162. package/dist/services/form-list-fields.js.map +1 -0
  163. package/dist/services/form-list-filter-http.d.ts +60 -0
  164. package/dist/services/form-list-filter-http.d.ts.map +1 -0
  165. package/dist/services/form-list-filter-http.js +137 -0
  166. package/dist/services/form-list-filter-http.js.map +1 -0
  167. package/dist/services/form-list-filter-sql.d.ts +74 -0
  168. package/dist/services/form-list-filter-sql.d.ts.map +1 -0
  169. package/dist/services/form-list-filter-sql.js +206 -0
  170. package/dist/services/form-list-filter-sql.js.map +1 -0
  171. package/dist/services/form-nlist.d.ts +25 -0
  172. package/dist/services/form-nlist.d.ts.map +1 -1
  173. package/dist/services/form-nlist.js +223 -0
  174. package/dist/services/form-nlist.js.map +1 -1
  175. package/dist/services/form-view.d.ts +3 -3
  176. package/dist/services/form-view.d.ts.map +1 -1
  177. package/dist/services/form-view.js +26 -12
  178. package/dist/services/form-view.js.map +1 -1
  179. package/dist/services/matrix-maintainer.d.ts +27 -0
  180. package/dist/services/matrix-maintainer.d.ts.map +1 -0
  181. package/dist/services/matrix-maintainer.js +142 -0
  182. package/dist/services/matrix-maintainer.js.map +1 -0
  183. package/dist/services/report/drill.d.ts +74 -0
  184. package/dist/services/report/drill.d.ts.map +1 -0
  185. package/dist/services/report/drill.js +259 -0
  186. package/dist/services/report/drill.js.map +1 -0
  187. package/dist/services/role-function-permission.d.ts +12 -0
  188. package/dist/services/role-function-permission.d.ts.map +1 -0
  189. package/dist/services/role-function-permission.js +46 -0
  190. package/dist/services/role-function-permission.js.map +1 -0
  191. package/dist/services/special-layout.d.ts +113 -0
  192. package/dist/services/special-layout.d.ts.map +1 -0
  193. package/dist/services/special-layout.js +178 -0
  194. package/dist/services/special-layout.js.map +1 -0
  195. package/dist/services/workflow-base-settings.d.ts +1 -10
  196. package/dist/services/workflow-base-settings.d.ts.map +1 -1
  197. package/dist/services/workflow-field-permission-route.d.ts +15 -41
  198. package/dist/services/workflow-field-permission-route.d.ts.map +1 -1
  199. package/dist/services/workflow-field-permission-route.js +23 -8
  200. package/dist/services/workflow-field-permission-route.js.map +1 -1
  201. package/dist/services/workflow-function-management.d.ts +1 -1
  202. package/dist/services/workflow-layout-components.d.ts +52 -0
  203. package/dist/services/workflow-layout-components.d.ts.map +1 -0
  204. package/dist/services/workflow-layout-components.js +66 -0
  205. package/dist/services/workflow-layout-components.js.map +1 -0
  206. package/dist/services/workflow-layout-draft.d.ts +49 -0
  207. package/dist/services/workflow-layout-draft.d.ts.map +1 -0
  208. package/dist/services/workflow-layout-draft.js +98 -0
  209. package/dist/services/workflow-layout-draft.js.map +1 -0
  210. package/dist/services/workflow-node-batch-spec.d.ts +122 -0
  211. package/dist/services/workflow-node-batch-spec.d.ts.map +1 -0
  212. package/dist/services/workflow-node-batch-spec.js +496 -0
  213. package/dist/services/workflow-node-batch-spec.js.map +1 -0
  214. package/dist/services/workflow-node-batch.d.ts +73 -0
  215. package/dist/services/workflow-node-batch.d.ts.map +1 -0
  216. package/dist/services/workflow-node-batch.js +328 -0
  217. package/dist/services/workflow-node-batch.js.map +1 -0
  218. package/dist/services/workflow-node-opinion-description.d.ts +12 -0
  219. package/dist/services/workflow-node-opinion-description.d.ts.map +1 -0
  220. package/dist/services/workflow-node-opinion-description.js +52 -0
  221. package/dist/services/workflow-node-opinion-description.js.map +1 -0
  222. package/dist/services/workflow-node-opinion-layout.d.ts +22 -0
  223. package/dist/services/workflow-node-opinion-layout.d.ts.map +1 -0
  224. package/dist/services/workflow-node-opinion-layout.js +113 -0
  225. package/dist/services/workflow-node-opinion-layout.js.map +1 -0
  226. package/dist/services/workflow-node-opinion-range.d.ts +21 -0
  227. package/dist/services/workflow-node-opinion-range.d.ts.map +1 -0
  228. package/dist/services/workflow-node-opinion-range.js +74 -0
  229. package/dist/services/workflow-node-opinion-range.js.map +1 -0
  230. package/dist/services/workflow-node-opinion.d.ts +43 -0
  231. package/dist/services/workflow-node-opinion.d.ts.map +1 -0
  232. package/dist/services/workflow-node-opinion.js +198 -0
  233. package/dist/services/workflow-node-opinion.js.map +1 -0
  234. package/dist/services/workflow-opinion-settings.d.ts +14 -0
  235. package/dist/services/workflow-opinion-settings.d.ts.map +1 -1
  236. package/dist/services/workflow-opinion-settings.js +18 -2
  237. package/dist/services/workflow-opinion-settings.js.map +1 -1
  238. package/package.json +1 -1
  239. package/skill-docs/SKILL.md +164 -162
  240. package/skill-docs/_catalog.md +3 -2
  241. package/skill-docs/actionflows/references/components/ebuilder/DateTrigger.md +32 -32
  242. package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +3 -1
  243. package/skill-docs/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -19
  244. package/skill-docs/actionflows/references/components/message/SendMessage.md +32 -30
  245. package/skill-docs/references/common/guide-plan-template.md +4 -1
  246. package/skill-docs/references/common/map.md +28 -4
  247. package/skill-docs/references/common/ref-cli-commands.md +23 -8
  248. package/skill-docs/references/form/guide-browser-definition.md +2 -219
  249. package/skill-docs/references/form/guide-browser-scope.md +285 -0
  250. package/skill-docs/references/form/guide-create-form.md +1 -1
  251. package/skill-docs/references/form/guide-form-view.md +201 -0
  252. package/skill-docs/references/hrm/guide-matrix.md +276 -245
  253. package/skill-docs/references/hrm/guide-role.md +77 -0
  254. package/skill-docs/references/report/drilldown-report-guide.md +17 -1
  255. package/skill-docs/references/report/event-hreflink-guide.md +2 -0
  256. package/skill-docs/references/report/query-condition-api-guide.md +29 -0
  257. package/skill-docs/references/workflow/guide-layout-components.md +26 -0
  258. package/skill-docs/references/workflow/guide-node-opinion.md +58 -0
  259. package/skill-docs/references/workflow/guide-workflow.md +43 -0
  260. package/skill-docs/references/form/guide-ebuilder-scope.md +0 -82
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 命令分组注册(懒加载)。
3
+ *
4
+ * 背景:启动时把 100+ 个命令模块全部 import,会让 --version 这种不干活的调用
5
+ * 也加载上千个模块(实测 0.84s / 1350 模块)。这里按顶层命令名分组,index.ts 先看
6
+ * argv 再只加载命中的那一组;--help / 未知命令回退到 registerAllGroups()。
7
+ *
8
+ * 维护约定:新增命令时,把它加到对应分组的**原有位置**;组内顺序 = 旧 index.ts 的调用顺序,
9
+ * 不要重排(report 的 validate 先建 fix 组、designer-css 依赖 designer 已注册,都靠顺序)。
10
+ */
11
+ import type { Command } from 'commander';
12
+ /**
13
+ * 从 argv 里找出顶层命令名。
14
+ * 返回 null 表示「需要全量注册」:无参数、顶层 help、-V/--version、未知全局选项。
15
+ */
16
+ export declare function resolveTopLevelCommand(argv: string[]): string | null;
17
+ /** 按顶层命令名加载一组;未知名字返回 false,由调用方回退全量。 */
18
+ export declare function registerGroup(name: string, program: Command): Promise<boolean>;
19
+ /** 全量注册(--help / help / 未知命令):顺序 = 旧 index.ts 的注册顺序。 */
20
+ export declare function registerAllGroups(program: Command): Promise<void>;
21
+ export declare const TOP_LEVEL_COMMANDS: string[];
22
+ //# sourceMappingURL=cli-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-register.d.ts","sourceRoot":"","sources":["../src/cli-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4UzC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAapE;AAED,wCAAwC;AACxC,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAKpF;AAED,wDAAwD;AACxD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED,eAAO,MAAM,kBAAkB,UAAsB,CAAC"}
@@ -0,0 +1,340 @@
1
+ async function registerFormGroup(program) {
2
+ const [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36, m37] = await Promise.all([
3
+ import('./commands/form.js'),
4
+ import('./commands/form-button.js'),
5
+ import('./commands/form-data.js'),
6
+ import('./commands/form-list.js'),
7
+ import('./commands/form-list-unit.js'),
8
+ import('./commands/form-list-click.js'),
9
+ import('./commands/form-layout.js'),
10
+ import('./commands/form-code.js'),
11
+ import('./commands/form-layout-code-reviewed.js'),
12
+ import('./commands/form-layout-init.js'),
13
+ import('./commands/form-layout-init-reviewed.js'),
14
+ import('./commands/form-layout-restore.js'),
15
+ import('./commands/form-layout-describe.js'),
16
+ import('./commands/form-layout-diff.js'),
17
+ import('./commands/form-layout-edit.js'),
18
+ import('./commands/form-layout-document.js'),
19
+ import('./commands/form-permission.js'),
20
+ import('./commands/form-view.js'),
21
+ import('./commands/form-table-view.js'),
22
+ import('./commands/form-view-permission.js'),
23
+ import('./commands/form-ebuilder-filter.js'),
24
+ import('./commands/form-ebuilder-columns.js'),
25
+ import('./commands/form-serial-mark.js'),
26
+ import('./commands/form-validate.js'),
27
+ import('./commands/form-formula.js'),
28
+ import('./commands/form-relate.js'),
29
+ import('./commands/form-native.js'),
30
+ import('./commands/form-association.js'),
31
+ import('./commands/form-add-detail-table.js'),
32
+ import('./commands/form-physical-table.js'),
33
+ import('./commands/form-add-physical-field.js'),
34
+ import('./commands/form-field-linkage.js'),
35
+ import('./commands/form-field-lang.js'),
36
+ import('./commands/form-nlist.js'),
37
+ import('./commands/form-virtual.js'),
38
+ import('./commands/form-formula-linkage.js'),
39
+ import('./commands/form-message.js'),
40
+ import('./commands/form-list-config.js'),
41
+ ]);
42
+ const formCmd = m0.registerFormCommands(program);
43
+ m1.registerFormButtonCommands(formCmd, program);
44
+ m2.registerFormDataCommands(formCmd, program);
45
+ m3.registerFormListCommands(formCmd, program);
46
+ m4.registerFormListUnitCommands(formCmd, program);
47
+ m5.registerFormListClickCommands(formCmd, program);
48
+ m6.registerFormLayoutCommands(formCmd, program);
49
+ m7.registerFormCodeCommands(formCmd, program, 'ebuilderform');
50
+ m8.registerFormLayoutCodeReviewedCommands(formCmd, program, 'ebuilderform');
51
+ m9.registerFormLayoutInitCommands(formCmd, program);
52
+ m10.registerFormLayoutInitReviewedCommands(formCmd, program);
53
+ m11.registerFormLayoutRestoreCommands(formCmd, program);
54
+ m12.registerFormLayoutDescribeCommand(formCmd, program);
55
+ m13.registerFormLayoutDiffCommand(formCmd, program);
56
+ m14.registerFormLayoutEditCommand(formCmd, program);
57
+ m15.registerFormLayoutDocumentCommands(formCmd, program);
58
+ m16.registerFormPermissionCommands(formCmd, program);
59
+ m17.registerFormViewCommands(formCmd, program);
60
+ m18.registerFormTableViewCommands(formCmd, program);
61
+ m19.registerFormViewPermissionCommands(formCmd, program);
62
+ m20.registerFormEBuilderFilterCommands(formCmd, program);
63
+ m21.registerFormEBuilderColumnsCommands(formCmd, program);
64
+ m22.registerFormSerialMarkCommands(formCmd, program);
65
+ m23.registerFormValidateCommands(formCmd, program);
66
+ m24.registerFormFormulaCommands(formCmd, program);
67
+ m25.registerFormRelateCommands(formCmd, program);
68
+ m26.registerFormNativeCommands(formCmd, program);
69
+ m27.registerFormAssociationCommands(formCmd, program);
70
+ m28.registerFormAddDetailTableCommands(formCmd, program);
71
+ m29.registerFormPhysicalTableCommands(formCmd, program);
72
+ m30.registerFormAddPhysicalFieldCommands(formCmd, program);
73
+ m31.registerFormFieldLinkageCommands(formCmd, program);
74
+ m32.registerFormFieldLangCommands(formCmd, program);
75
+ m33.registerFormNListCommands(formCmd, program);
76
+ m34.registerFormVirtualCommands(formCmd, program);
77
+ m35.registerFormFormulaLinkageCommands(formCmd, program);
78
+ m36.registerFormMessageCommands(formCmd, program);
79
+ m37.registerFormListConfigCommands(formCmd, program);
80
+ }
81
+ async function registerProjectGroup(program) {
82
+ const m0 = await import('./commands/project.js');
83
+ m0.registerProjectCommands(program);
84
+ }
85
+ async function registerAppGroup(program) {
86
+ const m0 = await import('./commands/app.js');
87
+ m0.registerAppCommands(program);
88
+ }
89
+ async function registerMenuGroup(program) {
90
+ const [m0, m1] = await Promise.all([
91
+ import('./commands/menu.js'),
92
+ import('./commands/menu-permission.js'),
93
+ ]);
94
+ m0.registerMenuCommands(program);
95
+ m1.registerMenuPermissionCommands(program);
96
+ }
97
+ async function registerPageGroup(program) {
98
+ const m0 = await import('./commands/page.js');
99
+ m0.registerPageCommands(program);
100
+ }
101
+ async function registerDesignerGroup(program) {
102
+ const [m0, m1, m2] = await Promise.all([
103
+ import('./commands/designer.js'),
104
+ import('./commands/designer-setters.js'),
105
+ import('./commands/designer-css.js'),
106
+ ]);
107
+ m0.registerDesignerCommands(program);
108
+ m1.registerDesignerSetterCommands(program);
109
+ m2.registerDesignerCssCommands(program);
110
+ }
111
+ async function registerReportGroup(program) {
112
+ const [m0, m1, m2, m3, m4] = await Promise.all([
113
+ import('./commands/report.js'),
114
+ import('./commands/report-validate.js'),
115
+ import('./commands/report-cell.js'),
116
+ import('./commands/report-query.js'),
117
+ import('./commands/report-admin.js'),
118
+ ]);
119
+ const reportCmd = m0.registerReportCommands(program);
120
+ m1.registerReportValidateCommands(reportCmd, program);
121
+ m2.registerReportCellCommands(reportCmd, program);
122
+ m3.registerReportQueryCommands(reportCmd, program);
123
+ m4.registerReportAdminCommands(reportCmd, program);
124
+ }
125
+ async function registerWorkflowGroup(program) {
126
+ const [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32] = await Promise.all([
127
+ import('./commands/workflow.js'),
128
+ import('./commands/workflow-condition.js'),
129
+ import('./commands/workflow-operator-batch.js'),
130
+ import('./commands/workflow-action.js'),
131
+ import('./commands/workflow-node.js'),
132
+ import('./commands/workflow-node-batch.js'),
133
+ import('./commands/workflow-node-empty-handle.js'),
134
+ import('./commands/workflow-node-sign.js'),
135
+ import('./commands/workflow-opinion-settings.js'),
136
+ import('./commands/workflow-layout-components.js'),
137
+ import('./commands/workflow-node-opinion.js'),
138
+ import('./commands/workflow-node-validate.js'),
139
+ import('./commands/workflow-setting.js'),
140
+ import('./commands/workflow-title.js'),
141
+ import('./commands/workflow-advanced.js'),
142
+ import('./commands/workflow-message.js'),
143
+ import('./commands/workflow-node-overtime.js'),
144
+ import('./commands/workflow-node-reject.js'),
145
+ import('./commands/workflow-plan-range.js'),
146
+ import('./commands/workflow-numbering.js'),
147
+ import('./commands/workflow-segment.js'),
148
+ import('./commands/workflow-subprocess.js'),
149
+ import('./commands/workflow-node-robot.js'),
150
+ import('./commands/workflow-node-assign-flow.js'),
151
+ import('./commands/workflow-function-management.js'),
152
+ import('./commands/workflow-base-settings.js'),
153
+ import('./commands/workflow-create-workflow.js'),
154
+ import('./commands/workflow-basic-info.js'),
155
+ import('./commands/workflow-auth-resp.js'),
156
+ import('./commands/workflow-create-auth-resp.js'),
157
+ import('./commands/workflow-export.js'),
158
+ import('./commands/workflow-odoc.js'),
159
+ import('./commands/workflow-operator-sign.js'),
160
+ ]);
161
+ const wfCmd = m0.registerWorkflowCommands(program);
162
+ m1.registerWorkflowConditionCommands(wfCmd, program);
163
+ m2.registerWorkflowOperatorBatchCommands(wfCmd, program);
164
+ m3.registerWorkflowActionCommands(wfCmd, program);
165
+ m4.registerWorkflowNodeCommands(wfCmd, program);
166
+ m5.registerWorkflowNodeBatchCommands(wfCmd, program);
167
+ m6.registerWorkflowNodeEmptyHandleCommands(wfCmd, program);
168
+ m7.registerWorkflowNodeSignCommands(wfCmd, program);
169
+ m8.registerWorkflowOpinionCommands(wfCmd, program);
170
+ m9.registerWorkflowLayoutComponents(wfCmd, program);
171
+ m10.registerNodeOpinion(wfCmd, program);
172
+ m11.registerWorkflowNodeValidateCommands(wfCmd, program);
173
+ m12.registerWorkflowSettingCommands(wfCmd, program);
174
+ m13.registerWorkflowTitleCommands(wfCmd, program);
175
+ m14.registerWorkflowAdvancedCommands(wfCmd, program);
176
+ m15.registerWorkflowMessageCommands(wfCmd, program);
177
+ m16.registerWorkflowNodeOvertimeCommands(wfCmd, program);
178
+ m17.registerWorkflowNodeRejectCommands(wfCmd, program);
179
+ m18.registerWorkflowPlanRangeCommands(wfCmd, program);
180
+ m19.registerWorkflowNumberingCommands(wfCmd, program);
181
+ m20.registerWorkflowSegmentCommands(wfCmd, program);
182
+ m21.registerWorkflowSubProcessCommands(wfCmd, program);
183
+ m22.registerWorkflowNodeRobotCommands(wfCmd, program);
184
+ m23.registerWorkflowNodeAssignFlowCommands(wfCmd, program);
185
+ m24.registerWorkflowFunctionManagementCommands(wfCmd, program);
186
+ m25.registerWorkflowBaseSettingsCommands(wfCmd, program);
187
+ m26.registerWorkflowCreateWorkflowCommands(wfCmd, program);
188
+ m27.registerWorkflowBasicInfo(wfCmd, program);
189
+ m28.registerWorkflowAuthRespCommands(wfCmd, program);
190
+ m29.registerWorkflowCreateAuthRespCommands(wfCmd, program);
191
+ m30.registerWorkflowExportCommands(wfCmd, program);
192
+ m31.registerWorkflowOdocCommands(wfCmd, program);
193
+ m32.registerWorkflowOperatorSignCommands(wfCmd, program);
194
+ }
195
+ async function registerWfFormGroup(program) {
196
+ const [m0, m1, m2, m3] = await Promise.all([
197
+ import('./commands/wf-form.js'),
198
+ import('./commands/wf-form-layout-init-reviewed.js'),
199
+ import('./commands/form-code.js'),
200
+ import('./commands/form-layout-code-reviewed.js'),
201
+ ]);
202
+ const wfFormCmd = m0.registerWorkflowFormCommands(program);
203
+ m1.registerWorkflowLayoutInitReviewedCommands(wfFormCmd, program);
204
+ m2.registerFormCodeCommands(wfFormCmd, program, 'workflow');
205
+ m3.registerFormLayoutCodeReviewedCommands(wfFormCmd, program, 'workflow');
206
+ }
207
+ async function registerFormEngineGroup(program) {
208
+ const [m0, m1, m2, m3, m4] = await Promise.all([
209
+ import('./commands/form-engine-linkage.js'),
210
+ import('./commands/form-browser-definition.js'),
211
+ import('./commands/form-layout-template-easy.js'),
212
+ import('./commands/form-layout-template-advanced.js'),
213
+ import('./commands/form-layout-template-catalog.js'),
214
+ ]);
215
+ m0.registerFormEngineLinkageCommands(program);
216
+ m1.registerFormBrowserDefinitionCommands(program);
217
+ m2.registerFormLayoutTemplateEasyCommands(program);
218
+ m3.registerFormLayoutTemplateAdvancedCommands(program);
219
+ m4.registerFormLayoutTemplateCatalogCommands(program);
220
+ }
221
+ async function registerActionflowGroup(program) {
222
+ const m0 = await import('./commands/actionflow.js');
223
+ m0.registerActionflowCommands(program);
224
+ }
225
+ async function registerSkillGroup(program) {
226
+ const m0 = await import('./commands/skill.js');
227
+ m0.registerSkillCommands(program);
228
+ }
229
+ async function registerUserGroup(program) {
230
+ const m0 = await import('./commands/user.js');
231
+ m0.registerUserCommands(program);
232
+ }
233
+ async function registerIconGroup(program) {
234
+ const m0 = await import('./commands/icon.js');
235
+ m0.registerIconCommands(program);
236
+ }
237
+ async function registerAuthGroup(program) {
238
+ const m0 = await import('./commands/auth.js');
239
+ m0.registerAuthCommands(program);
240
+ }
241
+ async function registerUpdateGroup(program) {
242
+ const m0 = await import('./commands/update.js');
243
+ m0.registerUpdateCommands(program);
244
+ }
245
+ async function registerCheckGroup(program) {
246
+ const m0 = await import('./commands/check.js');
247
+ m0.registerCheckCommands(program);
248
+ }
249
+ async function registerCompileGroup(program) {
250
+ const m0 = await import('./commands/compile.js');
251
+ m0.registerCompileCommands(program);
252
+ }
253
+ async function registerRoleGroup(program) {
254
+ const m0 = await import('./commands/role.js');
255
+ m0.registerRoleCommands(program);
256
+ }
257
+ async function registerOrgGroup(program) {
258
+ const m0 = await import('./commands/org.js');
259
+ m0.registerOrgCommands(program);
260
+ }
261
+ async function registerDocxGroup(program) {
262
+ const m0 = await import('./commands/docx.js');
263
+ m0.registerDocxCommands(program);
264
+ }
265
+ async function registerMatrixGroup(program) {
266
+ const m0 = await import('./commands/matrix.js');
267
+ m0.registerMatrixCommands(program);
268
+ }
269
+ async function registerInterfaceGroup(program) {
270
+ const m0 = await import('./commands/interface.js');
271
+ m0.registerInterfaceCommands(program);
272
+ }
273
+ async function registerSpecialGroup(program) {
274
+ const m0 = await import('./commands/special.js');
275
+ m0.registerSpecialCommands(program);
276
+ }
277
+ const GROUPS = {
278
+ 'form': registerFormGroup,
279
+ 'project': registerProjectGroup,
280
+ 'app': registerAppGroup,
281
+ 'menu': registerMenuGroup,
282
+ 'page': registerPageGroup,
283
+ 'designer': registerDesignerGroup,
284
+ 'report': registerReportGroup,
285
+ 'workflow': registerWorkflowGroup,
286
+ 'wf-form': registerWfFormGroup,
287
+ 'form-engine': registerFormEngineGroup,
288
+ 'actionflow': registerActionflowGroup,
289
+ 'skill': registerSkillGroup,
290
+ 'user': registerUserGroup,
291
+ 'icon': registerIconGroup,
292
+ 'auth': registerAuthGroup,
293
+ 'update': registerUpdateGroup,
294
+ 'check': registerCheckGroup,
295
+ 'compile': registerCompileGroup,
296
+ 'role': registerRoleGroup,
297
+ 'org': registerOrgGroup,
298
+ 'docx': registerDocxGroup,
299
+ 'matrix': registerMatrixGroup,
300
+ 'interface': registerInterfaceGroup,
301
+ 'special': registerSpecialGroup,
302
+ };
303
+ /** 带值的全局选项:路由时要连同它的值一起跳过,否则会把值当成命令名。 */
304
+ const VALUE_OPTIONS = new Set(['--auth', '--profile']);
305
+ /**
306
+ * 从 argv 里找出顶层命令名。
307
+ * 返回 null 表示「需要全量注册」:无参数、顶层 help、-V/--version、未知全局选项。
308
+ */
309
+ export function resolveTopLevelCommand(argv) {
310
+ for (let i = 0; i < argv.length; i++) {
311
+ const arg = argv[i];
312
+ if (arg === '--')
313
+ return null;
314
+ if (VALUE_OPTIONS.has(arg)) {
315
+ i++; // 跳过选项值
316
+ continue;
317
+ }
318
+ if (arg.startsWith('--auth=') || arg.startsWith('--profile=') || arg === '--json')
319
+ continue;
320
+ if (arg.startsWith('-'))
321
+ return null; // -h/--help 等:需要完整帮助
322
+ return arg;
323
+ }
324
+ return null;
325
+ }
326
+ /** 按顶层命令名加载一组;未知名字返回 false,由调用方回退全量。 */
327
+ export async function registerGroup(name, program) {
328
+ const fn = GROUPS[name];
329
+ if (!fn)
330
+ return false;
331
+ await fn(program);
332
+ return true;
333
+ }
334
+ /** 全量注册(--help / help / 未知命令):顺序 = 旧 index.ts 的注册顺序。 */
335
+ export async function registerAllGroups(program) {
336
+ for (const fn of Object.values(GROUPS))
337
+ await fn(program);
338
+ }
339
+ export const TOP_LEVEL_COMMANDS = Object.keys(GROUPS);
340
+ //# sourceMappingURL=cli-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-register.js","sourceRoot":"","sources":["../src/cli-register.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-browser-definition.d.ts","sourceRoot":"","sources":["../../src/commands/form-browser-definition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,KAAK,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzN,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CA6B3C;AACD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAsB5E;AA4GD,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6P5E"}
1
+ {"version":3,"file":"form-browser-definition.d.ts","sourceRoot":"","sources":["../../src/commands/form-browser-definition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,KAAK,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzN,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CA6B3C;AACD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAwD5E;AA4GD,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8S5E"}
@@ -1,6 +1,8 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { AuthSession } from '../core/auth.js';
3
3
  import { ApiClient, losslessParse } from '../core/client.js';
4
+ import { compileRule, getTargetFields } from './form-browser-scope-rules.js';
5
+ import { compileBrowserScopeTree } from './form-browser-scope-tree.js';
4
6
  const ROUTES = {
5
7
  ebuilderform: '/api/ebuilder/form', workflow: '/api/ebuilder/flow', biaoge: '/api/formdatareport',
6
8
  };
@@ -44,6 +46,11 @@ export function validateCustomBrowserScope(records, layout) {
44
46
  const fields = (Array.isArray(layout) ? layout : []).flatMap((group) => group.fields || []);
45
47
  if (!fields.length)
46
48
  throw new Error('自定义浏览框未返回可用范围字段');
49
+ // conditionType is the editor's option catalog; scopeInfoRender uses different saved codes.
50
+ const savedOperators = {
51
+ in: 'aggregate', notIn: 'unaggregate', eq: 'eq', notEq: 'neq',
52
+ isNull: 'empty', isNotNull: 'nempty', between: 'range',
53
+ };
47
54
  const validate = (node) => {
48
55
  if (Array.isArray(node?.datas)) {
49
56
  node.datas.forEach(validate);
@@ -56,11 +63,42 @@ export function validateCustomBrowserScope(records, layout) {
56
63
  throw new Error(`范围字段 ${node.id || node.fieldName} 不在当前浏览框候选项中`);
57
64
  const operator = String(node.conditions.func || '');
58
65
  const available = (field.conditionType || []).map((item) => String(item.id));
59
- const lookup = operator === 'range' && Array.isArray(node.conditions.value) ? 'between' : operator;
60
- if (!available.includes(lookup))
61
- throw new Error(`字段 ${field.text || field.name} 不支持条件 ${operator};可用 ${available.join('/')}`);
62
- if (operator === 'range' && node.conditions.value.length !== 2)
66
+ const known = String(field.compType || '').toLowerCase() === 'ebuilder';
67
+ const allowed = available.map((id) => savedOperators[id] || id);
68
+ if (!allowed.includes(operator))
69
+ throw new Error(`字段 ${field.text || field.name} 不支持保存条件 ${operator};可用 ${allowed.join('/')}`);
70
+ if (operator === 'range' && (!Array.isArray(node.conditions.value) || node.conditions.value.length !== 2))
63
71
  throw new Error('日期区间条件须包含起止两个值');
72
+ if (known && node.conditions.type === 'custombyhander') {
73
+ const expectedArray = operator === 'aggregate' || operator === 'unaggregate';
74
+ const selection = node.conditions.selectValue;
75
+ if (selection?.id === 'manualInput') {
76
+ if (!['eq', 'neq', 'aggregate', 'unaggregate'].includes(operator) || node.conditions.customValue === undefined ||
77
+ String(node.conditions.value) !== String(node.conditions.customValue) ||
78
+ !Array.isArray(node.conditions.customBrowserValue) || node.conditions.customBrowserValue.length) {
79
+ throw new Error(`字段 ${field.text || field.name} 的手动输入须使用已核实的操作符,value/customValue 相同且 customBrowserValue[] 为空`);
80
+ }
81
+ return;
82
+ }
83
+ if (expectedArray ? !Array.isArray(selection) || selection.length !== 1
84
+ : !selection || typeof selection !== 'object' || Array.isArray(selection)) {
85
+ throw new Error(`字段 ${field.text || field.name} 的 ${operator} 须使用${expectedArray ? '数组' : '对象'}形式的 selectValue`);
86
+ }
87
+ const source = expectedArray ? selection[0] : selection;
88
+ if (source?.id === 'varFileds') {
89
+ if (!Array.isArray(node.conditions.customBrowserValue) || !node.conditions.customBrowserValue.length || node.conditions.customValue !== '') {
90
+ throw new Error(`字段 ${field.text || field.name} 的变量字段须放入 customBrowserValue[],customValue 设为空字符串`);
91
+ }
92
+ }
93
+ else if (source?.id === 'tableFields') {
94
+ if (!node.conditions.customValue || (Array.isArray(node.conditions.customBrowserValue) && node.conditions.customBrowserValue.length)) {
95
+ throw new Error(`字段 ${field.text || field.name} 的本表字段须写入 customValue,customBrowserValue[] 置空`);
96
+ }
97
+ }
98
+ else {
99
+ throw new Error(`字段 ${field.text || field.name} 的字段引用来源须为 varFileds 或 tableFields`);
100
+ }
101
+ }
64
102
  };
65
103
  for (const record of records) {
66
104
  if (record.scopeType !== 'scopeSql')
@@ -219,7 +257,7 @@ export function registerFormBrowserDefinitionCommands(program) {
219
257
  if (!auth)
220
258
  throw new Error('无法加载认证');
221
259
  return { module, wireModule: module === 'workflow' ? 'ebuildercard' : module,
222
- route: ROUTES[module], appId, workflowId, client: new ApiClient(auth), base: auth.getBaseUrl() };
260
+ route: ROUTES[module], appId, workflowId, client: new ApiClient(auth), auth, base: auth.getBaseUrl() };
223
261
  }
224
262
  function businessId(c, formId) {
225
263
  if (c.module === 'workflow' && !c.workflowId)
@@ -416,12 +454,75 @@ export function registerFormBrowserDefinitionCommands(program) {
416
454
  }));
417
455
  common(scope.command('get').description('读取浏览字段的数据范围').argument('<formId>').argument('<fieldId>'))
418
456
  .action((formId, fieldId, o) => run(async () => { const c = await ctx(o.module, o.appId, o.workflowId); const r = await resolved(c, formId, fieldId, 'scope'); output(await scopeRead(c, formId, r.controlId, r.source)); }));
419
- common(scope.command('set').description('设置浏览字段的数据范围').argument('<formId>').argument('<fieldId>').requiredOption('--config <json>', '数据范围配置 JSON 或 @文件;以 describe 返回的选项构造'))
457
+ common(scope.command('clear').description('清空关联 EBuilder 字段的数据范围').argument('<formId>').argument('<fieldId>'))
420
458
  .action((formId, fieldId, o) => run(async () => {
421
459
  const c = await ctx(o.module, o.appId, o.workflowId);
422
460
  const r = await resolved(c, formId, fieldId, 'scope');
423
- const input = config(o.config);
461
+ if (r.source.scopeAdapter !== 'ebuilder')
462
+ throw new Error('scope clear 当前仅适用于关联 EBuilder;其他来源须按其记录结构处理');
463
+ const before = await scopeRead(c, formId, r.controlId, r.source);
464
+ const existing = (before.saved?.records || []).find((item) => item.scopeType === 'scopeSql');
465
+ if (!existing) {
466
+ output({ success: true, changed: false, reason: '未设置数据范围' });
467
+ return;
468
+ }
469
+ ok(await c.client.post(`${c.base}/api/bcw/browserDataScope/batchSave`, [{
470
+ id: existing.id, businessId: businessId(c, formId), businessModule: c.wireModule,
471
+ controlId: r.controlId, browserType: r.source.browserType, formId, module: c.wireModule,
472
+ scopeType: 'scopeSql', scopeInfoRender: '{"showFilterIsNull":false}',
473
+ }]), '清空数据范围');
474
+ output({ success: true, changed: true, saved: (await scopeRead(c, formId, r.controlId, r.source)).saved });
475
+ }));
476
+ common(scope.command('set').description('设置浏览字段的数据范围').argument('<formId>').argument('<fieldId>')
477
+ .option('--config <json>', '完整数据范围配置 JSON 或 @文件')
478
+ .option('--tree <json>', '关联 EBuilder/自定义浏览框的条件树 JSON 或 @文件')
479
+ .option('--rules <json>', '关联 EBuilder 的简易规则 JSON 数组或 @文件;与 --config 二选一')
480
+ .option('--logic <and|or>', '简易规则的多条件关系', 'and')
481
+ .option('--fill-null', '简易规则:关联字段为空时填充')
482
+ .option('--source-obj-id <id>', '简易规则引用当前表单字段时的源表单 objId'))
483
+ .action((formId, fieldId, o) => run(async () => {
484
+ const c = await ctx(o.module, o.appId, o.workflowId);
485
+ const r = await resolved(c, formId, fieldId, 'scope');
486
+ if ([o.config, o.rules, o.tree].filter(Boolean).length !== 1)
487
+ throw new Error('--config、--rules、--tree 必须且只能提供一个');
424
488
  const before = await scopeRead(c, formId, r.controlId, r.source);
489
+ let input;
490
+ if (o.tree) {
491
+ if (!['ebuilder', 'customBrowser'].includes(String(r.source.scopeAdapter)))
492
+ throw new Error('--tree 仅适用于关联 EBuilder/自定义浏览框');
493
+ const treeText = o.tree.startsWith('@') ? readFileSync(o.tree.slice(1), 'utf8') : o.tree;
494
+ const tree = await compileBrowserScopeTree(losslessParse(treeText), before.conditionLayout, c.client, c.base, String(o.sourceObjId || ''), c.auth.userId, c.auth.tenantKey);
495
+ input = { records: [{ scopeType: 'scopeSql', scopeInfoRender: JSON.stringify(tree) }] };
496
+ }
497
+ else if (o.rules) {
498
+ if (r.source.scopeAdapter !== 'ebuilder')
499
+ throw new Error('--rules 仅适用于关联 EBuilder 浏览字段;其他来源使用 --config');
500
+ const rulesText = o.rules.startsWith('@') ? readFileSync(o.rules.slice(1), 'utf8') : o.rules;
501
+ const rules = losslessParse(rulesText);
502
+ if (!Array.isArray(rules) || !rules.length)
503
+ throw new Error('--rules 须为非空 JSON 数组');
504
+ if (!['and', 'or'].includes(o.logic))
505
+ throw new Error('--logic 仅支持 and/or');
506
+ const targetObjId = String(before.conditionLayout?.[0]?.id || '');
507
+ if (!targetObjId)
508
+ throw new Error('范围条件布局未返回目标表单 objId');
509
+ const targetFields = await getTargetFields(c.client, c.base, targetObjId, c.auth.userId, c.auth.tenantKey);
510
+ const needsSource = rules.some((rule) => rule.valueFrom === 'currentFormField');
511
+ if (needsSource && !o.sourceObjId)
512
+ throw new Error('引用当前表单字段时须提供 --source-obj-id <源表单objId>');
513
+ const sourceFields = needsSource ? await getTargetFields(c.client, c.base, o.sourceObjId, c.auth.userId, c.auth.tenantKey) : [];
514
+ const targetFormId = String(before.conditionLayout?.[0]?.fields?.find((f) => f.config?.formId)?.config.formId || targetObjId);
515
+ const compiled = [];
516
+ for (const rule of rules)
517
+ compiled.push(await compileRule(c.client, c.base, targetFormId, targetFields, rule, sourceFields));
518
+ const rootKey = String(Date.now());
519
+ const tree = { key: rootKey, relationship: o.logic === 'or' ? '0' : '1', isParent: true,
520
+ isNewFilter: true, parentNode: '', datas: compiled.map(({ _rootKey, ...node }) => ({ ...node, parentNode: rootKey })),
521
+ version: 1, showFilterIsNull: !!o.fillNull };
522
+ input = { records: [{ scopeType: 'scopeSql', scopeInfoRender: JSON.stringify(tree) }] };
523
+ }
524
+ else
525
+ input = config(o.config);
425
526
  if (r.source.scopeAdapter === 'hrm') {
426
527
  const oldItems = before.saved?.operatorSetList || [];
427
528
  let itemDatas;