weaver-e10-builder 1.6.15 → 1.7.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 (348) hide show
  1. package/dist/cli-register.d.ts +8 -1
  2. package/dist/cli-register.d.ts.map +1 -1
  3. package/dist/cli-register.js +238 -86
  4. package/dist/cli-register.js.map +1 -1
  5. package/dist/commands/actionflow.d.ts +1 -0
  6. package/dist/commands/actionflow.d.ts.map +1 -1
  7. package/dist/commands/actionflow.js +17 -1
  8. package/dist/commands/actionflow.js.map +1 -1
  9. package/dist/commands/designer-custom-page.d.ts +3 -0
  10. package/dist/commands/designer-custom-page.d.ts.map +1 -0
  11. package/dist/commands/designer-custom-page.js +56 -0
  12. package/dist/commands/designer-custom-page.js.map +1 -0
  13. package/dist/commands/designer-event.d.ts.map +1 -1
  14. package/dist/commands/designer-event.js +70 -5
  15. package/dist/commands/designer-event.js.map +1 -1
  16. package/dist/commands/designer-list-advanced.d.ts +3 -0
  17. package/dist/commands/designer-list-advanced.d.ts.map +1 -0
  18. package/dist/commands/designer-list-advanced.js +53 -0
  19. package/dist/commands/designer-list-advanced.js.map +1 -0
  20. package/dist/commands/designer-list-controls.d.ts +3 -0
  21. package/dist/commands/designer-list-controls.d.ts.map +1 -0
  22. package/dist/commands/designer-list-controls.js +39 -0
  23. package/dist/commands/designer-list-controls.js.map +1 -0
  24. package/dist/commands/designer-permission.d.ts +3 -0
  25. package/dist/commands/designer-permission.d.ts.map +1 -0
  26. package/dist/commands/designer-permission.js +32 -0
  27. package/dist/commands/designer-permission.js.map +1 -0
  28. package/dist/commands/designer-tabbar.d.ts +3 -0
  29. package/dist/commands/designer-tabbar.d.ts.map +1 -0
  30. package/dist/commands/designer-tabbar.js +24 -0
  31. package/dist/commands/designer-tabbar.js.map +1 -0
  32. package/dist/commands/ecode.d.ts +9 -0
  33. package/dist/commands/ecode.d.ts.map +1 -0
  34. package/dist/commands/ecode.js +81 -0
  35. package/dist/commands/ecode.js.map +1 -0
  36. package/dist/commands/form-base-setting.d.ts +3 -0
  37. package/dist/commands/form-base-setting.d.ts.map +1 -0
  38. package/dist/commands/form-base-setting.js +192 -0
  39. package/dist/commands/form-base-setting.js.map +1 -0
  40. package/dist/commands/form-field-linkage.d.ts +5 -0
  41. package/dist/commands/form-field-linkage.d.ts.map +1 -1
  42. package/dist/commands/form-field-linkage.js +82 -16
  43. package/dist/commands/form-field-linkage.js.map +1 -1
  44. package/dist/commands/form-list-columns.d.ts.map +1 -1
  45. package/dist/commands/form-list-columns.js +4 -0
  46. package/dist/commands/form-list-columns.js.map +1 -1
  47. package/dist/commands/form-list-config.d.ts.map +1 -1
  48. package/dist/commands/form-list-config.js +19 -3
  49. package/dist/commands/form-list-config.js.map +1 -1
  50. package/dist/commands/form-list-permission.d.ts.map +1 -1
  51. package/dist/commands/form-list-permission.js +34 -1
  52. package/dist/commands/form-list-permission.js.map +1 -1
  53. package/dist/commands/form-obj-meta.d.ts.map +1 -1
  54. package/dist/commands/form-obj-meta.js +194 -1
  55. package/dist/commands/form-obj-meta.js.map +1 -1
  56. package/dist/commands/form-table-view.d.ts.map +1 -1
  57. package/dist/commands/form-table-view.js +14 -4
  58. package/dist/commands/form-table-view.js.map +1 -1
  59. package/dist/commands/matrix-person.d.ts +3 -0
  60. package/dist/commands/matrix-person.d.ts.map +1 -0
  61. package/dist/commands/matrix-person.js +95 -0
  62. package/dist/commands/matrix-person.js.map +1 -0
  63. package/dist/commands/matrix.d.ts.map +1 -1
  64. package/dist/commands/matrix.js +3 -1
  65. package/dist/commands/matrix.js.map +1 -1
  66. package/dist/commands/page-combination.d.ts.map +1 -1
  67. package/dist/commands/page-combination.js +15 -0
  68. package/dist/commands/page-combination.js.map +1 -1
  69. package/dist/commands/page-management.d.ts +3 -0
  70. package/dist/commands/page-management.d.ts.map +1 -0
  71. package/dist/commands/page-management.js +16 -0
  72. package/dist/commands/page-management.js.map +1 -0
  73. package/dist/commands/page.d.ts.map +1 -1
  74. package/dist/commands/page.js +8 -9
  75. package/dist/commands/page.js.map +1 -1
  76. package/dist/commands/report-cell.d.ts.map +1 -1
  77. package/dist/commands/report-cell.js +215 -0
  78. package/dist/commands/report-cell.js.map +1 -1
  79. package/dist/commands/report-code.d.ts +9 -0
  80. package/dist/commands/report-code.d.ts.map +1 -0
  81. package/dist/commands/report-code.js +105 -0
  82. package/dist/commands/report-code.js.map +1 -0
  83. package/dist/commands/report.d.ts.map +1 -1
  84. package/dist/commands/report.js +70 -17
  85. package/dist/commands/report.js.map +1 -1
  86. package/dist/core/client.d.ts +12 -0
  87. package/dist/core/client.d.ts.map +1 -1
  88. package/dist/core/client.js +23 -2
  89. package/dist/core/client.js.map +1 -1
  90. package/dist/index.js +15 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/services/action-detail.d.ts +2 -0
  93. package/dist/services/action-detail.d.ts.map +1 -1
  94. package/dist/services/action-detail.js +11 -5
  95. package/dist/services/action-detail.js.map +1 -1
  96. package/dist/services/actionflow/build_workflow_draft.d.ts +1 -1
  97. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  98. package/dist/services/actionflow/build_workflow_draft.js +28 -24
  99. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  100. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  101. package/dist/services/actionflow/components/action_eb_update_compiler.js +2 -15
  102. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  103. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
  104. package/dist/services/actionflow/components/custom_set_form.js +1 -9
  105. package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
  106. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
  107. package/dist/services/actionflow/components/dml_execute.js +3 -4
  108. package/dist/services/actionflow/components/dml_execute.js.map +1 -1
  109. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  110. package/dist/services/actionflow/components/document_actions.js +0 -3
  111. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  112. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  113. package/dist/services/actionflow/components/form_data_builder.js +27 -5
  114. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  115. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  116. package/dist/services/actionflow/components/hrm_actions.js +1 -3
  117. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  118. package/dist/services/actionflow/components/index.d.ts +1 -1
  119. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  120. package/dist/services/actionflow/components/index.js +1 -1
  121. package/dist/services/actionflow/components/index.js.map +1 -1
  122. package/dist/services/actionflow/components/inner_mq_listener.js +1 -1
  123. package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
  124. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
  125. package/dist/services/actionflow/components/inner_mq_send.js +6 -2
  126. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
  127. package/dist/services/actionflow/components/multiple_execution.d.ts +1 -2
  128. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
  129. package/dist/services/actionflow/components/multiple_execution.js +55 -276
  130. package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
  131. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  132. package/dist/services/actionflow/components/output.js +3 -7
  133. package/dist/services/actionflow/components/output.js.map +1 -1
  134. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  135. package/dist/services/actionflow/components/send_message.js +6 -10
  136. package/dist/services/actionflow/components/send_message.js.map +1 -1
  137. package/dist/services/actionflow/components/serverless_action.d.ts.map +1 -1
  138. package/dist/services/actionflow/components/serverless_action.js +3 -2
  139. package/dist/services/actionflow/components/serverless_action.js.map +1 -1
  140. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  141. package/dist/services/actionflow/components/workflow_actions.js +0 -3
  142. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  143. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  144. package/dist/services/actionflow/context_preflight.js +12 -9
  145. package/dist/services/actionflow/context_preflight.js.map +1 -1
  146. package/dist/services/actionflow/filter_rules.js +4 -4
  147. package/dist/services/actionflow/filter_rules.js.map +1 -1
  148. package/dist/services/actionflow/formula_service.d.ts +0 -13
  149. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  150. package/dist/services/actionflow/formula_service.js +45 -267
  151. package/dist/services/actionflow/formula_service.js.map +1 -1
  152. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  153. package/dist/services/actionflow/generation_service.js +10 -12
  154. package/dist/services/actionflow/generation_service.js.map +1 -1
  155. package/dist/services/actionflow/id_generator.d.ts +2 -2
  156. package/dist/services/actionflow/id_generator.d.ts.map +1 -1
  157. package/dist/services/actionflow/id_generator.js +5 -11
  158. package/dist/services/actionflow/id_generator.js.map +1 -1
  159. package/dist/services/actionflow/loop_context.d.ts +12 -0
  160. package/dist/services/actionflow/loop_context.d.ts.map +1 -0
  161. package/dist/services/actionflow/loop_context.js +134 -0
  162. package/dist/services/actionflow/loop_context.js.map +1 -0
  163. package/dist/services/actionflow/param_group_dto.d.ts +7 -0
  164. package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
  165. package/dist/services/actionflow/param_group_dto.js +128 -16
  166. package/dist/services/actionflow/param_group_dto.js.map +1 -1
  167. package/dist/services/actionflow/param_mapping_basis.js +2 -2
  168. package/dist/services/actionflow/param_mapping_basis.js.map +1 -1
  169. package/dist/services/actionflow/preflight_service.d.ts +1 -0
  170. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  171. package/dist/services/actionflow/preflight_service.js +88 -291
  172. package/dist/services/actionflow/preflight_service.js.map +1 -1
  173. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -1
  174. package/dist/services/actionflow/readback_verifier.js +21 -2
  175. package/dist/services/actionflow/readback_verifier.js.map +1 -1
  176. package/dist/services/actionflow/save_workflow_draft.d.ts +2 -3
  177. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  178. package/dist/services/actionflow/save_workflow_draft.js +14 -16
  179. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  180. package/dist/services/actionflow/update_service.d.ts +5 -0
  181. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  182. package/dist/services/actionflow/update_service.js +126 -3
  183. package/dist/services/actionflow/update_service.js.map +1 -1
  184. package/dist/services/actionflow/workflow_compiler.d.ts +1 -2
  185. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  186. package/dist/services/actionflow/workflow_compiler.js +79 -105
  187. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  188. package/dist/services/designer-custom-page.d.ts +11 -0
  189. package/dist/services/designer-custom-page.d.ts.map +1 -0
  190. package/dist/services/designer-custom-page.js +227 -0
  191. package/dist/services/designer-custom-page.js.map +1 -0
  192. package/dist/services/designer-event.d.ts +7 -2
  193. package/dist/services/designer-event.d.ts.map +1 -1
  194. package/dist/services/designer-event.js +357 -33
  195. package/dist/services/designer-event.js.map +1 -1
  196. package/dist/services/designer-list-advanced.d.ts +9 -0
  197. package/dist/services/designer-list-advanced.d.ts.map +1 -0
  198. package/dist/services/designer-list-advanced.js +64 -0
  199. package/dist/services/designer-list-advanced.js.map +1 -0
  200. package/dist/services/designer-list-controls.d.ts +2 -0
  201. package/dist/services/designer-list-controls.d.ts.map +1 -0
  202. package/dist/services/designer-list-controls.js +85 -0
  203. package/dist/services/designer-list-controls.js.map +1 -0
  204. package/dist/services/designer-list-presentation.d.ts +2 -0
  205. package/dist/services/designer-list-presentation.d.ts.map +1 -0
  206. package/dist/services/designer-list-presentation.js +45 -0
  207. package/dist/services/designer-list-presentation.js.map +1 -0
  208. package/dist/services/designer-list-runtime.d.ts +2 -0
  209. package/dist/services/designer-list-runtime.d.ts.map +1 -0
  210. package/dist/services/designer-list-runtime.js +80 -0
  211. package/dist/services/designer-list-runtime.js.map +1 -0
  212. package/dist/services/designer-list-search.d.ts +2 -0
  213. package/dist/services/designer-list-search.d.ts.map +1 -0
  214. package/dist/services/designer-list-search.js +72 -0
  215. package/dist/services/designer-list-search.js.map +1 -0
  216. package/dist/services/designer-permission.d.ts +52 -0
  217. package/dist/services/designer-permission.d.ts.map +1 -0
  218. package/dist/services/designer-permission.js +316 -0
  219. package/dist/services/designer-permission.js.map +1 -0
  220. package/dist/services/designer-tabbar.d.ts +11 -0
  221. package/dist/services/designer-tabbar.d.ts.map +1 -0
  222. package/dist/services/designer-tabbar.js +114 -0
  223. package/dist/services/designer-tabbar.js.map +1 -0
  224. package/dist/services/ecode-check.d.ts +50 -0
  225. package/dist/services/ecode-check.d.ts.map +1 -0
  226. package/dist/services/ecode-check.js +408 -0
  227. package/dist/services/ecode-check.js.map +1 -0
  228. package/dist/services/esb-interface/importer.d.ts +35 -1
  229. package/dist/services/esb-interface/importer.d.ts.map +1 -1
  230. package/dist/services/esb-interface/importer.js +77 -1
  231. package/dist/services/esb-interface/importer.js.map +1 -1
  232. package/dist/services/form-base-setting.d.ts +88 -0
  233. package/dist/services/form-base-setting.d.ts.map +1 -0
  234. package/dist/services/form-base-setting.js +272 -0
  235. package/dist/services/form-base-setting.js.map +1 -0
  236. package/dist/services/form-list-columns.d.ts.map +1 -1
  237. package/dist/services/form-list-columns.js +12 -3
  238. package/dist/services/form-list-columns.js.map +1 -1
  239. package/dist/services/form-list-config.d.ts +40 -3
  240. package/dist/services/form-list-config.d.ts.map +1 -1
  241. package/dist/services/form-list-config.js +207 -25
  242. package/dist/services/form-list-config.js.map +1 -1
  243. package/dist/services/form-list-fields.d.ts.map +1 -1
  244. package/dist/services/form-list-fields.js +3 -1
  245. package/dist/services/form-list-fields.js.map +1 -1
  246. package/dist/services/form-log-setting.d.ts +55 -0
  247. package/dist/services/form-log-setting.d.ts.map +1 -0
  248. package/dist/services/form-log-setting.js +108 -0
  249. package/dist/services/form-log-setting.js.map +1 -0
  250. package/dist/services/form-obj-lang.d.ts +45 -0
  251. package/dist/services/form-obj-lang.d.ts.map +1 -0
  252. package/dist/services/form-obj-lang.js +127 -0
  253. package/dist/services/form-obj-lang.js.map +1 -0
  254. package/dist/services/form-obj-meta.d.ts +34 -0
  255. package/dist/services/form-obj-meta.d.ts.map +1 -1
  256. package/dist/services/form-obj-meta.js +81 -12
  257. package/dist/services/form-obj-meta.js.map +1 -1
  258. package/dist/services/form-table-view.d.ts +8 -2
  259. package/dist/services/form-table-view.d.ts.map +1 -1
  260. package/dist/services/form-table-view.js +22 -5
  261. package/dist/services/form-table-view.js.map +1 -1
  262. package/dist/services/form-view.d.ts +1 -1
  263. package/dist/services/form-view.d.ts.map +1 -1
  264. package/dist/services/form-view.js +38 -13
  265. package/dist/services/form-view.js.map +1 -1
  266. package/dist/services/matrix-person.d.ts +37 -0
  267. package/dist/services/matrix-person.d.ts.map +1 -0
  268. package/dist/services/matrix-person.js +57 -0
  269. package/dist/services/matrix-person.js.map +1 -0
  270. package/dist/services/org-browser.d.ts +32 -0
  271. package/dist/services/org-browser.d.ts.map +1 -1
  272. package/dist/services/org-browser.js +90 -12
  273. package/dist/services/org-browser.js.map +1 -1
  274. package/dist/services/page-combination.d.ts +1 -1
  275. package/dist/services/page-combination.d.ts.map +1 -1
  276. package/dist/services/page-combination.js +43 -10
  277. package/dist/services/page-combination.js.map +1 -1
  278. package/dist/services/page-management.d.ts +67 -0
  279. package/dist/services/page-management.d.ts.map +1 -0
  280. package/dist/services/page-management.js +166 -0
  281. package/dist/services/page-management.js.map +1 -0
  282. package/dist/services/page-permission.d.ts +2 -2
  283. package/dist/services/page-permission.d.ts.map +1 -1
  284. package/dist/services/page-permission.js +22 -9
  285. package/dist/services/page-permission.js.map +1 -1
  286. package/dist/services/report/cell-transform.d.ts +62 -0
  287. package/dist/services/report/cell-transform.d.ts.map +1 -0
  288. package/dist/services/report/cell-transform.js +192 -0
  289. package/dist/services/report/cell-transform.js.map +1 -0
  290. package/dist/services/report/code-block.d.ts +45 -0
  291. package/dist/services/report/code-block.d.ts.map +1 -0
  292. package/dist/services/report/code-block.js +92 -0
  293. package/dist/services/report/code-block.js.map +1 -0
  294. package/dist/services/report/dataset.d.ts +40 -0
  295. package/dist/services/report/dataset.d.ts.map +1 -1
  296. package/dist/services/report/dataset.js +171 -1
  297. package/dist/services/report/dataset.js.map +1 -1
  298. package/dist/services/report/lifecycle.d.ts.map +1 -1
  299. package/dist/services/report/lifecycle.js +24 -3
  300. package/dist/services/report/lifecycle.js.map +1 -1
  301. package/dist/services/workflow-base-settings.d.ts.map +1 -1
  302. package/dist/services/workflow-base-settings.js +19 -5
  303. package/dist/services/workflow-base-settings.js.map +1 -1
  304. package/ecode-ui/README.md +9 -0
  305. package/ecode-ui/ui-types.zip +0 -0
  306. package/ecode-ui/version.json +7 -0
  307. package/package.json +4 -1
  308. package/skill-docs/SKILL.md +19 -5
  309. package/skill-docs/_catalog.md +22 -1
  310. package/skill-docs/actionflows/SKILL.md +15 -11
  311. package/skill-docs/actionflows/references/components/database/DMLExecute.md +4 -0
  312. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +1 -1
  313. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +2 -0
  314. package/skill-docs/actionflows/references/components/logic/MultipleExecution.md +9 -30
  315. package/skill-docs/actionflows/references/components/message/InnerMQSend.md +7 -3
  316. package/skill-docs/actionflows/references/components/serverless/ServerlessAction.md +4 -0
  317. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +6 -6
  318. package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +46 -41
  319. package/skill-docs/actionflows/references/components/trigger/WebHookTrigger.md +4 -0
  320. package/skill-docs/actionflows/references/dynamic_capability_matrix.md +3 -4
  321. package/skill-docs/actionflows/references/function_rules.md +5 -1
  322. package/skill-docs/actionflows/references/trigger_runtime_notes.md +1 -1
  323. package/skill-docs/assets/factory/factory-custom-page.json +339 -0
  324. package/skill-docs/references/common/ref-cli-commands.md +34 -5
  325. package/skill-docs/references/ebuilder-designer/component-permission.md +131 -0
  326. package/skill-docs/references/ebuilder-designer/events/actions-interaction.md +132 -108
  327. package/skill-docs/references/ebuilder-designer/events/guide-events.md +112 -57
  328. package/skill-docs/references/ebuilder-designer/guide-custom-page.md +176 -0
  329. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +2 -0
  330. package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +2 -0
  331. package/skill-docs/references/ebuilder-designer/guide-designer.md +304 -296
  332. package/skill-docs/references/ebuilder-designer/guide-list.md +339 -0
  333. package/skill-docs/references/ebuilder-designer/guide-page-combination.md +162 -142
  334. package/skill-docs/references/ebuilder-designer/guide-page-management.md +90 -0
  335. package/skill-docs/references/ebuilder-designer/guide-page-permission.md +151 -145
  336. package/skill-docs/references/ebuilder-designer/guide-tabbar.md +57 -0
  337. package/skill-docs/references/esb-interface/guide-import.md +38 -34
  338. package/skill-docs/references/form/guide-create-form.md +13 -0
  339. package/skill-docs/references/form/guide-form-base-setting.md +78 -0
  340. package/skill-docs/references/form/guide-form-view.md +77 -13
  341. package/skill-docs/references/form/guide-list-columns.md +8 -0
  342. package/skill-docs/references/hrm/guide-matrix.md +16 -0
  343. package/skill-docs/references/report/cell-transform-guide.md +17 -3
  344. package/skill-docs/references/report/code-block-guide.md +54 -0
  345. package/skill-docs/references/report/dataset-sidebar-ops-guide.md +8 -0
  346. package/skill-docs/references/report/ref-report-commands.md +7 -1
  347. package/skill-docs/references/report/report-designer-feature-map.md +1 -1
  348. package/skill-docs/references/report/report-list-page-ops-guide.md +2 -0
