weaver-e10-builder 1.6.15 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/cli-register.d.ts +8 -1
  2. package/dist/cli-register.d.ts.map +1 -1
  3. package/dist/cli-register.js +238 -86
  4. package/dist/cli-register.js.map +1 -1
  5. package/dist/commands/actionflow.d.ts +1 -0
  6. package/dist/commands/actionflow.d.ts.map +1 -1
  7. package/dist/commands/actionflow.js +17 -1
  8. package/dist/commands/actionflow.js.map +1 -1
  9. package/dist/commands/designer-custom-page.d.ts +3 -0
  10. package/dist/commands/designer-custom-page.d.ts.map +1 -0
  11. package/dist/commands/designer-custom-page.js +56 -0
  12. package/dist/commands/designer-custom-page.js.map +1 -0
  13. package/dist/commands/designer-event.d.ts.map +1 -1
  14. package/dist/commands/designer-event.js +70 -5
  15. package/dist/commands/designer-event.js.map +1 -1
  16. package/dist/commands/designer-list-advanced.d.ts +3 -0
  17. package/dist/commands/designer-list-advanced.d.ts.map +1 -0
  18. package/dist/commands/designer-list-advanced.js +53 -0
  19. package/dist/commands/designer-list-advanced.js.map +1 -0
  20. package/dist/commands/designer-list-controls.d.ts +3 -0
  21. package/dist/commands/designer-list-controls.d.ts.map +1 -0
  22. package/dist/commands/designer-list-controls.js +39 -0
  23. package/dist/commands/designer-list-controls.js.map +1 -0
  24. package/dist/commands/designer-permission.d.ts +3 -0
  25. package/dist/commands/designer-permission.d.ts.map +1 -0
  26. package/dist/commands/designer-permission.js +32 -0
  27. package/dist/commands/designer-permission.js.map +1 -0
  28. package/dist/commands/designer-tabbar.d.ts +3 -0
  29. package/dist/commands/designer-tabbar.d.ts.map +1 -0
  30. package/dist/commands/designer-tabbar.js +24 -0
  31. package/dist/commands/designer-tabbar.js.map +1 -0
  32. package/dist/commands/ecode.d.ts +9 -0
  33. package/dist/commands/ecode.d.ts.map +1 -0
  34. package/dist/commands/ecode.js +81 -0
  35. package/dist/commands/ecode.js.map +1 -0
  36. package/dist/commands/form-base-setting.d.ts +3 -0
  37. package/dist/commands/form-base-setting.d.ts.map +1 -0
  38. package/dist/commands/form-base-setting.js +192 -0
  39. package/dist/commands/form-base-setting.js.map +1 -0
  40. package/dist/commands/form-field-linkage.d.ts +5 -0
  41. package/dist/commands/form-field-linkage.d.ts.map +1 -1
  42. package/dist/commands/form-field-linkage.js +82 -16
  43. package/dist/commands/form-field-linkage.js.map +1 -1
  44. package/dist/commands/form-list-columns.d.ts.map +1 -1
  45. package/dist/commands/form-list-columns.js +4 -0
  46. package/dist/commands/form-list-columns.js.map +1 -1
  47. package/dist/commands/form-list-config.d.ts.map +1 -1
  48. package/dist/commands/form-list-config.js +19 -3
  49. package/dist/commands/form-list-config.js.map +1 -1
  50. package/dist/commands/form-list-permission.d.ts.map +1 -1
  51. package/dist/commands/form-list-permission.js +34 -1
  52. package/dist/commands/form-list-permission.js.map +1 -1
  53. package/dist/commands/form-obj-meta.d.ts.map +1 -1
  54. package/dist/commands/form-obj-meta.js +194 -1
  55. package/dist/commands/form-obj-meta.js.map +1 -1
  56. package/dist/commands/form-table-view.d.ts.map +1 -1
  57. package/dist/commands/form-table-view.js +14 -4
  58. package/dist/commands/form-table-view.js.map +1 -1
  59. package/dist/commands/matrix-person.d.ts +3 -0
  60. package/dist/commands/matrix-person.d.ts.map +1 -0
  61. package/dist/commands/matrix-person.js +95 -0
  62. package/dist/commands/matrix-person.js.map +1 -0
  63. package/dist/commands/matrix.d.ts.map +1 -1
  64. package/dist/commands/matrix.js +3 -1
  65. package/dist/commands/matrix.js.map +1 -1
  66. package/dist/commands/page-combination.d.ts.map +1 -1
  67. package/dist/commands/page-combination.js +15 -0
  68. package/dist/commands/page-combination.js.map +1 -1
  69. package/dist/commands/page-management.d.ts +3 -0
  70. package/dist/commands/page-management.d.ts.map +1 -0
  71. package/dist/commands/page-management.js +16 -0
  72. package/dist/commands/page-management.js.map +1 -0
  73. package/dist/commands/page.d.ts.map +1 -1
  74. package/dist/commands/page.js +8 -9
  75. package/dist/commands/page.js.map +1 -1
  76. package/dist/commands/report-cell.d.ts.map +1 -1
  77. package/dist/commands/report-cell.js +215 -0
  78. package/dist/commands/report-cell.js.map +1 -1
  79. package/dist/commands/report-code.d.ts +9 -0
  80. package/dist/commands/report-code.d.ts.map +1 -0
  81. package/dist/commands/report-code.js +105 -0
  82. package/dist/commands/report-code.js.map +1 -0
  83. package/dist/commands/report.d.ts.map +1 -1
  84. package/dist/commands/report.js +70 -17
  85. package/dist/commands/report.js.map +1 -1
  86. package/dist/core/client.d.ts +12 -0
  87. package/dist/core/client.d.ts.map +1 -1
  88. package/dist/core/client.js +23 -2
  89. package/dist/core/client.js.map +1 -1
  90. package/dist/index.js +15 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/services/action-detail.d.ts +2 -0
  93. package/dist/services/action-detail.d.ts.map +1 -1
  94. package/dist/services/action-detail.js +11 -5
  95. package/dist/services/action-detail.js.map +1 -1
  96. package/dist/services/actionflow/build_workflow_draft.d.ts +1 -1
  97. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  98. package/dist/services/actionflow/build_workflow_draft.js +28 -24
  99. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  100. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  101. package/dist/services/actionflow/components/action_eb_update_compiler.js +2 -15
  102. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  103. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
  104. package/dist/services/actionflow/components/custom_set_form.js +1 -9
  105. package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
  106. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
  107. package/dist/services/actionflow/components/dml_execute.js +3 -4
  108. package/dist/services/actionflow/components/dml_execute.js.map +1 -1
  109. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  110. package/dist/services/actionflow/components/document_actions.js +0 -3
  111. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  112. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  113. package/dist/services/actionflow/components/form_data_builder.js +27 -5
  114. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  115. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  116. package/dist/services/actionflow/components/hrm_actions.js +1 -3
  117. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  118. package/dist/services/actionflow/components/index.d.ts +1 -1
  119. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  120. package/dist/services/actionflow/components/index.js +1 -1
  121. package/dist/services/actionflow/components/index.js.map +1 -1
  122. package/dist/services/actionflow/components/inner_mq_listener.js +1 -1
  123. package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
  124. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
  125. package/dist/services/actionflow/components/inner_mq_send.js +6 -2
  126. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
  127. package/dist/services/actionflow/components/multiple_execution.d.ts +1 -2
  128. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
  129. package/dist/services/actionflow/components/multiple_execution.js +55 -276
  130. package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
  131. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  132. package/dist/services/actionflow/components/output.js +3 -7
  133. package/dist/services/actionflow/components/output.js.map +1 -1
  134. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  135. package/dist/services/actionflow/components/send_message.js +6 -10
  136. package/dist/services/actionflow/components/send_message.js.map +1 -1
  137. package/dist/services/actionflow/components/serverless_action.d.ts.map +1 -1
  138. package/dist/services/actionflow/components/serverless_action.js +3 -2
  139. package/dist/services/actionflow/components/serverless_action.js.map +1 -1
  140. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  141. package/dist/services/actionflow/components/workflow_actions.js +0 -3
  142. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  143. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  144. package/dist/services/actionflow/context_preflight.js +12 -9
  145. package/dist/services/actionflow/context_preflight.js.map +1 -1
  146. package/dist/services/actionflow/filter_rules.js +4 -4
  147. package/dist/services/actionflow/filter_rules.js.map +1 -1
  148. package/dist/services/actionflow/formula_service.d.ts +0 -13
  149. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  150. package/dist/services/actionflow/formula_service.js +45 -267
  151. package/dist/services/actionflow/formula_service.js.map +1 -1
  152. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  153. package/dist/services/actionflow/generation_service.js +10 -12
  154. package/dist/services/actionflow/generation_service.js.map +1 -1
  155. package/dist/services/actionflow/id_generator.d.ts +2 -2
  156. package/dist/services/actionflow/id_generator.d.ts.map +1 -1
  157. package/dist/services/actionflow/id_generator.js +5 -11
  158. package/dist/services/actionflow/id_generator.js.map +1 -1
  159. package/dist/services/actionflow/loop_context.d.ts +12 -0
  160. package/dist/services/actionflow/loop_context.d.ts.map +1 -0
  161. package/dist/services/actionflow/loop_context.js +134 -0
  162. package/dist/services/actionflow/loop_context.js.map +1 -0
  163. package/dist/services/actionflow/param_group_dto.d.ts +7 -0
  164. package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
  165. package/dist/services/actionflow/param_group_dto.js +128 -16
  166. package/dist/services/actionflow/param_group_dto.js.map +1 -1
  167. package/dist/services/actionflow/param_mapping_basis.js +2 -2
  168. package/dist/services/actionflow/param_mapping_basis.js.map +1 -1
  169. package/dist/services/actionflow/preflight_service.d.ts +1 -0
  170. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  171. package/dist/services/actionflow/preflight_service.js +88 -291
  172. package/dist/services/actionflow/preflight_service.js.map +1 -1
  173. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -1
  174. package/dist/services/actionflow/readback_verifier.js +21 -2
  175. package/dist/services/actionflow/readback_verifier.js.map +1 -1
  176. package/dist/services/actionflow/save_workflow_draft.d.ts +2 -3
  177. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  178. package/dist/services/actionflow/save_workflow_draft.js +14 -16
  179. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  180. package/dist/services/actionflow/update_service.d.ts +5 -0
  181. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  182. package/dist/services/actionflow/update_service.js +126 -3
  183. package/dist/services/actionflow/update_service.js.map +1 -1
  184. package/dist/services/actionflow/workflow_compiler.d.ts +1 -2
  185. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  186. package/dist/services/actionflow/workflow_compiler.js +79 -105
  187. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  188. package/dist/services/designer-custom-page.d.ts +11 -0
  189. package/dist/services/designer-custom-page.d.ts.map +1 -0
  190. package/dist/services/designer-custom-page.js +227 -0
  191. package/dist/services/designer-custom-page.js.map +1 -0
  192. package/dist/services/designer-event.d.ts +7 -2
  193. package/dist/services/designer-event.d.ts.map +1 -1
  194. package/dist/services/designer-event.js +357 -33
  195. package/dist/services/designer-event.js.map +1 -1
  196. package/dist/services/designer-list-advanced.d.ts +9 -0
  197. package/dist/services/designer-list-advanced.d.ts.map +1 -0
  198. package/dist/services/designer-list-advanced.js +64 -0
  199. package/dist/services/designer-list-advanced.js.map +1 -0
  200. package/dist/services/designer-list-controls.d.ts +2 -0
  201. package/dist/services/designer-list-controls.d.ts.map +1 -0
  202. package/dist/services/designer-list-controls.js +85 -0
  203. package/dist/services/designer-list-controls.js.map +1 -0
  204. package/dist/services/designer-list-presentation.d.ts +2 -0
  205. package/dist/services/designer-list-presentation.d.ts.map +1 -0
  206. package/dist/services/designer-list-presentation.js +45 -0
  207. package/dist/services/designer-list-presentation.js.map +1 -0
  208. package/dist/services/designer-list-runtime.d.ts +2 -0
  209. package/dist/services/designer-list-runtime.d.ts.map +1 -0
  210. package/dist/services/designer-list-runtime.js +80 -0
  211. package/dist/services/designer-list-runtime.js.map +1 -0
  212. package/dist/services/designer-list-search.d.ts +2 -0
  213. package/dist/services/designer-list-search.d.ts.map +1 -0
  214. package/dist/services/designer-list-search.js +72 -0
  215. package/dist/services/designer-list-search.js.map +1 -0
  216. package/dist/services/designer-permission.d.ts +52 -0
  217. package/dist/services/designer-permission.d.ts.map +1 -0
  218. package/dist/services/designer-permission.js +316 -0
  219. package/dist/services/designer-permission.js.map +1 -0
  220. package/dist/services/designer-tabbar.d.ts +11 -0
  221. package/dist/services/designer-tabbar.d.ts.map +1 -0
  222. package/dist/services/designer-tabbar.js +114 -0
  223. package/dist/services/designer-tabbar.js.map +1 -0
  224. package/dist/services/ecode-check.d.ts +50 -0
  225. package/dist/services/ecode-check.d.ts.map +1 -0
  226. package/dist/services/ecode-check.js +408 -0
  227. package/dist/services/ecode-check.js.map +1 -0
  228. package/dist/services/esb-interface/importer.d.ts +35 -1
  229. package/dist/services/esb-interface/importer.d.ts.map +1 -1
  230. package/dist/services/esb-interface/importer.js +77 -1
  231. package/dist/services/esb-interface/importer.js.map +1 -1
  232. package/dist/services/form-base-setting.d.ts +88 -0
  233. package/dist/services/form-base-setting.d.ts.map +1 -0
  234. package/dist/services/form-base-setting.js +272 -0
  235. package/dist/services/form-base-setting.js.map +1 -0
  236. package/dist/services/form-list-columns.d.ts.map +1 -1
  237. package/dist/services/form-list-columns.js +12 -3
  238. package/dist/services/form-list-columns.js.map +1 -1
  239. package/dist/services/form-list-config.d.ts +40 -3
  240. package/dist/services/form-list-config.d.ts.map +1 -1
  241. package/dist/services/form-list-config.js +207 -25
  242. package/dist/services/form-list-config.js.map +1 -1
  243. package/dist/services/form-list-fields.d.ts.map +1 -1
  244. package/dist/services/form-list-fields.js +3 -1
  245. package/dist/services/form-list-fields.js.map +1 -1
  246. package/dist/services/form-log-setting.d.ts +55 -0
  247. package/dist/services/form-log-setting.d.ts.map +1 -0
  248. package/dist/services/form-log-setting.js +108 -0
  249. package/dist/services/form-log-setting.js.map +1 -0
  250. package/dist/services/form-obj-lang.d.ts +45 -0
  251. package/dist/services/form-obj-lang.d.ts.map +1 -0
  252. package/dist/services/form-obj-lang.js +127 -0
  253. package/dist/services/form-obj-lang.js.map +1 -0
  254. package/dist/services/form-obj-meta.d.ts +34 -0
  255. package/dist/services/form-obj-meta.d.ts.map +1 -1
  256. package/dist/services/form-obj-meta.js +81 -12
  257. package/dist/services/form-obj-meta.js.map +1 -1
  258. package/dist/services/form-table-view.d.ts +8 -2
  259. package/dist/services/form-table-view.d.ts.map +1 -1
  260. package/dist/services/form-table-view.js +22 -5
  261. package/dist/services/form-table-view.js.map +1 -1
  262. package/dist/services/form-view.d.ts +1 -1
  263. package/dist/services/form-view.d.ts.map +1 -1
  264. package/dist/services/form-view.js +38 -13
  265. package/dist/services/form-view.js.map +1 -1
  266. package/dist/services/matrix-person.d.ts +37 -0
  267. package/dist/services/matrix-person.d.ts.map +1 -0
  268. package/dist/services/matrix-person.js +57 -0
  269. package/dist/services/matrix-person.js.map +1 -0
  270. package/dist/services/org-browser.d.ts +32 -0
  271. package/dist/services/org-browser.d.ts.map +1 -1
  272. package/dist/services/org-browser.js +90 -12
  273. package/dist/services/org-browser.js.map +1 -1
  274. package/dist/services/page-combination.d.ts +1 -1
  275. package/dist/services/page-combination.d.ts.map +1 -1
  276. package/dist/services/page-combination.js +43 -10
  277. package/dist/services/page-combination.js.map +1 -1
  278. package/dist/services/page-management.d.ts +67 -0
  279. package/dist/services/page-management.d.ts.map +1 -0
  280. package/dist/services/page-management.js +166 -0
  281. package/dist/services/page-management.js.map +1 -0
  282. package/dist/services/page-permission.d.ts +2 -2
  283. package/dist/services/page-permission.d.ts.map +1 -1
  284. package/dist/services/page-permission.js +22 -9
  285. package/dist/services/page-permission.js.map +1 -1
  286. package/dist/services/report/cell-transform.d.ts +62 -0
  287. package/dist/services/report/cell-transform.d.ts.map +1 -0
  288. package/dist/services/report/cell-transform.js +192 -0
  289. package/dist/services/report/cell-transform.js.map +1 -0
  290. package/dist/services/report/code-block.d.ts +45 -0
  291. package/dist/services/report/code-block.d.ts.map +1 -0
  292. package/dist/services/report/code-block.js +92 -0
  293. package/dist/services/report/code-block.js.map +1 -0
  294. package/dist/services/report/dataset.d.ts +40 -0
  295. package/dist/services/report/dataset.d.ts.map +1 -1
  296. package/dist/services/report/dataset.js +171 -1
  297. package/dist/services/report/dataset.js.map +1 -1
  298. package/dist/services/report/lifecycle.d.ts.map +1 -1
  299. package/dist/services/report/lifecycle.js +24 -3
  300. package/dist/services/report/lifecycle.js.map +1 -1
  301. package/dist/services/workflow-base-settings.d.ts.map +1 -1
  302. package/dist/services/workflow-base-settings.js +19 -5
  303. package/dist/services/workflow-base-settings.js.map +1 -1
  304. package/ecode-ui/README.md +9 -0
  305. package/ecode-ui/ui-types.zip +0 -0
  306. package/ecode-ui/version.json +7 -0
  307. package/package.json +4 -1
  308. package/skill-docs/SKILL.md +19 -5
  309. package/skill-docs/_catalog.md +22 -1
  310. package/skill-docs/actionflows/SKILL.md +15 -11
  311. package/skill-docs/actionflows/references/components/database/DMLExecute.md +4 -0
  312. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +1 -1
  313. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +2 -0
  314. package/skill-docs/actionflows/references/components/logic/MultipleExecution.md +9 -30
  315. package/skill-docs/actionflows/references/components/message/InnerMQSend.md +7 -3
  316. package/skill-docs/actionflows/references/components/serverless/ServerlessAction.md +4 -0
  317. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +6 -6
  318. package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +46 -41
  319. package/skill-docs/actionflows/references/components/trigger/WebHookTrigger.md +4 -0
  320. package/skill-docs/actionflows/references/dynamic_capability_matrix.md +3 -4
  321. package/skill-docs/actionflows/references/function_rules.md +5 -1
  322. package/skill-docs/actionflows/references/trigger_runtime_notes.md +1 -1
  323. package/skill-docs/assets/factory/factory-custom-page.json +339 -0
  324. package/skill-docs/references/common/ref-cli-commands.md +34 -5
  325. package/skill-docs/references/ebuilder-designer/component-permission.md +131 -0
  326. package/skill-docs/references/ebuilder-designer/events/actions-interaction.md +132 -108
  327. package/skill-docs/references/ebuilder-designer/events/guide-events.md +112 -57
  328. package/skill-docs/references/ebuilder-designer/guide-custom-page.md +176 -0
  329. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +2 -0
  330. package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +2 -0
  331. package/skill-docs/references/ebuilder-designer/guide-designer.md +304 -296
  332. package/skill-docs/references/ebuilder-designer/guide-list.md +339 -0
  333. package/skill-docs/references/ebuilder-designer/guide-page-combination.md +162 -142
  334. package/skill-docs/references/ebuilder-designer/guide-page-management.md +90 -0
  335. package/skill-docs/references/ebuilder-designer/guide-page-permission.md +151 -145
  336. package/skill-docs/references/ebuilder-designer/guide-tabbar.md +57 -0
  337. package/skill-docs/references/esb-interface/guide-import.md +38 -34
  338. package/skill-docs/references/form/guide-create-form.md +13 -0
  339. package/skill-docs/references/form/guide-form-base-setting.md +78 -0
  340. package/skill-docs/references/form/guide-form-view.md +77 -13
  341. package/skill-docs/references/form/guide-list-columns.md +8 -0
  342. package/skill-docs/references/hrm/guide-matrix.md +16 -0
  343. package/skill-docs/references/report/cell-transform-guide.md +17 -3
  344. package/skill-docs/references/report/code-block-guide.md +54 -0
  345. package/skill-docs/references/report/dataset-sidebar-ops-guide.md +8 -0
  346. package/skill-docs/references/report/ref-report-commands.md +7 -1
  347. package/skill-docs/references/report/report-designer-feature-map.md +1 -1
  348. package/skill-docs/references/report/report-list-page-ops-guide.md +2 -0
