weaver-e10-builder 1.2.3 → 1.2.5

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 (210) hide show
  1. package/dist/commands/actionflow.d.ts.map +1 -1
  2. package/dist/commands/actionflow.js +12 -25
  3. package/dist/commands/actionflow.js.map +1 -1
  4. package/dist/commands/designer-css.d.ts +15 -0
  5. package/dist/commands/designer-css.d.ts.map +1 -0
  6. package/dist/commands/designer-css.js +205 -0
  7. package/dist/commands/designer-css.js.map +1 -0
  8. package/dist/commands/form-field-lang.d.ts.map +1 -1
  9. package/dist/commands/form-field-lang.js +4 -39
  10. package/dist/commands/form-field-lang.js.map +1 -1
  11. package/dist/commands/form-layout-init.d.ts.map +1 -1
  12. package/dist/commands/form-layout-init.js +15 -10
  13. package/dist/commands/form-layout-init.js.map +1 -1
  14. package/dist/commands/form-layout.js +24 -21
  15. package/dist/commands/form-layout.js.map +1 -1
  16. package/dist/commands/form-native.d.ts.map +1 -1
  17. package/dist/commands/form-native.js +181 -0
  18. package/dist/commands/form-native.js.map +1 -1
  19. package/dist/commands/form-validate.d.ts.map +1 -1
  20. package/dist/commands/form-validate.js +11 -3
  21. package/dist/commands/form-validate.js.map +1 -1
  22. package/dist/commands/form.d.ts.map +1 -1
  23. package/dist/commands/form.js +76 -19
  24. package/dist/commands/form.js.map +1 -1
  25. package/dist/commands/menu.d.ts.map +1 -1
  26. package/dist/commands/menu.js +170 -23
  27. package/dist/commands/menu.js.map +1 -1
  28. package/dist/commands/wf-form.d.ts +1 -0
  29. package/dist/commands/wf-form.d.ts.map +1 -1
  30. package/dist/commands/wf-form.js +44 -13
  31. package/dist/commands/wf-form.js.map +1 -1
  32. package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
  33. package/dist/commands/workflow-node-assign-flow.js +1 -2
  34. package/dist/commands/workflow-node-assign-flow.js.map +1 -1
  35. package/dist/commands/workflow-node.d.ts.map +1 -1
  36. package/dist/commands/workflow-node.js +147 -2
  37. package/dist/commands/workflow-node.js.map +1 -1
  38. package/dist/commands/workflow-odoc.d.ts.map +1 -1
  39. package/dist/commands/workflow-odoc.js +56 -56
  40. package/dist/commands/workflow-odoc.js.map +1 -1
  41. package/dist/commands/workflow-setting.d.ts.map +1 -1
  42. package/dist/commands/workflow-setting.js +77 -1
  43. package/dist/commands/workflow-setting.js.map +1 -1
  44. package/dist/commands/workflow.d.ts.map +1 -1
  45. package/dist/commands/workflow.js +36 -80
  46. package/dist/commands/workflow.js.map +1 -1
  47. package/dist/core/client.d.ts +14 -0
  48. package/dist/core/client.d.ts.map +1 -1
  49. package/dist/core/client.js +28 -12
  50. package/dist/core/client.js.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/services/actionflow/command_output.d.ts +7 -0
  54. package/dist/services/actionflow/command_output.d.ts.map +1 -1
  55. package/dist/services/actionflow/command_output.js +46 -0
  56. package/dist/services/actionflow/command_output.js.map +1 -1
  57. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  58. package/dist/services/actionflow/components/action_eb_add.js +14 -4
  59. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  60. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
  61. package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
  62. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
  63. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  64. package/dist/services/actionflow/components/action_eb_update.js +23 -8
  65. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  66. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  67. package/dist/services/actionflow/components/action_eb_update_compiler.js +239 -6
  68. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  69. package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
  70. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
  71. package/dist/services/actionflow/components/custom_set_form.js +65 -0
  72. package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
  73. package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
  74. package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
  75. package/dist/services/actionflow/components/custom_trigger.js +7 -10
  76. package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
  77. package/dist/services/actionflow/components/enquiry_form.js +1 -1
  78. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  79. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  80. package/dist/services/actionflow/components/output.js +6 -1
  81. package/dist/services/actionflow/components/output.js.map +1 -1
  82. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  83. package/dist/services/actionflow/context_preflight.js +13 -6
  84. package/dist/services/actionflow/context_preflight.js.map +1 -1
  85. package/dist/services/actionflow/context_provider.d.ts.map +1 -1
  86. package/dist/services/actionflow/context_provider.js +3 -2
  87. package/dist/services/actionflow/context_provider.js.map +1 -1
  88. package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
  89. package/dist/services/actionflow/dynamic_resources.js +1 -1
  90. package/dist/services/actionflow/dynamic_resources.js.map +1 -1
  91. package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
  92. package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
  93. package/dist/services/actionflow/ebuilder_source.js +78 -0
  94. package/dist/services/actionflow/ebuilder_source.js.map +1 -0
  95. package/dist/services/actionflow/form_source.d.ts +51 -10
  96. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  97. package/dist/services/actionflow/form_source.js +173 -29
  98. package/dist/services/actionflow/form_source.js.map +1 -1
  99. package/dist/services/actionflow/formula_service.d.ts +4 -1
  100. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  101. package/dist/services/actionflow/formula_service.js +46 -22
  102. package/dist/services/actionflow/formula_service.js.map +1 -1
  103. package/dist/services/actionflow/preflight_service.d.ts +6 -0
  104. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  105. package/dist/services/actionflow/preflight_service.js +211 -3
  106. package/dist/services/actionflow/preflight_service.js.map +1 -1
  107. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  108. package/dist/services/actionflow/workflow_compiler.js +83 -15
  109. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  110. package/dist/services/designer-css.d.ts +89 -0
  111. package/dist/services/designer-css.d.ts.map +1 -0
  112. package/dist/services/designer-css.js +163 -0
  113. package/dist/services/designer-css.js.map +1 -0
  114. package/dist/services/dom-structure.d.ts +42 -0
  115. package/dist/services/dom-structure.d.ts.map +1 -0
  116. package/dist/services/dom-structure.js +251 -0
  117. package/dist/services/dom-structure.js.map +1 -0
  118. package/dist/services/form-field-patch.d.ts +22 -0
  119. package/dist/services/form-field-patch.d.ts.map +1 -1
  120. package/dist/services/form-field-patch.js +29 -0
  121. package/dist/services/form-field-patch.js.map +1 -1
  122. package/dist/services/form-i18n-label.d.ts +48 -0
  123. package/dist/services/form-i18n-label.d.ts.map +1 -0
  124. package/dist/services/form-i18n-label.js +91 -0
  125. package/dist/services/form-i18n-label.js.map +1 -0
  126. package/dist/services/form-style-template.d.ts +6 -2
  127. package/dist/services/form-style-template.d.ts.map +1 -1
  128. package/dist/services/form-style-template.js +8 -4
  129. package/dist/services/form-style-template.js.map +1 -1
  130. package/dist/services/menu-catalog.d.ts +84 -0
  131. package/dist/services/menu-catalog.d.ts.map +1 -0
  132. package/dist/services/menu-catalog.js +183 -0
  133. package/dist/services/menu-catalog.js.map +1 -0
  134. package/dist/services/workflow-add-step.d.ts +45 -0
  135. package/dist/services/workflow-add-step.d.ts.map +1 -0
  136. package/dist/services/workflow-add-step.js +122 -0
  137. package/dist/services/workflow-add-step.js.map +1 -0
  138. package/dist/services/workflow-assign-flow.d.ts +1 -6
  139. package/dist/services/workflow-assign-flow.d.ts.map +1 -1
  140. package/dist/services/workflow-assign-flow.js +3 -8
  141. package/dist/services/workflow-assign-flow.js.map +1 -1
  142. package/dist/services/workflow-drawback.d.ts +19 -0
  143. package/dist/services/workflow-drawback.d.ts.map +1 -0
  144. package/dist/services/workflow-drawback.js +59 -0
  145. package/dist/services/workflow-drawback.js.map +1 -0
  146. package/dist/services/workflow-links.d.ts +51 -0
  147. package/dist/services/workflow-links.d.ts.map +1 -0
  148. package/dist/services/workflow-links.js +162 -0
  149. package/dist/services/workflow-links.js.map +1 -0
  150. package/dist/services/workflow-node-layout.d.ts +45 -4
  151. package/dist/services/workflow-node-layout.d.ts.map +1 -1
  152. package/dist/services/workflow-node-layout.js +142 -41
  153. package/dist/services/workflow-node-layout.js.map +1 -1
  154. package/dist/services/workflow-odoc-setting.d.ts +43 -0
  155. package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
  156. package/dist/services/workflow-odoc-setting.js +100 -0
  157. package/dist/services/workflow-odoc-setting.js.map +1 -0
  158. package/dist/services/workflow-tab-config.d.ts +54 -0
  159. package/dist/services/workflow-tab-config.d.ts.map +1 -0
  160. package/dist/services/workflow-tab-config.js +137 -0
  161. package/dist/services/workflow-tab-config.js.map +1 -0
  162. package/dist/types.d.ts +5 -1
  163. package/dist/types.d.ts.map +1 -1
  164. package/package.json +48 -48
  165. package/skill-docs/SKILL.md +7 -7
  166. package/skill-docs/_catalog.md +2 -0
  167. package/skill-docs/actionflows/SKILL.md +2 -0
  168. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +38 -1
  169. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
  170. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +1 -1
  171. package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
  172. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +16 -11
  173. package/skill-docs/assets/dom-structure/Bar.json +341 -0
  174. package/skill-docs/assets/dom-structure/BarStack.json +341 -0
  175. package/skill-docs/assets/dom-structure/Bubble.json +323 -0
  176. package/skill-docs/assets/dom-structure/Calendar.json +515 -0
  177. package/skill-docs/assets/dom-structure/Circular.json +337 -0
  178. package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
  179. package/skill-docs/assets/dom-structure/Comment.json +617 -0
  180. package/skill-docs/assets/dom-structure/CountDown.json +755 -0
  181. package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
  182. package/skill-docs/assets/dom-structure/EbButton.json +387 -0
  183. package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
  184. package/skill-docs/assets/dom-structure/Gauge.json +282 -0
  185. package/skill-docs/assets/dom-structure/HBar.json +336 -0
  186. package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
  187. package/skill-docs/assets/dom-structure/Line.json +341 -0
  188. package/skill-docs/assets/dom-structure/NList.json +712 -0
  189. package/skill-docs/assets/dom-structure/NavBar.json +274 -0
  190. package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
  191. package/skill-docs/assets/dom-structure/NewTab.json +606 -0
  192. package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
  193. package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
  194. package/skill-docs/assets/dom-structure/Picture.json +209 -0
  195. package/skill-docs/assets/dom-structure/Pie.json +338 -0
  196. package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
  197. package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
  198. package/skill-docs/assets/dom-structure/Slide.json +489 -0
  199. package/skill-docs/assets/dom-structure/Treemap.json +324 -0
  200. package/skill-docs/references/common/guide-plan-template.md +1 -1
  201. package/skill-docs/references/common/ref-cli-commands.md +21 -13
  202. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
  203. package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
  204. package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
  205. package/skill-docs/references/form/guide-create-form.md +1 -1
  206. package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
  207. package/skill-docs/references/form/guide-form-linkage.md +28 -2
  208. package/skill-docs/references/menu/system-menus.md +12 -0
  209. package/skill-docs/references/workflow/guide-workflow-odoc.md +22 -2
  210. package/skill-docs/references/workflow/guide-workflow.md +18 -3
