weaver-e10-builder 1.1.9 → 1.2.3

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 (501) hide show
  1. package/README.md +9 -20
  2. package/dist/commands/actionflow.d.ts.map +1 -1
  3. package/dist/commands/actionflow.js +58 -0
  4. package/dist/commands/actionflow.js.map +1 -1
  5. package/dist/commands/app.d.ts.map +1 -1
  6. package/dist/commands/app.js +17 -5
  7. package/dist/commands/app.js.map +1 -1
  8. package/dist/commands/auth.d.ts.map +1 -1
  9. package/dist/commands/auth.js +9 -2
  10. package/dist/commands/auth.js.map +1 -1
  11. package/dist/commands/designer.d.ts.map +1 -1
  12. package/dist/commands/designer.js +22 -1
  13. package/dist/commands/designer.js.map +1 -1
  14. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  15. package/dist/commands/form-add-detail-table.js +127 -7
  16. package/dist/commands/form-add-detail-table.js.map +1 -1
  17. package/dist/commands/form-ebuilder-columns.d.ts +7 -0
  18. package/dist/commands/form-ebuilder-columns.d.ts.map +1 -1
  19. package/dist/commands/form-ebuilder-columns.js +2 -24
  20. package/dist/commands/form-ebuilder-columns.js.map +1 -1
  21. package/dist/commands/form-field-props.d.ts +3 -0
  22. package/dist/commands/form-field-props.d.ts.map +1 -0
  23. package/dist/commands/form-field-props.js +242 -0
  24. package/dist/commands/form-field-props.js.map +1 -0
  25. package/dist/commands/form-formula.d.ts.map +1 -1
  26. package/dist/commands/form-formula.js +35 -11
  27. package/dist/commands/form-formula.js.map +1 -1
  28. package/dist/commands/form-layout-init.d.ts +0 -7
  29. package/dist/commands/form-layout-init.d.ts.map +1 -1
  30. package/dist/commands/form-layout-init.js +23 -39
  31. package/dist/commands/form-layout-init.js.map +1 -1
  32. package/dist/commands/form-nlist.d.ts +1 -1
  33. package/dist/commands/form-nlist.d.ts.map +1 -1
  34. package/dist/commands/form-nlist.js +5 -3
  35. package/dist/commands/form-nlist.js.map +1 -1
  36. package/dist/commands/form-serial-mark.d.ts.map +1 -1
  37. package/dist/commands/form-serial-mark.js +134 -42
  38. package/dist/commands/form-serial-mark.js.map +1 -1
  39. package/dist/commands/form-virtual.d.ts +3 -0
  40. package/dist/commands/form-virtual.d.ts.map +1 -0
  41. package/dist/commands/form-virtual.js +197 -0
  42. package/dist/commands/form-virtual.js.map +1 -0
  43. package/dist/commands/form.d.ts +3 -0
  44. package/dist/commands/form.d.ts.map +1 -1
  45. package/dist/commands/form.js +356 -129
  46. package/dist/commands/form.js.map +1 -1
  47. package/dist/commands/interface.js +1 -1
  48. package/dist/commands/interface.js.map +1 -1
  49. package/dist/commands/report-admin.d.ts +5 -0
  50. package/dist/commands/report-admin.d.ts.map +1 -0
  51. package/dist/commands/report-admin.js +420 -0
  52. package/dist/commands/report-admin.js.map +1 -0
  53. package/dist/commands/report-query.d.ts +3 -0
  54. package/dist/commands/report-query.d.ts.map +1 -0
  55. package/dist/commands/report-query.js +314 -0
  56. package/dist/commands/report-query.js.map +1 -0
  57. package/dist/commands/report-validate.d.ts +3 -0
  58. package/dist/commands/report-validate.d.ts.map +1 -0
  59. package/dist/commands/report-validate.js +719 -0
  60. package/dist/commands/report-validate.js.map +1 -0
  61. package/dist/commands/report.d.ts +12 -0
  62. package/dist/commands/report.d.ts.map +1 -0
  63. package/dist/commands/report.js +666 -0
  64. package/dist/commands/report.js.map +1 -0
  65. package/dist/commands/wf-form.d.ts +34 -0
  66. package/dist/commands/wf-form.d.ts.map +1 -1
  67. package/dist/commands/wf-form.js +303 -127
  68. package/dist/commands/wf-form.js.map +1 -1
  69. package/dist/commands/workflow-advanced.d.ts.map +1 -1
  70. package/dist/commands/workflow-advanced.js +109 -90
  71. package/dist/commands/workflow-advanced.js.map +1 -1
  72. package/dist/commands/workflow-auth-resp.d.ts +8 -0
  73. package/dist/commands/workflow-auth-resp.d.ts.map +1 -0
  74. package/dist/commands/workflow-auth-resp.js +629 -0
  75. package/dist/commands/workflow-auth-resp.js.map +1 -0
  76. package/dist/commands/workflow-condition.d.ts.map +1 -1
  77. package/dist/commands/workflow-condition.js +3 -1
  78. package/dist/commands/workflow-condition.js.map +1 -1
  79. package/dist/commands/workflow-create-auth-resp.d.ts +4 -0
  80. package/dist/commands/workflow-create-auth-resp.d.ts.map +1 -0
  81. package/dist/commands/workflow-create-auth-resp.js +204 -0
  82. package/dist/commands/workflow-create-auth-resp.js.map +1 -0
  83. package/dist/commands/workflow-node-assign-flow.d.ts +3 -0
  84. package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -0
  85. package/dist/commands/workflow-node-assign-flow.js +342 -0
  86. package/dist/commands/workflow-node-assign-flow.js.map +1 -0
  87. package/dist/commands/workflow-node-overtime.d.ts.map +1 -1
  88. package/dist/commands/workflow-node-overtime.js +125 -92
  89. package/dist/commands/workflow-node-overtime.js.map +1 -1
  90. package/dist/commands/workflow-node-reject.d.ts +52 -0
  91. package/dist/commands/workflow-node-reject.d.ts.map +1 -1
  92. package/dist/commands/workflow-node-reject.js +134 -63
  93. package/dist/commands/workflow-node-reject.js.map +1 -1
  94. package/dist/commands/workflow-node-sign.d.ts.map +1 -1
  95. package/dist/commands/workflow-node-sign.js +14 -7
  96. package/dist/commands/workflow-node-sign.js.map +1 -1
  97. package/dist/commands/workflow-node-validate.d.ts +6 -0
  98. package/dist/commands/workflow-node-validate.d.ts.map +1 -1
  99. package/dist/commands/workflow-node-validate.js +143 -21
  100. package/dist/commands/workflow-node-validate.js.map +1 -1
  101. package/dist/commands/workflow-node.d.ts +2 -0
  102. package/dist/commands/workflow-node.d.ts.map +1 -1
  103. package/dist/commands/workflow-node.js +434 -165
  104. package/dist/commands/workflow-node.js.map +1 -1
  105. package/dist/commands/workflow-numbering.d.ts.map +1 -1
  106. package/dist/commands/workflow-numbering.js +73 -34
  107. package/dist/commands/workflow-numbering.js.map +1 -1
  108. package/dist/commands/workflow-operator-sign.d.ts +10 -0
  109. package/dist/commands/workflow-operator-sign.d.ts.map +1 -1
  110. package/dist/commands/workflow-operator-sign.js +40 -53
  111. package/dist/commands/workflow-operator-sign.js.map +1 -1
  112. package/dist/commands/workflow-plan-range.d.ts +10 -0
  113. package/dist/commands/workflow-plan-range.d.ts.map +1 -1
  114. package/dist/commands/workflow-plan-range.js +15 -54
  115. package/dist/commands/workflow-plan-range.js.map +1 -1
  116. package/dist/commands/workflow-segment.d.ts.map +1 -1
  117. package/dist/commands/workflow-segment.js +22 -14
  118. package/dist/commands/workflow-segment.js.map +1 -1
  119. package/dist/commands/workflow.d.ts.map +1 -1
  120. package/dist/commands/workflow.js +13 -69
  121. package/dist/commands/workflow.js.map +1 -1
  122. package/dist/core/auth.js +1 -1
  123. package/dist/index.js +17 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/services/actionflow/build_workflow_draft.d.ts +6 -0
  126. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  127. package/dist/services/actionflow/build_workflow_draft.js +63 -4
  128. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  129. package/dist/services/actionflow/calendar_mapper.d.ts +2 -2
  130. package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
  131. package/dist/services/actionflow/calendar_mapper.js +33 -13
  132. package/dist/services/actionflow/calendar_mapper.js.map +1 -1
  133. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  134. package/dist/services/actionflow/components/action_eb_add.js +13 -1
  135. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  136. package/dist/services/actionflow/components/action_eb_delete.js +2 -2
  137. package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
  138. package/dist/services/actionflow/components/action_eb_recover.js +2 -2
  139. package/dist/services/actionflow/components/action_eb_recover.js.map +1 -1
  140. package/dist/services/actionflow/components/action_eb_save_version.js +2 -2
  141. package/dist/services/actionflow/components/action_eb_save_version.js.map +1 -1
  142. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  143. package/dist/services/actionflow/components/action_eb_update.js +15 -3
  144. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  145. package/dist/services/actionflow/components/action_eb_update_compiler.js +5 -5
  146. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  147. package/dist/services/actionflow/components/approve_create.d.ts.map +1 -1
  148. package/dist/services/actionflow/components/approve_create.js +5 -2
  149. package/dist/services/actionflow/components/approve_create.js.map +1 -1
  150. package/dist/services/actionflow/components/approve_trigger.d.ts.map +1 -1
  151. package/dist/services/actionflow/components/approve_trigger.js +5 -0
  152. package/dist/services/actionflow/components/approve_trigger.js.map +1 -1
  153. package/dist/services/actionflow/components/assign_var.d.ts +12 -0
  154. package/dist/services/actionflow/components/assign_var.d.ts.map +1 -0
  155. package/dist/services/actionflow/components/assign_var.js +133 -0
  156. package/dist/services/actionflow/components/assign_var.js.map +1 -0
  157. package/dist/services/actionflow/components/date_trigger.d.ts.map +1 -1
  158. package/dist/services/actionflow/components/date_trigger.js +14 -1
  159. package/dist/services/actionflow/components/date_trigger.js.map +1 -1
  160. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
  161. package/dist/services/actionflow/components/dml_execute.js +18 -10
  162. package/dist/services/actionflow/components/dml_execute.js.map +1 -1
  163. package/dist/services/actionflow/components/document_actions.js +5 -5
  164. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  165. package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -1
  166. package/dist/services/actionflow/components/eb_get_data_by_id.js +8 -6
  167. package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -1
  168. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  169. package/dist/services/actionflow/components/enquiry_form.js +28 -9
  170. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  171. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  172. package/dist/services/actionflow/components/hrm_actions.js +34 -13
  173. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  174. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  175. package/dist/services/actionflow/components/index.js +12 -3
  176. package/dist/services/actionflow/components/index.js.map +1 -1
  177. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
  178. package/dist/services/actionflow/components/inner_mq_send.js +43 -4
  179. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
  180. package/dist/services/actionflow/components/meeting_create.js +9 -9
  181. package/dist/services/actionflow/components/meeting_create.js.map +1 -1
  182. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
  183. package/dist/services/actionflow/components/multiple_execution.js +83 -4
  184. package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
  185. package/dist/services/actionflow/components/output.d.ts +3 -2
  186. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  187. package/dist/services/actionflow/components/output.js +33 -0
  188. package/dist/services/actionflow/components/output.js.map +1 -1
  189. package/dist/services/actionflow/components/schedule_create.js +10 -10
  190. package/dist/services/actionflow/components/schedule_create.js.map +1 -1
  191. package/dist/services/actionflow/components/send_message.js +1 -1
  192. package/dist/services/actionflow/components/send_message.js.map +1 -1
  193. package/dist/services/actionflow/components/simple_scheduler.d.ts.map +1 -1
  194. package/dist/services/actionflow/components/simple_scheduler.js +42 -9
  195. package/dist/services/actionflow/components/simple_scheduler.js.map +1 -1
  196. package/dist/services/actionflow/components/time_batch_trigger.d.ts.map +1 -1
  197. package/dist/services/actionflow/components/time_batch_trigger.js +43 -13
  198. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
  199. package/dist/services/actionflow/components/workflow_actions.d.ts +0 -1
  200. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  201. package/dist/services/actionflow/components/workflow_actions.js +21 -27
  202. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  203. package/dist/services/actionflow/context_preflight.d.ts +30 -1
  204. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  205. package/dist/services/actionflow/context_preflight.js +175 -2
  206. package/dist/services/actionflow/context_preflight.js.map +1 -1
  207. package/dist/services/actionflow/design_client.d.ts +4 -0
  208. package/dist/services/actionflow/design_client.d.ts.map +1 -1
  209. package/dist/services/actionflow/design_client.js +10 -0
  210. package/dist/services/actionflow/design_client.js.map +1 -1
  211. package/dist/services/actionflow/dynamic_resources.d.ts +7 -1
  212. package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
  213. package/dist/services/actionflow/dynamic_resources.js +74 -10
  214. package/dist/services/actionflow/dynamic_resources.js.map +1 -1
  215. package/dist/services/actionflow/enrich_approve_trigger.d.ts.map +1 -1
  216. package/dist/services/actionflow/enrich_approve_trigger.js +18 -3
  217. package/dist/services/actionflow/enrich_approve_trigger.js.map +1 -1
  218. package/dist/services/actionflow/form_source.d.ts +35 -0
  219. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  220. package/dist/services/actionflow/form_source.js +50 -0
  221. package/dist/services/actionflow/form_source.js.map +1 -1
  222. package/dist/services/actionflow/formula_service.d.ts +1 -1
  223. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  224. package/dist/services/actionflow/formula_service.js +186 -13
  225. package/dist/services/actionflow/formula_service.js.map +1 -1
  226. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  227. package/dist/services/actionflow/generation_service.js +18 -2
  228. package/dist/services/actionflow/generation_service.js.map +1 -1
  229. package/dist/services/actionflow/preflight_service.d.ts +1 -1
  230. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  231. package/dist/services/actionflow/preflight_service.js +168 -5
  232. package/dist/services/actionflow/preflight_service.js.map +1 -1
  233. package/dist/services/actionflow/save_workflow_draft.d.ts +8 -0
  234. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  235. package/dist/services/actionflow/save_workflow_draft.js +6 -2
  236. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  237. package/dist/services/actionflow/update_service.d.ts +6 -0
  238. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  239. package/dist/services/actionflow/update_service.js +125 -7
  240. package/dist/services/actionflow/update_service.js.map +1 -1
  241. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  242. package/dist/services/actionflow/workflow_compiler.js +17 -9
  243. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  244. package/dist/services/browser.d.ts +34 -0
  245. package/dist/services/browser.d.ts.map +1 -0
  246. package/dist/services/browser.js +57 -0
  247. package/dist/services/browser.js.map +1 -0
  248. package/dist/services/esb-interface/document-parser.d.ts +5 -0
  249. package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
  250. package/dist/services/esb-interface/document-parser.js +117 -1
  251. package/dist/services/esb-interface/document-parser.js.map +1 -1
  252. package/dist/services/esb-interface/importer.d.ts.map +1 -1
  253. package/dist/services/esb-interface/importer.js +7 -2
  254. package/dist/services/esb-interface/importer.js.map +1 -1
  255. package/dist/services/field-props-data.d.ts +56 -0
  256. package/dist/services/field-props-data.d.ts.map +1 -0
  257. package/dist/services/field-props-data.js +732 -0
  258. package/dist/services/field-props-data.js.map +1 -0
  259. package/dist/services/form-create.d.ts +2 -1
  260. package/dist/services/form-create.d.ts.map +1 -1
  261. package/dist/services/form-create.js.map +1 -1
  262. package/dist/services/form-ebuilder-columns.d.ts +50 -0
  263. package/dist/services/form-ebuilder-columns.d.ts.map +1 -0
  264. package/dist/services/form-ebuilder-columns.js +68 -0
  265. package/dist/services/form-ebuilder-columns.js.map +1 -0
  266. package/dist/services/form-edit-base.d.ts +45 -0
  267. package/dist/services/form-edit-base.d.ts.map +1 -0
  268. package/dist/services/form-edit-base.js +76 -0
  269. package/dist/services/form-edit-base.js.map +1 -0
  270. package/dist/services/form-field-drop.d.ts +70 -0
  271. package/dist/services/form-field-drop.d.ts.map +1 -0
  272. package/dist/services/form-field-drop.js +118 -0
  273. package/dist/services/form-field-drop.js.map +1 -0
  274. package/dist/services/form-field-patch.d.ts +47 -0
  275. package/dist/services/form-field-patch.d.ts.map +1 -0
  276. package/dist/services/form-field-patch.js +88 -0
  277. package/dist/services/form-field-patch.js.map +1 -0
  278. package/dist/services/form-nlist.d.ts +1 -0
  279. package/dist/services/form-nlist.d.ts.map +1 -1
  280. package/dist/services/form-nlist.js +32 -5
  281. package/dist/services/form-nlist.js.map +1 -1
  282. package/dist/services/form-style-template.d.ts +17 -0
  283. package/dist/services/form-style-template.d.ts.map +1 -0
  284. package/dist/services/form-style-template.js +102 -0
  285. package/dist/services/form-style-template.js.map +1 -0
  286. package/dist/services/form-sub-detail.d.ts +51 -3
  287. package/dist/services/form-sub-detail.d.ts.map +1 -1
  288. package/dist/services/form-sub-detail.js +183 -20
  289. package/dist/services/form-sub-detail.js.map +1 -1
  290. package/dist/services/form-virtual.d.ts +60 -0
  291. package/dist/services/form-virtual.d.ts.map +1 -0
  292. package/dist/services/form-virtual.js +331 -0
  293. package/dist/services/form-virtual.js.map +1 -0
  294. package/dist/services/formula-detail.d.ts +68 -5
  295. package/dist/services/formula-detail.d.ts.map +1 -1
  296. package/dist/services/formula-detail.js +110 -44
  297. package/dist/services/formula-detail.js.map +1 -1
  298. package/dist/services/report/analyze.d.ts +67 -0
  299. package/dist/services/report/analyze.d.ts.map +1 -0
  300. package/dist/services/report/analyze.js +173 -0
  301. package/dist/services/report/analyze.js.map +1 -0
  302. package/dist/services/report/build.d.ts +166 -0
  303. package/dist/services/report/build.d.ts.map +1 -0
  304. package/dist/services/report/build.js +520 -0
  305. package/dist/services/report/build.js.map +1 -0
  306. package/dist/services/report/constants.d.ts +145 -0
  307. package/dist/services/report/constants.d.ts.map +1 -0
  308. package/dist/services/report/constants.js +250 -0
  309. package/dist/services/report/constants.js.map +1 -0
  310. package/dist/services/report/dataset.d.ts +73 -0
  311. package/dist/services/report/dataset.d.ts.map +1 -0
  312. package/dist/services/report/dataset.js +185 -0
  313. package/dist/services/report/dataset.js.map +1 -0
  314. package/dist/services/report/fields.d.ts +80 -0
  315. package/dist/services/report/fields.d.ts.map +1 -0
  316. package/dist/services/report/fields.js +245 -0
  317. package/dist/services/report/fields.js.map +1 -0
  318. package/dist/services/report/forms.d.ts +70 -0
  319. package/dist/services/report/forms.d.ts.map +1 -0
  320. package/dist/services/report/forms.js +237 -0
  321. package/dist/services/report/forms.js.map +1 -0
  322. package/dist/services/report/guard.d.ts +73 -0
  323. package/dist/services/report/guard.d.ts.map +1 -0
  324. package/dist/services/report/guard.js +262 -0
  325. package/dist/services/report/guard.js.map +1 -0
  326. package/dist/services/report/http.d.ts +118 -0
  327. package/dist/services/report/http.d.ts.map +1 -0
  328. package/dist/services/report/http.js +159 -0
  329. package/dist/services/report/http.js.map +1 -0
  330. package/dist/services/report/lifecycle.d.ts +107 -0
  331. package/dist/services/report/lifecycle.d.ts.map +1 -0
  332. package/dist/services/report/lifecycle.js +323 -0
  333. package/dist/services/report/lifecycle.js.map +1 -0
  334. package/dist/services/report/permission.d.ts +59 -0
  335. package/dist/services/report/permission.d.ts.map +1 -0
  336. package/dist/services/report/permission.js +286 -0
  337. package/dist/services/report/permission.js.map +1 -0
  338. package/dist/services/report/query-checks.d.ts +124 -0
  339. package/dist/services/report/query-checks.d.ts.map +1 -0
  340. package/dist/services/report/query-checks.js +374 -0
  341. package/dist/services/report/query-checks.js.map +1 -0
  342. package/dist/services/report/query.d.ts +106 -0
  343. package/dist/services/report/query.d.ts.map +1 -0
  344. package/dist/services/report/query.js +278 -0
  345. package/dist/services/report/query.js.map +1 -0
  346. package/dist/services/report/render.d.ts +52 -0
  347. package/dist/services/report/render.d.ts.map +1 -0
  348. package/dist/services/report/render.js +138 -0
  349. package/dist/services/report/render.js.map +1 -0
  350. package/dist/services/report/reports.d.ts +110 -0
  351. package/dist/services/report/reports.d.ts.map +1 -0
  352. package/dist/services/report/reports.js +179 -0
  353. package/dist/services/report/reports.js.map +1 -0
  354. package/dist/services/report/safe-save.d.ts +57 -0
  355. package/dist/services/report/safe-save.d.ts.map +1 -0
  356. package/dist/services/report/safe-save.js +325 -0
  357. package/dist/services/report/safe-save.js.map +1 -0
  358. package/dist/services/report/sources.d.ts +48 -0
  359. package/dist/services/report/sources.d.ts.map +1 -0
  360. package/dist/services/report/sources.js +147 -0
  361. package/dist/services/report/sources.js.map +1 -0
  362. package/dist/services/report/types.d.ts +312 -0
  363. package/dist/services/report/types.d.ts.map +1 -0
  364. package/dist/services/report/types.js +2 -0
  365. package/dist/services/report/types.js.map +1 -0
  366. package/dist/services/report/validate.d.ts +169 -0
  367. package/dist/services/report/validate.d.ts.map +1 -0
  368. package/dist/services/report/validate.js +685 -0
  369. package/dist/services/report/validate.js.map +1 -0
  370. package/dist/services/report/verify.d.ts +72 -0
  371. package/dist/services/report/verify.d.ts.map +1 -0
  372. package/dist/services/report/verify.js +441 -0
  373. package/dist/services/report/verify.js.map +1 -0
  374. package/dist/services/report/workbook.d.ts +108 -0
  375. package/dist/services/report/workbook.d.ts.map +1 -0
  376. package/dist/services/report/workbook.js +471 -0
  377. package/dist/services/report/workbook.js.map +1 -0
  378. package/dist/services/rich-text.d.ts +33 -0
  379. package/dist/services/rich-text.d.ts.map +1 -0
  380. package/dist/services/rich-text.js +134 -0
  381. package/dist/services/rich-text.js.map +1 -0
  382. package/dist/services/rich-types.d.ts +39 -0
  383. package/dist/services/rich-types.d.ts.map +1 -1
  384. package/dist/services/rich-types.js +61 -30
  385. package/dist/services/rich-types.js.map +1 -1
  386. package/dist/services/workflow-assign-flow.d.ts +114 -0
  387. package/dist/services/workflow-assign-flow.d.ts.map +1 -0
  388. package/dist/services/workflow-assign-flow.js +311 -0
  389. package/dist/services/workflow-assign-flow.js.map +1 -0
  390. package/dist/services/workflow-node-layout.d.ts +214 -0
  391. package/dist/services/workflow-node-layout.d.ts.map +1 -0
  392. package/dist/services/workflow-node-layout.js +338 -0
  393. package/dist/services/workflow-node-layout.js.map +1 -0
  394. package/dist/services/workflow-node-menu.d.ts +57 -0
  395. package/dist/services/workflow-node-menu.d.ts.map +1 -0
  396. package/dist/services/workflow-node-menu.js +144 -0
  397. package/dist/services/workflow-node-menu.js.map +1 -0
  398. package/dist/services/workflow-operator.d.ts +47 -2
  399. package/dist/services/workflow-operator.d.ts.map +1 -1
  400. package/dist/services/workflow-operator.js +102 -5
  401. package/dist/services/workflow-operator.js.map +1 -1
  402. package/dist/services/workflow-overtime.d.ts +95 -0
  403. package/dist/services/workflow-overtime.d.ts.map +1 -0
  404. package/dist/services/workflow-overtime.js +207 -0
  405. package/dist/services/workflow-overtime.js.map +1 -0
  406. package/dist/services/workflow-plan-range.d.ts +18 -0
  407. package/dist/services/workflow-plan-range.d.ts.map +1 -0
  408. package/dist/services/workflow-plan-range.js +72 -0
  409. package/dist/services/workflow-plan-range.js.map +1 -0
  410. package/package.json +48 -47
  411. package/skill-docs/SKILL.md +278 -261
  412. package/skill-docs/_catalog.md +13 -0
  413. package/skill-docs/actionflows/SKILL.md +168 -159
  414. package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +17 -17
  415. package/skill-docs/actionflows/references/components/calendar/ScheduleCreate.md +17 -17
  416. package/skill-docs/actionflows/references/components/database/DMLExecute.md +3 -3
  417. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +1 -1
  418. package/skill-docs/actionflows/references/components/ebuilder/DateTrigger.md +32 -17
  419. package/skill-docs/actionflows/references/components/ebuilder/EbGetDataById.md +17 -17
  420. package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +6 -0
  421. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +33 -33
  422. package/skill-docs/actionflows/references/components/ebuilder/EventFormData.md +2 -0
  423. package/skill-docs/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -17
  424. package/skill-docs/actionflows/references/components/logic/Output.md +28 -17
  425. package/skill-docs/actionflows/references/components/message/InnerMQSend.md +6 -2
  426. package/skill-docs/actionflows/references/components/personnel/AlterPersonStatus.md +30 -30
  427. package/skill-docs/actionflows/references/components/personnel/HrmEmployeeUpdate.md +32 -32
  428. package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +41 -40
  429. package/skill-docs/actionflows/references/components/trigger/SimpleScheduler.md +19 -17
  430. package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +17 -17
  431. package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +19 -17
  432. package/skill-docs/actionflows/references/components/workflow/ApproveEntrust.md +19 -17
  433. package/skill-docs/actionflows/references/components/workflow/ApproveSave.md +17 -17
  434. package/skill-docs/actionflows/references/components/workflow/ApproveTrigger.md +99 -84
  435. package/skill-docs/actionflows/references/dynamic_capability_matrix.md +39 -0
  436. package/skill-docs/references/common/guide-plan-template.md +22 -1
  437. package/skill-docs/references/common/ref-cli-commands.md +167 -11
  438. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +1 -1
  439. package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +460 -460
  440. package/skill-docs/references/ebuilder-designer/guide-designer.md +4 -4
  441. package/skill-docs/references/form/guide-create-form.md +25 -6
  442. package/skill-docs/references/form/guide-form-association.md +1 -1
  443. package/skill-docs/references/form/guide-form-formula-functions.md +11 -1
  444. package/skill-docs/references/form/guide-form-sub-detail.md +82 -0
  445. package/skill-docs/references/form/guide-form-view.md +318 -318
  446. package/skill-docs/references/form/guide-list-custom-text.md +52 -0
  447. package/skill-docs/references/form/guide-virtual-form.md +156 -0
  448. package/skill-docs/references/form/ref-form-fields.md +239 -100
  449. package/skill-docs/references/form/style-templates.md +80 -27
  450. package/skill-docs/references/report/add-dataset-registration-guide.md +139 -0
  451. package/skill-docs/references/report/ai-report-workflow.md +412 -0
  452. package/skill-docs/references/report/api-report-build-fast-path.md +275 -0
  453. package/skill-docs/references/report/app-datasource-lookup-guide.md +230 -0
  454. package/skill-docs/references/report/cell-config-echo-guide.md +163 -0
  455. package/skill-docs/references/report/cell-transform-guide.md +147 -0
  456. package/skill-docs/references/report/condition-format-guide.md +140 -0
  457. package/skill-docs/references/report/cross-dataset-filter-guide.md +304 -0
  458. package/skill-docs/references/report/dataset-query-filter-guide.md +235 -0
  459. package/skill-docs/references/report/dataset-sidebar-ops-guide.md +280 -0
  460. package/skill-docs/references/report/dataset-table-field-contract-guide.md +339 -0
  461. package/skill-docs/references/report/datasource-metadata-guide.md +365 -0
  462. package/skill-docs/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
  463. package/skill-docs/references/report/date-range-query-reference.md +102 -0
  464. package/skill-docs/references/report/default-header-style-guide.md +70 -0
  465. package/skill-docs/references/report/designer-blank-prevention-guide.md +111 -0
  466. package/skill-docs/references/report/event-hreflink-guide.md +184 -0
  467. package/skill-docs/references/report/field-bind-exact-match-guide.md +208 -0
  468. package/skill-docs/references/report/formula-cell-api-guide.md +258 -0
  469. package/skill-docs/references/report/guide-report-build.md +131 -0
  470. package/skill-docs/references/report/guide-report-modify.md +100 -0
  471. package/skill-docs/references/report/guide-report-multisource.md +143 -0
  472. package/skill-docs/references/report/guide-report-query.md +98 -0
  473. package/skill-docs/references/report/hidden-row-and-header-merge-guide.md +100 -0
  474. package/skill-docs/references/report/layout-showlocation-freeze-guide.md +167 -0
  475. package/skill-docs/references/report/preaggregate-auto-disable-guide.md +107 -0
  476. package/skill-docs/references/report/query-condition-api-guide.md +890 -0
  477. package/skill-docs/references/report/ref-report-commands.md +122 -0
  478. package/skill-docs/references/report/ref-report-pitfalls.md +226 -0
  479. package/skill-docs/references/report/report-baseinfo-defaults-guide.md +117 -0
  480. package/skill-docs/references/report/report-building-guide.md +511 -0
  481. package/skill-docs/references/report/report-config-schema.md +445 -0
  482. package/skill-docs/references/report/report-create-modes-guide.md +182 -0
  483. package/skill-docs/references/report/report-data-model.md +447 -0
  484. package/skill-docs/references/report/report-delivery-contract.md +101 -0
  485. package/skill-docs/references/report/report-designer-feature-map.md +500 -0
  486. package/skill-docs/references/report/report-internal-error-guide.md +78 -0
  487. package/skill-docs/references/report/report-knowledge-base.md +389 -0
  488. package/skill-docs/references/report/report-lifecycle-api-guide.md +392 -0
  489. package/skill-docs/references/report/report-list-page-ops-guide.md +191 -0
  490. package/skill-docs/references/report/report-permission-guide.md +365 -0
  491. package/skill-docs/references/report/report-requirement-analysis-template.md +202 -0
  492. package/skill-docs/references/report/report-self-check-guide.md +164 -0
  493. package/skill-docs/references/report/safe-partial-save-guide.md +151 -0
  494. package/skill-docs/references/report/snowflake-id-precision-guide.md +84 -0
  495. package/skill-docs/references/report/spec-build-schema.md +291 -0
  496. package/skill-docs/references/report/targeted-fix-guide.md +97 -0
  497. package/skill-docs/references/report/user-request-scope-only-guide.md +82 -0
  498. package/skill-docs/references/workflow/guide-workflow-auth-resp.md +198 -0
  499. package/skill-docs/references/workflow/guide-workflow-node-layout.md +181 -0
  500. package/skill-docs/references/workflow/guide-workflow.md +14 -3
  501. package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +0 -17