@@ -0,0 +1,339 @@
1
+ [
2
+ {
3
+ "id": "",
4
+ "pageId": "",
5
+ "layoutType": "GRID",
6
+ "terminalType": "PC",
7
+ "module": "EB_PAGE",
8
+ "ecodeVersion": 1,
9
+ "appId": "",
10
+ "comps": [
11
+ {
12
+ "id": "dc41b77f36a8487d8874c69698e10eee",
13
+ "type": "CustomPage",
14
+ "package": "@weapp/ebdothercoms",
15
+ "category": "912383476361125895",
16
+ "pid": "",
17
+ "refModule": "",
18
+ "refCompId": "fbbcaacf02c3414ba75d4f243d87e9b4",
19
+ "refPluginPackageId": null,
20
+ "refPluginPackage": null,
21
+ "config": {
22
+ "name": "自定义页面",
23
+ "type": "CustomPage",
24
+ "title": "自定义页面",
25
+ "titleEnabled": true,
26
+ "footerEnabled": false,
27
+ "showTopOperatBtnConfig": true,
28
+ "topOperatBtns": {
29
+ "enabled": true,
30
+ "alignType": "CENTER",
31
+ "btns": [
32
+ {
33
+ "id": "9ae639",
34
+ "showType": "ICON",
35
+ "btnFrom": "DEFAULT",
36
+ "showContent": {
37
+ "path": "#icon-Right-refresh",
38
+ "title": "刷新",
39
+ "style": {
40
+ "fontSize": "36",
41
+ "bgColor": "transparent",
42
+ "borderColor": "transparent",
43
+ "color": "#999",
44
+ "radius": "3px"
45
+ }
46
+ },
47
+ "positionType": "RIGHT",
48
+ "event": {
49
+ "to": "REFRESHCOM",
50
+ "value": "刷新"
51
+ },
52
+ "isOpen": true,
53
+ "showOrder": 1
54
+ },
55
+ {
56
+ "id": "8b0f53",
57
+ "showType": "ICON",
58
+ "btnFrom": "DEFAULT",
59
+ "showContent": {
60
+ "shrinkContent": {
61
+ "path": "#Icon-Global-zoom-in",
62
+ "title": "最大化",
63
+ "style": {
64
+ "fontSize": "36",
65
+ "bgColor": "transparent",
66
+ "borderColor": "transparent",
67
+ "color": "#999",
68
+ "radius": "3px"
69
+ }
70
+ },
71
+ "spreadContent": {
72
+ "path": "#Icon-Global-reduction",
73
+ "title": "最小化",
74
+ "style": {
75
+ "fontSize": "36",
76
+ "bgColor": "transparent",
77
+ "borderColor": "transparent",
78
+ "color": "#999",
79
+ "radius": "3px"
80
+ }
81
+ }
82
+ },
83
+ "positionType": "RIGHT",
84
+ "event": {
85
+ "to": "FULLSCREEN",
86
+ "value": "组件最大化/最小化",
87
+ "customRenderConfig": "组件最大化/最小化"
88
+ },
89
+ "isOpen": true,
90
+ "showOrder": 2,
91
+ "showTypeData": [
92
+ "ICON",
93
+ "FONTBTN"
94
+ ]
95
+ },
96
+ {
97
+ "id": "16c80e",
98
+ "showType": "FONTWITHICON",
99
+ "btnFrom": "DEFAULT",
100
+ "showContent": {
101
+ "title": "设置",
102
+ "style": {
103
+ "fontSize": "36",
104
+ "bgColor": "transparent",
105
+ "borderColor": "transparent",
106
+ "color": "#999",
107
+ "radius": "3px"
108
+ }
109
+ },
110
+ "positionType": "RIGHT",
111
+ "event": {
112
+ "to": "CUSTOMSETTING",
113
+ "value": "设置"
114
+ },
115
+ "isOpen": false,
116
+ "showOrder": 3
117
+ },
118
+ {
119
+ "id": "d0a4d1",
120
+ "showType": "FONTBTN",
121
+ "btnFrom": "DEFAULT",
122
+ "showContent": "帮助",
123
+ "event": {
124
+ "to": "HELP",
125
+ "value": []
126
+ },
127
+ "isOpen": false,
128
+ "positionType": "RIGHT",
129
+ "showOrder": 4
130
+ }
131
+ ]
132
+ },
133
+ "url": "",
134
+ "urlType": "custom",
135
+ "urlLink": {
136
+ "link": {
137
+ "page": {
138
+ "pageId": "",
139
+ "pageName": "",
140
+ "pageType": ""
141
+ },
142
+ "openMode": "4"
143
+ },
144
+ "url": ""
145
+ },
146
+ "conditionControl": [],
147
+ "layout": {
148
+ "i": "9974e193aba2402abdb2b405f6ee46d2",
149
+ "x": 0,
150
+ "y": 0,
151
+ "w": 12,
152
+ "h": 30,
153
+ "scope": ""
154
+ },
155
+ "flow": {},
156
+ "disabled": {}
157
+ },
158
+ "masterComponent": null,
159
+ "isCustom": false,
160
+ "isLock": false,
161
+ "ecodeId": "",
162
+ "ecodeVersion": null,
163
+ "applyStyle": "1",
164
+ "prop": "EB",
165
+ "styleCategoryCompKey": "BasicStyleConfig",
166
+ "styleCategoryPackage": "@weapp/ebdcoms"
167
+ }
168
+ ],
169
+ "config": {},
170
+ "sourceCode": {}
171
+ },
172
+ {
173
+ "id": "",
174
+ "pageId": "",
175
+ "layoutType": "GRID",
176
+ "terminalType": "MOBILE",
177
+ "module": "EB_PAGE",
178
+ "ecodeVersion": 1,
179
+ "appId": "",
180
+ "comps": [
181
+ {
182
+ "id": "fbbcaacf02c3414ba75d4f243d87e9b4",
183
+ "type": "CustomPage",
184
+ "package": "@weapp/ebdothercoms",
185
+ "category": "912383476361125895",
186
+ "pid": "",
187
+ "refModule": "",
188
+ "refCompId": "dc41b77f36a8487d8874c69698e10eee",
189
+ "refPluginPackageId": null,
190
+ "refPluginPackage": null,
191
+ "config": {
192
+ "name": "自定义页面",
193
+ "type": "CustomPage",
194
+ "title": "自定义页面",
195
+ "titleEnabled": true,
196
+ "footerEnabled": false,
197
+ "showTopOperatBtnConfig": true,
198
+ "topOperatBtns": {
199
+ "enabled": true,
200
+ "alignType": "CENTER",
201
+ "btns": [
202
+ {
203
+ "id": "9cdcfb",
204
+ "showType": "ICON",
205
+ "btnFrom": "DEFAULT",
206
+ "showContent": {
207
+ "path": "#icon-Right-refresh",
208
+ "title": "刷新",
209
+ "style": {
210
+ "fontSize": "36",
211
+ "bgColor": "transparent",
212
+ "borderColor": "transparent",
213
+ "color": "#999",
214
+ "radius": "3px"
215
+ }
216
+ },
217
+ "positionType": "RIGHT",
218
+ "event": {
219
+ "to": "REFRESHCOM",
220
+ "value": "刷新"
221
+ },
222
+ "isOpen": true,
223
+ "showOrder": 1
224
+ },
225
+ {
226
+ "id": "96b9e8",
227
+ "showType": "ICON",
228
+ "btnFrom": "DEFAULT",
229
+ "showContent": {
230
+ "shrinkContent": {
231
+ "path": "#Icon-Global-zoom-in",
232
+ "title": "最大化",
233
+ "style": {
234
+ "fontSize": "36",
235
+ "bgColor": "transparent",
236
+ "borderColor": "transparent",
237
+ "color": "#999",
238
+ "radius": "3px"
239
+ }
240
+ },
241
+ "spreadContent": {
242
+ "path": "#Icon-Global-reduction",
243
+ "title": "最小化",
244
+ "style": {
245
+ "fontSize": "36",
246
+ "bgColor": "transparent",
247
+ "borderColor": "transparent",
248
+ "color": "#999",
249
+ "radius": "3px"
250
+ }
251
+ }
252
+ },
253
+ "positionType": "RIGHT",
254
+ "event": {
255
+ "to": "FULLSCREEN",
256
+ "value": "组件最大化/最小化",
257
+ "customRenderConfig": "组件最大化/最小化"
258
+ },
259
+ "isOpen": true,
260
+ "showOrder": 2,
261
+ "showTypeData": [
262
+ "ICON",
263
+ "FONTBTN"
264
+ ]
265
+ },
266
+ {
267
+ "id": "0f5b75",
268
+ "showType": "FONTWITHICON",
269
+ "btnFrom": "DEFAULT",
270
+ "showContent": {
271
+ "title": "设置",
272
+ "style": {
273
+ "fontSize": "36",
274
+ "bgColor": "transparent",
275
+ "borderColor": "transparent",
276
+ "color": "#999",
277
+ "radius": "3px"
278
+ }
279
+ },
280
+ "positionType": "RIGHT",
281
+ "event": {
282
+ "to": "CUSTOMSETTING",
283
+ "value": "设置"
284
+ },
285
+ "isOpen": false,
286
+ "showOrder": 3
287
+ },
288
+ {
289
+ "id": "b9ca5c",
290
+ "showType": "FONTBTN",
291
+ "btnFrom": "DEFAULT",
292
+ "showContent": "帮助",
293
+ "event": {
294
+ "to": "HELP",
295
+ "value": []
296
+ },
297
+ "isOpen": false,
298
+ "positionType": "RIGHT",
299
+ "showOrder": 4
300
+ }
301
+ ]
302
+ },
303
+ "urlType": "custom",
304
+ "urlLink": {
305
+ "link": {
306
+ "page": {
307
+ "pageId": "",
308
+ "pageName": "",
309
+ "pageType": ""
310
+ },
311
+ "openMode": "4"
312
+ },
313
+ "url": ""
314
+ },
315
+ "conditionControl": [],
316
+ "mUrl": "",
317
+ "layout": {
318
+ "i": "3f5abf576bbc4c24b3894403a263b5e6",
319
+ "adaptive": true,
320
+ "h": 300
321
+ },
322
+ "disabled": {},
323
+ "flow": {}
324
+ },
325
+ "masterComponent": null,
326
+ "isCustom": false,
327
+ "isLock": false,
328
+ "ecodeId": "",
329
+ "ecodeVersion": null,
330
+ "applyStyle": "1",
331
+ "prop": "EB",
332
+ "styleCategoryCompKey": "BasicStyleConfig",
333
+ "styleCategoryPackage": "@weapp/ebdcoms"
334
+ }
335
+ ],
336
+ "config": {},
337
+ "sourceCode": {}
338
+ }
339
+ ]
@@ -91,6 +91,14 @@
91
91
  | `e10-cli form edit-field <objId> <appId> <fieldId> [选项]` | 编辑字段属性,**主表与明细表字段均可**(明细字段按 fieldId 自动定位所属明细表)。`--title` 显示名、**`--type <类型>` 改字段类型**(取值同 `add-field`,如 `Text`/`Number`/`Date`/`Select`/`Department`;走读-改-写,**不用删字段重建**,显示名/列名/位置都保留;改成 `EBuilder`/`Flow` 必须同时给 `--sform-id`)、`--required`/`--no-required`、`--sform-id`(改EBuilder关联)、`--relate-from`(值带出)、**`--multiple`/`--no-multiple`**(人员/部门/EBuilder/Browser 多选切换)、**`--data-title`**(关联字段的标题栏,写 `dataTitle`)。**`--required`/`--no-required` 写的是布局组件**(必填只存在于布局里,字段定义没有这个键),命令会顺带把布局一并保存。改成 `EBuilder` 或换关联表时,**浏览显示列按新目标表自动补齐**(只在没配过、或旧列不属于新目标表时才写,不冲掉手工配的)。**`--data-key` / `--column-name` 分别改字段编码与数据库列名**(两者独立;只给 `--data-key` 时列名跟随)。`--title` / `--data-key` / `--column-name` / `--desc` 保存后**逐项回读校验**,平台返回 200 却未落库时明确报错。**⚠ 字段已有数据时平台拒绝改动结构**(显示名例外)——报「此列已存在数据不可修改数据库字段名称」,该文案与实际情况不符,它拦的不止字段名 |