@@ -1,6 +1,87 @@
1
+ /**
2
+ * 流程节点独立布局 —— 节点上挂一套自己的表单布局,与表单默认布局并存。
3
+ *
4
+ * 关系是**互斥**的:一个节点同时只属于一套布局。把节点从 A 挪到 B 时,
5
+ * 服务端会自动把它从 A 摘掉,摘掉后该节点回落到表单默认布局(`layoutId` 置空)。
6
+ * 所以「绑定」这件事在接口层是**整集合覆盖**,不是增量追加:
7
+ * 1. 读目标布局当前的引用节点全集;
8
+ * 2. 加上/去掉本次要动的节点;
9
+ * 3. `updateQuoteNode(nodeIds=新集合, sourceNodeIds=旧集合)` 整包提交。
10
+ *
11
+ * 端点分工(同一件事的三个视角):
12
+ * - 节点视角:`nodeLayout/getDisplayLayoutForm` → 这个节点挂的是哪套;
13
+ * - 布局视角:`pathLayoutManage/getLayoutInfoParams` → 每套布局被哪些节点引用;
14
+ * - 列表视角:`ebuilder/flow/form/layout/list` → 这个表单有哪些布局。
15
+ */
16
+ import { ApiClient } from '../core/client.js';
1
17
  const PATHDEF = '/api/bs/workflow/pathdef';