@@ -150,9 +150,19 @@ e10-cli --json form table-view style <objId> <appId> <listId> <style>
150
150
  | `horizontal-list` | 横向列表式 | `4` |
151
151
  | `above` | 上图式 | `5` |
152
152
  | `grid` | 网格列表式 | `7` |
153
+ | `editable-data` | 可编辑表格(数据态) | `8` |
154
+ | `editable-readonly` | 可编辑表格(只读态) | `9` |
153
155
  | `editable` | 可编辑表格(编辑态) | `11` |
154
156
 
155
- 可编辑表格内部还有数据态 `8` 和只读态 `9`;用户要求“改成可编辑表格”时必须使用编辑态 `11`,不得把只读态 `9` 当成完成。
157
+ 可编辑表格内部有数据态 `8`、只读态 `9`、编辑态 `11`。用户要求“改成可编辑表格”时必须使用编辑态 `11`,不得把只读态 `9` 当成完成;反过来,视图原本是 `9` 时可以用 `editable-readonly` 精确回滚,不会再被静默改成别的形态。
158
+
159
+ 平台以后新增、映射表里还没有的 `mode`,用逃生口直接写:
160
+
161
+ ```bash
162
+ e10-cli form table-view style <objId> <appId> <listId> --raw-mode 10
163
+ ```
164
+
165
+ 命令会回显原 `mode`;原值不在已知映射表里时给出提示,并告诉你回滚该用哪个 `--raw-mode`。
156
166
 