92
92
  | `e10-cli form field-lang get <objId> <appId> <fieldId>` | 查看字段名称的中英文多语言配置;未配置时返回当前中文名称和 `configured:false` |
93
93
  | `e10-cli form field-lang set <objId> <appId> <fieldId> --zh <中文> --en <English>` | 设置字段名称多语言。先保存多语言标签,再读取完整字段并回写 `labelObj.title`,不会覆盖字段其他属性 |
94
+ | `e10-cli form description get <objId> <appId>` | 查看**表单说明**(`description`,表单基本信息里的说明文字;与表单名称、自定义标题是分开的三套) |
95
+ | `e10-cli form description set <objId> <appId> [<说明>] [--clear]` | 设置**表单说明**,`--clear` 清空;多行文本用 `@文件`。走 `obj/saveOrUpdate` 整对象回写(读回全字段 → 只换 `description` → 剔除标题字段与只读字段回写 → 回读校验),不影响名称/标题/日志等其它字段。内容未变化时不发写请求 |
96
+ | `e10-cli form log-setting get <objId> <appId>` | 查看**日志设置**(表单基本信息「表单」页的日志设置):卡片详情页显示日志(`enableLog`)、记录类型(`logTypes`:查阅情况=1 / 操作日志=2 / 表单修改日志=3 / 打印日志=4)、表单修改日志显示方式(`formLogShowType`:`group`=分组 / `tile`=平铺)、日志展示模式(`dataLogShowType`,已确认 `single`=单个展示) |
97
+ | `e10-cli form log-setting set <objId> <appId> [--show-log on\|off] [--log-types <列表>] [--form-log-show-type group\|tile]` | 修改日志设置:`--log-types` 用逗号分隔的 chip 名称或数字(如 `操作日志,打印日志`),清空用 `none`;只改点名的项,走 `obj/saveOrUpdate` 整对象回写并回读校验,不影响表单说明/名称/标题等其它字段 |
98
+ | `e10-cli form name-lang get <objId> <appId>` | 查看**表单名称**的中英文与多语言标签 id;未配置时返回当前名称和 `configured:false` |
99
+ | `e10-cli form name-lang set <objId> <appId> [--zh <中文>] [--en <English>]` | 设置**表单名称**多语言(`--zh` / `--en` 至少一个)。先写多语言标签拿 targetId,再用 `name:{nameAlias,nameAliasLabelId}` 整体回写表单对象,两端回读校验。中文是默认语言;只给 `--en` 时保留当前名称作中文。首次设置会新建标签并挂回表单;与字段名多语言、自定义标题互不影响 |
100
+ | `e10-cli form base-setting get <objId> <appId> [--part field\|data]` | 查看表单**功能设置**某一段(`formBaseSetting`,`--part` 缺省 `field`):字段设置的浏览框数据获取最新标题;数据设置的启用附件鉴权、免登场景执行联动,以及该段其它已落库的键;`--json` 输出完整对象 |
101
+ | `e10-cli form base-setting set <objId> <appId> [--part field\|data] [--browser-latest-title on\|off] [--linkage-mode system\|custom] [--file-permission on\|off] [--login-free-execute on\|off] [--detail-button-mode system\|custom] [--detail-batch-always-visible on\|off] [--detail-row-action-position float\|inline] [--data-log-mode system\|custom] [--record-form-log on\|off] [--insert-data-log on\|off]` | 修改表单功能设置:**字段设置**「浏览框数据获取最新标题」(`currentRelDetail`);**数据设置·字段联动设置** 设置类型(`linkageFilePermissionType`)、启用附件鉴权(`linkageFilePermission`)、免登场景执行联动(`fdLinkageNoLoginExecute`);**数据设置·明细表按钮设置** 设置类型(`subBtnType`)、批量操作按钮常显(`fixBatchOperate`)、行操作按钮位置(`rowActionPosition`:`float`=明细行上 / `inline`=明细行内);**数据设置·数据日志设置** 设置类型(`insertDataLogType`)、记录表单日志(`needDataLog`)、新建数据记录日志(`insertDataLog`)。**每段的设置类型 `system`=读取系统设置、`custom`=自定义设置,段内单项只有自定义设置下才生效**;改单项时若该段不是自定义设置,命令会自动切成 `custom` 并标注,也可显式指定(显式设 `system` 时不能再改该段其它单项)。不给 `--part` 时按选项推断,两段混用会报错。只改点名项、整段回写并回读校验。详见 `references/form/guide-form-base-setting.md` |
94
102
  | `e10-cli form serial-mark set <objId> <appId> <fieldId> --segments @<json>` | **表单编号**(纯建模表):用 JSON 数组组合任意编号规则,数组顺序即拼接顺序。段类型 `fixed`/`year`/`serial`/`field`/`system`/`date`;field 段可 inline `shortName` 代字映射。子命令组:`set`(配置,--segments) / `add-segment`(增量追加段) / `short-name`(代字 list/set) / `read`(查看) / `fields`(查可绑定字段) / `enable`(启用) / `disable`(停用,可加 `--field <fieldId>` 只停某一个字段的编号) / `clear`(解除绑定)。**`disable` 停用 ≠ `clear` 解除**:停用只关开关(`isUse=0`),绑定记录与组成段原样保留、可 `enable` 恢复;解除走删除接口,绑定不可逆。要「暂时不生成编号」一律用 `disable`。被编码字段平台自动只读。**⚠ 仅对未绑流程的纯建模表有效——eb表单绑流程后表单编号字段在流程提交时不生效,编号改走流程编号(`workflow numbering`,落到 REQUEST_NO 系统字段)** |
