weaver-e10-builder 1.2.3 → 1.5.1

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 (351) hide show
  1. package/assets/org-employee-template.xlsx +0 -0
  2. package/dist/commands/actionflow.d.ts.map +1 -1
  3. package/dist/commands/actionflow.js +12 -25
  4. package/dist/commands/actionflow.js.map +1 -1
  5. package/dist/commands/designer-css.d.ts +15 -0
  6. package/dist/commands/designer-css.d.ts.map +1 -0
  7. package/dist/commands/designer-css.js +205 -0
  8. package/dist/commands/designer-css.js.map +1 -0
  9. package/dist/commands/form-button.d.ts.map +1 -1
  10. package/dist/commands/form-button.js +28 -5
  11. package/dist/commands/form-button.js.map +1 -1
  12. package/dist/commands/form-field-lang.d.ts.map +1 -1
  13. package/dist/commands/form-field-lang.js +4 -39
  14. package/dist/commands/form-field-lang.js.map +1 -1
  15. package/dist/commands/form-field-linkage.d.ts.map +1 -1
  16. package/dist/commands/form-field-linkage.js +27 -6
  17. package/dist/commands/form-field-linkage.js.map +1 -1
  18. package/dist/commands/form-formula-linkage.d.ts +3 -0
  19. package/dist/commands/form-formula-linkage.d.ts.map +1 -0
  20. package/dist/commands/form-formula-linkage.js +434 -0
  21. package/dist/commands/form-formula-linkage.js.map +1 -0
  22. package/dist/commands/form-formula.d.ts.map +1 -1
  23. package/dist/commands/form-formula.js +22 -3
  24. package/dist/commands/form-formula.js.map +1 -1
  25. package/dist/commands/form-layout-init.d.ts.map +1 -1
  26. package/dist/commands/form-layout-init.js +15 -10
  27. package/dist/commands/form-layout-init.js.map +1 -1
  28. package/dist/commands/form-layout.js +24 -21
  29. package/dist/commands/form-layout.js.map +1 -1
  30. package/dist/commands/form-list-click.d.ts.map +1 -1
  31. package/dist/commands/form-list-click.js +2 -1
  32. package/dist/commands/form-list-click.js.map +1 -1
  33. package/dist/commands/form-native.d.ts.map +1 -1
  34. package/dist/commands/form-native.js +192 -3
  35. package/dist/commands/form-native.js.map +1 -1
  36. package/dist/commands/form-validate.d.ts.map +1 -1
  37. package/dist/commands/form-validate.js +11 -3
  38. package/dist/commands/form-validate.js.map +1 -1
  39. package/dist/commands/form.d.ts.map +1 -1
  40. package/dist/commands/form.js +323 -192
  41. package/dist/commands/form.js.map +1 -1
  42. package/dist/commands/matrix.d.ts.map +1 -1
  43. package/dist/commands/matrix.js +175 -36
  44. package/dist/commands/matrix.js.map +1 -1
  45. package/dist/commands/menu.d.ts.map +1 -1
  46. package/dist/commands/menu.js +170 -23
  47. package/dist/commands/menu.js.map +1 -1
  48. package/dist/commands/org.d.ts +10 -0
  49. package/dist/commands/org.d.ts.map +1 -0
  50. package/dist/commands/org.js +278 -0
  51. package/dist/commands/org.js.map +1 -0
  52. package/dist/commands/role.d.ts.map +1 -1
  53. package/dist/commands/role.js +106 -62
  54. package/dist/commands/role.js.map +1 -1
  55. package/dist/commands/wf-form.d.ts +1 -0
  56. package/dist/commands/wf-form.d.ts.map +1 -1
  57. package/dist/commands/wf-form.js +545 -39
  58. package/dist/commands/wf-form.js.map +1 -1
  59. package/dist/commands/workflow-auth-resp.d.ts.map +1 -1
  60. package/dist/commands/workflow-auth-resp.js +53 -5
  61. package/dist/commands/workflow-auth-resp.js.map +1 -1
  62. package/dist/commands/workflow-create-auth-resp.d.ts.map +1 -1
  63. package/dist/commands/workflow-create-auth-resp.js +5 -1
  64. package/dist/commands/workflow-create-auth-resp.js.map +1 -1
  65. package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
  66. package/dist/commands/workflow-node-assign-flow.js +1 -2
  67. package/dist/commands/workflow-node-assign-flow.js.map +1 -1
  68. package/dist/commands/workflow-node.d.ts.map +1 -1
  69. package/dist/commands/workflow-node.js +147 -2
  70. package/dist/commands/workflow-node.js.map +1 -1
  71. package/dist/commands/workflow-odoc.d.ts.map +1 -1
  72. package/dist/commands/workflow-odoc.js +56 -56
  73. package/dist/commands/workflow-odoc.js.map +1 -1
  74. package/dist/commands/workflow-setting.d.ts.map +1 -1
  75. package/dist/commands/workflow-setting.js +77 -1
  76. package/dist/commands/workflow-setting.js.map +1 -1
  77. package/dist/commands/workflow.d.ts.map +1 -1
  78. package/dist/commands/workflow.js +114 -89
  79. package/dist/commands/workflow.js.map +1 -1
  80. package/dist/core/client.d.ts +14 -0
  81. package/dist/core/client.d.ts.map +1 -1
  82. package/dist/core/client.js +28 -12
  83. package/dist/core/client.js.map +1 -1
  84. package/dist/index.js +6 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/services/action-detail.d.ts.map +1 -1
  87. package/dist/services/action-detail.js +5 -4
  88. package/dist/services/action-detail.js.map +1 -1
  89. package/dist/services/actionflow/command_output.d.ts +7 -0
  90. package/dist/services/actionflow/command_output.d.ts.map +1 -1
  91. package/dist/services/actionflow/command_output.js +46 -0
  92. package/dist/services/actionflow/command_output.js.map +1 -1
  93. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  94. package/dist/services/actionflow/components/action_eb_add.js +14 -4
  95. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  96. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
  97. package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
  98. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
  99. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  100. package/dist/services/actionflow/components/action_eb_update.js +23 -8
  101. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  102. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  103. package/dist/services/actionflow/components/action_eb_update_compiler.js +261 -13
  104. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  105. package/dist/services/actionflow/components/approve_create.d.ts.map +1 -1
  106. package/dist/services/actionflow/components/approve_create.js +6 -3
  107. package/dist/services/actionflow/components/approve_create.js.map +1 -1
  108. package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
  109. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
  110. package/dist/services/actionflow/components/custom_set_form.js +99 -0
  111. package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
  112. package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
  113. package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
  114. package/dist/services/actionflow/components/custom_trigger.js +11 -11
  115. package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
  116. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
  117. package/dist/services/actionflow/components/dml_execute.js +7 -3
  118. package/dist/services/actionflow/components/dml_execute.js.map +1 -1
  119. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  120. package/dist/services/actionflow/components/document_actions.js +7 -3
  121. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  122. package/dist/services/actionflow/components/enquiry_form.js +1 -1
  123. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  124. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  125. package/dist/services/actionflow/components/hrm_actions.js +7 -3
  126. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  127. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
  128. package/dist/services/actionflow/components/multiple_execution.js +14 -5
  129. package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
  130. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  131. package/dist/services/actionflow/components/output.js +6 -1
  132. package/dist/services/actionflow/components/output.js.map +1 -1
  133. package/dist/services/actionflow/components/send_message.js +2 -2
  134. package/dist/services/actionflow/components/send_message.js.map +1 -1
  135. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  136. package/dist/services/actionflow/components/workflow_actions.js +7 -3
  137. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  138. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  139. package/dist/services/actionflow/context_preflight.js +25 -8
  140. package/dist/services/actionflow/context_preflight.js.map +1 -1
  141. package/dist/services/actionflow/context_provider.d.ts.map +1 -1
  142. package/dist/services/actionflow/context_provider.js +24 -4
  143. package/dist/services/actionflow/context_provider.js.map +1 -1
  144. package/dist/services/actionflow/custom_trigger_context.d.ts +10 -0
  145. package/dist/services/actionflow/custom_trigger_context.d.ts.map +1 -0
  146. package/dist/services/actionflow/custom_trigger_context.js +46 -0
  147. package/dist/services/actionflow/custom_trigger_context.js.map +1 -0
  148. package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
  149. package/dist/services/actionflow/dynamic_resources.js +1 -1
  150. package/dist/services/actionflow/dynamic_resources.js.map +1 -1
  151. package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
  152. package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
  153. package/dist/services/actionflow/ebuilder_source.js +78 -0
  154. package/dist/services/actionflow/ebuilder_source.js.map +1 -0
  155. package/dist/services/actionflow/filter_rules.js +2 -2
  156. package/dist/services/actionflow/filter_rules.js.map +1 -1
  157. package/dist/services/actionflow/form_source.d.ts +51 -10
  158. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  159. package/dist/services/actionflow/form_source.js +173 -29
  160. package/dist/services/actionflow/form_source.js.map +1 -1
  161. package/dist/services/actionflow/formula_service.d.ts +13 -2
  162. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  163. package/dist/services/actionflow/formula_service.js +104 -42
  164. package/dist/services/actionflow/formula_service.js.map +1 -1
  165. package/dist/services/actionflow/id_generator.d.ts +2 -0
  166. package/dist/services/actionflow/id_generator.d.ts.map +1 -1
  167. package/dist/services/actionflow/id_generator.js +13 -0
  168. package/dist/services/actionflow/id_generator.js.map +1 -1
  169. package/dist/services/actionflow/preflight_service.d.ts +6 -0
  170. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  171. package/dist/services/actionflow/preflight_service.js +217 -4
  172. package/dist/services/actionflow/preflight_service.js.map +1 -1
  173. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  174. package/dist/services/actionflow/workflow_compiler.js +172 -50
  175. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  176. package/dist/services/auth-resp-condition.d.ts +35 -0
  177. package/dist/services/auth-resp-condition.d.ts.map +1 -0
  178. package/dist/services/auth-resp-condition.js +111 -0
  179. package/dist/services/auth-resp-condition.js.map +1 -0
  180. package/dist/services/condition-rules.d.ts.map +1 -1
  181. package/dist/services/condition-rules.js +4 -1
  182. package/dist/services/condition-rules.js.map +1 -1
  183. package/dist/services/designer-css.d.ts +89 -0
  184. package/dist/services/designer-css.d.ts.map +1 -0
  185. package/dist/services/designer-css.js +163 -0
  186. package/dist/services/designer-css.js.map +1 -0
  187. package/dist/services/dom-structure.d.ts +42 -0
  188. package/dist/services/dom-structure.d.ts.map +1 -0
  189. package/dist/services/dom-structure.js +251 -0
  190. package/dist/services/dom-structure.js.map +1 -0
  191. package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
  192. package/dist/services/esb-interface/document-parser.js +62 -5
  193. package/dist/services/esb-interface/document-parser.js.map +1 -1
  194. package/dist/services/form-association.d.ts +19 -0
  195. package/dist/services/form-association.d.ts.map +1 -1
  196. package/dist/services/form-association.js +64 -0
  197. package/dist/services/form-association.js.map +1 -1
  198. package/dist/services/form-button-action.d.ts +7 -0
  199. package/dist/services/form-button-action.d.ts.map +1 -1
  200. package/dist/services/form-button-action.js +11 -1
  201. package/dist/services/form-button-action.js.map +1 -1
  202. package/dist/services/form-create.d.ts +4 -0
  203. package/dist/services/form-create.d.ts.map +1 -1
  204. package/dist/services/form-create.js +18 -12
  205. package/dist/services/form-create.js.map +1 -1
  206. package/dist/services/form-field-patch.d.ts +25 -1
  207. package/dist/services/form-field-patch.d.ts.map +1 -1
  208. package/dist/services/form-field-patch.js +52 -9
  209. package/dist/services/form-field-patch.js.map +1 -1
  210. package/dist/services/form-formula-linkage.d.ts +349 -0
  211. package/dist/services/form-formula-linkage.d.ts.map +1 -0
  212. package/dist/services/form-formula-linkage.js +546 -0
  213. package/dist/services/form-formula-linkage.js.map +1 -0
  214. package/dist/services/form-i18n-label.d.ts +48 -0
  215. package/dist/services/form-i18n-label.d.ts.map +1 -0
  216. package/dist/services/form-i18n-label.js +91 -0
  217. package/dist/services/form-i18n-label.js.map +1 -0
  218. package/dist/services/form-layout-insert.d.ts +84 -0
  219. package/dist/services/form-layout-insert.d.ts.map +1 -0
  220. package/dist/services/form-layout-insert.js +244 -0
  221. package/dist/services/form-layout-insert.js.map +1 -0
  222. package/dist/services/form-linkage-condition.d.ts +159 -0
  223. package/dist/services/form-linkage-condition.d.ts.map +1 -0
  224. package/dist/services/form-linkage-condition.js +307 -0
  225. package/dist/services/form-linkage-condition.js.map +1 -0
  226. package/dist/services/form-style-template.d.ts +6 -2
  227. package/dist/services/form-style-template.d.ts.map +1 -1
  228. package/dist/services/form-style-template.js +8 -4
  229. package/dist/services/form-style-template.js.map +1 -1
  230. package/dist/services/formula-detail.d.ts +98 -6
  231. package/dist/services/formula-detail.d.ts.map +1 -1
  232. package/dist/services/formula-detail.js +208 -26
  233. package/dist/services/formula-detail.js.map +1 -1
  234. package/dist/services/matrix-rows.d.ts +43 -0
  235. package/dist/services/matrix-rows.d.ts.map +1 -0
  236. package/dist/services/matrix-rows.js +104 -0
  237. package/dist/services/matrix-rows.js.map +1 -0
  238. package/dist/services/menu-catalog.d.ts +84 -0
  239. package/dist/services/menu-catalog.d.ts.map +1 -0
  240. package/dist/services/menu-catalog.js +183 -0
  241. package/dist/services/menu-catalog.js.map +1 -0
  242. package/dist/services/org-department.d.ts +114 -0
  243. package/dist/services/org-department.d.ts.map +1 -0
  244. package/dist/services/org-department.js +209 -0
  245. package/dist/services/org-department.js.map +1 -0
  246. package/dist/services/org-employee.d.ts +87 -0
  247. package/dist/services/org-employee.d.ts.map +1 -0
  248. package/dist/services/org-employee.js +219 -0
  249. package/dist/services/org-employee.js.map +1 -0
  250. package/dist/services/role-member.d.ts +99 -0
  251. package/dist/services/role-member.d.ts.map +1 -0
  252. package/dist/services/role-member.js +206 -0
  253. package/dist/services/role-member.js.map +1 -0
  254. package/dist/services/workflow-add-step.d.ts +45 -0
  255. package/dist/services/workflow-add-step.d.ts.map +1 -0
  256. package/dist/services/workflow-add-step.js +122 -0
  257. package/dist/services/workflow-add-step.js.map +1 -0
  258. package/dist/services/workflow-assign-flow.d.ts +1 -6
  259. package/dist/services/workflow-assign-flow.d.ts.map +1 -1
  260. package/dist/services/workflow-assign-flow.js +3 -8
  261. package/dist/services/workflow-assign-flow.js.map +1 -1
  262. package/dist/services/workflow-drawback.d.ts +19 -0
  263. package/dist/services/workflow-drawback.d.ts.map +1 -0
  264. package/dist/services/workflow-drawback.js +59 -0
  265. package/dist/services/workflow-drawback.js.map +1 -0
  266. package/dist/services/workflow-info.d.ts +83 -0
  267. package/dist/services/workflow-info.d.ts.map +1 -0
  268. package/dist/services/workflow-info.js +97 -0
  269. package/dist/services/workflow-info.js.map +1 -0
  270. package/dist/services/workflow-links.d.ts +51 -0
  271. package/dist/services/workflow-links.d.ts.map +1 -0
  272. package/dist/services/workflow-links.js +162 -0
  273. package/dist/services/workflow-links.js.map +1 -0
  274. package/dist/services/workflow-node-layout.d.ts +45 -4
  275. package/dist/services/workflow-node-layout.d.ts.map +1 -1
  276. package/dist/services/workflow-node-layout.js +142 -41
  277. package/dist/services/workflow-node-layout.js.map +1 -1
  278. package/dist/services/workflow-odoc-setting.d.ts +43 -0
  279. package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
  280. package/dist/services/workflow-odoc-setting.js +109 -0
  281. package/dist/services/workflow-odoc-setting.js.map +1 -0
  282. package/dist/services/workflow-tab-config.d.ts +54 -0
  283. package/dist/services/workflow-tab-config.d.ts.map +1 -0
  284. package/dist/services/workflow-tab-config.js +137 -0
  285. package/dist/services/workflow-tab-config.js.map +1 -0
  286. package/dist/types.d.ts +5 -1
  287. package/dist/types.d.ts.map +1 -1
  288. package/dist/utils/column-name.d.ts +24 -0
  289. package/dist/utils/column-name.d.ts.map +1 -1
  290. package/dist/utils/column-name.js +16 -0
  291. package/dist/utils/column-name.js.map +1 -1
  292. package/ecodecmd/package.json +1 -2
  293. package/ecodecmd/src/loaddep.js +19 -9
  294. package/package.json +48 -48
  295. package/skill-docs/SKILL.md +15 -11
  296. package/skill-docs/_catalog.md +85 -79
  297. package/skill-docs/actionflows/SKILL.md +173 -168
  298. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +38 -1
  299. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
  300. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +1 -1
  301. package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
  302. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +48 -11
  303. package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +1 -1
  304. package/skill-docs/assets/dom-structure/Bar.json +341 -0
  305. package/skill-docs/assets/dom-structure/BarStack.json +341 -0
  306. package/skill-docs/assets/dom-structure/Bubble.json +323 -0
  307. package/skill-docs/assets/dom-structure/Calendar.json +515 -0
  308. package/skill-docs/assets/dom-structure/Circular.json +337 -0
  309. package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
  310. package/skill-docs/assets/dom-structure/Comment.json +617 -0
  311. package/skill-docs/assets/dom-structure/CountDown.json +755 -0
  312. package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
  313. package/skill-docs/assets/dom-structure/EbButton.json +387 -0
  314. package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
  315. package/skill-docs/assets/dom-structure/Gauge.json +282 -0
  316. package/skill-docs/assets/dom-structure/HBar.json +336 -0
  317. package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
  318. package/skill-docs/assets/dom-structure/Line.json +341 -0
  319. package/skill-docs/assets/dom-structure/NList.json +712 -0
  320. package/skill-docs/assets/dom-structure/NavBar.json +274 -0
  321. package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
  322. package/skill-docs/assets/dom-structure/NewTab.json +606 -0
  323. package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
  324. package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
  325. package/skill-docs/assets/dom-structure/Picture.json +209 -0
  326. package/skill-docs/assets/dom-structure/Pie.json +338 -0
  327. package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
  328. package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
  329. package/skill-docs/assets/dom-structure/Slide.json +489 -0
  330. package/skill-docs/assets/dom-structure/Treemap.json +324 -0
  331. package/skill-docs/references/common/guide-plan-template.md +10 -4
  332. package/skill-docs/references/common/ref-cli-commands.md +67 -34
  333. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
  334. package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
  335. package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
  336. package/skill-docs/references/esb-interface/guide-import.md +4 -1
  337. package/skill-docs/references/form/guide-create-form.md +14 -1
  338. package/skill-docs/references/form/guide-field-linkage.md +2 -0
  339. package/skill-docs/references/form/guide-form-formula-functions.md +36 -0
  340. package/skill-docs/references/form/guide-form-layout-incremental.md +75 -0
  341. package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
  342. package/skill-docs/references/form/guide-form-linkage.md +89 -5
  343. package/skill-docs/references/form/guide-formula-linkage.md +250 -0
  344. package/skill-docs/references/form/ref-form-fields.md +6 -0
  345. package/skill-docs/references/hrm/guide-matrix.md +79 -16
  346. package/skill-docs/references/hrm/guide-org-employee.md +56 -0
  347. package/skill-docs/references/menu/system-menus.md +12 -0
  348. package/skill-docs/references/workflow/guide-workflow-auth-resp.md +48 -22
  349. package/skill-docs/references/workflow/guide-workflow-odoc-setting.md +248 -0
  350. package/skill-docs/references/workflow/guide-workflow-odoc.md +25 -33
  351. package/skill-docs/references/workflow/guide-workflow.md +18 -3