157
167
  命令先确认 `listId` 属于目标 `objId`,读取目标终端的完整配置后只修改其顶层 `mode`,保存后重新读取该终端配置核对。
158
168
 
@@ -296,9 +306,11 @@ e10-cli form list-hierarchy <objId> <appId> <listId> --enable --parent-field "
296
306
  e10-cli form list-hierarchy <objId> <appId> <listId> --disable # 关闭但保留字段及展开设置
297
307
 
298
308
  # 台账视图权限(查阅/查看权限):谁能查看这个台账(走 list/permission/save + getList,专用端点,full-replace 语义 omit即删)
299
- # selectedType: all(所有人) / user(人员,带--name) / role(角色,--name 缺省自动查) / matrix(矩阵,用 --add-raw 传整对象)
309
+ # selectedType: all(所有人) / user(人员) / dept(部门) / role(角色) / matrix(矩阵)
300
310
  e10-cli form list-permission <objId> <appId> <listId> --add-all
301
311
  e10-cli form list-permission <objId> <appId> <listId> --add-user <userId> --name <人员名>
312
+ e10-cli form list-permission <objId> <appId> <listId> --add-dept <deptId> # --name 缺省自动取部门名
313
+ e10-cli form list-permission <objId> <appId> <listId> --add-dept <deptId> --name "AI研发团队"
302
314
  e10-cli form list-permission <objId> <appId> <listId> --add-role <roleId> # --name 缺省自动从角色树查名