95
103
  | `e10-cli form field-options <objId> <appId> <fieldId> --options @<json> [--default <key>]` | 设选项/默认值。options.json: `[{"name":"选项名","valueKey":"可选"}]`;`--default` 用平台生成的长 valueKey(`form read --app-id` 获取),不是 name |
96
104
  | `e10-cli form option-template <list\|read\|create\|copy\|delete>` | **Select 选项预设模板管理**(下拉选项复用:多个表单共享一套选项,模板改了各表单跟着变)。`list [--system]` 列模板(默认自定义模板,--system 看系统内置);`read <模板ID> [--flat]` 看选项树;`create <名称> --options @<json> [--level 1] [--describe 文本]` 建模板(options.json: `[{"name":"低","valueKey":"10","children":[]}]`,**valueKey 必须数字**,children 嵌套=多级);`copy <模板ID>` 复制(系统 default 模板不可复制);`delete <模板ID>` 删模板(被引用时平台拒绝)。**字段引用模板**:`form add-field --option-template <模板ID或名>` 或 fields.json 写 `"optionTemplate":"模板名"`(Select 专有,选项不内联) |
@@ -100,7 +108,7 @@
100
108
  | `e10-cli form relate <appId> <objId> <目标字段> --from <源字段>` | **HRM 值带出联动**:源字段为表内 Employee(人员)或 Department(部门)类型,换源自动填目标字段(换申请人→填邮箱/工号/部门;换所属部门→填部门编号/上级部门)。`--key` 从平台清单校验(默认 Employee=department、Department=name),`--title` 指定显示名(默认属性中文名)。详见 `form/guide-form-linkage.md` |