@@ -0,0 +1,307 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { findWorkflowRow } from './workflow-info.js';
3
+ const MODULE = 'ebuilderform';
4
+ const ADD_PATH = '/api/ebuilder/form/form/setting/viewlinkage/add';
5
+ /** 平台认的条件算子。`NULL`/`NOT_NULL` 即「为空」/「不为空」。 */
6
+ export const KNOWN_OPERATORS = [
7
+ 'EQUAL', 'NOT_EQUAL', 'CONTAIN', 'NOT_CONTAIN',
8
+ 'GREATER', 'LESS', 'GREATER_EQUAL', 'LESS_EQUAL',
9
+ 'NULL', 'NOT_NULL',
10
+ ];
11
+ /**
12
+ * 常见等价写法 → 平台码。
13
+ *
14
+ * 收的是**别人真的会写**的那些:`EMPTY`/`IS_NULL` 是「为空」最自然的写法(也是我们
15
+ * 文档曾经写的),符号写法是随手写。归一之后才不会因为一个词的差别炸在写库上。
16
+ */
17
+ const OPERATOR_ALIAS = {
18
+ '=': 'EQUAL', '==': 'EQUAL', '!=': 'NOT_EQUAL', '<>': 'NOT_EQUAL',
19
+ EMPTY: 'NULL', IS_NULL: 'NULL', ISNULL: 'NULL', NULL: 'NULL', '为空': 'NULL',
20
+ NOT_EMPTY: 'NOT_NULL', IS_NOT_NULL: 'NOT_NULL', ISNOTNULL: 'NOT_NULL',
21
+ NOT_NULL: 'NOT_NULL', '不为空': 'NOT_NULL', NONEMPTY: 'NOT_NULL',
22
+ };
23
+ /** 不带右值的算子:**不能**带 `sourceContent`。 */
24
+ const NO_VALUE_OPERATORS = new Set(['NULL', 'NOT_NULL']);
25
+ /** 归一算子码;未知的原样返回(交给平台判,但调用方应当据此告警)。 */
26
+ export function normalizeOperator(operator) {
27
+ const raw = String(operator ?? '').trim();
28
+ if (!raw)
29
+ return 'EQUAL';
30
+ return OPERATOR_ALIAS[raw.toUpperCase()] || raw.toUpperCase();
31
+ }
32
+ /** 该算子是否需要比较值。 */
33
+ export function operatorTakesValue(code) {
34
+ return !NO_VALUE_OPERATORS.has(code);
35
+ }
36
+ /**
37
+ * 造一条 `conditionDetails`。**纯函数**。
38
+ *
39
+ * 为空/不为空**不带 `sourceContent`**;其余算子一定带(值缺省写空串而不是省略键 ——
40
+ * 省略键会让平台在写库时缺列)。
41
+ */
42
+ export function buildConditionDetail(cond) {
43
+ const code = normalizeOperator(cond.operator);
44
+ const warnings = [];
45
+ const detail = {
46
+ targetId: String(cond.fieldId), // 平台这里要字符串;数字雪花过 JSON 会丢精度
47
+ detailSymbol: code,
48
+ sourceType: 'CONSTANT',
49
+ };
50
+ if (!KNOWN_OPERATORS.includes(code)) {
51
+ warnings.push(`未知的条件算子 "${cond.operator}",按原值提交;平台支持:${KNOWN_OPERATORS.join(' / ')}`);
52
+ }
53
+ if (!operatorTakesValue(code)) {
54
+ if (cond.value !== undefined || (Array.isArray(cond.options) && cond.options.length)) {
55
+ warnings.push(`算子 ${code}(为空/不为空)不带比较值,已忽略给的 value/options`);
56
+ }
57
+ return { detail, warnings };
58
+ }
59
+ detail.sourceContent = JSON.stringify({
60
+ formField: { id: String(cond.fieldId) },
61
+ ...(cond.options ? { dataOptions: cond.options } : { content: String(cond.value ?? '') }),
62
+ });
63
+ return { detail, warnings };
64
+ }
65
+ /** 多条件之间的关系。界面上的「任一」= `OR`、「全部」= `AND`。 */
66
+ export const DETAIL_TYPES = ['AND', 'OR'];
67
+ /** 拼 `viewlinkage/add` 的报文。**纯函数**,便于对照设计器实际发出的形状。 */
68
+ export function buildLinkageAddPayload(input) {
69
+ const warnings = [];
70
+ const effect = input.effect || {
71
+ effectType: 'form', effectName: '当前表单', effectValue: input.formId,
72
+ };
73
+ if (input.detailType && !DETAIL_TYPES.includes(String(input.detailType).toUpperCase())) {
74
+ warnings.push(`detailType「${input.detailType}」不是平台取值(${DETAIL_TYPES.join(' / ')}),按原值提交`);
75
+ }
76
+ const conditionDetails = input.conditions.map((c) => {
77
+ const { detail, warnings: w } = buildConditionDetail(c);
78
+ warnings.push(...w);
79
+ return detail;
80
+ });
81
+ const payload = {
82
+ fdEffect: {
83
+ formId: input.formId,
84
+ effectModule: MODULE,
85
+ effectType: effect.effectType,
86
+ effectName: effect.effectName,
87
+ optionList: [{
88
+ effectValue: effect.effectValue,
89
+ effectName: effect.optionName || effect.effectName,
90
+ }],
91
+ },
92
+ condition: {
93
+ targetId: input.formId,
94
+ targetName: input.formName || '表单',
95
+ targetModule: MODULE,
96
+ conditionType: 'FIELD',
97
+ ...(input.detailType ? { detailType: input.detailType } : {}),
98
+ conditionDetails,
99
+ formulaId: '',
100
+ formulaName: '',
101
+ },
102
+ linkageDetails: input.actions.map((a) => ({
103
+ formId: input.formId,
104
+ id: '0',
105
+ linkageObj: 'field',
106
+ linkageProp: a.prop,
107
+ linkageShowValue: a.fields.map((f) => ({
108
+ dataKey: f.dataKey || '',
109
+ groupName: '表单字段',
110
+ address: f.isDetail ? '明细表' : '主表',
111
+ addressType: f.isDetail ? 'detail' : 'form',
112
+ groupId: 'formField',
113
+ name: f.name,
114
+ descType: f.fieldType || '',
115
+ id: String(f.fieldId),
116
+ content: f.name,
117
+ desc: f.desc || '',
118
+ })),
119
+ detailOptions: [],
120
+ })),
121
+ module: MODULE,
122
+ formId: input.formId,
123
+ refId: input.formId,
124
+ enableState: '1',
125
+ linkageName: input.name,
126
+ customParam: { appId: input.appId, objId: input.objId },
127
+ };
128
+ return { payload, warnings };
129
+ }
130
+ /**
131
+ * 把 `config.effect` 的写法解析成完整的生效维度。三种写法:
132
+ *
133
+ * - **不给** → 当前表单(最常见)
134
+ * - **`"formLayout"`** → 「表单布局」维度,布局 id 现查;⚠ 取的是 **`multipleLayoutId`**,
135
+ * 不是 `formLayout.id`(同一张表上这两个值相邻但不同,发错不报错、只是指向别的布局)
136
+ * - **对象** → 原样使用,只补缺省
137
+ */
138
+ export async function resolveEffect(client, baseUrl, formId, formName, effect) {
139
+ const currentForm = {
140
+ effectType: 'form', effectName: '当前表单', effectValue: formId,
141
+ };
142
+ if (effect === undefined || effect === null || effect === '')
143
+ return currentForm;
144
+ if (typeof effect === 'string') {
145
+ const key = effect.trim();
146
+ if (key === 'form' || key === '当前表单')
147
+ return currentForm;
148
+ if (key === 'formLayout' || key === '表单布局') {
149
+ const lay = await client.post(`${baseUrl}/api/ebuilder/form/builder/getFormLayout`, {
150
+ formId, module: MODULE, customParam: {}, formTableIdList: [],
151
+ designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
152
+ }, { ebbusinessid: formId });
153
+ // ⚠ 要的是 **multipleLayoutId**,不是 formLayout.id。同一张表上这两个值**相邻但不同**
154
+ // (实测某表 1316387710787854375 / …376),设计器发的是后者。发错不报错,
155
+ // 只是指向另一个布局,而且平台按它解析不出名字 → 回读的生效范围是个空白。
156
+ const layoutId = String(lay?.data?.formLayout?.multipleLayoutId || lay?.data?.formLayoutMultiple?.id || '');
157
+ if (!layoutId) {
158
+ throw new Error('取不到表单的布局 id,无法把生效维度设为「表单布局」'
159
+ + `(${lay?.msg || 'getFormLayout 未返回 multipleLayoutId'})`);
160
+ }
161
+ return {
162
+ effectType: 'formLayout', effectName: '表单布局', effectValue: layoutId,
163
+ };
164
+ }
165
+ throw new Error(`未知的生效维度「${effect}」。可用:form(当前表单)、formLayout(表单布局),`
166
+ + '或直接给一个 {effectType, effectName, effectValue} 对象');
167
+ }
168
+ if (!effect.effectType || !effect.effectValue) {
169
+ throw new Error('effect 对象至少要有 effectType 与 effectValue');
170
+ }
171
+ return {
172
+ effectType: String(effect.effectType),
173
+ effectName: String(effect.effectName || effect.effectType),
174
+ effectValue: String(effect.effectValue),
175
+ optionName: effect.optionName,
176
+ };
177
+ }
178
+ /**
179
+ * 「当前工作流」维度的选项显示名:**流程名 + `【V{活动版本号}】`**。
180
+ *
181
+ * 这不是拼着好看的 —— 设计器发的就是这个形状(流程叫 `11111`、报文里是 `11111【V1】`),
182
+ * 版本号取自流程的活动版本。取不到版本号时退回纯流程名,不编一个版本上去。
183
+ */
184
+ export function workflowEffectName(name, activeVersionId) {
185
+ const base = String(name || '').trim();
186
+ const ver = activeVersionId === undefined || activeVersionId === null || activeVersionId === ''
187
+ ? '' : String(activeVersionId);
188
+ return ver ? `${base}【V${ver}】` : base;
189
+ }
190
+ /** 从 `quickBuild/getAllVersionInfo` 的返回里挑出活动版本的 versionId。 */
191
+ export function activeVersionIdOf(versionRows) {
192
+ const rows = Array.isArray(versionRows) ? versionRows : [];
193
+ const active = rows.find((v) => v?.isActive === true || v?.isActive === 'true');
194
+ return String(active?.versionId ?? '');
195
+ }
196
+ /**
197
+ * **流程表单那条路由**的生效维度(四种)。从 `wf-form linkage` 的 action 里搬出来的 ——
198
+ * 函数联动同样要这四种,别再内联第二份。
199
+ *
200
+ * | 维度 | effectType | 取值 | 选项名 |
201
+ * |---|---|---|---|
202
+ * | 当前表单(缺省) | `form` | formId | `当前表单` |
203
+ * | 表单布局 | `formLayout` | `formLayoutMultiple.id` | 布局名 |
204
+ * | 当前工作流 | `workFlow` | workflowId | `流程名【V活动版本号】` |
205
+ * | 选择节点 | `includeNode` | nodeId | 节点名 |
206
+ *
207
+ * ⚠ 返回的 `refId` 是**这条联动挂在谁身上**,在这条路由上就是**流程 ID**;它**不等于**
208
+ * `optionList[0].effectValue` —— 选「选择节点」时取值是节点 ID,`refId` 仍是流程 ID。别照着取值抄。
209
+ */
210
+ export async function resolveWorkflowEffect(client, baseUrl, ctx) {
211
+ const { formId } = ctx;
212
+ const workflowId = String(ctx.workflowId || '');
213
+ const key = String(ctx.dimension || '').trim();
214
+ const ebb = { ebbusinessid: formId };
215
+ const refId = workflowId || formId;
216
+ if (key === 'includeNode' || key === '选择节点') {
217
+ if (!workflowId) {
218
+ throw new Error('生效维度选「选择节点」时必须给 --workflow-id(要按它列节点,refId 也是它)');
219
+ }
220
+ const nodeKey = String(ctx.nodeKey || '').trim();
221
+ if (!nodeKey)
222
+ throw new Error('生效维度选「选择节点」时要在 config 里给 "nodeId"(或 "node" 写节点名)');
223
+ // 用 getNodeEditTable(与 `workflow nodes --mode list` 同一个),不是 getWorkflowNodesByWorkflowId
224
+ // —— 后者对刚建的流程回空,拿它查节点会全部找不到。
225
+ const meta = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeBase/getNodeEditTable?workflowId=${workflowId}`);
226
+ const nodes = meta?.data?.data || [];
227
+ const hit = (Array.isArray(nodes) ? nodes : [])
228
+ .find((n) => String(n.id) === nodeKey || n.nodeName === nodeKey);
229
+ if (!hit) {
230
+ throw new Error(`在该流程里找不到节点「${nodeKey}」。用 \`workflow nodes ${workflowId} --mode list\` 看节点清单`);
231
+ }
232
+ return {
233
+ refId,
234
+ effect: {
235
+ effectType: 'includeNode', effectName: '选择节点',
236
+ effectValue: String(hit.id), optionName: String(hit.nodeName || hit.id),
237
+ },
238
+ };
239
+ }
240
+ if (key === 'formLayout' || key === '表单布局') {
241
+ const wantLayout = String(ctx.layoutId || '');
242
+ const layBody = {
243
+ formId, module: ctx.module, customParam: {}, formTableIdList: [],
244
+ designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
245
+ };
246
+ if (wantLayout)
247
+ layBody.layoutMultiId = wantLayout;
248
+ const lay = await client.post(`${baseUrl}${ctx.route}/builder/getFormLayout`, layBody, ebb);
249
+ const flm = lay?.data?.formLayoutMultiple || {};
250
+ const layoutId = String(flm.id || '');
251
+ if (!layoutId) {
252
+ throw new Error('取不到该流程表单的布局,无法把生效维度设为「表单布局」'
253
+ + `(${lay?.msg || 'getFormLayout 未返回 formLayoutMultiple.id'})`);
254
+ }
255
+ return {
256
+ refId,
257
+ effect: { effectType: 'formLayout', effectName: '表单布局', effectValue: layoutId, optionName: String(flm.name || '') },
258
+ };
259
+ }
260
+ if (key === 'workFlow' || key === '当前工作流') {
261
+ if (!workflowId) {
262
+ throw new Error('生效维度选「当前工作流」时必须给 --workflow-id(该维度的取值和 refId 都是流程 ID)。'
263
+ + '流程 ID 用 `workflow search --name <流程名>` 拿');
264
+ }
265
+ // 选项显示名带活动版本号,照设计器发出去的形状
266
+ const [wfRow, versions] = await Promise.all([
267
+ findWorkflowRow(client, baseUrl, workflowId),
268
+ client.get(`${baseUrl}/api/bs/workflow/pathdef/quickBuild/getAllVersionInfo?workflowId=${workflowId}`),
269
+ ]);
270
+ const optName = workflowEffectName(String(wfRow?.workflowName || ''), activeVersionIdOf(versions?.data));
271
+ return {
272
+ refId,
273
+ effect: { effectType: 'workFlow', effectName: '当前工作流', effectValue: workflowId, optionName: optName },
274
+ };
275
+ }
276
+ return {
277
+ refId,
278
+ effect: { effectType: 'form', effectName: '当前表单', effectValue: formId, optionName: '当前表单' },
279
+ };
280
+ }
281
+ /**
282
+ * 读 `--config`:`@` 开头当文件路径(UTF-8),否则当内联 JSON。
283
+ *
284
+ * 两个联动命令(eb 表 `form linkage add` 与工作流 `wf-form linkage`)共用 ——
285
+ * 前者支持 `@文件` 而后者不支持过,同一个 `--config` 两种行为,用起来会莫名其妙。
286
+ */
287
+ export function readLinkageConfig(input) {
288
+ let raw = String(input ?? '');
289
+ if (raw.startsWith('@')) {
290
+ const filePath = raw.slice(1);
291
+ if (!existsSync(filePath)) {
292
+ throw new Error(`配置文件不存在: ${filePath}`);
293
+ }
294
+ raw = readFileSync(filePath, 'utf-8');
295
+ }
296
+ try {
297
+ return JSON.parse(raw);
298
+ }
299
+ catch (e) {
300
+ throw new Error(`config JSON 解析失败: ${e.message}`);
301
+ }
302
+ }
303
+ /** 提交 `viewlinkage/add`。 */
304
+ export async function addLinkage(client, baseUrl, appId, formId, payload) {
305
+ return client.post(`${baseUrl}${ADD_PATH}?apid=${appId}`, payload, { ebbusinessid: formId });
306
+ }
307
+ //# sourceMappingURL=form-linkage-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-linkage-condition.js","sourceRoot":"","sources":["../../src/services/form-linkage-condition.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,16 @@ export interface StyleTemplate {
6
6
  export declare const isFlowLayout: (layoutType: string) => boolean;