303
315
  e10-cli form list-permission <objId> <appId> <listId> --add-role <roleId> --share-level 2 # 加同一角色另一个共享级别
304
316
  e10-cli form list-permission <objId> <appId> <listId> --add-role <roleId> --seclevel 30-80 # 安全级别范围
@@ -430,20 +442,63 @@ e10-cli form list-config set <objId> <appId> <listId> --set-top 1 --set-top-rule
430
442
 
431
443
  | 分组 | 选项 → 落库键 |
432
444
  |---|---|
433
- | 基本信息 | `--show-title` → `showTitle`(显示头部,关闭后表头区域隐藏)<br>`--hide-checkbox` → `hideCheckbox`(隐藏 check 框)<br>`--default-display-edit-modal` → `defaultDisplayEditModal`(默认显示编辑模式;人员范围 `defaultDisplayEditModalPermission` 形状未确认,暂不开放写入)<br>`--operate-column-fixed` → `operatColumnFixation`(操作按钮固定)<br>`--spread-top-button` → `enableSpreadTop`(显示展开至顶部按钮)<br>`--prefix-column` → `enablePrefixColumn`(前置列)<br>`--field-choose-width-fixed` → `fieldChooseWidthFixation`<br>`--quick-search-textarea` → `quickSearchTextArea`(快捷搜索支持富文本)<br>`--sub-form-main` / `--sub-form-show-empty` → `subFormMain` / `subFormMainShowEmpty`<br>`--page-size` → `pageSize`(1–100,落库为字符串) |
445
+ | 基本信息 | `--show-title` → `showTitle`(显示头部,关闭后表头区域隐藏)<br>`--hide-checkbox` → `hideCheckbox`(隐藏 check 框)<br>`--default-display-edit-modal` → `defaultDisplayEditModal`(默认显示编辑模式;**单独开启 = 全体成员默认编辑**,命令会给出警示)<br>`--default-display-edit-modal-permission '<json>'` → `defaultDisplayEditModalPermission`(落库为 **JSON 字符串**,实测值 `{"hideSwitchButton":true,"includeViewPermissionData":true}`;它只含行为开关,不含人员/部门范围)<br>`--operate-column-fixed` → `operatColumnFixation`(操作按钮固定)<br>`--spread-top-button` → `enableSpreadTop`(显示展开至顶部按钮)<br>`--prefix-column` → `enablePrefixColumn`(前置列)<br>`--field-choose-width-fixed` → `fieldChooseWidthFixation`<br>`--quick-search-textarea` → `quickSearchTextArea`(快捷搜索支持富文本)<br>`--sub-form-main` / `--sub-form-show-empty` → `subFormMain` / `subFormMainShowEmpty`<br>`--page-size` → `pageSize`(1–100,落库为字符串) |
434
446
  | 网格 | `--grid-row` / `--grid-col` → `gridRow` / `gridCol`<br>`--grid-width-type` / `--grid-width` → `gridWidthType` / `gridWidth`<br>`--grid-height-type` / `--grid-height` → `gridHeightType` / `gridHeight` |