101
109
  | `e10-cli form delete-field <objId> <appId> <fieldId...>` | **删除字段**(可一次多个,批量)。**仍被布局引用的字段平台不允许删除**(报「当前字段已被布局引用,不允许删除」);加 `--force` 时 CLI 先从布局移除再重试——会**连字段的标题组件一起摘**(一个字段在布局里是「字段本体 + 标题标签」两个组件),否则表单上会留下孤儿标签。字段**有数据**时同样删不掉 |
102
110
  | `e10-cli form delete <objId> <appId>` | 删除**整个表单**(不是字段;删字段用上面的 delete-field) |
103
- | `e10-cli form rename <objId> <appId> <新名称>` | 修改**表单名称**。⚠ 表单名称与**自定义标题**是分开的两套(标题用 `form title`),两者不一致属正常状态,不是漏改。平台该接口是整对象覆盖,命令内部**先读回完整对象、只换名称、再整体回写**,不会清掉其它配置;改完回读校验。改名称**不影响**标题 |
111
+ | `e10-cli form rename <objId> <appId> <新名称>` | 修改**表单名称**。⚠ 表单名称与**自定义标题**是分开的两套(标题用 `form title`),两者不一致属正常状态,不是漏改。平台该接口是整对象覆盖,命令内部**先读回完整对象、只换名称、再整体回写**,不会清掉其它配置;改完回读校验。改名称**不影响**标题。**已配置名称多语言时只改默认语言文本,保留 `nameAliasLabelId`(英文等其它语言不动)** |
104
112
  | `e10-cli form title get <objId> <appId>` | 查看**表单自定义标题**:标题文本、表单页面名、是否隐藏页面头部 / 隐藏表单标题、页面名是否全含 |
105
113
  | `e10-cli form title set <objId> <appId> [--show-name <文本>] [--form-page-name <文本>] [--hide-header\|--no-hide-header] [--hide-title\|--no-hide-title] [--page-name-all-in 0\|1]` | 修改自定义标题(至少要给一项)。先读回现有标题、叠上改动再整份提交,改完逐项回读校验。⚠ **标题处于隐藏状态时,改了标题文本界面上也看不出变化**(`get` 会提示) |
106
114
  | `e10-cli form permission create <add\|update\|show> <objId> <appId> [--right-id <id>] --org-type <类型> [--org-id <id>] [--org-name <名>] [设置项]` | **创建权限**(谁能新建记录)。通用对象支持 all/employee/department/company/role/group/post/partTime/grade/external/externalAll;`all`/`externalAll` 的 orgId 自动 0。`update` 只改点名项并整行回写;`show` 查看布局/优先级/描述/条件/同步列表。设置项见下一行 |
@@ -118,7 +126,7 @@
118
126
  | `e10-cli form list-columns attr show\|set <objId> <appId> <listId> --field <fieldId> [--align left\|center\|right] [--remark <文本>] [--plain-text on\|off] [--view-data-detail on\|off] [--formula-type sum,avg\|none] [--formula-range currentPage,allPage] [--fixed on\|off] [--width N] [--width-unit px\|%] [--wrap whole\|auto\|disabled] [--hidden-column on\|off] [--editable 0\|1] [--rich-editor on\|off] [--show-name <名>] [--conversion '<json>'] [--terminal pc/mobile]` | 列属性层(`getListFields`):对齐、字段注释、纯文本展示、数据超链接、列统计与统计范围、冻结、列宽、换行设置、隐藏列、显示名、可编辑、富文本、显示转换。PC 写入走平台单字段接口 `saveListFieldById`(**两端同时生效**);`--terminal mobile` 按终端回写,只支持宽度/冻结/换行/隐藏这类独立属性。只改目标列,保存后回读目标列断言 |
119
127
  | `e10-cli form list-filter sql get\|set <objId> <appId> <listId> [--sql @sql.json] [--base-sql <sql>] [--dialect "mysql=<sql>"] [--dataset-id <id>]` | **SQL 条件**(`filter.type=sql_where`):SQL 正文写进独立的 `sqlfragments` 数据集,视图只记数据集 ID。`sql.json` 键:`base` + `mysql/oracle/sqlserver/pg/dm/kingbase/st/oceanbase`(对应平台 `mysqlSql/oracleSql/sqlserverSql/pgSql/dmSql/kingBaseSql/stSql/oceanbaseMysql`)。主表别名 `t1`、明细 `d1`、`{参数}` 为运行时占位;保存后回读视图条件与数据集正文。`--dataset-id` 只切绑定不新建;`--ignore-empty on|off` 写「变量值为空时不参与过滤」(`filterIsNull`:on→false,off→true)。详见 `form/guide-form-view.md` |
120
128
  | `e10-cli form list-filter http get\|set <objId> <appId> <listId> --url <url> [--method GET\|POST] [--param name=value] [--header name=value] [--form name=value] [--payload '<json>'] [--ignore-empty on\|off]` | **自定义接口条件**(`filter.type=http`):URL + 方法 + Params/Headers/Body(form-data 或 JSON)。落库 `data.{method,contentType,url,urlParams[],headers[],formData[],payload}`,`rootStr="自定义接口"`,PC/移动端同写;保存后回读 URL 与方法。详见 `form/guide-form-view.md` |
121
- | `e10-cli form list-config get\|set <objId> <appId> <listId> [选项...] [--terminal pc/mobile] [--pc-only]` | 视图设置(`getNListConfig` 顶层键),选项按平台面板分组:基本信息(`--show-title`/`--hide-checkbox`/`--default-display-edit-modal`/`--operate-column-fixed`/`--spread-top-button`/`--prefix-column`/`--field-choose-width-fixed`/`--quick-search-textarea`/`--sub-form-main`/`--sub-form-show-empty`/`--head-merge`/`--page-size`;数据列表插件另有 `--title`/`--hide-table-header`/`--operate-btn-fixed`/`--group '<json>'`/`--superior '<json>'`)、网格(`--grid-row|col|width|height` + `-type`)、显示数据(`--permission-scope`/`--data-range-type`/`--list-data-range`/`--show-follow`/`--read-state`/`--set-top|type|rule`)、批量(`--batch-add|edit` + `-fields`/`--batch-edit-value`/`--can-delete`)、展示模式(`--open-child-list`/`--sup-field`/`--expand-level`/`--expand-num-limit`/`--expand-page-type`/`--enable-group`/`--group-field`/`--group-enable-count`/`--only-display-data-group`)。只改点名键、其余原样回写,保存后只回读被改的键;`get` 额外展示操作按钮摘要(只读,不写 `buttonConfig`)。键名与平台「视图设置」面板的配置项一一对应 |
129
+ | `e10-cli form list-config get\|set <objId> <appId> <listId> [选项...] [--terminal pc/mobile] [--pc-only]` | 视图设置(`getNListConfig`),选项按平台面板分组:基本信息(`--show-title`/`--hide-checkbox`/`--default-display-edit-modal`/`--default-display-edit-modal-permission '<json>'`/`--operate-column-fixed`/`--spread-top-button`/`--prefix-column`/`--field-choose-width-fixed`/`--quick-search-textarea`/`--sub-form-main`/`--sub-form-show-empty`/`--head-merge`/`--page-size`;数据列表插件另有 `--title`/`--hide-table-header`/`--operate-btn-fixed`/`--group '<json>'`/`--superior '<json>'`)、网格(`--grid-row|col|width|height` + `-type`)、显示数据(**数据范围落 `dataset.ebuilderDataConfig.dataSetup`**:`--data-permission ALL\|HAVE_PERMISSION_DATA` / `--data-type ALL\|FORM\|APPROVE` / `--list-data-range <值>` / `--data-setup '<整对象>'`;旧的 `--data-range-type`/`--permission-scope` 已废弃并报迁移提示。另有 `--show-follow`/`--read-state`/`--set-top|type|rule`)、批量(`--batch-add|edit` + `-fields`/`--batch-edit-value`/`--can-delete`;字段数组按 `fieldId` 子集回读,平台补全键不误报)、展示模式(`--open-child-list`→`superiorField.enable`、`--sup-field`、`--expand-level`/`--expand-num-limit` 落 `superiorField` 内、`--group-field`/`--group-enable-count`/`--only-display-data-group`;分组用 `--group` 整对象,`--enable-group` 布尔已删除)。只改点名键、其余原样回写,保存后只回读被改的键;`get` 额外展示操作按钮摘要(只读,不写 `buttonConfig`)。`--set-top-rule` 支持简化 `conditions` 入参并由 CLI 生成平台标准条件树 |
122
130
  | `e10-cli form list-unit <objId> <appId> <listId> <fieldId> <后缀> [--prefix <前缀>] [--clear] [--pc-only]` | 设置台账列显示**单位**(后缀/前缀)。平台无字段级单位属性,靠列表列配置 `showTrans.ruleConfig.suffix/prefix` 实现。如 `form list-unit ... <fieldId> "(元)"` 让列显示单位;`--clear` 清除 |
123
131
  | `e10-cli form list-format <objId> <appId> <listId> <fieldId> [--thousandths] [--no-thousandths] [--decimal <n>] [--clear] [--pc-only]` | 查看/设置台账列**千分位/小数位**(Number/Money 列)。不加参数显示当前;`--thousandths` 开千分位(列 `format:"THOUSANDS"`)、`--no-thousandths` 关、`--decimal <n>` 小数位数(`decimalLength`)、`--clear` 清除恢复默认。与 `list-unit`(单位,走 `showTrans`)是两套不同机制。**自动保留移动端配置** |