2
18
  const FLOW_FORM = '/api/ebuilder/flow/form';
3
19
  const FORM_BUILDER = '/api/ebuilder/form/builder';
20
+ const ROUTE_EBUILDER = {
21
+ kind: 'ebuilder',
22
+ cardModule: 'ebuildercard',
23
+ formModule: 'ebuilderform',
24
+ apiModule: 'ebuilder/form',
25
+ designerSource: 'ebuilderform',
26
+ listLayouts: `${FLOW_FORM}/layout/list`,
27
+ saveLayout: `${FLOW_FORM}/layout/save`,
28
+ getFormLayout: `${FORM_BUILDER}/getFormLayout`,
29
+ getConfig: '/api/ebuilder/form/form/view/relate/getConfig',
30
+ initLayout: '/api/ebuilder/form/form/view/relate/initLayout',
31
+ };
32
+ const ROUTE_WORKFLOW = {
33
+ kind: 'workflow',
34
+ cardModule: 'workflow',
35
+ formModule: 'workflow',
36
+ apiModule: 'workflow/form',
37
+ designerSource: 'workflow',
38
+ listLayouts: '/api/workflow/core/form/layout/list',
39
+ saveLayout: '/api/workflow/core/form/layout/save',
40
+ getFormLayout: '/api/workflow/core/form/builder/getFormLayout',
41
+ getConfig: '/api/workflow/core/form/view/relate/getConfig',
42
+ initLayout: '/api/workflow/core/form/view/relate/initLayout',
43
+ };
44
+ /** 探测结果按 formId 缓存 —— 一个命令进程里同一表单只探一次。 */
45
+ const routeCache = new Map();
46
+ function getFormLayoutBody(formId, layoutMultiId) {
47
+ const body = {
48
+ formId, customParam: {}, formTableIdList: [],
49
+ designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
50
+ };
51
+ if (layoutMultiId)
52
+ body.layoutMultiId = layoutMultiId;
53
+ return body;
54
+ }
55
+ async function probeRoute(client, formId, route) {
56
+ try {
57
+ const r = await client.post(`${client.getBaseUrl()}${route.getFormLayout}`, { ...getFormLayoutBody(formId), module: route.formModule },
58
+ // 探测失败**就是答案**(这表单不走这套路由),不该在用户眼前留一行像报错的东西
59
+ { ebbusinessid: formId, [ApiClient.SILENT]: '1' });
60
+ return r?.code === 200 && r?.status !== false ? r : null;
61
+ }
62
+ catch {
63
+ return null;
64
+ }
65
+ }
66
+ /**
67
+ * 探测该表单走哪套路由。**先试 ebuilder 再回落 workflow** —— eb 表关联流程的表单
68
+ * 打 core 路由会回「无工作流修改权限或工作流维护权限」,反过来同理,两套都试过才算数。
69
+ */
70
+ export async function resolveFormRoute(client, formId) {
71
+ const key = String(formId);
72
+ const cached = routeCache.get(key);
73
+ if (cached)
74
+ return cached;
75
+ if (await probeRoute(client, formId, ROUTE_EBUILDER)) {
76
+ routeCache.set(key, ROUTE_EBUILDER);
77
+ return ROUTE_EBUILDER;
78
+ }
79
+ if (await probeRoute(client, formId, ROUTE_WORKFLOW)) {
80
+ routeCache.set(key, ROUTE_WORKFLOW);
81
+ return ROUTE_WORKFLOW;
82
+ }
83
+ throw new Error(`表单 ${formId} 在 ebuilder 与 workflow 两套路由上都不通(都不是能读布局的表单,或当前账号无权限)`);
84
+ }
4
85
  function ok(res, op) {
5
86
  if (!res || res.code !== 200 || res.status === false) {
6
87
  throw new Error(`${op}失败:${res?.msg || '无响应'}`);
@@ -10,9 +91,10 @@ function ok(res, op) {
10
91
  /** 这个表单有哪些布局(含默认布局)。 */
11
92
  export async function listFormLayouts(client, formId, opts = {}) {
12
93
  const base = client.getBaseUrl();
13
- const d = ok(await client.post(`${base}${FLOW_FORM}/layout/list`, {
94
+ const route = await resolveFormRoute(client, formId);
95
+ const d = ok(await client.post(`${base}${route.listLayouts}`, {
14
96
  formId,
15
- module: 'ebuildercard',
97
+ module: route.cardModule,
16
98
  pageNo: 1,
17
99
  pageSize: 200,
18
100
  customParam: { workflowId: opts.workflowId || '', layoutIds: [], quoteNode: '' },
@@ -78,7 +160,12 @@ export async function getNodeLayout(client, workflowId, nodeId) {
78
160
  formId: String(d.formId),
79
161
  layoutId: String(d.layoutId || ''),
80
162
  defaultLayoutId: String(d.defaultLayoutId || ''),
81
- mLayoutId: String(d.mLayoutId || ''),
163
+ // ⚠️ 移动端独立布局的键是 **`mLayoutIdValue`** —— 接口压根不返回 `mLayoutId`
164
+ // (实测 `getDisplayLayoutForm` 的返回里只有前者)。原先读 `mLayoutId` 恒为空串,
165
+ // 于是「移动端独立布局」永远显示「(无)」,明明绑上了也看不出来。
166
+ mLayoutId: String(d.mLayoutIdValue ?? d.mLayoutId ?? ''),
167
+ // `mLayoutMode`(0=独立布局 / 1=读取PC端)**接口不回读**,所以别拿它显示状态,
168
+ // 那只会显示成「(未设)」——看着像没配,其实是读不到。
82
169
  mLayoutMode: String(d.mLayoutMode ?? ''),
83
170
  nodeFormRelateId: String(d.nodeFormRelateId || '-1'),
84
171
  permissionId: String(d.permissionId || '-1'),
@@ -149,6 +236,17 @@ const COPY_ALL = {
149
236
  viewLinkage: true,
150
237
  displayFormat: true,
151
238
  };
239
+ /** PC + MOBILE 两个终端的布局并集(按 id 去重)。跨终端找布局用,见 createFormLayout。 */
240
+ async function collectLayoutsBothTerminals(client, formId, workflowId) {
241
+ const byId = new Map();
242
+ for (const terminal of ['PC', 'MOBILE']) {
243
+ for (const row of await listFormLayouts(client, formId, { workflowId, terminal })) {
244
+ if (!byId.has(row.id))
245
+ byId.set(row.id, row);
246
+ }
247
+ }
248
+ return [...byId.values()];
249
+ }
152
250
  /**
153
251
  * 新建一套布局。返回新布局。
154
252
  *
@@ -163,13 +261,12 @@ export async function createFormLayout(client, opts) {
163
261
  // 复制模式下,类型默认跟来源走 —— 否则复制 EXCEL 的内容却声明成 FLOW,出来是坏的
164
262
  let srcLayoutType = '';
165
263
  if (opts.from) {
166
- const src = await listFormLayouts(client, opts.formId, {
167
- workflowId: opts.workflowId,
168
- terminal: opts.terminal,
169
- });
264
+ // **来源可能不在目标终端的列表里**:最常见的场景是「建一套移动端布局,内容抄 PC 默认布局」,
265
+ // 而移动端此刻一套布局都没有,只按 MOBILE 去列必然找不到。所以两个终端都列一遍再找。
266
+ const src = await collectLayoutsBothTerminals(client, opts.formId, opts.workflowId);
170
267
  const hit = src.find((x) => x.id === String(opts.from));
171
268
  if (!hit) {
172
- throw new Error(`复制来源布局 ${opts.from} 不在该表单的布局列表里。现有:${src.map((x) => `${x.name}(${x.id})`).join('、')}`);
269
+ throw new Error(`复制来源布局 ${opts.from} 不在该表单的布局列表里。现有:${src.map((x) => `${x.name}(${x.id})`).join('、') || '(该表单还没有任何布局)'}`);
173
270
  }
174
271
  srcLayoutType = hit.layoutType;
175
272
  }
@@ -177,8 +274,17 @@ export async function createFormLayout(client, opts) {
177
274
  if (layoutType !== 'FLOW' && layoutType !== 'EXCEL') {
178
275
  throw new Error(`布局类型只支持 FLOW(流式) / EXCEL(表格式),收到:${opts.layoutType}`);
179
276
  }
180
- const d = ok(await client.post(`${base}${FLOW_FORM}/layout/save`, {
181
- module: 'ebuildercard',
277
+ // **复制会锁类型**:平台按来源布局的类型定新布局的类型,显式传的 layoutType 压不过它
278
+ // (实测从 FLOW 来源复制 + 要求 EXCEL,落库仍是 FLOW)。冲突时必须拦下 ——
279
+ // 否则命令回一句「已新建」,用户拿到的是另一种类型,又是一次假成功。
280
+ if (opts.from && opts.layoutType && srcLayoutType && layoutType !== srcLayoutType) {
281
+ throw new Error(`复制布局时新布局的类型会跟来源走:来源 ${opts.from} 是 ${srcLayoutType},` +
282
+ `而你要求 ${layoutType},复制出来仍会是 ${srcLayoutType}。` +
283
+ `要建 ${layoutType} 布局请改加 --empty(空白布局,排版随后用 --init 配)。`);
284
+ }
285
+ const route = await resolveFormRoute(client, opts.formId);
286
+ const d = ok(await client.post(`${base}${route.saveLayout}`, {
287
+ module: route.cardModule,
182
288
  customParam: {
183
289
  workflowId: opts.workflowId,
184
290
  quoteNode: (opts.nodeIds || []).map((x) => String(x)),
@@ -210,17 +316,8 @@ export async function createFormLayout(client, opts) {
210
316
  /** 读某套布局的内容(不传 layoutId 读默认布局)。 */
211
317
  export async function getLayoutContent(client, formId, layoutId) {
212
318
  const base = client.getBaseUrl();
213
- const payload = {
214
- formId,
215
- module: 'ebuilderform',
216
- customParam: {},
217
- formTableIdList: [],
218
- designerParam: { onlyLayout: false, convert: false },
219
- form: { id: formId },
220
- };
221
- if (layoutId)
222
- payload.layoutMultiId = layoutId;
223
- const d = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, payload, { ebbusinessid: formId }), '读取布局内容');
319
+ const route = await resolveFormRoute(client, formId);
320
+ const d = ok(await client.post(`${base}${route.getFormLayout}`, { ...getFormLayoutBody(formId, layoutId), module: route.formModule }, { ebbusinessid: formId }), '读取布局内容');
224
321
  const fl = d?.formLayout || {};
225
322
  const flm = d?.formLayoutMultiple || {};
226
323
  return {
@@ -240,10 +337,8 @@ const TEMPLATE_EXCEL = '700000000000000008';
240
337
  /** 读某套布局的可摆字段清单。 */
241
338
  export async function listLayoutFields(client, formId) {
242
339
  const base = client.getBaseUrl();
243
- const d = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, {
244
- formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
245
- designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
246
- }, { ebbusinessid: formId }), '读取表单字段');
340
+ const route = await resolveFormRoute(client, formId);
341
+ const d = ok(await client.post(`${base}${route.getFormLayout}`, { ...getFormLayoutBody(formId), module: route.formModule }, { ebbusinessid: formId }), '读取表单字段');
247
342
  const configs = await readConfigs(client, formId, d?.formLayout?.id || '');
248
343
  return configs.map((c) => ({
249
344
  label: fieldLabel(c),
@@ -257,10 +352,11 @@ function fieldLabel(c) {
257
352
  }
258
353
  async function readConfigs(client, formId, layoutId) {
259
354
  const base = client.getBaseUrl();
260
- const d = ok(await client.post(`${base}/api/ebuilder/form/form/view/relate/getConfig`, {
261
- formId, module: 'ebuilderform', apiModule: 'ebuilder/form', layoutId,
355
+ const route = await resolveFormRoute(client, formId);
356
+ const d = ok(await client.post(`${base}${route.getConfig}`, {
357
+ formId, module: route.formModule, apiModule: route.apiModule, layoutId,
262
358
  customParam: { terminal: '', objId: formId }, initMode: 5, groupFieldIds: [],
263
- designerParam: { sourceModule: 'ebuilderform' },
359
+ designerParam: { sourceModule: route.designerSource },
264
360
  }, { ebbusinessid: formId }), '读取布局字段配置');
265
361
  return d?.configs || [];
266
362
  }
@@ -270,19 +366,18 @@ async function readConfigs(client, formId, layoutId) {
270
366
  * **只动目标布局**:`getFormLayout` 按 `layoutMultiId` 精确定位到目标布局,
271
367
  * `initLayout` 的 `formLayoutMultiple` 也带同一个 id。表单默认布局与其它布局不受影响。
272
368
  *
273
- * ⚠️ 必须走 **ebuilder 路径**(`/api/ebuilder/form/...` + `module:'ebuilderform'`)。
274
- * 流程表单那套 `/api/workflow/core/form/...` 在 eb 表关联流程的表单上会直接
275
- * 「无工作流修改权限或工作流维护权限」500,用不了。
369
+ * ⚠️ 路由**按表单探测**(见文件头的两套路由说明),不能写死:
370
+ * - eb 表关联流程的表单 → ebuilder 路径;
371
+ * - 原生流程表单(不挂应用)→ `/api/workflow/core/form/...`。
372
+ * 走错哪一套都是 500(`appId is null` / `程序异常` / 「无工作流修改权限」,视端点而定),
373
+ * 而不是回一句「不支持」—— 这正是「布局建得出来却排不了字段」的成因。
276
374
  */
277
375
  export async function initNodeLayout(client, opts) {
278
376
  const base = client.getBaseUrl();
279
377
  const ebb = { ebbusinessid: opts.formId };
280
- // 1. 按 layoutMultiId 精确定位目标布局
281
- const meta = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, {
282
- formId: opts.formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
283
- designerParam: { onlyLayout: false, convert: false }, form: { id: opts.formId },
284
- layoutMultiId: opts.layoutId,
285
- }, ebb), '定位目标布局');
378
+ const route = await resolveFormRoute(client, opts.formId);
379
+ // 1. 按 layoutMultiId 精确定位目标布局(拿到的是**运行时 layoutId**,比 multiId 大 1)
380
+ const meta = ok(await client.post(`${base}${route.getFormLayout}`, { ...getFormLayoutBody(opts.formId, opts.layoutId), module: route.formModule }, ebb), '定位目标布局');
286
381
  const layoutId = String(meta?.formLayout?.id || '');
287
382
  const flm = meta?.formLayoutMultiple || {};
288
383
  if (!layoutId || String(flm.id || '') !== String(opts.layoutId)) {
@@ -290,8 +385,14 @@ export async function initNodeLayout(client, opts) {
290
385
  '为避免误改默认布局,已中止。');
291
386
  }
292
387
  const layoutType = String(flm.layoutType || 'FLOW');
293
- // 2. getConfig 恒返回表单全量字段(与布局无关),作为「全摆」的基准
294
- const all = await readConfigs(client, opts.formId, layoutId);
388
+ // 2. 摆哪些字段:**必须取「默认布局」那份 configs**,不是目标布局自己的。
389
+ //
390
+ // 这一步踩过一次,别改回去:拿目标布局的 runtime id 去 getConfig 也能回一份 configs
391
+ // (字段数看着一样),但拿它 initLayout **写不进目标布局** —— 接口回 200、回读仍是
392
+ // `comps: 0`,是个**静默失败**。换成默认布局那份立刻落库。
393
+ // 表现就是「布局建得出来、节点也绑上了,就是字段怎么也排不进去」。
394
+ const defMeta = ok(await client.post(`${base}${route.getFormLayout}`, { ...getFormLayoutBody(opts.formId), module: route.formModule }, ebb), '读取默认布局');
395
+ const all = await readConfigs(client, opts.formId, String(defMeta?.formLayout?.id || ''));
295
396
  // 3. 只摆指定字段:业务字段按名单过滤;系统字段保留在 configs 里(不会变成组件),
296
397
  // 与平台自身的提交形态一致。
297
398
  let configs = all;
@@ -315,8 +416,8 @@ export async function initNodeLayout(client, opts) {
315
416
  }
316
417
  }
317
418
  const styleTemplateId = opts.styleTemplateId || (layoutType === 'EXCEL' ? TEMPLATE_EXCEL : TEMPLATE_FLOW);
318
- const res = ok(await client.post(`${base}/api/ebuilder/form/form/view/relate/initLayout`, {
319
- formId: opts.formId, module: 'ebuilderform', apiModule: 'ebuilder/form',
419
+ const res = ok(await client.post(`${base}${route.initLayout}`, {
420
+ formId: opts.formId, module: route.formModule, apiModule: route.apiModule,
320
421
  layoutId, generateCollapse: true,
321
422
  styleTemplateId, styleTemplateType: 1,
322
423
  configs, addLayout: false, ecodeType: ['js', 'css'], initMode: '1',
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-node-layout.js","sourceRoot":"","sources":["../../src/services/workflow-node-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-node-layout.js","sourceRoot":"","sources":["../../src/services/workflow-node-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAC3C,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAC5C,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAoClD,MAAM,cAAc,GAAc;IAChC,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,eAAe;IAC1B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,GAAG,SAAS,cAAc;IACvC,UAAU,EAAE,GAAG,SAAS,cAAc;IACtC,aAAa,EAAE,GAAG,YAAY,gBAAgB;IAC9C,SAAS,EAAE,+CAA+C;IAC1D,UAAU,EAAE,gDAAgD;CAC7D,CAAC;AAEF,MAAM,cAAc,GAAc;IAChC,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,eAAe;IAC1B,cAAc,EAAE,UAAU;IAC1B,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,qCAAqC;IACjD,aAAa,EAAE,+CAA+C;IAC9D,SAAS,EAAE,+CAA+C;IAC1D,UAAU,EAAE,gDAAgD;CAC7D,CAAC;AAEF,0CAA0C;AAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;AAEhD,SAAS,iBAAiB,CAAC,MAAc,EAAE,aAAsB;IAC/D,MAAM,IAAI,GAA4B;QACpC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;QAC5C,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;KAC3E,CAAC;IACF,IAAI,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,MAAc,EAAE,KAAgB;IAC3E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,EAC9C,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;QAC1D,2CAA2C;QAC3C,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAClD,CAAC;QACF,OAAO,CAAC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAc;IACtE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACrD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACpC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACrD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACpC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,MAAM,MAAM,sDAAsD,CACnE,CAAC;AACJ,CAAC;AAwDD,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAU;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAAc,EACd,OAAqD,EAAE;IAEvD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,EAC7B;QACE,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,GAAG;QACb,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAChF,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC5D,KAAK,EAAE,IAAI;KACZ,EACD,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,EACD,QAAQ,CACT,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,EAAE,sBAAsB,IAAI,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAU,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1C,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,UAAkB,EAClB,WAAqB,IAAI;IASzB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,GAAG,CACd,GAAG,IAAI,GAAG,OAAO,sDAAsD,QAAQ,eAAe,UAAU,EAAE,CAC3G,EACD,UAAU,CACX,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsD,CAAC;IAC/E,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,CAAC,EAAE,mBAAmB,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,GAAa,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAa,CAAC,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QACjC,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC;QACzC,iBAAiB,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,IAAI,EAAE,CAAC;QACrD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,WAAqB,IAAI;IAEzB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QACzD,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACpE,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,GAAG,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE;QACjD,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE;KACtD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,UAAkB,EAClB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,GAAG,CACd,GAAG,IAAI,GAAG,OAAO,+CAA+C,UAAU,WAAW,MAAM,EAAE,CAC9F,EACD,QAAQ,CACT,CAAC;IACF,IAAI,CAAC,CAAC,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,WAAW,MAAM,GAAG,CAAC,CAAC;IACxF,OAAO;QACL,GAAG,CAAC;QACJ,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QAChD,4DAA4D;QAC5D,6DAA6D;QAC7D,mCAAmC;QACnC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QACxD,sDAAsD;QACtD,8BAA8B;QAC9B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACxC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACpD,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;QAC5C,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB;KAC/C,CAAC;AACJ,CAAC;AAED,oCAAoC;AACpC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,IAA+G;IAE/G,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,EAAE,CACA,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,8BAA8B,EAAE;QACjE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,EACF,UAAU,CACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,IAAmF;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,OAAO;QACtB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,IAAiE;IAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,OAAO;QACtB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAeD,MAAM,QAAQ,GAAe;IAC3B,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,iEAAiE;AACjE,KAAK,UAAU,2BAA2B,CACxC,MAAiB,EAAE,MAAc,EAAE,UAAmB;IAEtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAe,EAAE,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,IAaC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEjC,kDAAkD;IAClD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,oDAAoD;QACpD,gDAAgD;QAChD,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,CAAC,IAAI,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CACzG,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACpF,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,oDAAoD;IACpD,kDAAkD;IAClD,oCAAoC;IACpC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,IAAI,MAAM,aAAa,GAAG;YACpD,QAAQ,UAAU,YAAY,aAAa,GAAG;YAC9C,MAAM,UAAU,sCAAsC,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,EAC5B;QACE,MAAM,EAAE,KAAK,CAAC,UAAU;QACxB,WAAW,EAAE;YACX,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrD,YAAY,EAAE,IAAI;SACnB;QACD,kBAAkB,EAAE;YAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,UAAU;SACX;QACD,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;QACvD,0BAA0B;QAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,EACD,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAC9B,EACD,MAAM,CACP,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,EAAE,kBAAkB,IAAI,EAAE,CAAC;IACxC,OAAO;QACL,GAAG,GAAG;QACN,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC/D,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC;QAChD,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,MAAc,EACd,QAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,EAC/B,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,EACpE,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,EACD,QAAQ,CACT,CAAC;IACF,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,EAAE,kBAAkB,IAAI,EAAE,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,EAAE;QACV,IAAI,EAAE;YACJ,GAAG,GAAG;YACN,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC;YACpC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YAC5C,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YACxC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC;AA8BD,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,EAC/B,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,EAC1D,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,EACD,QAAQ,CACT,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;KACnB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,MAAc,EAAE,QAAgB;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,EAC3B;QACE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ;QACtE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE;QAC5E,aAAa,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE;KACtD,EACD,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,EACD,UAAU,CACX,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,IAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1D,kEAAkE;IAClE,MAAM,IAAI,GAAG,EAAE,CACb,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,EAC/B,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,EAC9E,GAAG,CACJ,EACD,QAAQ,CACT,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,QAAQ,cAAc,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI;YAC7D,gBAAgB,CACnB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;IAEpD,8CAA8C;IAC9C,EAAE;IACF,8DAA8D;IAC9D,0DAA0D;IAC1D,yCAAyC;IACzC,sCAAsC;IACtC,MAAM,OAAO,GAAG,EAAE,CAChB,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,EAC/B,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,EAC/D,GAAG,CACJ,EACD,QAAQ,CACT,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1F,iDAAiD;IACjD,mBAAmB;IACnB,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACjC,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GACnB,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAEpF,MAAM,GAAG,GAAG,EAAE,CACZ,MAAM,MAAM,CAAC,IAAI,CACf,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,EAC5B;QACE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;QACzE,QAAQ,EAAE,gBAAgB,EAAE,IAAI;QAChC,eAAe,EAAE,iBAAiB,EAAE,CAAC;QACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG;QAClE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACjD,kBAAkB,EAAE;YAClB,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACpE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,UAAU;SAC3D;QACD,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;KACrC,EACD,GAAG,CACJ,EACD,MAAM,CACP,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,WAAW,IAAI,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,MAAM,KAAK,GAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK;SACjB,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAC7E,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACtE,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * 公文设置(流程设置 → 公文设置)的读写形状归一。
3
+ *
4
+ * 平台把设置分组成 `settingList[]`,每组的数据在 `settingData.data`,读回来的形状
5
+ * **不能直接写回去** —— 这是本项目第三次撞上同一类「读写形状不对称」,公文设置这边尤其狠:
6
+ * 形状不对服务端一律 `400 Bad Request`,连 `openAttachArea:false` 这种看着最无害的布尔都会被拒。
7
+ *
8
+ * | | GET 回读 | POST 要求 |
9
+ * |---|---|---|
10
+ * | 开关 | 布尔 `true` / `false` | 字符串 `"1"` / `"0"` |
11
+ * | 基本类型列表 | 数组 `["id1"]` / `[]` | 逗号串 `"id1"` / 空串 `""` |
12
+ * | 对象列表(签章节点表) | 对象数组 | 对象数组,**但每个对象里的布尔也要转成串** |
13
+ *
14
+ * 落法上还分三种(依据是平台页面自己发出的报文):
15
+ * - `odocNumber` / `odocAttachArea` —— 整组**保持嵌套**作为一个对象发出;
16
+ * - `signNode` —— 该组数据本身就是**数组**,发出时叫 `signNodeList`;
17
+ * - 其余分组 —— 键**平铺**到顶层。
18
+ *
19
+ * 另有一处回读差异:节点清单字段(`editTextNode` / `openTextDefaultNode` …)**写出去是逗号串、
20
+ * 读回来是对象数组** `[{name,id}]`,比对时要归到 id 序列上,否则会假报不一致。
21
+ */
22
+ /** 分组在写入报文里保持嵌套 */
23
+ export declare const NESTED_GROUPS: Set<string>;
24
+ /** 分组数据本身是数组,写入时换个名字 */
25
+ export declare const ARRAY_GROUPS: Record<string, string>;
26
+ /** 回读值 → 写入值。 */
27
+ export declare function toWriteValue(value: any): any;
28
+ /** GET 响应的 settingList → 按 settingKey 分组的数据。 */
29
+ export declare function readGroups(root: any): Record<string, any>;
30
+ /** 分组数据 → 可提交报文。 */
31
+ export declare function buildPayload(groups: Record<string, any>, workflowId: string): Record<string, any>;
32
+ /**
33
+ * 把补丁盖到报文上。嵌套分组合并、其余按键覆盖。
34
+ * 返回**被改动的键**(嵌套记作 `组.键`),供回读比对用。
35
+ */
36
+ export declare function applyPatch(payload: Record<string, any>, patch: Record<string, any>): string[];
37
+ /** 取报文里某个(可能是 `组.键` 形式的)键的值。 */
38
+ export declare function readPayloadKey(payload: Record<string, any>, key: string): any;
39
+ /**
40
+ * 回读比对用的相等判断。节点清单字段写出去是逗号串、读回来是 `[{name,id}]`,归到 id 序列上比。
41
+ */
42
+ export declare function sameValue(written: any, readBack: any): boolean;
43
+ //# sourceMappingURL=workflow-odoc-setting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-odoc-setting.d.ts","sourceRoot":"","sources":["../../src/services/workflow-odoc-setting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mBAAmB;AACnB,eAAO,MAAM,aAAa,aAA4C,CAAC;AAEvE,wBAAwB;AACxB,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAgC,CAAC;AAEjF,iBAAiB;AACjB,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAW5C;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAOzD;AAED,oBAAoB;AACpB,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAYjG;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAgB7F;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAG7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAK9D"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * 公文设置(流程设置 → 公文设置)的读写形状归一。
3
+ *
4
+ * 平台把设置分组成 `settingList[]`,每组的数据在 `settingData.data`,读回来的形状
5
+ * **不能直接写回去** —— 这是本项目第三次撞上同一类「读写形状不对称」,公文设置这边尤其狠:
6
+ * 形状不对服务端一律 `400 Bad Request`,连 `openAttachArea:false` 这种看着最无害的布尔都会被拒。
7
+ *
8
+ * | | GET 回读 | POST 要求 |
9
+ * |---|---|---|
10
+ * | 开关 | 布尔 `true` / `false` | 字符串 `"1"` / `"0"` |
11
+ * | 基本类型列表 | 数组 `["id1"]` / `[]` | 逗号串 `"id1"` / 空串 `""` |
12
+ * | 对象列表(签章节点表) | 对象数组 | 对象数组,**但每个对象里的布尔也要转成串** |
13
+ *
14
+ * 落法上还分三种(依据是平台页面自己发出的报文):
15
+ * - `odocNumber` / `odocAttachArea` —— 整组**保持嵌套**作为一个对象发出;
16
+ * - `signNode` —— 该组数据本身就是**数组**,发出时叫 `signNodeList`;
17
+ * - 其余分组 —— 键**平铺**到顶层。
18
+ *
19
+ * 另有一处回读差异:节点清单字段(`editTextNode` / `openTextDefaultNode` …)**写出去是逗号串、
20
+ * 读回来是对象数组** `[{name,id}]`,比对时要归到 id 序列上,否则会假报不一致。
21
+ */
22
+ /** 分组在写入报文里保持嵌套 */
23
+ export const NESTED_GROUPS = new Set(['odocNumber', 'odocAttachArea']);
24
+ /** 分组数据本身是数组,写入时换个名字 */
25
+ export const ARRAY_GROUPS = { signNode: 'signNodeList' };
26
+ /** 回读值 → 写入值。 */
27
+ export function toWriteValue(value) {
28
+ if (typeof value === 'boolean')
29
+ return value ? '1' : '0';
30
+ if (Array.isArray(value)) {
31
+ if (value.length && typeof value[0] === 'object') {
32
+ return value.map((row) => Object.fromEntries(Object.entries(row || {}).map(([k, v]) => [k, toWriteValue(v)])));
33
+ }
34
+ return value.join(',');
35
+ }
36
+ return value;
37
+ }
38
+ /** GET 响应的 settingList → 按 settingKey 分组的数据。 */
39
+ export function readGroups(root) {
40
+ const out = {};
41
+ for (const entry of root?.settingList || []) {
42
+ const data = entry?.settingData?.data;
43
+ if (data && Object.keys(data).length)
44
+ out[String(entry?.settingKey || '')] = data;
45
+ }
46
+ return out;
47
+ }
48
+ /** 分组数据 → 可提交报文。 */
49
+ export function buildPayload(groups, workflowId) {
50
+ const out = { workflowId };
51
+ for (const [groupKey, data] of Object.entries(groups)) {
52
+ if (NESTED_GROUPS.has(groupKey)) {
53
+ out[groupKey] = Object.fromEntries(Object.entries(data).map(([k, v]) => [k, toWriteValue(v)]));
54
+ }
55
+ else if (ARRAY_GROUPS[groupKey]) {
56
+ out[ARRAY_GROUPS[groupKey]] = toWriteValue(data);
57
+ }
58
+ else {
59
+ for (const [k, v] of Object.entries(data))
60
+ out[k] = toWriteValue(v);
61
+ }
62
+ }
63
+ return out;
64
+ }
65
+ /**
66
+ * 把补丁盖到报文上。嵌套分组合并、其余按键覆盖。
67
+ * 返回**被改动的键**(嵌套记作 `组.键`),供回读比对用。
68
+ */
69
+ export function applyPatch(payload, patch) {
70
+ const touched = [];
71
+ for (const [key, value] of Object.entries(patch)) {
72
+ if (NESTED_GROUPS.has(key) && value && typeof value === 'object' && !Array.isArray(value)) {
73
+ const nested = { ...(payload[key] || {}) };
74
+ for (const [k, v] of Object.entries(value)) {
75
+ nested[k] = toWriteValue(v);
76
+ touched.push(`${key}.${k}`);
77
+ }
78
+ payload[key] = nested;
79
+ continue;
80
+ }
81
+ payload[key] = toWriteValue(value);
82
+ touched.push(key);
83
+ }
84
+ return touched;
85
+ }
86
+ /** 取报文里某个(可能是 `组.键` 形式的)键的值。 */
87
+ export function readPayloadKey(payload, key) {
88
+ const dot = key.indexOf('.');
89
+ return dot === -1 ? payload[key] : payload[key.slice(0, dot)]?.[key.slice(dot + 1)];
90
+ }
91
+ /**
92
+ * 回读比对用的相等判断。节点清单字段写出去是逗号串、读回来是 `[{name,id}]`,归到 id 序列上比。
93
+ */
94
+ export function sameValue(written, readBack) {
95
+ if (typeof written === 'string' && Array.isArray(readBack)) {
96
+ return readBack.map((row) => String(row?.id ?? row)).join(',') === written;
97
+ }
98
+ return JSON.stringify(written) === JSON.stringify(readBack);
99
+ }
100
+ //# sourceMappingURL=workflow-odoc-setting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-odoc-setting.js","sourceRoot":"","sources":["../../src/services/workflow-odoc-setting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ export interface TabConfig {
3
+ id: string;
4
+ tabName: string;
5
+ /** 内置页签类型码(1 流程表单 / 2 流程图 / 3 流程状态 / 4 共享 / 6 主流程 / 7 子流程 / 8 平行流程 / 12 外部流程) */
6
+ flowPageTabId: number;
7
+ /** '0' 内置 / 其它为自定义 */
8
+ flowPageTabType: string;
9
+ /** 自定义显示名;空 = 用 tabName */
10
+ customName: string;
11
+ showInPc: boolean;
12
+ showInMobile: boolean;
13
+ showInMobileMenu: boolean;
14
+ /** 默认打开 */
15
+ defOpen: boolean;
16
+ orderId: number;
17
+ raw: Record<string, any>;
18
+ }
19
+ /** 展示名:有自定义名用自定义名 */
20
+ export declare function tabLabel(t: TabConfig): string;
21
+ export declare function getTabConfig(client: ApiClient, baseUrl: string, workflowId: string): Promise<TabConfig[]>;
22
+ /**
23
+ * 按名称或类型码找页签。
24
+ *
25
+ * 同一批页签的名字不会重复,但名字可能撞车(自定义名与内置名相同),
26
+ * 按顺序优先取**类型码**命中的 —— 与节点菜单同一套策略。
27
+ */
28
+ export declare function findTab(tabs: TabConfig[], ref: string): TabConfig | undefined;
29
+ export declare function tabNames(tabs: TabConfig[]): string[];
30
+ export interface TabPatch {
31
+ /** PC 端只显示这些,其余全部不显示 */
32
+ only?: string[];
33
+ show?: string[];
34
+ hide?: string[];
35
+ /** 移动端只显示这些,其余全部不显示 */
36
+ mobile?: string[];
37
+ /** 移动端菜单只显示这些,其余全部不显示 */
38
+ mobileMenu?: string[];
39
+ /** 默认打开哪个页签(**单选**,其余取消) */
40
+ defaultOpen?: string;
41
+ }
42
+ /** 应用改动。返回新的页签表与**真正变了的** id(供调用方决定要不要发请求)。 */
43
+ export declare function applyTabPatch(tabs: TabConfig[], patch: TabPatch): {
44
+ next: TabConfig[];
45
+ changed: string[];
46
+ };
47
+ /**
48
+ * 保存。**必须提交完整列表** —— 只发变化行会把没带上的页签覆盖没。
49
+ *
50
+ * 从包装字段重建报文:GET 回来是布尔、写出去要数字;`orderId` 要 ×10
51
+ * (GET 给显示序 1..8,存储用的是 10,20,… 给自定义页签留插空)。
52
+ */
53
+ export declare function saveTabConfig(client: ApiClient, baseUrl: string, workflowId: string, tabs: TabConfig[]): Promise<void>;
54
+ //# sourceMappingURL=workflow-tab-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tab-config.d.ts","sourceRoot":"","sources":["../../src/services/workflow-tab-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAwBnD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAoBD,qBAAqB;AACrB,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAE7C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACrD,OAAO,CAAC,SAAS,EAAE,CAAC,CAUtB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAO7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAEpD;AAED,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAqC1G;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GACxE,OAAO,CAAC,IAAI,CAAC,CAqBf"}