435
- | 显示数据 | `--permission-scope`(`isNoPermissionList`,无权限数据展示方式)/ `--data-range-type` / `--list-data-range`(数据范围)<br>`--show-follow` → `isShowFollow`(关注图标)<br>`--read-state` → `readState`(未读、反馈标识)<br>`--set-top` / `--set-top-type` / `--set-top-rule`(置顶;type 1=规则 2=手动) |
436
- | 批量操作 | `--batch-add` / `--batch-add-fields`<br>`--batch-edit` / `--batch-edit-fields`<br>`--batch-edit-value`;另有 `--can-delete` |
447
+ | 显示数据 | **数据范围**统一落 `dataset.ebuilderDataConfig.dataSetup`:`--data-permission ALL\|HAVE_PERMISSION_DATA`(所有数据 / 有权限数据)、`--data-type ALL\|FORM\|APPROVE`、`--list-data-range <值>`(与 dataType 对应)、`--data-setup '<整对象 JSON>'`(推荐)<br>`--show-follow` → `isShowFollow`(关注图标)<br>`--read-state` → `readState`(未读、反馈标识)<br>`--set-top` / `--set-top-type` / `--set-top-rule`(置顶;type 1=规则 2=手动) |
448
+ | 批量操作 | `--batch-add` / `--batch-add-fields`<br>`--batch-edit` / `--batch-edit-fields`<br>`--batch-edit-value`;另有 `--can-delete`。字段数组最小对象 `{"fieldId","fieldName","fieldType","componentKey"}`,平台补全的键(width/otherProperties/index…)不参与回读比对 |
437
449
  | 数据列表插件 | `--title` → `title`(表格名称)<br>`--hide-table-header` → `hideTableHeader`(隐藏表头,仅表格式)<br>`--table-header-operation` → `tableHeaderOperation`(表头快捷操作模式,仅表格式)<br>`--operate-btn-fixed` → `buttonConfig.operateBtnFixed`(操作按钮固定)<br>`--group '<json>'` → 整个 `enableGroup`(`enable` 分组开关 / `groupField` / `groupSize` / `expandFirstFew` 默认展开 / `isDelay` 延迟加载 / `hasDataGroupsOnly` 只显示有数据的分组 / `groupFieldQuery`)<br>`--superior '<json>'` → 整个 `superiorField`(`enable` 启用上下级 / `field` 关联字段 / `expandLevel` 默认展开级数 / `levelSelection` 层级选择限制 / `levelRange`) |
438
- | 展示模式 | `--open-child-list` → `openChildList`(上下级)<br>`--sup-field`(上下级关联字段 ID)<br>`--expand-level`(0–3 级)/ `--expand-num-limit`(0–500 行)<br>`--expand-page-type`(1=分页 0=更多加载)<br>`--enable-group` / `--group-field` / `--group-enable-count` / `--only-display-data-group` |
450
+ | 展示模式 | `--open-child-list` → `superiorField.enable`(只改开关,其余子键保留)<br>`--sup-field`(顶层 `supField`,上下级关联字段 ID)<br>`--expand-level` → `superiorField.expandLevel`(0–3 级)/ `--expand-num-limit` → `superiorField.maxExpandNumLimit`(0–500 行)<br>`--expand-page-type`(1=分页 0=更多加载)<br>`--group-field` / `--group-enable-count` / `--only-display-data-group`<br>**分组一律用 `--group '<整对象 JSON>'`**(布尔写法 `--enable-group` 已删除,写布尔会覆盖对象并导致平台拒绝) |
439
451
 
440
452
  - `buttonConfig`(操作按钮的启用/位置)本版**只读展示、不提供写入**:样本里 `enable:0` 的极性未确认,避免写反。
441
453
  - 已是目标值时零写入;值没变不发保存请求。
442
454
  - 布尔键写 `true/false`;个别键平台可能落成 0/1,回读不一致时命令会直接点名报错(此时改用对应数值写法,不要硬重试)。
443
- - `--enable-group` 单独打开时平台会返回「系统错误」——先 `--group-field <字段ID>` 再开分组;分组字段只支持下拉框 / 关联 e-Builder 单选 / 关联浏览单选。
455
+ - **`--default-display-edit-modal on` 单独开启 = 全体成员默认编辑。** 该开关只决定“是否默认进编辑模式”,谁算有权查看由**台账视图权限**(`form list-permission`)决定;`defaultDisplayEditModalPermission` 只是行为配置(`hideSwitchButton` / `includeViewPermissionData`),不含人员/部门范围。命令检测到“开关开、权限配置空”时会输出警示。要限定部门:先用 `form list-permission --add-dept` 配查看权限,再按需写 `--default-display-edit-modal-permission`。
456
+ - **分组与上下级可以同时开启**,平台不互斥。平台要求 `enableGroup` 必须是对象(`enable` / `groupField` / `groupSize` / …),所以分组一律用 `--group '<整对象>'`;旧的 `--enable-group` 布尔写法已删除。先 `get` 拿现值改完再写,避免丢子键。
457
+ - `--open-child-list` 现在只改 `superiorField.enable`,不会再写一个平台不读的顶层 `openChildList`。上下级的完整配置仍可用 `--superior '<整对象>'`。
444
458
  - `--head-merge`(`headMerge`)在平台「视图设置」面板里没有对应开关;「隐藏表头」分两种实现:台账视图用 `--show-title off`(`showTitle`),数据列表插件用 `--hide-table-header on`(`hideTableHeader`)。
445
- - 数据列表插件(`mode:"12"`、`_plugins` 里 `resourceType:"ebList"`)把分组/上下级存成嵌套对象,台账视图存成平铺键;两种都支持,按视图实际落库形态选。`--group` / `--superior` 是整对象写入,先 `get` 拿现值改完再写,避免丢子键。
446
- - `--set-top-type 2`(手动置顶)时 `setTopRule` 是字段 ID 串(如 `123,125`),`--set-top-rule` 两种形态都接受。
459
+ - 数据列表插件(`mode:"12"`、`_plugins` 里 `resourceType:"ebList"`)把分组/上下级存成嵌套对象,台账视图存成平铺键;两种都支持,按视图实际落库形态选。
460
+
461
+ ### 数据范围(数据权限)
462
+
463
+ 真实存储位是 **`dataset.ebuilderDataConfig.dataSetup`**,不是配置顶层。旧版的 `--data-range-type` / `--permission-scope` 写的是平台不读取的游离键(全租户只有被 CLI 写过的视图有),已废弃并会直接报错给迁移提示。
464
+
465
+ ```bash
466
+ # 推荐:整对象写
467
+ e10-cli form list-config set <objId> <appId> <listId> \
468
+ --data-setup '{"dataPermission":"ALL","dataType":"ALL","listDataRange":"ALL"}'
469
+
470
+ # 或逐项写
471
+ e10-cli form list-config set <objId> <appId> <listId> --data-permission ALL
472
+ e10-cli form list-config set <objId> <appId> <listId> --data-permission HAVE_PERMISSION_DATA --data-type FORM
473
+ ```
474
+
475
+ `dataPermission`:`ALL`=所有数据 / `HAVE_PERMISSION_DATA`=有权限数据。
476
+
477
+ ### 规则置顶(setTopRule)
478
+
479
+ `setTopRule` 必须是**平台标准条件树**(与「视图数据条件」`filter` 同构:顶层 `key/relationship/datas/rootStr/...`,叶子带 `objId/compType/formInfo` 等)。平台**不校验**这个键,乱写也会 200,但界面不识别。
480
+
481
+ `--set-top-rule` 支持三种形态:
482
+
483
+ 1. **简化入参**(推荐):给 `conditions` 数组,CLI 复用 `form list-filter` 的构造器生成标准树:
484
+
485
+ ```bash
486
+ cat > rule.json <<'EOF'
487
+ {"conditions":[
488
+ {"fieldId":"1326481253473714177","func":"eq","value":"{date}","text":"计划开始日期"}
489
+ ]}
490
+ EOF
491
+
492
+ e10-cli form list-config set <objId> <appId> <listId> \
493
+ --set-top 1 --set-top-type 1 --set-top-rule @rule.json
494
+ ```
495
+
496
+ 2. **标准树**:已经是 `datas + rootStr` 的对象,原样写入;缺 `rootStr` 时命令会补渲染。
497
+ 3. **手动置顶字段 ID 串**(`--set-top-type 2`):如 `123,125`,原样写入。
498
+
499
+ `get` 会检查 `setTopRule`:`setTopType=1` 但缺 `datas/rootStr` 时给出“平台可能不识别”的警示。日期条件里的 `{date}` 等系统参数占位符会原样存储、运行时求值(清单见 `ref-list-filter-date-params.md`)。
500
+
501
+ > 平台实测:`saveNListConfig` 把**空字符串 / 空对象**当成“未提供”,因此 `setTopType`、`setTopRule` 一旦写过就无法通过该接口清回空值。关闭置顶用 `--set-top 0` 即可(运行时不再置顶);不要为了清空反复重试,命令会如实报回读不一致。
447
502
 