124
132
  | `e10-cli form list-click <objId> <appId> <listId> <fieldId> [--target <formObjId>] [--open-mode <模式>] [--win-size <尺寸>] [--clear] [--pc-only]` | 设置台账列**点击跳转**。`--open-mode` 支持当前页面/新窗口/弹出窗口/右侧滑出/右侧推出;`--win-size` 仅用于滑出/推出,具体数值按需求填写:百分比使用 `%`(0~100),像素使用 `px`,两种单位不可混用。缺省 `800px` |
@@ -142,14 +150,14 @@
142
150
  | `e10-cli form list-event <objId> <appId> <listId> [--add-page '<json>'] [--add-field '<json>'] [--open-mode <模式>] [--modal-width <pct>] [--modal-height <pct>] [--win-size <pct>] [--clear] [--pc-only]` | 查看/配置**行事件**(点击行数据 NewPage 打开表单布局)。`--add-page '{"pageId":"1/<objId>","pageName":"新建数据","openMode":"右侧滑出"}'` 选页面方式(pageId 缺省 `1/<objId>` 新建布局,`0/<objId>`=显示布局)、`--add-field '{"urlFieldId":"字段id"}'` 选字段方式(URL取自行内字段值,urlFieldText/Type自动补)、`--clear` 清空。**打开方式** `--open-mode`(或在 JSON 里写 `openMode`):当前页面/新窗口/弹出窗口/右侧滑出(缺省)/右侧推出;弹出/滑出/推出 用 `--modal-width`/`--modal-height`(缺省 50%),滑出/推出 用 `--win-size`(缺省 100%)。走 saveNListConfig config.eventGroup(明文 JSON,config+mConfig 都写)。**自动保留移动端配置** |
143
151
  | `e10-cli form list-group <objId> <appId> <listId> [--enable --group-field <fieldId> [--group-size N]] [--disable] [--pc-only]` | 查看/配置**启用分组**(台账按某字段分组聚合显示)。`--enable --group-field <分组字段id> [--group-size N 默认100]` 启用/换分组字段、`--disable` 禁用(保留 groupField/groupSize 仅 enable=false)。走 saveNListConfig config.enableGroup(对象,持久化,不走 layout/save LZW)。**自动保留移动端配置** |
144
152
  | `e10-cli form list-hierarchy <objId> <appId> <listId> [--enable --parent-field <名称或fieldId> [--expand-level N]] [--disable] [--pc-only]` | 查看/配置**上下级树形展示**。上级字段必须是主表中单选、关联当前表单自身的 EBuilder 字段(常见名称“上级类型”);与普通 `list-group` 分组聚合不是同一能力。走 `saveNListConfig config.superiorField`,保存后独立回读并自动保留移动端配置 |
145
- | `e10-cli form list-permission <objId> <appId> <listId> [--add-all] [--add-user <userId> --name <name>] [--add-role <roleId> [--name <name>]] [--add-matrix <矩阵id> --name <name>] [--share-level <n>] [--seclevel <min>-<max>] [--add-raw '<json>'] [--remove <id>] [--remove-all] [--clear]` | 查看/配置**台账视图权限**(谁能查看这个台账)。`--add-all` 所有人(自动把空 dataid 与 0 视为同一主体,避免重复)、`--add-user` 人员、`--add-role` 角色、`--add-matrix` 矩阵(同 `form permission archive` 的矩阵条件参数:`--matrix-condition` / `--matrix-condition-relation` / `--matrix-condition-comp-type` / `--matrix-condition-raw`)。`--remove <id>` 删除指定权限;`--remove-all` 删除全部“所有人”,与 `--add-all` 同用可清理重复后只保留一条;`--clear` 清空全部。保存走 `list/permission/save` 全量覆盖并回读。另支持共享级别和安全级别范围 |
153
+ | `e10-cli form list-permission <objId> <appId> <listId> [--add-all] [--add-user <userId> --name <name>] [--add-dept <deptId> [--name <名称>]] [--add-role <roleId> [--name <name>]] [--add-matrix <矩阵id> --name <name>] [--share-level <n>] [--seclevel <min>-<max>] [--add-raw '<json>'] [--remove <id>] [--remove-all] [--clear]` | 查看/配置**台账视图权限**(谁能查看这个台账)。`--add-all` 所有人(自动把空 dataid 与 0 视为同一主体,避免重复)、`--add-user` 人员、`--add-dept` 部门(`--name` 缺省自动取部门名;保存后强制回读,回读不到会报错并建议改用 `--add-raw`)、`--add-role` 角色、`--add-matrix` 矩阵(同 `form permission archive` 的矩阵条件参数)。`--remove <id>` 删除指定权限;`--remove-all` 删除全部“所有人”,与 `--add-all` 同用可清理重复后只保留一条;`--clear` 清空全部。保存走 `list/permission/save` 全量覆盖并回读。另支持共享级别和安全级别范围 |
146
154
  | `e10-cli form list-search-group <objId> <appId> <listId> [--add <字段名或fieldId>] [--add-custom <名称>] [--custom @配置.json] [--archive on\|off] [--position 0\|1] [--display 平铺\|下拉] [--show-archive on\|off] [--option-order default\|field] [--no-show-count] [--count-update] [--only-with-data] [--date-granularity <列表>] [--default-group <粒度> --default-value <起,止>] [--options <列表>] [--default-options <列表>] [--remove <fieldId>] [--clear] [--pc-only]` | 查看/配置**分类搜索**(台账顶部/下拉的分类筛选)。`--add` 收**字段名或 fieldId**,已在里面则按本次参数**重建那条**(改配置走它)—— 本次没给的选项一律回到缺省,所以只改一项时要把想留着的一起给全。支持四类:**选项类**(Select/RadioBox/CheckBox)、**浏览框类**(Ebuilder/Browser/Employee/Department)、**日期类**(DateComponent)、**系统字段**(创建者/数据ID 这类)。`--position` **0=顶部(缺省)/1=左侧(下拉样式)**(平台枚举 Top="0"、Left/DropDown="1");`--display` 是「显示方式」:`平铺` 写 `tabStyle="tab"`、`下拉` 写 `"select"`(缺省下拉);`--show-archive on|off` 控制「显示封存的选项」`showArchiveOption`(缺省 on)。`--add-custom <名称>` 添加**自定义分类**(`componentKey=GroupCustom`):id 由前端生成 18 位数字、`fieldId=GroupCustom_<id>`(平台没有创建接口),分类值 `listGroupSets` 初始为空、之后在设计器里配置;同名分类再执行即更新(保留原 id),可用 `--remove <名称|id|fieldId>` 删除;`--option-order` 浏览框的选项排序(default 默认排序 / field 按字段属性设置);`--no-show-count` 关掉统计数字,`--count-update` 让统计数字**随搜索结果更新**(选项/浏览框/日期可用,缺省只在进入台账时统计一次);`--only-with-data` **仅显示有数据的选项**(**只有**选项/浏览框类有这个键,日期与系统字段用不了;这个键**勾上才出现**,不勾整个键都没有);`--date-granularity` 日期粒度(全年/半年/季度/月,缺省全要);`--options` / `--default-options` 控制选项类**哪些选项出现 / 哪些默认选中**。日期类的**默认值**用 `--default-group <粒度>` + `--default-value "起,止"`(两个**必须一起给**;平台存的是一条 `{value,group}` 的默认值,并把它对应的粒度标成默认勾上)。**仅主表字段,不支持明细(产品边界,传明细报错)**。走 saveNListConfig `config.searchConditions.groupFilters`(视图级明文) |
147
155
  | `e10-cli form nlist apply <objId> <appId> <listId> <template>` | 配置**列表式视图**(台账)的显示列:模板是二维数组(行 → 列),列项可绑表单字段(`fieldId`)或做**自定义文本**列(不给 `fieldId`、给 `html`,里面用 `{{字段名}}` 插入表单字段)。自动读移动端槽位一并写入。`show` 查看当前配置。⚠ 仅对列表式(NList)生效,表格式用 `form table-view`。详见 `form/guide-list-custom-text.md` |
148
156
  | `e10-cli form nlist add-field\|remove-field <objId> <appId> <listId> <fieldId...> [--form-id <id>]` | **增量**改列表式/卡片视图显示字段:追加的字段各占一行,移除时同时清 `listField` 与 `cardLayout.grid`;已有布局原样保留(不重建模板)。隐藏主键 `id=5` 恒保留。PC 与移动端一次提交,两端回读 |
149
157
  | `e10-cli form view list <objId> <appId> [--with-comps]` | 列出表单全部视图。`--with-comps` 额外拉每个视图布局 comps 数、标出空视图(NList 数据视图会显示「读取失败」,正常) |
150
- | `e10-cli form view rename <objId> <appId> <viewId> <新名称>` | 修改视图名称并回读。**表单视图与台账各走一条接口**(台账与卡片视图走 `viewlist/buttonEvent` 的编辑动作,报文 `viewType` 分别为 `nListView`/`cardView`;其余视图走 `layout/rename`),命令按类型自动选。保留原视图 ID 和配置。需求名称与默认名称不一致时统一用此命令,不新建重复视图 |
158
+ | `e10-cli form view rename <objId> <appId> <viewId> <新名称>` | 修改视图名称并回读。**只有 `formView` 走 `layout/rename`;cardView / 台账 / 看板 / 日历 / 思维导图 / 多维等全部走 `viewlist/buttonEvent` 的编辑动作**。`viewType` 有两套词汇:台账 `getViewlist` 里是 `NList`,`buttonEvent` 只认 `nListView`(命令自动归一);其余原样透传真实类型(日历、看板传成 `nListView` 会 500)。删除同规则,且删除后回读会做有限次重试(平台异步删除)。保留原视图 ID 和配置 |
151
159
  | `e10-cli form view delete <objId> <appId> <viewId>` | 删除视图(表单视图 / 台账 / **卡片视图** / 看板等,按类型自动选接口;台账与卡片视图走 `viewlist/buttonEvent`)。⚠ **不可逆、无回收站**。先回读定位目标,删完**再回读确认确实没了**才算成功 |