7
7
  /** 只用于展示和报错文案。 */
8
8
  export declare const layoutCn: (layoutType: string) => string;
9
- export declare function fetchStyleTemplates(client: ApiClient, baseUrl: string, appId: string, formId: string, layoutType: string): Promise<StyleTemplate[]>;
9
+ /**
10
+ * 读样式模板列表。两个端点都是**租户级**的模板清单(不是应用级),
11
+ * 所以**不需要 appId** —— `ebbusinessid` 用 formId 即可。
12
+ */
13
+ export declare function fetchStyleTemplates(client: ApiClient, baseUrl: string, formId: string, layoutType: string): Promise<StyleTemplate[]>;
10
14
  /**
11
15
  * 把 `--style-template` 的输入解析成该布局类型下的 styleTemplateId。
12
16
  *
13
17
  * 传 id 时**会校验它确实属于这套**——这正是当初踩坑的地方:跨套 id 平台不报错、直接忽略。
14
18
  * 列表取回条数正好等于单页上限时无法判断是否被截断,此时找不到只告警不拦,避免误杀。
15
19
  */
16
- export declare function resolveStyleTemplateId(client: ApiClient, baseUrl: string, appId: string, formId: string, layoutType: string, input: string): Promise<StyleTemplate>;
20
+ export declare function resolveStyleTemplateId(client: ApiClient, baseUrl: string, formId: string, layoutType: string, input: string): Promise<StyleTemplate>;
17
21
  //# sourceMappingURL=form-style-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-style-template.d.ts","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6BnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,OAAgC,CAAC;AAEnF,kBAAkB;AAClB,eAAO,MAAM,QAAQ,GAAI,YAAY,MAAM,KAAG,MAAmD,CAAC;AAElG,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B;AAoBD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