448
503
  ## 卡片视图(cardView)
449
504
 
@@ -455,9 +510,11 @@ e10-cli form view rename <objId> <appId> <cardViewId> "新名称"
455
510
  e10-cli form view delete <objId> <appId> <cardViewId> # ⚠ 不可逆
456
511
  ```
457
512
 
458
- - 改名 / 删除走 `viewlist/buttonEvent`,报文里 `viewType:"cardView"`(台账是 `nListView`,行为不变)。
513
+ - 改名 / 删除按**视图族**路由:只有 `formView` 走 `layout/rename|delete`;cardView / 台账 / 看板 / 日历 / 思维导图 / 多维等**全部**走 `viewlist/buttonEvent`。`viewType` 的取值注意两套词汇:台账在 `getViewlist` 里是 `NList`,但 `buttonEvent` 只认 `nListView`(命令会自动归一);其余视图族原样透传真实类型(日历、看板传成 `nListView` 会 500)。
514
+ - 删除后回读会做有限次重试:平台删除是异步的,第一次读仍在不算失败。
459
515
  - 卡片视图**没有表单布局**:`form view populate` 会明确拒绝,不要拿它填字段。
460
- - 创建走 `viewlist/createView` + `viewType:"cardView"`,创建后必须在 `cardView.detail` 里回读到。
516
+ - **卡片视图不能挂设计器组件**(数字面板、图表等):它的 `pageId` 不是设计器页面,`designer layout/page/info` 会报 500。需要「卡片样式 + 数字面板」时,载体应是 **EB 页面**,或台账的**列表式/卡片布局**(`config.mode="12"`,走 `form nlist`),不是 `--type cardView`。
517
+ - 创建走 `viewlist/createView` + `viewType:"cardView"`,**不能带 `terminalType`**(实测会 500),创建后必须在 `cardView.detail` 里回读到。
461
518
  若平台拒绝,命令会停下并提示「抓一次设计器新建卡片视图的 createView 报文」,不要改参数硬试。
462
519
 
463
520
  ## 显示字段落在哪一层(重要)
@@ -466,11 +523,18 @@ e10-cli form view delete <objId> <appId> <cardViewId> # ⚠ 不可逆
466
523
 
467
524
  | 视图形态 | 显示字段所在层 | 用什么命令 |
468
525
  |---|---|---|
469
- | 表格式(nListView 默认) | `config.tableField` | `form list-columns` |
470
- | 列表式 / 卡片视图(NList) | `config.listField` + `config.cardLayout` | `form nlist add-field / remove-field / apply` |
526
+ | 表格式 / 可编辑表格(`tableField` 非空) | `config.tableField` | `form list-columns` |
527
+ | 列表式 / 卡片布局(`listField` 非空) | `config.listField` + `config.cardLayout` | `form nlist add-field / remove-field / apply` |
528
+
529
+ 层判定规则:**非空 `listField` 优先**;否则 `tableField` 非空就是表格式;两边都空时按 `mode` 兜底(`2` 列表式 / `12` 卡片布局 → `listField`,其余含可编辑表格 8/9/11 → `tableField`)。注意 `type:"NList"` 不能单独作为“列表式”的判据——可编辑表格同样是 `NList`,但显示列在 `tableField`。
471
530
 
472
531
  在列表式视图上执行 `form list-columns --add` 会**直接报错并给指引**(不会再写进不生效的 tableField,这是 2026-11 清单里「切列表式后加字段异常」的根因)。
473
532
 
533
+ 另有两层容易混淆:
534
+
535
+ - `form list-columns` 读的是 **`getNListConfig.tableField`**(显示列清单);
536
+ - `form list-columns attr` 读的是 **`getListFields.pc[]`**(列属性,宽度/对齐/冻结等)。两者是**两层**:平台建表自动铺的列可能只有前者,`pc[]` 为空。这种情况下 `attr show` 会明确提示 0 条,`attr set` 会报错并说明“本命令只改列属性层,不会重建显示列”,不会静默把列清空。
537
+
474
538
  ```bash
475
539
  # 增量追加 / 移除列表式显示字段(只动点名字段,已有卡片布局原样保留)
476
540
  e10-cli form nlist add-field <objId> <appId> <listId> <fieldId1> <fieldId2>
@@ -12,6 +12,14 @@ e10-cli form list-columns <objId> <appId> <listId> --remove <字段ID1> <字段I
12
12
 
13
13
  `--add` 按输入顺序追加到隐藏主键之前,已存在的列复用原配置;重复执行且无变化时返回 `unchanged:true`,不保存。`--remove` 可与 `--add` 同时使用,但不能对同一字段同时增删。移除不存在的列会报错;数据主键禁止移除。
14
14
 
15
+ ## 显示列落在哪一层
16
+
17
+ - **非空 `listField` 优先**:列表式 / 卡片布局的显示列在 `config.listField` + `cardLayout`,请改用 `form nlist add-field|remove-field|apply`;在列表式视图上执行本命令会直接报错给指引。
18
+ - 否则 `tableField` 非空就是表格式:**可编辑表格(`mode` 8/9/11)的 `type` 也是 `NList`,但显示列在 `tableField`**,本命令正常可用。
19
+ - 两边都空才按视图类型兜底。
20
+
21
+ > 注意 `getNListConfig.tableField`(显示列清单)与 `getListFields.pc[]`(列属性:宽度/对齐/冻结…)是**两层**。平台自动铺出来的台账可能只有前者、`pc[]` 为空——这时 `form list-columns attr show` 会明确显示 0 条,`attr set` 会报错并说明“本命令只改列属性层,不会重建显示列”,不会把已有列清空。
22
+
15
23
  ## 一次设置顺序、宽度和格式
16
24
 