152
- | `e10-cli form view create <objId> <appId> <视图名> [--type formView\|cardView\|kanbanView\|calendarView\|mindMapView\|multiView] [--terminal PC\|MOBILE] [--layout-type FLOW\|EXCEL] [--detail <明细名>] [--sub-form-id <明细subFormId>]` | 给**已有表单**添加视图。`formView` 创建后是空布局,需续跑 `form view populate` 填字段;`cardView` 走精简 body(不带 layoutType),创建后必须在 `cardView.detail` 回读到,否则报错提示抓 createView 报文;`kanbanView`/`calendarView`/`mindMapView`/`multiView` 建视图实体。**multiView 数据维度**:缺省主表;明细表维度用 `--detail <明细名>`(按名解析)或 `--sub-form-id <明细subFormId>`(直传),传值即明细维度(`subFormMain:true`)。**台账(NList)视图**用 `form table-view create`,不在此命令 |
160
+ | `e10-cli form view create <objId> <appId> <视图名> [--type formView\|cardView\|kanbanView\|calendarView\|mindMapView\|multiView] [--terminal PC\|MOBILE] [--layout-type FLOW\|EXCEL] [--detail <明细名>] [--sub-form-id <明细subFormId>]` | 给**已有表单**添加视图。`formView` 创建后是空布局,需续跑 `form view populate` 填字段;`cardView` 走精简 body(**不带 terminalType / layoutType**,带 terminalType 会平台 500),创建后必须在 `cardView.detail` 回读到,否则报错提示抓 createView 报文;cardView 不能挂设计器组件(数字面板等),需要组件请用 EB 页面或台账的列表式/卡片布局;`kanbanView`/`calendarView`/`mindMapView`/`multiView` 建视图实体。**multiView 数据维度**:缺省主表;明细表维度用 `--detail <明细名>`(按名解析)或 `--sub-form-id <明细subFormId>`(直传),传值即明细维度(`subFormMain:true`)。**台账(NList)视图**用 `form table-view create`,不在此命令 |
153
161
  | `e10-cli form view populate <objId> <appId> <viewId>` | 把已有字段按布局类型填入 formView。视图为空则整份填;**视图已有字段时只补缺**——只补视图里还没有的字段,已有组件的排版与属性一个不动(重跑幂等)。表单新增字段后要让它出现在某个视图里,也走这条 |
154
162
  | `e10-cli form message list <appId> [--obj-id <objId>] [--keyword <kw>] [--page-size <n>] [--page-index <n>]` | 列出**消息提醒**(表单数据变动时提醒人)。不传 `--obj-id` 列出整个应用的;传了**在本地按表单收口**(平台那条过滤参数不生效)。详见 `references/form/guide-form-message.md` |
155
163
  | `e10-cli form message get <appId> <triggerId> [--obj-id <objId>]` | 查看单条消息提醒,含**推送渠道**与提醒对象。渠道不在列表与详情返回里,命令额外读一次补上 |
@@ -612,6 +620,9 @@ e10-cli report py preagg --report-id <id> [--app-id <id>]
612
620
  | `e10-cli matrix enable <id>` / `disable <id>` | 启用 / 停用(停用后数据只读) |
613
621
  | `e10-cli matrix update <id>` / `delete <ids...>` | 更新基本信息(名称/描述/同步方式)/ 删除(级联删配置、数据、维护者) |
614
622
  | `e10-cli matrix data` | 矩阵数据维护(映射行)。`data save` 简写为 `[{rowId?, "<列configId>": ["<实体ID>"]}]`:**带 `rowId` 改那一行、不带为新增**(行 id 用 `data list` 拿;同步型矩阵的行 id 就是部门 id)。改行只给要改的列即可,CLI 自动补全其余列并回读比对 |
623
+ | `e10-cli matrix person list [--keyword <kw>]` | 列出**人员矩阵**(组织架构里与条件矩阵并列的另一套矩阵,`/bs/hrm/matrix/*`):id / 名称 / 启停 / 描述 |
624
+ | `e10-cli matrix person fields <matrixId>` | 查看人员矩阵的字段(列)及字段类型、排序 |
625
+ | `e10-cli matrix person data <matrixId>` | 查看人员矩阵的行数据(平台返回的当前页);人员值按姓名展开。人员矩阵目前只提供只读查看,建改删暂未开放 |
615
626
  | `e10-cli matrix maintainer options\|list\|get\|add\|update\|delete` | 矩阵维护者配置:先查当前矩阵可用主体、维护类型、数据权限、条件码表和值列,再用 JSON 配置新增或完整更新;`delete <matrixId> <条目ID> [更多条目ID...]` 删除指定维护者。写入或删除后按条目回读核对。详见 `references/hrm/guide-matrix.md` |
616
627
 
617
628
  > 行从哪来(`syncType`)、字段能不能改(`permList` 里有没有 `FIELD`)、以及「条件列 → 人员列 → 数据映射 → 运行时读回」的完整步骤见 `references/hrm/guide-matrix.md`。
@@ -751,3 +762,21 @@ e10-cli workflow action list-node <wf> <nodeId>
751
762
  普通页面源码:`designer source read <pageId> --terminal pc|mobile [--out file]`;`designer source check --js-file page.js --css-file page.css` 离线检查;`designer source set <pageId> --terminal pc|mobile --js-file page.js --css-file page.css [--apply]` 默认预览,`--clear-js/--clear-css` 显式清空;`designer source sdk [--query 方法名] [--id 接口ID] [--out file]` 查询接口文档。见 [页面源码指南](../ebuilder-designer/page-source/page-source-guide.md) 及 [完整 SDK 索引](../ebuilder-designer/page-source/sdk-index.md)。
752
763
 
753
764
  页面事件:`designer event schema` 查询动作及码表;`get/set/enable/remove <pageId> [--comp id] [--collection name --item id] --terminal pc|mobile|both` 定位页面、组件或子项;写命令使用 `--trigger CLICK|DIDMOUNT`,`set --config @action.json` 替换唯一动作,`enable --value true|false` 启停,`--apply` 保存。`lookup --kind page|esb|logic|device|person|sign --id id` 读取资源;`condition-create <pageId> --comp id --where-file file [--apply]` 独立创建刷新过滤条件。完整配置见 [事件指南](../ebuilder-designer/events/guide-events.md)。