1
+ {"version":3,"file":"form-style-template.d.ts","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6BnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,OAAgC,CAAC;AAEnF,kBAAkB;AAClB,eAAO,MAAM,QAAQ,GAAI,YAAY,MAAM,KAAG,MAAmD,CAAC;AAElG;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB1B;AAoBD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
@@ -25,7 +25,11 @@ const PAGE_SIZE = 200;
25
25
  export const isFlowLayout = (layoutType) => layoutType === 'FLOW';
26
26
  /** 只用于展示和报错文案。 */
27
27
  export const layoutCn = (layoutType) => (isFlowLayout(layoutType) ? '流式' : '表格式');
28
- export async function fetchStyleTemplates(client, baseUrl, appId, formId, layoutType) {
28
+ /**
29
+ * 读样式模板列表。两个端点都是**租户级**的模板清单(不是应用级),
30
+ * 所以**不需要 appId** —— `ebbusinessid` 用 formId 即可。
31
+ */
32
+ export async function fetchStyleTemplates(client, baseUrl, formId, layoutType) {
29
33
  const flow = isFlowLayout(layoutType);
30
34
  const path = flow
31
35
  ? '/api/form/flow/template/list'
@@ -40,7 +44,7 @@ export async function fetchStyleTemplates(client, baseUrl, appId, formId, layout
40
44
  pageNo: 1, pageSize: PAGE_SIZE, clientType: CLIENT_TYPE_PC, templateStatus: 1,
41
45
  module: 'ebuilderform', customParam: { terminal: '' },
42
46
  };
43
- const res = await client.post(`${baseUrl}${path}?apid=${encodeURIComponent(appId)}`, body, { ebbusinessid: formId });
47
+ const res = await client.post(`${baseUrl}${path}`, body, { ebbusinessid: formId });
44
48
  if (res?.code !== 200 || !res?.status) {
45
49
  throw new Error(`读取${layoutCn(layoutType)}样式模板失败: ${res?.msg || '未知错误'}`);
46
50
  }
@@ -70,8 +74,8 @@ function dupHint(dups) {
70
74
  * 传 id 时**会校验它确实属于这套**——这正是当初踩坑的地方:跨套 id 平台不报错、直接忽略。
71
75
  * 列表取回条数正好等于单页上限时无法判断是否被截断,此时找不到只告警不拦,避免误杀。
72
76
  */
73
- export async function resolveStyleTemplateId(client, baseUrl, appId, formId, layoutType, input) {
74
- const all = await fetchStyleTemplates(client, baseUrl, appId, formId, layoutType);
77
+ export async function resolveStyleTemplateId(client, baseUrl, formId, layoutType, input) {
78
+ const all = await fetchStyleTemplates(client, baseUrl, formId, layoutType);
75
79
  const cn = layoutCn(layoutType);
76
80
  const trimmed = input.trim();
77
81
  if (/^\d+$/.test(trimmed)) {
@@ -1 +1 @@
1
- {"version":3,"file":"form-style-template.js","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-style-template.js","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"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"}
@@ -34,26 +34,69 @@
34
34
  *
35
35
  * 明细引用的参数对象需带 `sFormId`(明细表 id) + `sFormName`(明细表名)。
36
36
  * 字段结构统一从 getEbField 取(主表 main + 明细 detail)。
37
+ *
38
+ * ## 模块字段(系统字段)
39
+ *
40
+ * `{主表.主表数据id}`、`{主表.当前日期}` 这类引用**不在** getEbField 的 main/detail 里,
41
+ * 得由调用方通过可选参数 `moduleColumns` 传进来(目前只有函数联动会传,来源是
42
+ * `linkage/findFormDrivingColumns` 的模块字段桶)。
43
+ *
44
+ * 下发时**一律写成裸标签**(`{主表.主表数据id}`)—— 语义键写法 `[formDataId]` 也会被归一到标签形态,
45
+ * 与平台落库的 `expressSql` 一致。不传 `moduleColumns` 时,模块字段仍按「未找到字段」报错(原有行为不变)。
46
+ *
47
+ * ## 选项引用(三段式)`{主表.性别.男}`
48
+ *
49
+ * 第三段是**选项名** —— 指「性别」字段里那个叫「男」的选项。
50
+ *
51
+ * 平台比的是**选项对象**,不是选项名的字符串:参数里带的是选项的 **`valueKey`**
52
+ * (`fieldType:"option"` + `id`=valueKey + `middleFieldIds`=[字段id],没有 `fieldId`/`title`)。
53
+ *
54
+ * 因此 `{主表.性别}=='男'` 这种写法**恒不成立** —— 它拿字段的 valueKey 去比字符串「男」。
55
+ * 要命的是平台**照收、不报错、回 200**,写完看着全绿、结果永远不对,所以解析时专门对
56
+ * 「选项型字段 vs 字符串字面量」出声警告。
57
+ *
58
+ * ⚠ 三段式**不能按第一个点切**:那样字段会变成 `性别.男`,然后报「未找到字段 性别.男」——
59
+ * 这正是「CLI 写不出选项比较」的老毛病(读得出来、写不回去)。必须整段切开数段数。
37
60
  */
38
61
  import type { ApiClient } from '../core/client.js';
39
62
  export interface FormulaParam {
40
63
  dataTemplateId: string;
41
- fieldId: string;
42
- formId: string;
64
+ /** 业务字段有;**选项参数没有这个键** —— 平台靠 `middleFieldIds` 定位它属于哪个字段。 */
65
+ fieldId?: string;
66
+ formId?: string;
43
67
  module: string;
44
68
  properKey: string;
45
69
  sFormId?: string;
46
70
  sFormName?: string;
47
- title: string;
71
+ title?: string;
48
72
  name: string;
49
- appId: string;
50
- id: null;
73
+ /** eb 表那条路由必给;流程表单的函数联动报文里没有这个键,就留空。 */
74
+ appId?: string;
75
+ /** 业务字段是 `null`;**选项参数是选项的 `valueKey`**。 */
76
+ id: string | null;
77
+ fieldType?: string;
78
+ direct?: boolean;
79
+ del?: boolean;
80
+ middleFieldIds?: string[];
81
+ directFormId?: string;
82
+ parent?: string;
83
+ formulaParentVarList?: unknown[];
84
+ dataSourceField?: boolean;
85
+ repeat?: boolean;
86
+ groupData?: boolean;
51
87
  }
52
88
  /** 一处字段引用。 */
53
89
  export interface FormulaRef {
54
90
  /** 表名。`{主表.x}` → `'主表'`;`[x]` 这种不带表名的写法 → `null`(待按字段名反查)。 */
55
91
  table: string | null;
56
92
  field: string;
93
+ /**
94
+ * 选项引用 `{主表.性别.男}` 的**第三段**:选项名。普通字段引用没有这一段。
95
+ *
96
+ * ⚠ 必须写**完整三段**才有这段:`[性别.男]` 只有两段,仍按「明细表.字段名」读 ——
97
+ * 方括号的两段式是既有写法,二者无法区分,不给它开后门。
98
+ */
99
+ option?: string;
57
100
  /** 原文,报错回显用。 */
58
101
  raw: string;
59
102
  /** 在表达式中的起止位置,供归一化改写。 */
@@ -77,6 +120,10 @@ export interface FormulaParseResult {
77
120
  * - `{主表.字段名}` / `{明细表名.字段名}` —— 平台存储格式
78
121
  * - `[字段名]` / `[表名.字段名]` —— 设计器编辑器的写法
79
122
  *
123
+ * **三段式是「选项引用」**:`{主表.性别.男}` 指「性别」字段里那个叫「男」的**选项**,
124
+ * 不是某个叫「性别.男」的字段。按第一个点切分会把字段读成 `性别.男`,然后报「未找到字段」——
125
+ * 那正是「用 CLI 表达不了选项比较」的老毛病(参数要的是选项的 valueKey,平台比的是选项对象)。
126
+ *
80
127
  * 重复出现**不去重** —— 每个出现位置都要单独一个参数(见文件头说明)。
81
128
  * 不做字符串字面量剔除:公式里写 `"["` 这种极端情况不在支持范围,误判会在解析阶段
82
129
  * 报「未找到字段」,比静默错绑安全。
@@ -90,5 +137,50 @@ export declare function parseFormulaRefs(expression: string): FormulaRef[];
90
137
  * 报错说的是真话:我们替用户要了个数字。
91
138
  */
92
139
  export declare function defaultReturnType(fieldKey: string | undefined): string;
93
- export declare function buildFormulaParameters(client: ApiClient, baseUrl: string, objId: string, appId: string, formId: string, expression: string): Promise<FormulaParseResult>;
140
+ /**
141
+ * 模块字段(系统字段)。只有函数联动那条链路会用到 —— 普通公式的字段来源是 `getEbField`,
142
+ * 里面没有这些字段。
143
+ *
144
+ * 三种键的约定(来自 `linkage/findFormDrivingColumns` 的模块字段桶):
145
+ * - `id`:**语义键**(`formDataId` / `current_date` / `system_operator_department_id`),不是雪花 id
146
+ * - `name`:裸中文标签(`主表数据id`),表达式里写的就是它
147
+ * - `descType`:**全大写**(`TEXT` / `DATE` / `OBJECT`),可直接当 `properKey` 用
148
+ *
149
+ * 业务字段恰好相反:`id` 是雪花、`descType` 是驼峰(`Text` / `Money`)。
150
+ */
151
+ export interface FormulaModuleColumn {
152
+ id: string;
153
+ name: string;
154
+ descType: string;
155
+ }
156
+ /** 业务字段与模块字段的字段来源。两条路由(eb 表的 `getEbField`、流程表单的 `getConfig`)
157
+ * 各自映射成这个形状,解析核只认它。 */
158
+ export interface FormulaRefContext {
159
+ /** 主表字段。元素形状沿用 `getEbField` 的 `{ id, showName, dataKey, componentKey }`,明细则用 `name`。 */
160
+ mainFields: any[];
161
+ /** 明细表:`{ detailTableId, tableName, fields: [] }`。 */
162
+ detailTables: any[];
163
+ moduleColumns?: FormulaModuleColumn[];
164
+ formId: string;
165
+ /** 公式参数的 `module`。eb 表 = `ebuilderform`;流程表单的函数联动 = `ebuildercard`。 */
166
+ module: string;
167
+ /** 给了才写 `appId` 键;`undefined` = 整个键不出现(流程表单那条路由就是这样)。 */
168
+ appId?: string;
169
+ /** 报错里指路的命令名,形如 `wf-form formula-linkage columns`。 */
170
+ hint?: string;
171
+ }
172
+ /**
173
+ * 引用解析与参数构建的**纯核** —— 不碰网络,字段来源由调用方注入。
174
+ *
175
+ * 两条路由共用它(eb 表的字段来源是 `getEbField`,流程表单是 `getConfig`),所以这里只放
176
+ * **与路由无关**的规则:方括号归一化成花括号、逐出现位置各给一份参数、明细引用带
177
+ * `sFormId`/`sFormName`、模块字段一律写裸标签、业务字段与模块字段撞名时业务字段胜出。
178
+ */
179
+ export declare function resolveFormulaRefs(expression: string, ctx: FormulaRefContext): FormulaParseResult;
180
+ /**
181
+ * eb 表那条路由:先取字段来源(`getEbField`)再调解析核。
182
+ *
183
+ * @param moduleColumns 模块字段(系统字段)候选。只有函数联动会传;**不传时行为与加这个参数之前完全一致**。
184
+ */
185
+ export declare function buildFormulaParameters(client: ApiClient, baseUrl: string, objId: string, appId: string, formId: string, expression: string, moduleColumns?: FormulaModuleColumn[]): Promise<FormulaParseResult>;
94
186
  //# sourceMappingURL=formula-detail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formula-detail.d.ts","sourceRoot":"","sources":["../../src/services/formula-detail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,IAAI,CAAC;CACV;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAkBjE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKtE;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAClC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAgG7B"}
1
+ {"version":3,"file":"formula-detail.d.ts","sourceRoot":"","sources":["../../src/services/formula-detail.ts"],"names":[],"mappings":"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"}