17
25
  先读取当前列,按需求生成 UTF-8 的 `columns.json`。数组表示**完整业务列清单**:未列入的业务列会移除;数组顺序就是显示顺序。字段 ID 使用字符串,支持 `fieldId` 或 `id`,也支持仅填 ID 字符串。
@@ -274,3 +274,19 @@ e10-cli matrix config-edit <矩阵ID> \
274
274
 
275
275
  CLI 自动查 config 判断 `conditionAble` 标记并展开为完整格式;改过的行保存后会回读比对,平台回 200 但没按提交落库会直接报错。
276
276
 
277
+
278
+ ## 人员矩阵(只读)
279
+
280
+ 组织架构里的「人员矩阵」与上面的条件矩阵是两套独立实现(人员矩阵走 `/api/bs/hrm/matrix/*`,数据结构是「矩阵 → 字段 → 行/人员值」),不能套用本指南前面的条件矩阵命令。
281
+
282
+ ```bash
283
+ e10-cli matrix person list [--keyword <关键词>]
284
+ e10-cli matrix person fields <matrixId>
285
+ e10-cli matrix person data <matrixId>
286
+ ```
287
+
288
+ - `list` 返回矩阵 id、名称、启用状态和描述;
289
+ - `fields` 返回字段(列)的名称、类型和排序;
290
+ - `data` 返回平台当前页的行数据,人员类单元格按姓名展开(多值用、分隔)。
291
+
292
+ 当前 CLI 只做只读。新建/编辑矩阵、字段维护和数据维护的保存报文尚未纳入,需要时按界面保存抓包后再补。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **UI**:设计器右侧 **单元格 → 转换**(选中 Field 格时)
4
4
  > **源码**:`AnalysisFieldCellType` · `Trans.getTransInstance` · 设计器 `route_ReportDesigner`
5
- > **CLI**:`e10-cli report validate transform --map "人员"` / `--file cell.json`
5
+ > **CLI**:`e10-cli report cell-transform set/show/list/clear …`(写入 + 回读);纯校验用 `e10-cli report validate transform`
6
6
  > **落库**:须同时写入 `fields[]` 与 workbook `style.cellType`(`fieldToCell` 已透传)
7
7
 
8
8
  ---
@@ -119,13 +119,27 @@
119
119
  ## 七、Agent / CLI
120
120
 
121
121
  ```bash
122
+ # 校验(不落库)
122
123
  e10-cli report validate transform --map "人员"
123
- e10-cli report validate transform --map "部门全路径"
124
- e10-cli report validate transform --map "二维码"
125
124
  e10-cli report validate transform --file cell-transform.json
126
125
  e10-cli report validate transform --list
126
+
127
+ # 写入 + 回读(report cell transform 是等价别名)
128
+ e10-cli report cell-transform show <reportId> --app-id <id> --cell 1,0
129
+ e10-cli report cell-transform list <reportId> --app-id <id>
130
+ e10-cli report cell-transform set <reportId> --app-id <id> --cell 1,0 --map "人员"
131
+ e10-cli report cell-transform set <reportId> --app-id <id> --cell 1,0 \
132
+ --trans browser --browser HrmEmployeeComInfo --prefix "[" --suffix "]"
133
+ e10-cli report cell-transform set <reportId> --app-id <id> --cell 1,0 \
134
+ --html on --qrcode barcode --hidden off --direction 竖排
135
+ e10-cli report cell-transform set <reportId> --app-id <id> --cell 1,0 --file cell-transform.json
136
+ e10-cli report cell-transform clear <reportId> --app-id <id> --cell 1,0
127
137
  ```
128
138
 
139
+ `--html` / `--hidden` 接受 `on|off`、`1|0`、`是|否`。只改点名的键,其余保持原值;
140
+ 显式切 `transType` 时会清掉不再适配的 `browserType` / `transSelectOptions`。保存后回读
141
+ `fields[]` 逐键比对,不一致直接报错。
142
+
129
143
  定点改转换时:改 `fields[]` 对应键 → `safe_report_save` / `fieldToCell` 透传到 workbook → 回读核对。
130
144
 
131
145
  ---