765
+
766
+ 组件权限:`designer permission schema/lookup/get/fields` 查询本入口配置、组织对象及来源字段;`common add/update/remove/clear <pageId> --comp id --scope use|disabled --terminal pc|mobile` 配置普通范围;`matrix add/update/remove/clear` 配置矩阵/EB表单相关使用范围。增改用 `--config @file`,修改删除用最新 `--rule shareKey|id`,默认预览,`--apply` 保存。完整方法见 [组件权限指南](../ebuilder-designer/component-permission.md)。
767
+
768
+ 移动端标签栏:`designer tabbar schema/get/set/add/update/remove/order`。菜单事件用 `designer event --collection items --item id --terminal mobile`;详见 [标签栏指南](../ebuilder-designer/guide-tabbar.md)。
769
+
770
+ 列表高级配置:`designer list advanced get/fields/set <pageId> --comp id --terminal pc|mobile`,set 使用 `--config @file [--apply]`;行点击事件使用 `designer event --trigger CLICKDATA`。见 [列表高级配置](../ebuilder-designer/guide-list.md)。
771
+
772
+ 列表交互设置:`designer list controls filter/order/search/button`,各组 --help 查看动作;按钮事件使用 `designer event --collection listButtons --item id`。见 [列表搜索与按钮指南](../ebuilder-designer/guide-list.md)。
773
+
774
+ 列表展示:`designer list advanced presentation <pageId> --comp id --terminal pc|mobile --config @file [--apply]`。见 [列表展示指南](../ebuilder-designer/guide-list.md)。
775
+
776
+ 列表运行设置:`designer list advanced runtime <pageId> --comp id --terminal pc|mobile --config @file [--apply]`,分页、刷新、滚动、无数据展示、预加载、延迟加载及视图切换,见 [统一列表指南](../ebuilder-designer/guide-list.md)。
777
+
778
+ 自定义页面组件:`designer custom-page schema/get/targets/content/title/button/rule/visibility/config`;写入指定 `--comp`、`--terminal pc|mobile`、`--config @file [--apply]`。帮助事件使用 `designer event --collection customPageButtons --item id --trigger CLICK`。详见 [自定义页面组件](../ebuilder-designer/guide-custom-page.md)。
779
+
780
+ 事件顺序动作与递归条件:`designer event set --config @sequence.json` 使用 `{actions:[...]}` 或 `{nativeActions:[...]}`;`designer event action add/update/remove/enable/order`、`branch add/update/remove/enable/order` 支持按 ID 和 `--parent` 编辑;候选用 `event fields/targets` 查询。见 [事件指南](../ebuilder-designer/events/guide-events.md)。
781
+
782
+ 普通页面管理:`page rename <pageId> --name ... [--apply]`、`page copy <pageId> --name ... [--group-id id] [--apply]`、`page transfer <pageId> --app-id ... [--apply]`;`page groups/transfer-targets --app-id ...` 查询候选。`page delete <pageIds...>` 保留默认直接执行方式,`--preview` 只预览。详见 [普通页面管理](../ebuilder-designer/guide-page-management.md)。
@@ -0,0 +1,131 @@
1
+ # 页面组件权限
2
+
3
+ ## 功能介绍
4
+
5
+ 组件权限控制页面内单个组件的使用范围,以及使用范围内的禁用范围。普通范围按人员、部门、分部、角色、岗位等组织对象授权;矩阵相关范围从矩阵或 EB 表单的数据中取得人员,可进一步筛选来源数据。
6
+
7
+ 页面整体使用权限使用 `page permission`;组件权限使用 `designer permission`。列表的数据权限决定可读取哪些数据,不能用组件隐藏或禁用代替数据权限。事件中的显示/隐藏动作也独立于组件权限。
8
+
9
+ 配置入口是普通页面设计器中选中组件后的权限设置。PC 与移动端分别维护,两个终端组件 ID 不相同。命令每次指定一个终端,另一终端需用其组件 ID 单独配置。
10
+
11
+ ## 命令与配置流程
12
+
13
+ ```sh
14
+ e10-cli designer permission schema
15
+ e10-cli designer permission lookup --type department --id <departmentId>
16
+ e10-cli designer permission get <pageId> --comp <compId> --terminal pc
17
+ e10-cli designer permission fields <pageId> --source-type matrix --source-id <matrixId>
18
+ e10-cli designer permission fields <pageId> --source-type ebuilder_form --source-id <objId>
19
+ e10-cli designer permission common add <pageId> --comp <compId> --scope use --config @permission.json
20
+ e10-cli designer permission common add <pageId> --comp <compId> --scope use --config @permission.json --apply
21
+ ```
22
+
23
+ 先读取组件和配置表,再查询真实对象/来源字段,生成配置,预览后添加 `--apply` 保存。配置参数支持内联 JSON 或 `@文件`,文件更适合复杂条件。
24
+
25
+ 普通规则提供 `common add/update/remove/clear`,`--scope use|disabled`,默认 `use`。矩阵及表单规则提供 `matrix add/update/remove/clear`,仅用于使用范围。所有写命令均支持 `--terminal pc|mobile`,默认 `pc`。
26
+
27
+ 修改或删除普通规则用 `--rule <shareKey>`;矩阵规则用 `--rule <id>`,未保存草稿可使用 `uuid`。ID 必须取自最新 `get` 或保存返回值。平台可能重建规则 ID,不能长期缓存旧 ID。
28
+
29
+ `update` 未提供的属性保留原值;主体类型更换需删除原行再新增。`clear` 只清空指定范围,不清空其他范围。空范围是撤销该项限制,不能当作拒绝所有人的表达式;实际展示还受页面权限及组件行为影响。
30
+
31
+ ## 普通范围
32
+
33
+ | `type` | 含义 | 对象 ID |
34
+ |---|---|---|
35
+ | `resource` | 人员 | 人员 ID |
36
+ | `department` | 部门 | 部门 ID |
37
+ | `subcompany` | 分部 | 分部 ID |
38
+ | `role` | 角色 | 角色 ID |
39
+ | `position` | 岗位 | 岗位 ID |
40
+ | `all` | 所有人 | 省略 |
41
+ | `allExternal` | 所有外部人 | 省略 |
42
+
43
+ 群组使用 `type: "group"` 和群组 ID;指定外部联系人使用 `type: "external"` 和外部联系人 ID。两者均可配置普通使用范围或禁用范围。群组基础权限类型为 `1411`,外部联系人为 `110`。每个入口仍读取自身 schema,仅在该入口提供此主体类型时允许新增。
44
+
45
+ 普通配置的可用属性如下;仅向对应主体传入属性。
46
+
47
+ | 属性 | 说明 |
48
+ |---|---|
49
+ | `id` | 单个真实对象 ID;对象名称由浏览接口取得 |
50
+ | `attributes` | 部门、分部:`subordinate` 包含下级、`include_superior` 含上级、`partTimeStaff` 包含兼职;传 `[]` 清空 |
51
+ | `roleLevel` | 角色:`4` 所有级别、`3` 分部及总部、`0` 总部、`1` 分部、`2` 部门 |
52
+ | `positionLevel` | 岗位:`1` 总部、`2` 指定分部、`3` 指定部门 |
53
+ | `subcompanies` | 岗位级别为 `2` 时必填,分部 ID 数组 |
54
+ | `departments` | 岗位级别为 `3` 时必填,部门 ID 数组 |
55
+ | `positionAttributes` | 岗位:`partTimeStaff` 包含兼职;传 `[]` 清空 |
56
+ | `security` | 安全级别 `{ "min": 0, "max": 100 }`;需环境启用并符合范围 |
57
+
58
+ `subordinate` 与 `include_superior` 不能同时设置;可各自与 `partTimeStaff` 组合。
59
+
60
+ `schema` 返回本组件权限入口的可用主体、附加选项、安全级别能力和 `disableAll`。不能拿组合页签或页面整体权限的选项替代。禁用所有人仅在 `disableAll=true` 时允许;所有外部人可用于禁用范围。
61
+
62
+ ```json
63
+ {
64
+ "type": "position",
65
+ "id": "<positionId>",
66
+ "positionLevel": "3",
67
+ "departments": ["<departmentId>"],
68
+ "positionAttributes": ["partTimeStaff"]
69
+ }
70
+ ```
71
+
72
+ ## 矩阵及 EB 表单相关范围
73
+
74
+ 一条规则包含来源 `source`、取值 `values` 和可选筛选条件 `condition`。来源为矩阵时使用矩阵 ID;来源为 EB 表单时使用 objId,不是 formId、布局 ID 或组件 ID。
75
+
76
+ ```json
77
+ {
78
+ "source": { "type": "matrix", "id": "<matrixId>" },
79
+ "values": [
80
+ { "field": "<ownerColumnId>", "relation": "SELF" },
81
+ { "field": "<assistantColumnId>", "relation": "IMMEDIATE_SUPERIOR" }
82
+ ],
83
+ "condition": {
84
+ "logic": "and",
85
+ "children": [
86
+ { "field": "<departmentColumnId>", "operator": "eq", "value": [{ "id": "<departmentId>", "name": "部门名称" }] }
87
+ ]
88
+ }
89
+ }
90
+ ```
91
+
92
+ 表单来源写为 `{"type":"ebuilder_form","id":"<objId>"}`,其他结构相同。`fields` 返回可用取值列和条件字段,不能任意使用目标页面字段。
93
+
94
+ 取值当前开放人员类型字段:`SELF` 本人、`IMMEDIATE_SUPERIOR` 直接上级、`IMMEDIATE_SUBORDINATE` 直接下属。同一字段可选择多个关系,也可选择多个取值字段。`values` 至少一行。更换来源时同时重新提供 `values` 和 `condition`;`condition:null` 撤销筛选,省略则保留原筛选。
95
+
96
+ ## 筛选条件
97
+
98
+ 条件组使用 `{"logic":"and|or","children":[...]}`,可混合嵌套;最多 12 层、500 个节点。叶子为 `{"field":"字段ID","operator":"操作符","value":值}`。单个叶子自动包装为 AND 组。
99
+
100
+ | 操作 | 写入码 | 可用别名 |
101
+ |---|---|---|
102
+ | 等于 | `eq` | `eq` |
103
+ | 不等于 | `neq` | `notEq` |
104
+ | 属于 | `aggregate` | `in` |
105
+ | 不属于 | `unaggregate` | `notIn` |
106
+ | 为空 | `empty` | `isNull` |
107
+ | 不为空 | `nempty` | `isNotNull` |
108
+
109
+ 人员、部门、分部的固定值为真实浏览对象数组,包括 `eq`、`neq`,例如 `[{"id":"<id>","name":"显示名称"}]`。文本及当前支持的 Ebuilder 条件值为字符串。为空/不为空省略 `value`,不接受右侧值。数值、日期及其他尚未开放的取值协议会报错,不能以任意 JSON 绕过。`fieldRef` 字段引用简写暂不开放。
110
+
111
+ 角色级别修改同时更新原生级别镜像,岗位级别变更同时更新机构取值并清除旧级别机构;命令自动处理这些字段,无需手工拼装。部门、分部及岗位的原生权限类型会随附加属性变化,不能固定复用读取到的 `permissionTargetType`。
112
+
113
+ 原生保存树使用 `relationship:"0"` 表示 AND、`"1"` 表示 OR;与页面事件条件码表不同。命令使用 `and/or` 自动转换。权限条件的值形状应按本入口字段处理,不能从其他浏览范围配置推断。
114
+
115
+ ## 保存与回读
116
+
117
+ 普通范围位于组件 `config.rights`,禁用范围位于 `config.disableRights`,矩阵及表单范围位于 `config.matrixRights`。矩阵的人员关系和筛选树在原生协议中分别序列化为 `matrixValueRelation`、`matrixConditionData`。
118
+
119
+ 命令读取完整布局,在局部修改权限后保存,保留另一终端、其他组件、事件、源码及原布局元数据。页面已有软锁或预检期间发生变化时停止覆盖。保存后重新读取,比较对象、级别、组织属性、安全范围及矩阵条件等授权含义,同时检查无关内容。平台生成的规则 ID、时间和对象展示元数据不作为失败依据。不要自行重算 `rightCompIds`。
120
+
121
+ 平台回读成功表示配置保存完整。组件是否可见、是否可操作还需要使用对应身份在前台检查;管理员设计器预览不能替代不同身份下的使用效果检查。
122
+
123
+ 群组与指定外部联系人:普通权限配置使用 `{"type":"group","id":"<groupId>"}` 或 `{"type":"external","id":"<externalId>"}`,适用于使用范围和禁用范围。以当前入口 schema 的可用类型为准;对象由当前入口浏览接口解析,不能跨环境复用 ID。
124
+
125
+ 群组的权限主体码为 `group`,浏览对象接口类型为 `channel`;外部联系人两处均为 `external`。CLI 自动转换浏览类型,不要将主体码直接拼成群组浏览接口。
126
+
127
+ ## 部门与分部对象解析
128
+
129
+ 组件使用范围、禁用范围、`designer permission lookup`、岗位指定部门/分部以及列表按钮 `--subjects` 复用同一个对象解析入口。优先读取 `/api/ebuilder/designer/common/browser/destData/{department|subcompany}`;请求失败、业务失败或未唯一匹配目标时,依次使用 HRM 通用 `destData` 和 HRM `data` 分页列表,按真实 ID 精确匹配。列表结果转换为权限需要的浏览对象,不能用名称代替 ID。
130
+
131
+ 仅部门、分部使用该兜底;人员、角色、岗位主体、群组及外部联系人的解析失败仍报原错误。岗位主体本身与岗位级别中的部门/分部分别查询。列表扫描受账号可见范围影响,默认每页 200 条、最多 100 页;所有路径都查不到时明确报错,不伪造对象写入。PC 与移动端复用同一解析方法,终端的权限保存分别维护。