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
@@ -0,0 +1,62 @@
1
+ export interface TransformState {
2
+ transType: string;
3
+ browserType: any[];
4
+ transSelectOptions: any[];
5
+ isHtml: string;
6
+ qrcodeType: string;
7
+ prefixAndSuffix: any[];
8
+ hiddenContext: string;
9
+ textDirection: string;
10
+ }
11
+ export declare const TRANSFORM_DEFAULTS: TransformState;
12
+ /** 字段记录 → 转换状态(数组键兼容 JSON 串 / 数组)。 */
13
+ export declare function readTransform(cell: any): TransformState;
14
+ export interface TransformPatch {
15
+ transType?: string;
16
+ browserType?: any[];
17
+ transSelectOptions?: any[];
18
+ isHtml?: string | number | boolean;
19
+ qrcodeType?: string;
20
+ prefixAndSuffix?: any[];
21
+ hiddenContext?: string | number | boolean;
22
+ textDirection?: string;
23
+ }
24
+ /** `--map 人员` 这类中文名 → 转换补丁;已废弃写法直接报错。 */
25
+ export declare function transformFromMap(label: string): TransformPatch;
26
+ /** 逗号分隔的浏览对象名单 → `browserType`。`none` / 空 = 清空。 */
27
+ export declare function browserTypesFromArg(input: string): any[];
28
+ /**
29
+ * 合并「当前值 + 补丁」并规范化。
30
+ *
31
+ * 显式改 `transType` 时,会清掉不再适配的 `browserType` / `transSelectOptions`
32
+ * (除非本次也显式给了它们),避免留下切换前的脏配置。
33
+ */
34
+ export declare function mergeTransform(current: TransformState, patch: TransformPatch, opts?: {
35
+ transTypeExplicit?: boolean;
36
+ }): {
37
+ state: TransformState;
38
+ warnings: string[];
39
+ };
40
+ /** 写进 `fields[]` 的补丁(数组转 JSON 串)。 */
41
+ export declare function transformFieldsPatch(state: TransformState): Record<string, any>;
42
+ /** 写进 workbook `style.cellType` 的补丁(数组保持数组)。 */
43
+ export declare function transformCellTypePatch(state: TransformState): Record<string, any>;
44
+ /** 是否仍是「无转换」的默认态。 */
45
+ export declare function isDefaultTransform(state: TransformState): boolean;
46
+ /** 回读断言:逐键比较。 */
47
+ export declare function diffTransform(expected: TransformState, actual: TransformState): string[];
48
+ export interface TransformRow {
49
+ cell: string;
50
+ text: string;
51
+ fieldKey: string;
52
+ transform: TransformState;
53
+ }
54
+ /** 列出所有非默认转换的单元格。 */
55
+ export declare function listTransformCells(fields: any[]): TransformRow[];
56
+ /** 文字方向 / 二维码的中文速查(CLI 输出用)。 */
57
+ export declare const TRANSFORM_LABELS: {
58
+ qrcode: Record<string, string>;
59
+ direction: Record<string, string>;
60
+ browser: Record<string, string>;
61
+ };
62
+ //# sourceMappingURL=cell-transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-transform.d.ts","sourceRoot":"","sources":["../../../src/services/report/cell-transform.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,kBAAkB,EAAE,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,cAShC,CAAC;AAQF,sCAAsC;AACtC,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,CAoBvD;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAU9D;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,CAOxD;AAkBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B/C;AAED,qCAAqC;AACrC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM/E;AAED,gDAAgD;AAChD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEjF;AAED,qBAAqB;AACrB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAYjE;AAED,iBAAiB;AACjB,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAQxF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,qBAAqB;AACrB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAchE;AAED,gCAAgC;AAChC,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * 单元格「转换」面板(设计器右侧:单元格 → 转换)。
3
+ *
4
+ * 落库键在 `fields[]` 顶层,同时要写进 workbook 的 `style.cellType`:
5
+ * - `transType` + `browserType` / `transSelectOptions`
6
+ * - `isHtml`(HTML 转换,不是 transType)
7
+ * - `qrcodeType`(条码/二维码)
8
+ * - `prefixAndSuffix`(前缀/后缀)
9
+ * - `hiddenContext`(隐藏内容,拼写是 Context)
10
+ * - `textDirection`(文字方向)
11
+ *
12
+ * `fields[]` 里数组类键是 JSON 字符串,workbook 里是数组;读写都要走本文件的转换。
13
+ */
14
+ import { BROWSER_PRESETS, DIR_MAP, QR_MAP, TRANS_MAP, normalizeTransform } from './validate.js';
15
+ import { jsonArrayOf } from './cell-edit.js';
16
+ export const TRANSFORM_DEFAULTS = {
17
+ transType: 'default',
18
+ browserType: [],
19
+ transSelectOptions: [],
20
+ isHtml: '0',
21
+ qrcodeType: 'no',
22
+ prefixAndSuffix: ['', ''],
23
+ hiddenContext: '0',
24
+ textDirection: 'FromLeftToRight',
25
+ };
26
+ /** 写 `fields[]` 顶层时,数组键要序列化成 JSON 字符串。 */
27
+ const ARRAY_KEYS = new Set(['browserType', 'transSelectOptions', 'prefixAndSuffix']);
28
+ /** 会用到 `transSelectOptions` 的转换类型。 */
29
+ const OPTION_TYPES = new Set(['select', 'colorSelect', 'scoreIcon', 'slashWord']);
30
+ /** 字段记录 → 转换状态(数组键兼容 JSON 串 / 数组)。 */
31
+ export function readTransform(cell) {
32
+ const pick = (key, fallback) => {
33
+ const raw = cell?.[key];
34
+ if (ARRAY_KEYS.has(key))
35
+ return jsonArrayOf(raw);
36
+ return raw == null || raw === '' ? fallback : String(raw);
37
+ };
38
+ const state = {
39
+ transType: pick('transType', TRANSFORM_DEFAULTS.transType),
40
+ browserType: pick('browserType', [...TRANSFORM_DEFAULTS.browserType]),
41
+ transSelectOptions: pick('transSelectOptions', [...TRANSFORM_DEFAULTS.transSelectOptions]),
42
+ isHtml: pick('isHtml', TRANSFORM_DEFAULTS.isHtml),
43
+ qrcodeType: pick('qrcodeType', TRANSFORM_DEFAULTS.qrcodeType),
44
+ prefixAndSuffix: pick('prefixAndSuffix', [...TRANSFORM_DEFAULTS.prefixAndSuffix]),
45
+ hiddenContext: pick('hiddenContext', TRANSFORM_DEFAULTS.hiddenContext),
46
+ textDirection: pick('textDirection', TRANSFORM_DEFAULTS.textDirection),
47
+ };
48
+ if (state.prefixAndSuffix.length < 2) {
49
+ state.prefixAndSuffix = [state.prefixAndSuffix[0] ?? '', state.prefixAndSuffix[1] ?? ''];
50
+ }
51
+ return state;
52
+ }
53
+ /** `--map 人员` 这类中文名 → 转换补丁;已废弃写法直接报错。 */
54
+ export function transformFromMap(label) {
55
+ const entry = TRANS_MAP[String(label).trim()];
56
+ if (!entry) {
57
+ throw new Error(`不认识的转换类型「${label}」。可用:${Object.keys(TRANS_MAP).join(' / ')}`);
58
+ }
59
+ if (entry.error)
60
+ throw new Error(entry.error);
61
+ const patch = {};
62
+ if (entry.transType)
63
+ patch.transType = entry.transType;
64
+ if (entry.browserType)
65
+ patch.browserType = entry.browserType;
66
+ return patch;
67
+ }
68
+ /** 逗号分隔的浏览对象名单 → `browserType`。`none` / 空 = 清空。 */
69
+ export function browserTypesFromArg(input) {
70
+ const parts = String(input ?? '')
71
+ .split(/[,,]/)
72
+ .map((s) => s.trim())
73
+ .filter(Boolean);
74
+ if (!parts.length || parts.some((p) => p.toLowerCase() === 'none' || p === '无'))
75
+ return [];
76
+ return parts.map((p) => ({ id: BROWSER_PRESETS[p] ?? p }));
77
+ }
78
+ /** 数组键:数组原样,JSON 数组字符串解析,其余报错。 */
79
+ function toArrayValue(value, key) {
80
+ if (Array.isArray(value))
81
+ return value;
82
+ if (value == null || value === '')
83
+ return [];
84
+ if (typeof value === 'string') {
85
+ try {
86
+ const parsed = JSON.parse(value);
87
+ if (Array.isArray(parsed))
88
+ return parsed;
89
+ }
90
+ catch {
91
+ /* fallthrough */
92
+ }
93
+ throw new Error(`${key} 必须是数组或 JSON 数组字符串`);
94
+ }
95
+ throw new Error(`${key} 必须是数组`);
96
+ }
97
+ /**
98
+ * 合并「当前值 + 补丁」并规范化。
99
+ *
100
+ * 显式改 `transType` 时,会清掉不再适配的 `browserType` / `transSelectOptions`
101
+ * (除非本次也显式给了它们),避免留下切换前的脏配置。
102
+ */
103
+ export function mergeTransform(current, patch, opts = {}) {
104
+ const merged = { ...TRANSFORM_DEFAULTS, ...current, ...patch };
105
+ if (opts.transTypeExplicit) {
106
+ if (patch.browserType === undefined && merged.transType !== 'browser')
107
+ merged.browserType = [];
108
+ if (patch.transSelectOptions === undefined && !OPTION_TYPES.has(merged.transType))
109
+ merged.transSelectOptions = [];
110
+ }
111
+ // 两个数组键既接受数组,也接受 JSON 数组字符串;其它形状直接拒绝。
112
+ const browserType = toArrayValue(merged.browserType, 'browserType');
113
+ const transSelectOptions = toArrayValue(merged.transSelectOptions, 'transSelectOptions');
114
+ merged.browserType = browserType;
115
+ merged.transSelectOptions = transSelectOptions;
116
+ const r = normalizeTransform(merged);
117
+ if (!r.ok) {
118
+ throw new Error(`转换配置不合法:\n - ${r.errors.map((e) => e.message).join('\n - ')}`);
119
+ }
120
+ const n = r.normalized || {};
121
+ const state = {
122
+ transType: String(n.transType ?? merged.transType ?? TRANSFORM_DEFAULTS.transType),
123
+ browserType: Array.isArray(n.browserType) ? n.browserType : browserType,
124
+ transSelectOptions,
125
+ isHtml: String(n.isHtml ?? merged.isHtml ?? TRANSFORM_DEFAULTS.isHtml),
126
+ qrcodeType: String(n.qrcodeType ?? merged.qrcodeType ?? TRANSFORM_DEFAULTS.qrcodeType),
127
+ prefixAndSuffix: Array.isArray(n.prefixAndSuffix) ? n.prefixAndSuffix : merged.prefixAndSuffix,
128
+ hiddenContext: String(n.hiddenContext ?? merged.hiddenContext ?? TRANSFORM_DEFAULTS.hiddenContext),
129
+ textDirection: String(n.textDirection ?? merged.textDirection ?? TRANSFORM_DEFAULTS.textDirection),
130
+ };
131
+ return { state, warnings: r.warnings.map((w) => w.message) };
132
+ }
133
+ /** 写进 `fields[]` 的补丁(数组转 JSON 串)。 */
134
+ export function transformFieldsPatch(state) {
135
+ const out = {};
136
+ for (const [key, value] of Object.entries(state)) {
137
+ out[key] = ARRAY_KEYS.has(key) ? JSON.stringify(value) : value;
138
+ }
139
+ return out;
140
+ }
141
+ /** 写进 workbook `style.cellType` 的补丁(数组保持数组)。 */
142
+ export function transformCellTypePatch(state) {
143
+ return { ...state };
144
+ }
145
+ /** 是否仍是「无转换」的默认态。 */
146
+ export function isDefaultTransform(state) {
147
+ return (state.transType === TRANSFORM_DEFAULTS.transType &&
148
+ state.browserType.length === 0 &&
149
+ state.transSelectOptions.length === 0 &&
150
+ state.isHtml === TRANSFORM_DEFAULTS.isHtml &&
151
+ state.qrcodeType === TRANSFORM_DEFAULTS.qrcodeType &&
152
+ (state.prefixAndSuffix[0] ?? '') === '' &&
153
+ (state.prefixAndSuffix[1] ?? '') === '' &&
154
+ state.hiddenContext === TRANSFORM_DEFAULTS.hiddenContext &&
155
+ state.textDirection === TRANSFORM_DEFAULTS.textDirection);
156
+ }
157
+ /** 回读断言:逐键比较。 */
158
+ export function diffTransform(expected, actual) {
159
+ const errors = [];
160
+ for (const key of Object.keys(expected)) {
161
+ const want = JSON.stringify(expected[key]);
162
+ const got = JSON.stringify(actual[key]);
163
+ if (want !== got)
164
+ errors.push(`${key} 回读=${got},期望=${want}`);
165
+ }
166
+ return errors;
167
+ }
168
+ /** 列出所有非默认转换的单元格。 */
169
+ export function listTransformCells(fields) {
170
+ const rows = [];
171
+ for (const f of fields || []) {
172
+ if (String(f?.cellType ?? '') !== 'Field')
173
+ continue;
174
+ const transform = readTransform(f);
175
+ if (isDefaultTransform(transform))
176
+ continue;
177
+ rows.push({
178
+ cell: `${f.x},${f.y}`,
179
+ text: String(f.text ?? ''),
180
+ fieldKey: String(f.fieldKey ?? ''),
181
+ transform,
182
+ });
183
+ }
184
+ return rows;
185
+ }
186
+ /** 文字方向 / 二维码的中文速查(CLI 输出用)。 */
187
+ export const TRANSFORM_LABELS = {
188
+ qrcode: QR_MAP,
189
+ direction: DIR_MAP,
190
+ browser: BROWSER_PRESETS,
191
+ };
192
+ //# sourceMappingURL=cell-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-transform.js","sourceRoot":"","sources":["../../../src/services/report/cell-transform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * 报表「代码块」(设计器 开始 → 代码块)。
3
+ *
4
+ * 按 **sheet** 存取,不是按报表整份:
5
+ * - 读:`GET /api/bs/edc/report/queryCustomCodeById?sheetId=`
6
+ * - 写:`POST /api/bs/edc/report/saveCustomCode` form `cusCode` + `sheetId`
7
+ *
8
+ * `cusCode` 是**代码文本的 UTF-8 base64**(`btoa(unescape(encodeURIComponent(code)))`)。
9
+ * 写接口回 200 不代表内容已落库,所以 `saveCodeBlock` 会回读比对。
10
+ */
11
+ import type { ReportHttp } from './http.js';
12
+ export declare const CUSTOM_CODE: {
13
+ readonly get: "/api/bs/edc/report/queryCustomCodeById";
14
+ readonly save: "/api/bs/edc/report/saveCustomCode";
15
+ };
16
+ /** UI 新建代码块时的默认模板(清空后设计器再次打开会显示它)。 */
17
+ export declare const CODE_BLOCK_TEMPLATE = "<script type=\"text/javascript\">\n/*\n* \u8BF7\u5728\u4E0B\u9762\u7F16\u5199JS\u4EE3\u7801\n*/\n\n</script>";
18
+ export interface CodeBlock {
19
+ sheetId: string;
20
+ code: string;
21
+ bytes: number;
22
+ }
23
+ /** 代码 → UTF-8 base64(与服务端 `cusCode` 一致)。 */
24
+ export declare function encodeCustomCode(code: string): string;
25
+ /** base64 → 代码文本;非 base64 原样返回(兼容服务端异常回包)。 */
26
+ export declare function decodeCustomCode(raw: unknown): string;
27
+ /**
28
+ * 解析目标 sheet。优先级:显式 `sheetId` → `sheetIndex` → 第一张 sheet。
29
+ * 报表带 sheetProps 时,显式值必须命中,否则列出可选值。
30
+ */
31
+ export declare function resolveSheetId(dev: any, options?: {
32
+ sheetId?: string;
33
+ sheetIndex?: number;
34
+ }): string;
35
+ /** 读代码块。 */
36
+ export declare function getCodeBlock(http: ReportHttp, sheetId: string): Promise<CodeBlock>;
37
+ /**
38
+ * 保存代码块并回读校验。
39
+ *
40
+ * 空字符串表示清空;平台返回 200 但回读仍非空时按失败处理。
41
+ */
42
+ export declare function saveCodeBlock(http: ReportHttp, sheetId: string, code: string): Promise<CodeBlock>;
43
+ /** 清空代码块(保存空文本并回读确认)。 */
44
+ export declare function clearCodeBlock(http: ReportHttp, sheetId: string): Promise<CodeBlock>;
45
+ //# sourceMappingURL=code-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/services/report/code-block.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,sCAAsC;AACtC,eAAO,MAAM,mBAAmB,iHACsC,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CASrD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,CAiCR;AAED,YAAY;AACZ,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAOxF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,CAiBpB;AAED,yBAAyB;AACzB,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE1F"}
@@ -0,0 +1,92 @@
1
+ export const CUSTOM_CODE = {
2
+ get: '/api/bs/edc/report/queryCustomCodeById',
3
+ save: '/api/bs/edc/report/saveCustomCode',
4
+ };
5
+ /** UI 新建代码块时的默认模板(清空后设计器再次打开会显示它)。 */
6
+ export const CODE_BLOCK_TEMPLATE = '<script type="text/javascript">\n/*\n* 请在下面编写JS代码\n*/\n\n</script>';
7
+ /** 代码 → UTF-8 base64(与服务端 `cusCode` 一致)。 */
8
+ export function encodeCustomCode(code) {
9
+ return Buffer.from(String(code ?? ''), 'utf8').toString('base64');
10
+ }
11
+ /** base64 → 代码文本;非 base64 原样返回(兼容服务端异常回包)。 */
12
+ export function decodeCustomCode(raw) {
13
+ const value = raw == null ? '' : String(raw);
14
+ if (!value)
15
+ return '';
16
+ if (!/^[A-Za-z0-9+/]*={0,2}$/.test(value) || value.length % 4 !== 0)
17
+ return value;
18
+ try {
19
+ return Buffer.from(value, 'base64').toString('utf8');
20
+ }
21
+ catch {
22
+ return value;
23
+ }
24
+ }
25
+ /**
26
+ * 解析目标 sheet。优先级:显式 `sheetId` → `sheetIndex` → 第一张 sheet。
27
+ * 报表带 sheetProps 时,显式值必须命中,否则列出可选值。
28
+ */
29
+ export function resolveSheetId(dev, options = {}) {
30
+ const sheets = Array.isArray(dev?.sheetProps) ? dev.sheetProps : [];
31
+ const idOf = (s) => String(s?.sheetId ?? s?.id ?? '');
32
+ const labelOf = (s) => `sheetIndex=${s?.sheetIndex ?? '?'} sheetId=${idOf(s)} name=${s?.name ?? ''}`;
33
+ if (options.sheetId != null && options.sheetId !== '') {
34
+ const hit = sheets.find((s) => idOf(s) === String(options.sheetId));
35
+ if (hit)
36
+ return idOf(hit);
37
+ if (sheets.length) {
38
+ throw new Error(`报表里没有 sheetId=${options.sheetId} 的页。可选:\n - ${sheets.map(labelOf).join('\n - ')}`);
39
+ }
40
+ return String(options.sheetId);
41
+ }
42
+ if (options.sheetIndex != null) {
43
+ if (!Number.isInteger(options.sheetIndex) || options.sheetIndex < 0) {
44
+ throw new Error('--sheet-index 必须是非负整数');
45
+ }
46
+ const hit = sheets.find((s) => Number(s?.sheetIndex) === options.sheetIndex);
47
+ if (!hit) {
48
+ throw new Error(`报表里没有 sheetIndex=${options.sheetIndex} 的页。可选:\n - ${sheets.map(labelOf).join('\n - ')}`);
49
+ }
50
+ return idOf(hit);
51
+ }
52
+ const first = sheets[0];
53
+ const id = first ? idOf(first) : '';
54
+ if (!id)
55
+ throw new Error('取不到报表的 sheetId(sheetProps 为空);请用 --sheet-id 显式指定');
56
+ return id;
57
+ }
58
+ /** 读代码块。 */
59
+ export async function getCodeBlock(http, sheetId) {
60
+ const r = await http.get(CUSTOM_CODE.get, { sheetId });
61
+ if (r?.code != null && r.code !== 200) {
62
+ throw new Error(`读取代码块失败:${r?.msg || r?.message || `code=${r.code}`}`);
63
+ }
64
+ const code = decodeCustomCode(r?.data);
65
+ return { sheetId, code, bytes: Buffer.byteLength(code, 'utf8') };
66
+ }
67
+ /**
68
+ * 保存代码块并回读校验。
69
+ *
70
+ * 空字符串表示清空;平台返回 200 但回读仍非空时按失败处理。
71
+ */
72
+ export async function saveCodeBlock(http, sheetId, code) {
73
+ const text = String(code ?? '');
74
+ const r = await http.postFields(CUSTOM_CODE.save, {
75
+ cusCode: encodeCustomCode(text),
76
+ sheetId,
77
+ });
78
+ if (r?.code != null && r.code !== 200) {
79
+ throw new Error(`保存代码块失败:${r?.msg || r?.message || `code=${r.code}`}`);
80
+ }
81
+ const after = await getCodeBlock(http, sheetId);
82
+ if (after.code !== text) {
83
+ throw new Error(`保存接口返回成功,但回读代码不一致(期望 ${Buffer.byteLength(text, 'utf8')} 字节,` +
84
+ `回读 ${after.bytes} 字节)。`);
85
+ }
86
+ return after;
87
+ }
88
+ /** 清空代码块(保存空文本并回读确认)。 */
89
+ export async function clearCodeBlock(http, sheetId) {
90
+ return saveCodeBlock(http, sheetId, '');
91
+ }
92
+ //# sourceMappingURL=code-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.js","sourceRoot":"","sources":["../../../src/services/report/code-block.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,wCAAwC;IAC7C,IAAI,EAAE,mCAAmC;CACjC,CAAC;AAEX,sCAAsC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAC9B,oEAAoE,CAAC;AAQvE,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClF,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAQ,EACR,UAAqD,EAAE;IAEvD,MAAM,MAAM,GAAU,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,UAAU,IAAI,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;IAE1G,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,iBAAiB,OAAO,CAAC,OAAO,gBAAgB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,CAAC,UAAU,gBAAgB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,YAAY;AACZ,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgB,EAAE,OAAe;IAClE,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAgB,EAChB,OAAe,EACf,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE;QACrD,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC/B,OAAO;KACR,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM;YAC3D,MAAM,KAAK,CAAC,KAAK,OAAO,CAC3B,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,OAAe;IACpE,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC"}
@@ -61,6 +61,46 @@ export declare function fieldsBySource(http: ReportHttp, sourceId: string, opts?
61
61
  export declare function renameDataset(http: ReportHttp, datasetId: string, name: string, nameLabelId?: string): Promise<any>;
62
62
  export declare function getAggregation(http: ReportHttp, datasetId: string): Promise<any>;
63
63
  export declare function saveAggregation(http: ReportHttp, datasetId: string, aggreData: unknown): Promise<any>;
64
+ /**
65
+ * 「数据聚合」(左侧数据集 `…` → 数据聚合)的 `aggreData` 行只有两种:
66
+ * - 维度:`{ groupBy: '<datasetId>.<tableId>.<fieldName>' }`
67
+ * - 度量:`{ fieldId: 同上, countType, showName?, fieldName? }`
68
+ *
69
+ * 非空配置必须同时有维度与度量;空数组 = 清空。此函数只做本地结构校验,
70
+ * 不做字段是否属于该数据集的校验(需要额外拉字段清单,留给调用方按需处理)。
71
+ */
72
+ export declare function normalizeAggreData(input: unknown, opts?: {
73
+ requirePair?: boolean;
74
+ }): {
75
+ rows: any[];
76
+ warnings: string[];
77
+ };
78
+ /** 聚合行身份:维度按 groupBy,度量按 fieldId + countType。 */
79
+ export declare function aggreRowKey(row: any): string;
80
+ /** 服务端回包 → 聚合数组(可能是数组、JSON 字符串、或 { aggreData/list })。 */
81
+ export declare function asAggreArray(value: unknown): any[];
82
+ export interface SaveAggregationResult {
83
+ rows: any[];
84
+ warnings: string[];
85
+ }
86
+ /**
87
+ * 保存聚合配置 + 回读校验。
88
+ *
89
+ * 平台 `aggregationSave` 是「先删该数据集全部聚合行再插入」的全量替换;
90
+ * 返回 200 不代表行真的落进去了,所以以回读数组为判据。
91
+ */
92
+ export declare function saveAggregationChecked(http: ReportHttp, datasetId: string, input: unknown): Promise<SaveAggregationResult>;
93
+ /** 追加聚合行(读现有 → 追加 → 全量保存 → 回读)。 */
94
+ export declare function addAggregation(http: ReportHttp, datasetId: string, extra: unknown): Promise<SaveAggregationResult>;
95
+ /**
96
+ * 删除聚合行。按 `group-by` / `field-id` 匹配整行,或按 1 基序号删。
97
+ * 没有匹配项直接报错,避免「命令成功但什么都没删」。
98
+ */
99
+ export declare function removeAggregation(http: ReportHttp, datasetId: string, match: {
100
+ groupBy?: string;
101
+ fieldId?: string;
102
+ index?: number;
103
+ }): Promise<SaveAggregationResult>;
64
104
  export declare function getSort(http: ReportHttp, datasetId: string): Promise<any>;
65
105
  export declare function saveSort(http: ReportHttp, datasetId: string, sortData: unknown): Promise<any>;
66
106
  /** 替换数据集(整表换源)。body 由调用方给出,含 `fieldMap` 映射。 */
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/services/report/dataset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/services/report/dataset.ts"],"names":[],"mappings":"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"}