@@ -0,0 +1,102 @@
1
+ /**
2
+ * 表单布局**样式模板**。
3
+ *
4
+ * ⚠ 流式(FLOW)与表格式(EXCEL)是**两套完全独立的模板**,走两个不同的接口:
5
+ *
6
+ * | 布局类型 | 接口 |
7
+ * |---|---|
8
+ * | 流式 FLOW | `POST /api/form/flow/template/list` |
9
+ * | 表格式 EXCEL | `POST /api/form/form/layout/template/listTemplateAdvancedByPage` |
10
+ *
11
+ * 两套里**大量同名不同 id**——紧凑版 / 轻便版 / 碧海蓝天 / 极简白 / 极简淡蓝 / 清新蓝绿 /
12
+ * 商务蓝 / 淡雅丁香 在两边都存在,但 id 完全不同。所以解析模板名**必须先知道布局类型**。
13
+ *
14
+ * 拿错一套的症状是**「命令报成功、样式纹丝不动」**,不报错:平台收到一个不属于该布局类型的
15
+ * id,直接忽略。实测把表格式的「暗夜流光」(831747419499700225) 发给一张流式表单,回读
16
+ * `formStyle.styleConfig` 与标准版**逐字节相同**(差异只有随机 nodeId 和时间戳)。
17
+ *
18
+ * 列表是**按租户动态的**:实测流式那套 40 条里带一串「某某(2024-05-22 导入)」——
19
+ * 用户可自行导入模板。所以只能实时拉,不能硬编码。
20
+ */
21
+ /** PC 端。两套接口都用它(移动端是另一套 id,本 CLI 暂不涉及)。 */
22
+ const CLIENT_TYPE_PC = '0';
23
+ /** 单页取满;列表是按租户的,正常远小于这个数。 */
24
+ const PAGE_SIZE = 200;
25
+ export const isFlowLayout = (layoutType) => layoutType === 'FLOW';
26
+ /** 只用于展示和报错文案。 */
27
+ export const layoutCn = (layoutType) => (isFlowLayout(layoutType) ? '流式' : '表格式');
28
+ export async function fetchStyleTemplates(client, baseUrl, appId, formId, layoutType) {
29
+ const flow = isFlowLayout(layoutType);
30
+ const path = flow
31
+ ? '/api/form/flow/template/list'
32
+ : '/api/form/form/layout/template/listTemplateAdvancedByPage';
33
+ // 两个接口的报文形状不同:流式那个把检索条件包在 searchParam 里,表格式那个平铺。
34
+ const body = flow
35
+ ? {
36
+ searchParam: { clientType: CLIENT_TYPE_PC, keyword: '', templateStatus: 1 },
37
+ pageNo: 1, pageSize: PAGE_SIZE, module: 'ebuilderform', customParam: { terminal: '' },
38
+ }
39
+ : {
40
+ pageNo: 1, pageSize: PAGE_SIZE, clientType: CLIENT_TYPE_PC, templateStatus: 1,
41
+ module: 'ebuilderform', customParam: { terminal: '' },
42
+ };
43
+ const res = await client.post(`${baseUrl}${path}?apid=${encodeURIComponent(appId)}`, body, { ebbusinessid: formId });
44
+ if (res?.code !== 200 || !res?.status) {
45
+ throw new Error(`读取${layoutCn(layoutType)}样式模板失败: ${res?.msg || '未知错误'}`);
46
+ }
47
+ const rows = res?.data?.result ?? res?.data?.pageDatas?.result ?? [];
48
+ return rows.map((t) => ({ id: String(t.id), name: String(t.templateName ?? t.name ?? '') }));
49
+ }
50
+ /**
51
+ * 报错时列出可选模板。列表是按租户的,实测流式那套 40 条里大半是用户自己导入的副本
52
+ * (名字里带「(2024-05-22 导入)」),全铺开会淹没真正的提示,所以截断。
53
+ */
54
+ const AVAILABLE_SHOWN = 24;
55
+ function listAvailable(all) {
56
+ const named = all.filter((t) => t.name);
57
+ if (!named.length)
58
+ return '(该环境没有可用模板)';
59
+ const shown = named.slice(0, AVAILABLE_SHOWN).map((t) => t.name).join(' / ');
60
+ const rest = named.length > AVAILABLE_SHOWN ? ` …(共 ${named.length} 个)` : '';
61
+ return `\n 本环境可用: ${shown}${rest}`;
62
+ }
63
+ /** 名字里有重复时(同名不同 id),列出来让用户改用 id 指定。 */
64
+ function dupHint(dups) {
65
+ return dups.map((t) => `${t.name} → ${t.id}`).join('\n ');
66
+ }
67
+ /**
68
+ * 把 `--style-template` 的输入解析成该布局类型下的 styleTemplateId。
69
+ *
70
+ * 传 id 时**会校验它确实属于这套**——这正是当初踩坑的地方:跨套 id 平台不报错、直接忽略。
71
+ * 列表取回条数正好等于单页上限时无法判断是否被截断,此时找不到只告警不拦,避免误杀。
72
+ */
73
+ export async function resolveStyleTemplateId(client, baseUrl, appId, formId, layoutType, input) {
74
+ const all = await fetchStyleTemplates(client, baseUrl, appId, formId, layoutType);
75
+ const cn = layoutCn(layoutType);
76
+ const trimmed = input.trim();
77
+ if (/^\d+$/.test(trimmed)) {
78
+ const hit = all.find((t) => t.id === trimmed);
79
+ if (hit)
80
+ return hit;
81
+ if (all.length >= PAGE_SIZE) {
82
+ // 列表可能被截断,无法断言不存在,放行但说清楚
83
+ console.error(`⚠ 未在${cn}模板列表中找到 id ${trimmed}(列表已达单页上限,可能被截断),按原值提交`);
84
+ return { id: trimmed, name: trimmed };
85
+ }
86
+ const other = isFlowLayout(layoutType) ? '表格式' : '流式';
87
+ throw new Error(`id ${trimmed} 不属于${cn}布局的样式模板(平台不会报错,只会静默忽略、样式不变)。`
88
+ + `\n 如果它来自${other}那套,请确认表单布局类型——两套模板不能混用。`
89
+ + listAvailable(all));
90
+ }
91
+ const matched = all.filter((t) => t.name === trimmed);
92
+ if (matched.length === 1)
93
+ return matched[0];
94
+ if (matched.length > 1) {
95
+ throw new Error(`${cn}模板里有 ${matched.length} 个叫「${trimmed}」的,请改用 id 指定:\n ${dupHint(matched)}`);
96
+ }
97
+ const fuzzy = all.filter((t) => t.name.includes(trimmed) || trimmed.includes(t.name));
98
+ throw new Error(`未知样式模板: ${trimmed}(当前表单是${cn}布局,只能用它那一套)`
99
+ + (fuzzy.length ? `\n 相近的: ${fuzzy.map((t) => `${t.name}(${t.id})`).join(' / ')}` : '')
100
+ + listAvailable(all));
101
+ }
102
+ //# sourceMappingURL=form-style-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-style-template.js","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,56 @@ export type SubDetailClient = Pick<ApiClient, 'post' | 'postForm'>;
3
3
  export interface SubDetailLinkInput {
4
4
  subForm: string;
5
5
  subField: string;
6
- parentMark?: 'rowId';
6
+ /** 父级行标识:缺省 rowId;也可传父明细字段名称或 ID。 */
7
+ parentField?: string;
8
+ /** 兼容 fields.json 旧键;值可为 rowId 或父明细字段名称/ID。 */
9
+ parentMark?: string;
7
10
  displayMode?: 'inside';
8
11
  filterType?: 'single';
9
12
  }