@@ -0,0 +1,54 @@
1
+ # 报表「代码块」(设计器 开始 → 代码块)
2
+
3
+ > **UI**:报表设计器 → 开始 → 代码块(自定义 JS/HTML 片段,**按 sheet 存储**)
4
+ > **CLI**:`e10-cli report code-block get|set|clear <reportId> --app-id <id> [--sheet-id <id>|--sheet-index <n>]`
5
+ > **别名**:`report code block …` 与上面等价
6
+
7
+ ---
8
+
9
+ ## 一、接口与落库
10
+
11
+ | 动作 | 方法 | 路径 | 参数 |
12
+ |------|------|------|------|
13
+ | 读 | GET | `/api/bs/edc/report/queryCustomCodeById` | `sheetId` |
14
+ | 写 | POST | `/api/bs/edc/report/saveCustomCode` | form:`cusCode` + `sheetId` |
15
+
16
+ - 请求头 `ebbusinessid` = 应用 ID(`report code-block` 的 `--app-id` 已带)。
17
+ - `cusCode` = **代码文本的 UTF-8 base64**,等价前端:
18
+ ```js
19
+ btoa(unescape(encodeURIComponent(code)))
20
+ ```
21
+ - `sheetId` 取 `getReportDevInfo.sheetProps[].sheetId`(**不是** `sheetProps[].id`)。
22
+ - 保存接口回 200 不代表内容已落库:CLI 写完会回读比对,不一致直接报错。
23
+ - 设计器新建代码块时的默认模板:
24
+ ```html
25
+ <script type="text/javascript">
26
+ /*
27
+ * 请在下面编写JS代码
28
+ */
29
+
30
+ </script>
31
+ ```
32
+
33
+ ## 二、命令
34
+
35
+ ```bash
36
+ # 读(默认第一张 sheet)
37
+ e10-cli report code-block get <reportId> --app-id <appId>
38
+ e10-cli report code-block get <reportId> --app-id <appId> --sheet-index 1
39
+ e10-cli report code-block get <reportId> --app-id <appId> --out code.js
40
+
41
+ # 写(--code / --file / --template 三选一;含中文或换行建议用 --file)
42
+ e10-cli report code-block set <reportId> --app-id <appId> --file code.js
43
+ e10-cli report code-block set <reportId> --app-id <appId> --code '<script>console.log(1)</script>'
44
+ e10-cli report code-block set <reportId> --app-id <appId> --template
45
+
46
+ # 清空(保存空文本并回读确认;设计器再次打开会显示默认模板)
47
+ e10-cli report code-block clear <reportId> --app-id <appId>
48
+ ```
49
+
50
+ ## 三、注意
51
+
52
+ - 代码块按 sheet 独立:多 sheet 报表必须用 `--sheet-index` / `--sheet-id` 选对页。
53
+ - 代码在预览/运行页执行,写入前确认脚本来源与用途;CLI 不做 JS 语义校验。
54
+ - 不要把代码块和「单元格事件 → 执行 js 代码」(`cell-event`)混淆:前者按 sheet 一段,后者挂在单个单元格上。
@@ -78,6 +78,8 @@ e10-cli report dataset rename --dataset-id <id> --name "轻资产主表" [--name
78
78
 
79
79
  - 须同时有维度 + 度量,或两者皆空(清空聚合)
80
80
  - 保存后 `fieldsAndOriginFields` 可见字段变为「分组字段 + 度量别名」
81
+ - 行内不能同时出现 `groupBy` 和 `fieldId`;度量 `countType` 不得为 `none`
82
+ - **保存是全量替换,接口 200 ≠ 落库**:CLI 写入后会回读并按 `groupBy` / `fieldId+countType` 比对,缺行/多行直接报错
81
83
 
82
84
  ### 2.3 ≠ 页面「数据预聚合」
83
85
 
@@ -92,9 +94,15 @@ e10-cli report dataset rename --dataset-id <id> --name "轻资产主表" [--name
92
94
  ```bash
93
95
  e10-cli report dataset agg get --dataset-id <id>
94
96
  e10-cli report dataset agg save --dataset-id <id> --file aggre.json
97
+ e10-cli report dataset agg save --dataset-id <id> --inline '[{"groupBy":"…"},{"fieldId":"…","countType":"sum","showName":"金额合计"}]'
98
+ e10-cli report dataset agg add --dataset-id <id> --inline '{"fieldId":"…","countType":"count","showName":"条数"}'
99
+ e10-cli report dataset agg remove --dataset-id <id> --field-id '…' # 或 --group-by / --index
95
100
  e10-cli report dataset agg clear --dataset-id <id>
96
101
  ```
97
102
 
103
+ 写接口在部分租户会校验应用上下文,报「无报表的编辑权限」时补 `--app-id <id>`。
104
+ `add` 只校验单行结构,合并后的整体仍须满足「维度 + 度量」成对规则。
105
+
98
106
  ---
99
107
 
100
108
  ## 三、数据排序
@@ -55,7 +55,7 @@
55
55
  | `report dataset preview --dataset-id` | 预览数据 |
56
56
  | `report dataset check-used --report-id --dataset-id` | 是否仍被引用 |
57
57
  | `report dataset delete --report-id --dataset-id [--force]` | 移除数据集 |
58
- | `report dataset agg get\|save\|clear --dataset-id [--file]` | 左侧数据集菜单里的「数据聚合」(不是解析优化的预聚合) |
58
+ | `report dataset agg get\|save\|add\|remove\|clear --dataset-id [--file\|--inline] [--app-id]` | 左侧数据集菜单里的「数据聚合」(不是解析优化的预聚合);本地校验结构,保存后回读比对 |
59
59
  | `report dataset sort get\|save\|clear --dataset-id [--file]` | 排序 |
60
60
  | `report dataset replace --file <f>` | 整表换源(含 fieldMap) |
61
61
  | `report dataset heal [<reportId>] --app-id [--purge] [--apply]` | 修复数据集形态:`type=LOGIC` 大写原地换型(单元格引用自动重映射),`--purge` 顺带删 `sourceId` 为空的脏数据集。默认预演;落库后提示跑 `fix field-binding` |
@@ -84,6 +84,12 @@
84
84
  | `report cell-event list <reportId> --app-id` | 列出配置了链接的单元格 |
85
85
  | `report cell-event set <reportId> --app-id --cell <行,列> (--pc <链接> \| --h5 <链接>) [--open 弹出页\|当前页\|执行js代码]` | 写入单元格事件链接;`--pc` 可写 URL 或 JS(`--open 执行js代码`);`--open` 缺省**保持原值**(新链接为弹出页)。全角 `?&=` 会直接报错 |
86
86
  | `report cell-event clear <reportId> --app-id --cell <行,列> [--pc\|--h5]` | 清链接(缺省 PC+H5 都清,打开方式复位为弹出页) |
87
+ | `report cell-transform show\|list <reportId> --app-id [--cell <行,列>]` | 读取单元格「转换」配置 / 列出非默认转换 |
88
+ | `report cell-transform set <reportId> --app-id --cell <行,列> [--map <中文类型>] [--trans <transType>] [--browser <ids>] [--options <json>] [--html on\|off] [--qrcode no\|barcode\|qrcode] [--prefix <s>] [--suffix <s>] [--hidden on\|off] [--direction <方向>] [--inline\|--file <json>]` | 写转换:只改点名键,双写 `fields[]` + workbook `style.cellType`,回读逐键比对 |
89
+ | `report cell-transform clear <reportId> --app-id --cell <行,列>` | 恢复「无转换」并回读确认 |
90
+ | `report code-block get <reportId> --app-id [--sheet-id\|--sheet-index] [--out <file>]` | 读报表代码块(按 sheet;`cusCode` 为 UTF-8 base64,CLI 自动解码) |
91
+ | `report code-block set <reportId> --app-id [--sheet-id\|--sheet-index] (--code <text>\|--file <file>\|--template)` | 写代码块,写后回读比对 |
92
+ | `report code-block clear <reportId> --app-id [--sheet-id\|--sheet-index]` | 清空代码块(保存空串并回读确认) |
87
93
 
88
94
  > **落库契约**:两组的写入都会改 `fields[]` 与 workbook `style.cellType`,双保存后**回读比对**,不一致即报错。
89
95
  > `saveReportDevInfo` 在 `designKey` 过期时会返回 **code=200 + `data:"您当前的数据不是最新的…"`**(静默失败);命令会识别该文案并自动重读重写一次。
@@ -71,7 +71,7 @@ flowchart TB
71
71
  | **预览** | 右上角 | `GET checkSave?sheetId=` 后跳转 `/sp/edc/report/view/{reportId}` | Live §11.2 |
72
72
  | **历史版本** | 开始区 | `POST getVersionWithPage` · `GET rollbackReport` | 本文 §七 |
73
73
  | **数据分析** | 开始区 | 侧栏分析图表配置(workbook 扩展) | `report-help-guide.md` §十一 |
74
- | **代码块** | 开始区 | 自定义 JS/HTML 块(高级) | — |
74
+ | **代码块** | 开始区 | 自定义 JS/HTML 块(高级),按 sheet 存储:`queryCustomCodeById` / `saveCustomCode`(`cusCode`=UTF-8 base64) | `code-block-guide.md` |
75
75
 
76
76
  ### 3.2 字体与对齐(SpreadJS 工具栏)
77
77
 
@@ -102,6 +102,8 @@ e10-cli report group delete --app-id <appId> --group-id <id>
102
102
  ### 1.3 禁令
103
103
 
104
104
  - 禁止把 `-1/-2/-3` 当自建分组写入 save
105
+ - 禁止把 `id:''` 的新建项当哨兵过滤掉:空 id 正是新建标记,过滤后保存接口仍回 200,但分组不落库。保存前只剔 `-1/-2/-3`
106
+ - 新建/删除后必须回读列表:新建要有新增 id,删除后目标 id 必须消失,否则按失败处理
105
107
  - 禁止未读 list 就臆造整表 groups(丢分组)
106
108
  - 删除分组前若组内有报表,先 `move` 走或告知用户(产品侧行为以页面为准)
107
109