10
- interface SubFormInfo {
13
+ export interface SubFormInfo {
11
14
  id: string;
12
15
  title: string;
13
16
  dataKey: string;
14
17
  props: Record<string, any>;
15
18
  raw: any;
16
19
  }
20
+ /**
21
+ * 列出表单下的**全部**明细子表。
22
+ *
23
+ * 这是全仓**唯一**能看见「空明细表」的读接口,务必走这条找子表:
24
+ * 子表一旦一个字段都不剩,`getEbField.detail`、`getFields.detailFields`、
25
+ * `getConfig.configs` 会把它整条隐去 —— 按字段走的路全都够不着它。
26
+ * 历史事故:按 `getEbField` 找子表,用户把明细字段删光后,同一张表再也加不回字段
27
+ * (报「未找到明细表 subFormId=…」,而表明明还在)。
28
+ *
29
+ * 注意返回的 `dataKey` 是**物理表名**(如 `uf_fxmx_5439`),不是物理表记录 id;
30
+ * 空表连物理表记录 id 都拿不到(`otherProperties` 里没有 `formTableId`)。
31
+ *
32
+ * **删除是软删**:删掉的子表仍留在返回里,只是 `deleteType != 0` / `delete:true`。
33
+ * 所以这里必须按 `deleteType` 过滤,否则删完还能被当成「存在的表」找到。
34
+ */
35
+ export declare function listSubForms(client: SubDetailClient, baseUrl: string, appId: string, formId: string): Promise<SubFormInfo[]>;
36
+ export interface ResolvedDetailTable {
37
+ subFormId: string;
38
+ title: string;
39
+ /** true = 只从 querySubForms 命中,即这是张**空明细表**(getEbField 看不见它)。 */
40
+ empty: boolean;
41
+ /** 明细表物理表记录 id。空表取不到(平台不给),为空串。 */
42
+ formTableId: string;
43
+ }
44
+ /**
45
+ * 按 subFormId 解析明细表 —— **空表也能解析出来**。
46
+ *
47
+ * 顺序有讲究:先 `getEbField`(命中时能顺带拿到子字段的 formTableId),
48
+ * 再退 `querySubForms`。反过来每次都得多打一次接口。
49
+ *
50
+ * 为什么必须有这层兜底:`getEbField.detail` 只列**有字段的**明细表。
51
+ * 用户把某张明细表的字段删光后,那张表就从 detail 里消失,调用方若只看 getEbField
52
+ * 就会判「未找到明细表」—— 而实际上它好端端地还在,只是空着。删字段恰恰是本 CLI
53
+ * 引导用户做的操作,删完却再也加不回去,属于不可逆事故。
54
+ */
55
+ export declare function resolveDetailTable(client: SubDetailClient, baseUrl: string, appId: string, objId: string, formId: string, subFormId: string): Promise<ResolvedDetailTable | null>;
17
56
  export declare class FormSubDetailService {
18
57
  private client;
19
58
  private baseUrl;
@@ -23,14 +62,23 @@ export declare class FormSubDetailService {
23
62
  constructor(client: SubDetailClient, baseUrl: string, appId: string, objId: string, formId: string);
24
63
  list(): Promise<SubFormInfo[]>;
25
64
  private resolve;
65
+ private fieldsOf;
26
66
  private resolveField;
67
+ private assertChildMark;
68
+ private resolveParentMark;
69
+ private reachable;
70
+ private edgeMap;
71
+ private candidateRows;
72
+ private buildConfigs;
27
73
  private formTableIdOf;
28
74
  read(parentRef: string): Promise<any>;
29
75
  set(parentRef: string, links: SubDetailLinkInput[], defaultExpandRow?: boolean): Promise<any>;
76
+ add(parentRef: string, links: SubDetailLinkInput[], defaultExpandRow?: boolean): Promise<any>;
77
+ remove(parentRef: string, targetRef: string): Promise<any>;
78
+ candidates(parentRef: string): Promise<any>;
30
79
  enable(parentRef: string): Promise<any>;
31
80
  disable(parentRef: string): Promise<any>;
32
81
  clear(parentRef: string): Promise<any>;
33
82
  private save;
34
83
  }
35
- export {};
36
84
  //# sourceMappingURL=form-sub-detail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-sub-detail.d.ts","sourceRoot":"","sources":["../../src/services/form-sub-detail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC;CACV;AAeD,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;gBAJN,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAGlB,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAepC,OAAO,CAAC,OAAO;YAMD,YAAY;YAWZ,aAAa;IAcrB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAOrC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7F,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAOvC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAK9B,IAAI;CAyBnB"}
1
+ {"version":3,"file":"form-sub-detail.d.ts","sourceRoot":"","sources":["../../src/services/form-sub-detail.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,32 @@
1
1
  import { randomUUID } from 'node:crypto';
2
+ /**
3
+ * 列出表单下的**全部**明细子表。
4
+ *
5
+ * 这是全仓**唯一**能看见「空明细表」的读接口,务必走这条找子表:
6
+ * 子表一旦一个字段都不剩,`getEbField.detail`、`getFields.detailFields`、
7
+ * `getConfig.configs` 会把它整条隐去 —— 按字段走的路全都够不着它。
8
+ * 历史事故:按 `getEbField` 找子表,用户把明细字段删光后,同一张表再也加不回字段
9
+ * (报「未找到明细表 subFormId=…」,而表明明还在)。
10
+ *
11
+ * 注意返回的 `dataKey` 是**物理表名**(如 `uf_fxmx_5439`),不是物理表记录 id;
12
+ * 空表连物理表记录 id 都拿不到(`otherProperties` 里没有 `formTableId`)。
13
+ *
14
+ * **删除是软删**:删掉的子表仍留在返回里,只是 `deleteType != 0` / `delete:true`。
15
+ * 所以这里必须按 `deleteType` 过滤,否则删完还能被当成「存在的表」找到。
16
+ */
17
+ export async function listSubForms(client, baseUrl, appId, formId) {
18
+ const res = success(await client.postForm(`${baseUrl}/api/ebuilder/form/form/builder/querySubForms?apid=${encodeURIComponent(appId)}`, new URLSearchParams({ formId, module: 'ebuilderform' }).toString(), { ebbusinessid: formId }), '读取明细表');
19
+ return (res?.data?.subForms || []).filter((raw) => {
20
+ const dt = Number(raw?.deleteType ?? 0);
21
+ return dt === 0 && raw?.delete !== true;
22
+ }).map((raw) => {
23
+ const props = parseProps(raw.otherProperties);
24
+ return {
25
+ id: String(raw.id), title: String(raw.title || props.title || ''),
26
+ dataKey: String(raw.dataKey || props.dataKey || props.tableName || ''), props, raw,
27
+ };
28
+ });
29
+ }
2
30
  function success(value, operation) {
3
31
  if (value?.code !== 200 || value?.status === false || value?.fail === true) {
4
32
  throw new Error(value?.msg || `${operation}失败`);
@@ -17,6 +45,37 @@ function parseProps(value) {
17
45
  return {};
18
46
  }
19
47
  }
48
+ /**
49
+ * 按 subFormId 解析明细表 —— **空表也能解析出来**。
50
+ *
51
+ * 顺序有讲究:先 `getEbField`(命中时能顺带拿到子字段的 formTableId),
52
+ * 再退 `querySubForms`。反过来每次都得多打一次接口。
53
+ *
54
+ * 为什么必须有这层兜底:`getEbField.detail` 只列**有字段的**明细表。
55
+ * 用户把某张明细表的字段删光后,那张表就从 detail 里消失,调用方若只看 getEbField
56
+ * 就会判「未找到明细表」—— 而实际上它好端端地还在,只是空着。删字段恰恰是本 CLI
57
+ * 引导用户做的操作,删完却再也加不回去,属于不可逆事故。
58
+ */
59
+ export async function resolveDetailTable(client, baseUrl, appId, objId, formId, subFormId) {
60
+ try {
61
+ const eb = await client.post(`${baseUrl}/api/bs/esb/setting/component/getEbField`, { tableId: objId, appId });
62
+ const dt = (eb?.data?.detail || []).find((d) => String(d.detailTableId) === String(subFormId));
63
+ if (dt) {
64
+ return {
65
+ subFormId: String(dt.detailTableId),
66
+ title: String(dt.tableName || ''),
67
+ empty: false,
68
+ formTableId: String(dt.fields?.[0]?.formTableId || ''),
69
+ };
70
+ }
71
+ }
72
+ catch { /* 拉取失败则由下面的 querySubForms 兜底 */ }
73
+ const hit = (await listSubForms(client, baseUrl, appId, formId))
74
+ .find((s) => s.id === String(subFormId));
75
+ if (!hit)
76
+ return null;
77
+ return { subFormId: hit.id, title: hit.title, empty: true, formTableId: String(hit.props.formTableId || '') };
78
+ }
20
79
  export class FormSubDetailService {
21
80
  client;
22
81
  baseUrl;
@@ -31,14 +90,7 @@ export class FormSubDetailService {
31
90
  this.formId = formId;
32
91
  }
33
92
  async list() {
34
- const res = success(await this.client.postForm(`${this.baseUrl}/api/ebuilder/form/form/builder/querySubForms?apid=${encodeURIComponent(this.appId)}`, new URLSearchParams({ formId: this.formId, module: 'ebuilderform' }).toString(), { ebbusinessid: this.formId }), '读取明细表');
35
- return (res?.data?.subForms || []).map((raw) => {
36
- const props = parseProps(raw.otherProperties);
37
- return {
38
- id: String(raw.id), title: String(raw.title || props.title || ''),
39
- dataKey: String(raw.dataKey || props.dataKey || props.tableName || ''), props, raw,
40
- };
41
- });
93
+ return listSubForms(this.client, this.baseUrl, this.appId, this.formId);
42
94
  }
43
95
  resolve(ref, rows) {
44
96
  const matches = rows.filter((r) => r.id === String(ref) || r.title === ref);
@@ -46,12 +98,99 @@ export class FormSubDetailService {
46
98
  throw new Error(matches.length ? `明细表名称不唯一: ${ref}` : `未找到明细表: ${ref}`);
47
99
  return matches[0];
48
100
  }
49
- async resolveField(subForm, ref) {
101
+ async fieldsOf(subForm) {
50
102
  const res = success(await this.client.postForm(`${this.baseUrl}/api/ebuilder/form/form/builder/queryBySubFormId?apid=${encodeURIComponent(this.appId)}`, new URLSearchParams({ subFormId: subForm.id, module: 'ebuilderform' }).toString(), { ebbusinessid: this.formId }), '读取明细字段');
51
- const matches = (res?.data?.formFields || []).filter((f) => String(f.id) === String(ref) || f.title === ref);
103
+ return (res?.data?.formFields || []).map((field) => {
104
+ const props = parseProps(field.otherProperties);
105
+ return {
106
+ id: String(field.id || field.fieldId || props.fieldId || ''),
107
+ title: String(field.title || props.title || ''),
108
+ componentKey: String(field.componentKey || props.componentKey || field.type || props.type || ''),
109
+ };
110
+ });
111
+ }
112
+ async resolveField(subForm, ref) {
113
+ const matches = (await this.fieldsOf(subForm)).filter((f) => f.id === String(ref) || f.title === ref);
52
114
  if (matches.length !== 1)
53
115
  throw new Error(matches.length ? `明细字段名称不唯一: ${ref}` : `在 ${subForm.title} 中未找到字段: ${ref}`);
54
- return { id: String(matches[0].id), title: String(matches[0].title || '') };
116
+ return matches[0];
117
+ }
118
+ assertChildMark(field, subForm) {
119
+ if (field.componentKey !== 'Text') {
120
+ throw new Error(`子明细表「${subForm.title}」的行标识「${field.title}」必须是单行文本(Text)`);
121
+ }
122
+ }
123
+ async resolveParentMark(parent, link) {
124
+ const ref = link.parentField || link.parentMark || 'rowId';
125
+ if (ref === 'rowId')
126
+ return 'rowId';
127
+ const field = await this.resolveField(parent, ref);
128
+ if (!['Text', 'Select', 'RadioBox'].includes(field.componentKey)) {
129
+ throw new Error(`父明细表「${parent.title}」的行标识「${field.title}」仅支持单行文本、单选框或下拉单选框`);
130
+ }
131
+ return field.id;
132
+ }
133
+ reachable(start, target, edges) {
134
+ const seen = new Set();
135
+ const stack = [start];
136
+ while (stack.length) {
137
+ const current = stack.pop();
138
+ if (current === target)
139
+ return true;
140
+ if (seen.has(current))
141
+ continue;
142
+ seen.add(current);
143
+ for (const next of edges.get(current) || [])
144
+ stack.push(next);
145
+ }
146
+ return false;
147
+ }
148
+ edgeMap(rows, omitParentId) {
149
+ const edges = new Map();
150
+ for (const row of rows) {
151
+ if (row.id === omitParentId)
152
+ continue;
153
+ for (const config of (Array.isArray(row.props.subDetailConfig) ? row.props.subDetailConfig : [])) {
154
+ const child = String(config.subFormId || '');
155
+ if (!child)
156
+ continue;
157
+ if (!edges.has(row.id))
158
+ edges.set(row.id, new Set());
159
+ edges.get(row.id).add(child);
160
+ }
161
+ }
162
+ return edges;
163
+ }
164
+ candidateRows(parent, rows, edges = this.edgeMap(rows)) {
165
+ return rows.filter((candidate) => candidate.id !== parent.id && !this.reachable(candidate.id, parent.id, edges));
166
+ }
167
+ async buildConfigs(parent, rows, links, baseConfigs) {
168
+ const configs = [...baseConfigs];
169
+ const edges = this.edgeMap(rows, parent.id);
170
+ edges.set(parent.id, new Set(configs.map((item) => String(item.subFormId))));
171
+ for (const link of links) {
172
+ const target = this.resolve(link.subForm, rows);
173
+ const candidateIds = new Set(this.candidateRows(parent, rows, edges).map((row) => row.id));
174
+ if (!candidateIds.has(target.id)) {
175
+ throw new Error(`「${target.title}」不在「${parent.title}」的可选子明细列表中;不能选择自身、直属父级或祖先。需要反转父子关系时,先删除原父级上的关系,再重新查询候选列表并新增反向关系`);
176
+ }
177
+ const field = await this.resolveField(target, link.subField);
178
+ this.assertChildMark(field, target);
179
+ const parentMark = await this.resolveParentMark(parent, link);
180
+ const existingIndex = configs.findIndex((c) => String(c.subFormId) === target.id);
181
+ const existing = existingIndex >= 0 ? configs[existingIndex] : undefined;
182
+ const config = {
183
+ id: existing?.id || randomUUID(), subFormId: target.id, parentMark,
184
+ displayMode: link.displayMode || existing?.displayMode || 'inside',
185
+ filterType: link.filterType || existing?.filterType || 'single', subMark: field.id,
186
+ };
187
+ if (existingIndex >= 0)
188
+ configs[existingIndex] = config;
189
+ else
190
+ configs.push(config);
191
+ edges.get(parent.id).add(target.id);
192
+ }
193
+ return configs;
55
194
  }
56
195
  async formTableIdOf(subForm) {
57
196
  if (subForm.props.formTableId)
@@ -76,18 +215,42 @@ export class FormSubDetailService {
76
215
  const rows = await this.list();
77
216
  const parent = this.resolve(parentRef, rows);
78
217
  const oldConfigs = Array.isArray(parent.props.subDetailConfig) ? parent.props.subDetailConfig : [];
79
- const configs = [];
80
- for (const link of links) {
81
- const target = this.resolve(link.subForm, rows);
82
- if (target.id === parent.id)
83
- throw new Error('二级明细不能关联自身');
84
- const field = await this.resolveField(target, link.subField);
85
- const existing = oldConfigs.find((c) => String(c.subFormId) === target.id && String(c.subMark) === field.id);
86
- configs.push({ id: existing?.id || randomUUID(), subFormId: target.id, parentMark: link.parentMark || 'rowId',
87
- displayMode: link.displayMode || 'inside', filterType: link.filterType || 'single', subMark: field.id });
218
+ const configs = await this.buildConfigs(parent, rows, links, []);
219
+ for (const config of configs) {
220
+ const existing = oldConfigs.find((item) => String(item.subFormId) === String(config.subFormId));
221
+ if (existing?.id)
222
+ config.id = existing.id;
88
223
  }
89
224
  return this.save(parent, true, configs, defaultExpandRow ?? Boolean(parent.props.defaultExpandRow));
90
225
  }
226
+ async add(parentRef, links, defaultExpandRow) {
227
+ if (!links.length)
228
+ throw new Error('新增的二级明细配置不能为空');
229
+ const rows = await this.list();
230
+ const parent = this.resolve(parentRef, rows);
231
+ const oldConfigs = Array.isArray(parent.props.subDetailConfig) ? parent.props.subDetailConfig : [];
232
+ const configs = await this.buildConfigs(parent, rows, links, oldConfigs);
233
+ return this.save(parent, true, configs, defaultExpandRow ?? Boolean(parent.props.defaultExpandRow));
234
+ }
235
+ async remove(parentRef, targetRef) {
236
+ const rows = await this.list();
237
+ const parent = this.resolve(parentRef, rows);
238
+ const target = this.resolve(targetRef, rows);
239
+ const oldConfigs = Array.isArray(parent.props.subDetailConfig) ? parent.props.subDetailConfig : [];
240
+ const configs = oldConfigs.filter((config) => String(config.subFormId) !== target.id);
241
+ if (configs.length === oldConfigs.length)
242
+ throw new Error(`「${parent.title}」未关联子明细表「${target.title}」`);
243
+ return this.save(parent, configs.length > 0, configs, configs.length > 0 && Boolean(parent.props.defaultExpandRow));
244
+ }
245
+ async candidates(parentRef) {
246
+ const rows = await this.list();
247
+ const parent = this.resolve(parentRef, rows);
248
+ const edges = this.edgeMap(rows);
249
+ return {
250
+ parent: { subFormId: parent.id, name: parent.title },
251
+ candidates: this.candidateRows(parent, rows, edges).map((row) => ({ subFormId: row.id, name: row.title })),
252
+ };
253
+ }
91
254
  async enable(parentRef) {
92
255
  const rows = await this.list();
93
256
  const parent = this.resolve(parentRef, rows);
@@ -1 +1 @@
1
- {"version":3,"file":"form-sub-detail.js","sourceRoot":"","sources":["../../src/services/form-sub-detail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-sub-detail.js","sourceRoot":"","sources":["../../src/services/form-sub-detail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ export type VirtualSourceType = 'LOGIC' | 'ETEAMS';
3
+ export interface VirtualSourceRef {
4
+ sourceId: string;
5
+ sourceType: VirtualSourceType;
6
+ sourceGroup: string;
7
+ sourceName?: string;
8
+ sourceModule?: string;
9
+ sourceAppId?: string;
10
+ isPhysical?: boolean;
11
+ datasetType?: string;
12
+ }
13
+ export interface VirtualFieldSelection {
14
+ sourceField?: string;
15
+ dataKey?: string;
16
+ virtualFieldId?: string;
17
+ fieldName?: string;
18
+ componentKey?: string;
19
+ maxLen?: number;
20
+ precision?: number;
21
+ format?: string;
22
+ required?: boolean;
23
+ readOnly?: boolean;
24
+ hidden?: boolean;
25
+ singleRow?: boolean;
26
+ group?: string;
27
+ }
28
+ type Client = Pick<ApiClient, 'get' | 'post' | 'postMultipart'>;
29
+ export declare const VIRTUAL_SOURCE_ID_ERROR = "\u5F53\u524D\u6570\u636E\u6E90\u4E3B\u952E\u5B57\u6BB5\u7C7B\u578B\u4E0D\u652F\u6301\uFF0C\u4E3B\u952E\u5B57\u6BB5\u7C7B\u578B\u9700\u8981\u6570\u5B57/\u6587\u672C\u7C7B\u578B\u4E14\u503C\u552F\u4E00\uFF0C\u5EFA\u8BAE\u91CD\u65B0\u67E5\u8BE2\u4E00\u5217\u5E76\u8D77\u522B\u540D\u4F5C\u4E3A\u4E3B\u952E\u5B57\u6BB5\u4F7F\u7528\u3002";
30
+ export declare function assertVirtualFieldCompatibility(field: any, targetType: string): void;
31
+ export declare function selectVirtualFields(candidates: any[], selections: Array<string | VirtualFieldSelection>, formId?: string): any[];
32
+ export declare class VirtualFormService {
33
+ private client;
34
+ private baseUrl;
35
+ constructor(client: Client, baseUrl: string);
36
+ listGroups(sourceType: string, appId?: string, showSqlDataset?: boolean): Promise<any[]>;
37
+ listSources(groupId: string, sourceType: string, options?: {
38
+ appId?: string;
39
+ name?: string;
40
+ pageNo?: number;
41
+ pageSize?: number;
42
+ }): Promise<any>;
43
+ listDatasetGroups(rootId?: string): Promise<any[]>;
44
+ listDatasets(groupId: string, options?: {
45
+ name?: string;
46
+ pageNo?: number;
47
+ pageSize?: number;
48
+ }): Promise<any>;
49
+ datasetInfo(datasetId: string): Promise<any>;
50
+ sourceInfo(appId: string, contextObjId: string, source: VirtualSourceRef): Promise<any>;
51
+ checkSource(appId: string, contextObjId: string, source: VirtualSourceRef): Promise<boolean>;
52
+ sourceFields(appId: string, contextObjId: string, source: VirtualSourceRef, formId?: string): Promise<any[]>;
53
+ private buildSourceCustom;
54
+ initializeLayout(appId: string, formId: string, layoutType: 'FLOW' | 'EXCEL', fieldSelections: VirtualFieldSelection[]): Promise<any>;
55
+ create(appId: string, contextObjId: string, name: string, source: VirtualSourceRef, selections: Array<string | VirtualFieldSelection>, layoutType: 'FLOW' | 'EXCEL'): Promise<any>;
56
+ read(appId: string, objId: string): Promise<any>;
57
+ addFields(appId: string, objId: string, formId: string, source: VirtualSourceRef, selections: Array<string | VirtualFieldSelection>): Promise<any>;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=form-virtual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-virtual.d.ts","sourceRoot":"","sources":["../../src/services/form-virtual.ts"],"names":[],"mappings":"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"}