weaver-e10-builder 1.2.2 → 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 (274) hide show
  1. package/README.md +8 -19
  2. package/dist/commands/actionflow.d.ts.map +1 -1
  3. package/dist/commands/actionflow.js +14 -1
  4. package/dist/commands/actionflow.js.map +1 -1
  5. package/dist/commands/designer-css.d.ts +15 -0
  6. package/dist/commands/designer-css.d.ts.map +1 -0
  7. package/dist/commands/designer-css.js +205 -0
  8. package/dist/commands/designer-css.js.map +1 -0
  9. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  10. package/dist/commands/form-add-detail-table.js +127 -7
  11. package/dist/commands/form-add-detail-table.js.map +1 -1
  12. package/dist/commands/form-ebuilder-columns.d.ts +7 -0
  13. package/dist/commands/form-ebuilder-columns.d.ts.map +1 -1
  14. package/dist/commands/form-ebuilder-columns.js +2 -24
  15. package/dist/commands/form-ebuilder-columns.js.map +1 -1
  16. package/dist/commands/form-field-lang.d.ts.map +1 -1
  17. package/dist/commands/form-field-lang.js +4 -39
  18. package/dist/commands/form-field-lang.js.map +1 -1
  19. package/dist/commands/form-formula.d.ts.map +1 -1
  20. package/dist/commands/form-formula.js +35 -11
  21. package/dist/commands/form-formula.js.map +1 -1
  22. package/dist/commands/form-layout-init.d.ts.map +1 -1
  23. package/dist/commands/form-layout-init.js +15 -10
  24. package/dist/commands/form-layout-init.js.map +1 -1
  25. package/dist/commands/form-layout.js +24 -21
  26. package/dist/commands/form-layout.js.map +1 -1
  27. package/dist/commands/form-native.d.ts.map +1 -1
  28. package/dist/commands/form-native.js +181 -0
  29. package/dist/commands/form-native.js.map +1 -1
  30. package/dist/commands/form-nlist.d.ts +1 -1
  31. package/dist/commands/form-nlist.d.ts.map +1 -1
  32. package/dist/commands/form-nlist.js +5 -3
  33. package/dist/commands/form-nlist.js.map +1 -1
  34. package/dist/commands/form-validate.d.ts.map +1 -1
  35. package/dist/commands/form-validate.js +11 -3
  36. package/dist/commands/form-validate.js.map +1 -1
  37. package/dist/commands/form.d.ts.map +1 -1
  38. package/dist/commands/form.js +168 -90
  39. package/dist/commands/form.js.map +1 -1
  40. package/dist/commands/menu.d.ts.map +1 -1
  41. package/dist/commands/menu.js +170 -23
  42. package/dist/commands/menu.js.map +1 -1
  43. package/dist/commands/wf-form.d.ts +1 -0
  44. package/dist/commands/wf-form.d.ts.map +1 -1
  45. package/dist/commands/wf-form.js +44 -13
  46. package/dist/commands/wf-form.js.map +1 -1
  47. package/dist/commands/workflow-auth-resp.d.ts.map +1 -1
  48. package/dist/commands/workflow-auth-resp.js +69 -8
  49. package/dist/commands/workflow-auth-resp.js.map +1 -1
  50. package/dist/commands/workflow-node-assign-flow.d.ts +3 -0
  51. package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -0
  52. package/dist/commands/workflow-node-assign-flow.js +341 -0
  53. package/dist/commands/workflow-node-assign-flow.js.map +1 -0
  54. package/dist/commands/workflow-node.d.ts +2 -0
  55. package/dist/commands/workflow-node.d.ts.map +1 -1
  56. package/dist/commands/workflow-node.js +219 -48
  57. package/dist/commands/workflow-node.js.map +1 -1
  58. package/dist/commands/workflow-odoc.d.ts.map +1 -1
  59. package/dist/commands/workflow-odoc.js +56 -56
  60. package/dist/commands/workflow-odoc.js.map +1 -1
  61. package/dist/commands/workflow-setting.d.ts.map +1 -1
  62. package/dist/commands/workflow-setting.js +77 -1
  63. package/dist/commands/workflow-setting.js.map +1 -1
  64. package/dist/commands/workflow.d.ts.map +1 -1
  65. package/dist/commands/workflow.js +36 -80
  66. package/dist/commands/workflow.js.map +1 -1
  67. package/dist/core/auth.js +1 -1
  68. package/dist/core/client.d.ts +14 -0
  69. package/dist/core/client.d.ts.map +1 -1
  70. package/dist/core/client.js +28 -12
  71. package/dist/core/client.js.map +1 -1
  72. package/dist/index.js +4 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/services/actionflow/command_output.d.ts +7 -0
  75. package/dist/services/actionflow/command_output.d.ts.map +1 -1
  76. package/dist/services/actionflow/command_output.js +46 -0
  77. package/dist/services/actionflow/command_output.js.map +1 -1
  78. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  79. package/dist/services/actionflow/components/action_eb_add.js +14 -4
  80. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  81. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
  82. package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
  83. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
  84. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  85. package/dist/services/actionflow/components/action_eb_update.js +23 -8
  86. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  87. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  88. package/dist/services/actionflow/components/action_eb_update_compiler.js +239 -6
  89. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  90. package/dist/services/actionflow/components/assign_var.d.ts +12 -0
  91. package/dist/services/actionflow/components/assign_var.d.ts.map +1 -0
  92. package/dist/services/actionflow/components/assign_var.js +133 -0
  93. package/dist/services/actionflow/components/assign_var.js.map +1 -0
  94. package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
  95. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
  96. package/dist/services/actionflow/components/custom_set_form.js +65 -0
  97. package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
  98. package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
  99. package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
  100. package/dist/services/actionflow/components/custom_trigger.js +7 -10
  101. package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
  102. package/dist/services/actionflow/components/enquiry_form.js +1 -1
  103. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  104. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  105. package/dist/services/actionflow/components/index.js +9 -0
  106. package/dist/services/actionflow/components/index.js.map +1 -1
  107. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  108. package/dist/services/actionflow/components/output.js +6 -1
  109. package/dist/services/actionflow/components/output.js.map +1 -1
  110. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  111. package/dist/services/actionflow/context_preflight.js +13 -6
  112. package/dist/services/actionflow/context_preflight.js.map +1 -1
  113. package/dist/services/actionflow/context_provider.d.ts.map +1 -1
  114. package/dist/services/actionflow/context_provider.js +3 -2
  115. package/dist/services/actionflow/context_provider.js.map +1 -1
  116. package/dist/services/actionflow/dynamic_resources.d.ts +7 -1
  117. package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
  118. package/dist/services/actionflow/dynamic_resources.js +65 -8
  119. package/dist/services/actionflow/dynamic_resources.js.map +1 -1
  120. package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
  121. package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
  122. package/dist/services/actionflow/ebuilder_source.js +78 -0
  123. package/dist/services/actionflow/ebuilder_source.js.map +1 -0
  124. package/dist/services/actionflow/form_source.d.ts +76 -0
  125. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  126. package/dist/services/actionflow/form_source.js +195 -1
  127. package/dist/services/actionflow/form_source.js.map +1 -1
  128. package/dist/services/actionflow/formula_service.d.ts +4 -1
  129. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  130. package/dist/services/actionflow/formula_service.js +97 -23
  131. package/dist/services/actionflow/formula_service.js.map +1 -1
  132. package/dist/services/actionflow/preflight_service.d.ts +6 -0
  133. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  134. package/dist/services/actionflow/preflight_service.js +211 -3
  135. package/dist/services/actionflow/preflight_service.js.map +1 -1
  136. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  137. package/dist/services/actionflow/workflow_compiler.js +83 -15
  138. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  139. package/dist/services/designer-css.d.ts +89 -0
  140. package/dist/services/designer-css.d.ts.map +1 -0
  141. package/dist/services/designer-css.js +163 -0
  142. package/dist/services/designer-css.js.map +1 -0
  143. package/dist/services/dom-structure.d.ts +42 -0
  144. package/dist/services/dom-structure.d.ts.map +1 -0
  145. package/dist/services/dom-structure.js +251 -0
  146. package/dist/services/dom-structure.js.map +1 -0
  147. package/dist/services/form-create.d.ts +2 -1
  148. package/dist/services/form-create.d.ts.map +1 -1
  149. package/dist/services/form-create.js.map +1 -1
  150. package/dist/services/form-ebuilder-columns.d.ts +50 -0
  151. package/dist/services/form-ebuilder-columns.d.ts.map +1 -0
  152. package/dist/services/form-ebuilder-columns.js +68 -0
  153. package/dist/services/form-ebuilder-columns.js.map +1 -0
  154. package/dist/services/form-field-drop.d.ts +30 -1
  155. package/dist/services/form-field-drop.d.ts.map +1 -1
  156. package/dist/services/form-field-drop.js +60 -0
  157. package/dist/services/form-field-drop.js.map +1 -1
  158. package/dist/services/form-field-patch.d.ts +69 -0
  159. package/dist/services/form-field-patch.d.ts.map +1 -0
  160. package/dist/services/form-field-patch.js +117 -0
  161. package/dist/services/form-field-patch.js.map +1 -0
  162. package/dist/services/form-i18n-label.d.ts +48 -0
  163. package/dist/services/form-i18n-label.d.ts.map +1 -0
  164. package/dist/services/form-i18n-label.js +91 -0
  165. package/dist/services/form-i18n-label.js.map +1 -0
  166. package/dist/services/form-nlist.d.ts +1 -0
  167. package/dist/services/form-nlist.d.ts.map +1 -1
  168. package/dist/services/form-nlist.js +32 -5
  169. package/dist/services/form-nlist.js.map +1 -1
  170. package/dist/services/form-style-template.d.ts +6 -2
  171. package/dist/services/form-style-template.d.ts.map +1 -1
  172. package/dist/services/form-style-template.js +8 -4
  173. package/dist/services/form-style-template.js.map +1 -1
  174. package/dist/services/form-sub-detail.d.ts +51 -3
  175. package/dist/services/form-sub-detail.d.ts.map +1 -1
  176. package/dist/services/form-sub-detail.js +183 -20
  177. package/dist/services/form-sub-detail.js.map +1 -1
  178. package/dist/services/formula-detail.d.ts +68 -5
  179. package/dist/services/formula-detail.d.ts.map +1 -1
  180. package/dist/services/formula-detail.js +110 -44
  181. package/dist/services/formula-detail.js.map +1 -1
  182. package/dist/services/menu-catalog.d.ts +84 -0
  183. package/dist/services/menu-catalog.d.ts.map +1 -0
  184. package/dist/services/menu-catalog.js +183 -0
  185. package/dist/services/menu-catalog.js.map +1 -0
  186. package/dist/services/rich-text.d.ts +33 -0
  187. package/dist/services/rich-text.d.ts.map +1 -0
  188. package/dist/services/rich-text.js +134 -0
  189. package/dist/services/rich-text.js.map +1 -0
  190. package/dist/services/workflow-add-step.d.ts +45 -0
  191. package/dist/services/workflow-add-step.d.ts.map +1 -0
  192. package/dist/services/workflow-add-step.js +122 -0
  193. package/dist/services/workflow-add-step.js.map +1 -0
  194. package/dist/services/workflow-assign-flow.d.ts +109 -0
  195. package/dist/services/workflow-assign-flow.d.ts.map +1 -0
  196. package/dist/services/workflow-assign-flow.js +306 -0
  197. package/dist/services/workflow-assign-flow.js.map +1 -0
  198. package/dist/services/workflow-drawback.d.ts +19 -0
  199. package/dist/services/workflow-drawback.d.ts.map +1 -0
  200. package/dist/services/workflow-drawback.js +59 -0
  201. package/dist/services/workflow-drawback.js.map +1 -0
  202. package/dist/services/workflow-links.d.ts +51 -0
  203. package/dist/services/workflow-links.d.ts.map +1 -0
  204. package/dist/services/workflow-links.js +162 -0
  205. package/dist/services/workflow-links.js.map +1 -0
  206. package/dist/services/workflow-node-layout.d.ts +45 -4
  207. package/dist/services/workflow-node-layout.d.ts.map +1 -1
  208. package/dist/services/workflow-node-layout.js +142 -41
  209. package/dist/services/workflow-node-layout.js.map +1 -1
  210. package/dist/services/workflow-node-menu.d.ts +57 -0
  211. package/dist/services/workflow-node-menu.d.ts.map +1 -0
  212. package/dist/services/workflow-node-menu.js +144 -0
  213. package/dist/services/workflow-node-menu.js.map +1 -0
  214. package/dist/services/workflow-odoc-setting.d.ts +43 -0
  215. package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
  216. package/dist/services/workflow-odoc-setting.js +100 -0
  217. package/dist/services/workflow-odoc-setting.js.map +1 -0
  218. package/dist/services/workflow-tab-config.d.ts +54 -0
  219. package/dist/services/workflow-tab-config.d.ts.map +1 -0
  220. package/dist/services/workflow-tab-config.js +137 -0
  221. package/dist/services/workflow-tab-config.js.map +1 -0
  222. package/dist/types.d.ts +5 -1
  223. package/dist/types.d.ts.map +1 -1
  224. package/package.json +1 -1
  225. package/skill-docs/SKILL.md +8 -7
  226. package/skill-docs/_catalog.md +81 -77
  227. package/skill-docs/actionflows/SKILL.md +170 -167
  228. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +39 -2
  229. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
  230. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +33 -33
  231. package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
  232. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +16 -11
  233. package/skill-docs/assets/dom-structure/Bar.json +341 -0
  234. package/skill-docs/assets/dom-structure/BarStack.json +341 -0
  235. package/skill-docs/assets/dom-structure/Bubble.json +323 -0
  236. package/skill-docs/assets/dom-structure/Calendar.json +515 -0
  237. package/skill-docs/assets/dom-structure/Circular.json +337 -0
  238. package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
  239. package/skill-docs/assets/dom-structure/Comment.json +617 -0
  240. package/skill-docs/assets/dom-structure/CountDown.json +755 -0
  241. package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
  242. package/skill-docs/assets/dom-structure/EbButton.json +387 -0
  243. package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
  244. package/skill-docs/assets/dom-structure/Gauge.json +282 -0
  245. package/skill-docs/assets/dom-structure/HBar.json +336 -0
  246. package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
  247. package/skill-docs/assets/dom-structure/Line.json +341 -0
  248. package/skill-docs/assets/dom-structure/NList.json +712 -0
  249. package/skill-docs/assets/dom-structure/NavBar.json +274 -0
  250. package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
  251. package/skill-docs/assets/dom-structure/NewTab.json +606 -0
  252. package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
  253. package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
  254. package/skill-docs/assets/dom-structure/Picture.json +209 -0
  255. package/skill-docs/assets/dom-structure/Pie.json +338 -0
  256. package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
  257. package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
  258. package/skill-docs/assets/dom-structure/Slide.json +489 -0
  259. package/skill-docs/assets/dom-structure/Treemap.json +324 -0
  260. package/skill-docs/references/common/guide-plan-template.md +254 -251
  261. package/skill-docs/references/common/ref-cli-commands.md +537 -519
  262. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
  263. package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
  264. package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
  265. package/skill-docs/references/form/guide-create-form.md +233 -232
  266. package/skill-docs/references/form/guide-form-formula-functions.md +11 -1
  267. package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
  268. package/skill-docs/references/form/guide-form-linkage.md +28 -2
  269. package/skill-docs/references/form/guide-form-sub-detail.md +82 -0
  270. package/skill-docs/references/form/guide-list-custom-text.md +52 -0
  271. package/skill-docs/references/menu/system-menus.md +12 -0
  272. package/skill-docs/references/workflow/guide-workflow-auth-resp.md +198 -190
  273. package/skill-docs/references/workflow/guide-workflow-odoc.md +22 -2
  274. package/skill-docs/references/workflow/guide-workflow.md +25 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-add-step.js","sourceRoot":"","sources":["../../src/services/workflow-add-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ /** 目标节点选择范围 */
3
+ export declare const RANGE_TYPES: Record<string, string>;
4
+ export declare const RANGE_TYPE_LABELS: Record<string, string>;
5
+ /** 按出口时,可选出口范围 */
6
+ export declare const NODE_RANGE_TYPES: Record<string, string>;
7
+ export declare const NODE_RANGE_TYPE_LABELS: Record<string, string>;
8
+ /** 自动流转 */
9
+ export declare const AUTO_FLOW_TYPES: Record<string, string>;
10
+ export declare const AUTO_FLOW_TYPE_LABELS: Record<string, string>;
11
+ /** 会签关系(新字段,页面以它为准) */
12
+ export declare const SIGN_RELATION_TYPES: Record<string, string>;
13
+ export declare const SIGN_RELATION_LABELS: Record<string, string>;
14
+ /** 抄送方式 */
15
+ export declare const CC_TYPES: Record<string, string>;
16
+ export declare const CC_TYPE_LABELS: Record<string, string>;
17
+ /** 节点类型里真正能配指定流转的(排除结束节点与分流/合流点) */
18
+ export declare const ASSIGN_FLOW_NODE_TYPES: Set<string>;
19
+ export interface AssignFlowSettings {
20
+ enable: boolean;
21
+ rangeType: string;
22
+ /** 逗号分隔的节点 ID;空串表示未指定 */
23
+ nodeBrowser: string;
24
+ nodeRangeType: string;
25
+ autoFirstNode: boolean;
26
+ forbidModifyTargetNode: boolean;
27
+ enableNodeAlone: boolean;
28
+ enableOpenDialog: boolean;
29
+ enableComments: boolean;
30
+ alwaysShowComments: boolean;
31
+ enableAutoFlow: string;
32
+ /** 逗号分隔的节点 ID;空串表示未指定 */
33
+ mustMultiNode: string;
34
+ useCommonDestination: boolean;
35
+ modifyOperator: boolean;
36
+ autoOperator: boolean;
37
+ signRelationship: string;
38
+ signRelationshipNew: string;
39
+ /** `['1']` 开启单选 / `[]` 关闭 */
40
+ singleOperator: string[];
41
+ useCc: boolean;
42
+ autoCcOperator: boolean;
43
+ modifyCcOperator: boolean;
44
+ ccType: string;
45
+ /** 标量 `0/1` */
46
+ ccRequired: string;
47
+ defaultCcType: string;
48
+ autoFlowSignType: string;
49
+ autoFlowCCType: string;
50
+ }
51
+ /** 合并两份 Form 的 data,并按写入要求归一形状 */
52
+ export declare function normalizeSettings(baseData: any, commonData: any): AssignFlowSettings;
53
+ export declare function getAssignFlowSettings(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string): Promise<AssignFlowSettings>;
54
+ /** 归一后的设置 → 保存报文。基础与通用合并成一个 JSON。 */
55
+ export declare function buildSavePayload(workflowId: string, nodeId: string, s: AssignFlowSettings): Record<string, unknown>;
56
+ /**
57
+ * 清掉当前取值下不再适用的字段。
58
+ *
59
+ * 只清 `nodeBrowser` —— 范围类型不是「指定节点范围」时**平台自己也会把它清成空**
60
+ * (实测:发 rangeType=0 + 残留节点清单,平台收下、回读是空串)。我们跟上这一步,
61
+ * 否则本地以为写的是 A、回读是 B,保存后的回读比对会误报。
62
+ *
63
+ * `mustMultiNode` **不清**:实测平台会原样保留,浏览器也一样 —— 页面报文里
64
+ * `enableAutoFlow` 是 `"0"`、`mustMultiNode` 却带着值。用户临时关掉自动流转再打开,
65
+ * 必经节点还得在。这里"顺手清掉"等于悄悄吃掉配置。
66
+ */
67
+ export declare function coerceSettings(s: AssignFlowSettings): AssignFlowSettings;
68
+ /** 提交前的组合校验。返回错误文案数组(空 = 通过)。 */
69
+ export declare function validateSettings(s: AssignFlowSettings): string[];
70
+ /** 保存。返回**实际写出去的**设置(已按取值归一),调用方拿它做回读比对。 */
71
+ export declare function saveAssignFlowSettings(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string, raw: AssignFlowSettings): Promise<AssignFlowSettings>;
72
+ /** 保存后回读比对,返回不一致的字段说明。 */
73
+ export declare function diffSettings(before: AssignFlowSettings, after: AssignFlowSettings): string[];
74
+ export interface AssignTargetNode {
75
+ /** 独立设置记录的稳定 ID(改已有目标节点时用它,不要重复新增) */
76
+ id: string;
77
+ targetNodeId: string;
78
+ targetNodeName: string;
79
+ receiverRangeKey: string;
80
+ raw: Record<string, any>;
81
+ }
82
+ export declare function listAssignTargetNodes(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string): Promise<AssignTargetNode[]>;
83
+ /** 新增目标节点独立设置。已存在的目标节点会被跳过(不重复新增)。 */
84
+ export declare function addAssignTargetNodes(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string, targetNodeIds: string[]): Promise<{
85
+ added: string[];
86
+ skipped: string[];
87
+ }>;
88
+ export interface ReceiverRange {
89
+ mainId: string;
90
+ isopen: boolean;
91
+ modetype: string;
92
+ limitOperatorRange: boolean;
93
+ enableSecurityLevel: boolean;
94
+ isUpgrade: boolean;
95
+ }
96
+ export declare function normalizeReceiverRange(data: any): ReceiverRange;
97
+ /** 读指定流转的接收人可选范围。`nodeId` 传配指定流转的那个节点(源节点)。 */
98
+ export declare function getReceiverRange(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string): Promise<ReceiverRange>;
99
+ export declare function saveReceiverRange(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string, r: ReceiverRange): Promise<void>;
100
+ export interface WorkflowNodeRef {
101
+ id: string;
102
+ name: string;
103
+ nodeType: string;
104
+ }
105
+ /** 取全流程节点(含类型),供 --all-nodes 用。 */
106
+ export declare function listWorkflowNodes(client: ApiClient, baseUrl: string, workflowId: string): Promise<WorkflowNodeRef[]>;
107
+ /** 能配指定流转的节点(排除结束节点、分流/合流点) */
108
+ export declare function assignFlowCapableNodes(nodes: WorkflowNodeRef[]): WorkflowNodeRef[];
109
+ //# sourceMappingURL=workflow-assign-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-assign-flow.d.ts","sourceRoot":"","sources":["../../src/services/workflow-assign-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ /**
2
+ * 节点指定流转(工作流术语:开一窗流转)。
3
+ *
4
+ * 页面在「基础设置」和「目标节点通用设置」两个页签,各有一份动态 Form;
5
+ * **保存时必须合并成一个 JSON** 发 `assignFlow/saveBaseSetForm`,分两次发会互相覆盖。
6
+ *
7
+ * 这里最大的坑是**读写形状不对称**(2026-09-22 对 eteams 逐项二分出来的):
8
+ *
9
+ * | 字段 | GET 回读形状 | 写入要求 |
10
+ * |---|---|---|
11
+ * | `nodeBrowser` / `mustMultiNode` | 对象数组 `[{id,dataId,content,…}]` | **逗号分隔字符串**,写数组直接 500 |
12
+ * | `ccRequired` | 数组 `["0"]` | **标量** `0/1`,写数组直接 500 |
13
+ * | `singleOperator` | 数组 `["0"]` | **数组**(`["1"]` 开 / `[]` 关)—— 这个两个方向都是数组 |
14
+ *
15
+ * 所以「读回来原样写回去」在这三个字段上必挂。读回后必须按上表归一。
16
+ */
17
+ const BASE = '/api/bs/workflow/pathdef';
18
+ /** 目标节点选择范围 */
19
+ export const RANGE_TYPES = {
20
+ out: '0', // 按出口选择
21
+ free: '1', // 自由选择
22
+ nodes: '2', // 指定节点范围
23
+ };
24
+ export const RANGE_TYPE_LABELS = {
25
+ '0': '按出口选择', '1': '自由选择', '2': '指定节点范围',
26
+ };
27
+ /** 按出口时,可选出口范围 */
28
+ export const NODE_RANGE_TYPES = {
29
+ all: '0', // 所有出口
30
+ condition: '1', // 满足条件的出口
31
+ };
32
+ export const NODE_RANGE_TYPE_LABELS = {
33
+ '0': '所有出口', '1': '满足条件的出口',
34
+ };
35
+ /** 自动流转 */
36
+ export const AUTO_FLOW_TYPES = {
37
+ none: '0', // 不启用
38
+ must: '1', // 自动流转至必经节点
39
+ first: '2', // 自动流转至第一个满足出口条件的节点
40
+ };
41
+ export const AUTO_FLOW_TYPE_LABELS = {
42
+ '0': '不启用', '1': '自动流转至必经节点', '2': '自动流转至第一个满足出口条件的节点',
43
+ };
44
+ /** 会签关系(新字段,页面以它为准) */
45
+ export const SIGN_RELATION_TYPES = {
46
+ user: '0', // 用户选择
47
+ countersign: '1', // 会签
48
+ non: '2', // 非会签
49
+ order: '3', // 依次
50
+ node: '4', // 节点设置
51
+ parallel: '5', // 并行分流
52
+ };
53
+ export const SIGN_RELATION_LABELS = {
54
+ '0': '用户选择', '1': '会签', '2': '非会签', '3': '依次', '4': '节点设置', '5': '并行分流',
55
+ };
56
+ /** 抄送方式 */
57
+ export const CC_TYPES = {
58
+ user: '0', // 用户选择
59
+ off: '1', // 不启用
60
+ submit: '2', // 需提交
61
+ auto: '3', // 不需提交
62
+ };
63
+ export const CC_TYPE_LABELS = {
64
+ '0': '用户选择', '1': '不启用', '2': '需提交', '3': '不需提交',
65
+ };
66
+ /** 节点类型里真正能配指定流转的(排除结束节点与分流/合流点) */
67
+ export const ASSIGN_FLOW_NODE_TYPES = new Set(['0', '1', '2', '5', '7', '8']);
68
+ /** 浏览器节点对象 / 数组 → 逗号分隔 ID 串 */
69
+ function toIdList(value) {
70
+ if (typeof value === 'string')
71
+ return value;
72
+ if (!Array.isArray(value))
73
+ return '';
74
+ return value
75
+ .map((v) => String(v?.id ?? v?.dataId ?? v ?? ''))
76
+ .filter(Boolean)
77
+ .join(',');
78
+ }
79
+ /** 数组取首元素;别的原样 */
80
+ function toScalar(value) {
81
+ if (Array.isArray(value))
82
+ return String(value[0] ?? '0');
83
+ if (value === undefined || value === null)
84
+ return '0';
85
+ return String(value);
86
+ }
87
+ const asBool = (v) => v === true || v === 1 || v === '1';
88
+ /** 合并两份 Form 的 data,并按写入要求归一形状 */
89
+ export function normalizeSettings(baseData, commonData) {
90
+ const b = baseData || {};
91
+ const c = commonData || {};
92
+ return {
93
+ enable: asBool(b.enable),
94
+ rangeType: String(b.rangeType ?? '0'),
95
+ nodeBrowser: toIdList(b.nodeBrowser),
96
+ nodeRangeType: String(b.nodeRangeType ?? '0'),
97
+ autoFirstNode: asBool(b.autoFirstNode),
98
+ forbidModifyTargetNode: asBool(b.forbidModifyTargetNode),
99
+ enableNodeAlone: asBool(b.enableNodeAlone),
100
+ enableOpenDialog: asBool(b.enableOpenDialog),
101
+ enableComments: asBool(b.enableComments),
102
+ alwaysShowComments: asBool(b.alwaysShowComments),
103
+ enableAutoFlow: String(b.enableAutoFlow ?? '0'),
104
+ mustMultiNode: toIdList(b.mustMultiNode),
105
+ useCommonDestination: asBool(b.useCommonDestination),
106
+ modifyOperator: asBool(c.modifyOperator),
107
+ autoOperator: asBool(c.autoOperator),
108
+ signRelationship: String(c.signRelationship ?? '0'),
109
+ signRelationshipNew: String(c.signRelationshipNew ?? '0'),
110
+ singleOperator: Array.isArray(c.singleOperator) ? c.singleOperator.map(String) : [],
111
+ useCc: asBool(c.useCc),
112
+ autoCcOperator: asBool(c.autoCcOperator),
113
+ modifyCcOperator: asBool(c.modifyCcOperator),
114
+ ccType: String(c.ccType ?? '0'),
115
+ ccRequired: toScalar(c.ccRequired),
116
+ defaultCcType: String(c.defaultCcType ?? '2'),
117
+ autoFlowSignType: String(c.autoFlowSignType ?? '4'),
118
+ autoFlowCCType: String(c.autoFlowCCType ?? '4'),
119
+ };
120
+ }
121
+ export async function getAssignFlowSettings(client, baseUrl, workflowId, nodeId) {
122
+ const [b, c] = await Promise.all([
123
+ client.get(`${baseUrl}${BASE}/assignFlow/getBaseSetForm?workflowId=${workflowId}&nodeId=${nodeId}`),
124
+ client.get(`${baseUrl}${BASE}/assignFlow/getCommonSetForm?workflowId=${workflowId}&nodeId=${nodeId}`),
125
+ ]);
126
+ if (b?.code !== 200 || !b?.status)
127
+ throw new Error(`读取指定流转基础设置失败: ${b?.msg || '未知错误'}`);
128
+ if (c?.code !== 200 || !c?.status)
129
+ throw new Error(`读取指定流转通用设置失败: ${c?.msg || '未知错误'}`);
130
+ return normalizeSettings(b?.data?.data, c?.data?.data);
131
+ }
132
+ /** 归一后的设置 → 保存报文。基础与通用合并成一个 JSON。 */
133
+ export function buildSavePayload(workflowId, nodeId, s) {
134
+ return {
135
+ workflowId, nodeId,
136
+ enable: s.enable,
137
+ rangeType: s.rangeType,
138
+ nodeBrowser: s.nodeBrowser,
139
+ nodeRangeType: s.nodeRangeType,
140
+ autoFirstNode: s.autoFirstNode,
141
+ forbidModifyTargetNode: s.forbidModifyTargetNode,
142
+ enableNodeAlone: s.enableNodeAlone,
143
+ enableOpenDialog: s.enableOpenDialog,
144
+ enableComments: s.enableComments,
145
+ alwaysShowComments: s.alwaysShowComments,
146
+ enableAutoFlow: s.enableAutoFlow,
147
+ mustMultiNode: s.mustMultiNode,
148
+ useCommonDestination: s.useCommonDestination,
149
+ modifyOperator: s.modifyOperator,
150
+ autoOperator: s.autoOperator,
151
+ signRelationship: s.signRelationship,
152
+ signRelationshipNew: s.signRelationshipNew,
153
+ singleOperator: s.singleOperator,
154
+ useCc: s.useCc,
155
+ autoCcOperator: s.autoCcOperator,
156
+ modifyCcOperator: s.modifyCcOperator,
157
+ ccType: s.ccType,
158
+ ccRequired: s.ccRequired,
159
+ defaultCcType: s.defaultCcType,
160
+ autoFlowSignType: s.autoFlowSignType,
161
+ autoFlowCCType: s.autoFlowCCType,
162
+ isChanged: true,
163
+ isSync: false,
164
+ };
165
+ }
166
+ /**
167
+ * 清掉当前取值下不再适用的字段。
168
+ *
169
+ * 只清 `nodeBrowser` —— 范围类型不是「指定节点范围」时**平台自己也会把它清成空**
170
+ * (实测:发 rangeType=0 + 残留节点清单,平台收下、回读是空串)。我们跟上这一步,
171
+ * 否则本地以为写的是 A、回读是 B,保存后的回读比对会误报。
172
+ *
173
+ * `mustMultiNode` **不清**:实测平台会原样保留,浏览器也一样 —— 页面报文里
174
+ * `enableAutoFlow` 是 `"0"`、`mustMultiNode` 却带着值。用户临时关掉自动流转再打开,
175
+ * 必经节点还得在。这里"顺手清掉"等于悄悄吃掉配置。
176
+ */
177
+ export function coerceSettings(s) {
178
+ return { ...s, nodeBrowser: s.rangeType === '2' ? s.nodeBrowser : '' };
179
+ }
180
+ /** 提交前的组合校验。返回错误文案数组(空 = 通过)。 */
181
+ export function validateSettings(s) {
182
+ const errors = [];
183
+ if (s.rangeType === '2' && !s.nodeBrowser) {
184
+ errors.push('目标节点选择范围为「指定节点范围」时必须给 --nodes 指定至少一个节点');
185
+ }
186
+ if (s.enableAutoFlow === '1' && !s.mustMultiNode) {
187
+ errors.push('自动流转为「自动流转至必经节点」时必须给 --must-nodes 指定至少一个节点');
188
+ }
189
+ if (!(s.rangeType in RANGE_TYPE_LABELS))
190
+ errors.push(`未知的目标节点选择范围: ${s.rangeType}`);
191
+ if (!(s.nodeRangeType in NODE_RANGE_TYPE_LABELS))
192
+ errors.push(`未知的出口范围: ${s.nodeRangeType}`);
193
+ if (!(s.enableAutoFlow in AUTO_FLOW_TYPE_LABELS))
194
+ errors.push(`未知的自动流转类型: ${s.enableAutoFlow}`);
195
+ if (!(s.signRelationshipNew in SIGN_RELATION_LABELS))
196
+ errors.push(`未知的会签关系: ${s.signRelationshipNew}`);
197
+ if (!(s.ccType in CC_TYPE_LABELS))
198
+ errors.push(`未知的抄送方式: ${s.ccType}`);
199
+ return errors;
200
+ }
201
+ /** 保存。返回**实际写出去的**设置(已按取值归一),调用方拿它做回读比对。 */
202
+ export async function saveAssignFlowSettings(client, baseUrl, workflowId, nodeId, raw) {
203
+ const s = coerceSettings(raw);
204
+ const errors = validateSettings(s);
205
+ if (errors.length)
206
+ throw new Error(errors.join(';'));
207
+ const res = await client.post(`${baseUrl}${BASE}/assignFlow/saveBaseSetForm`, buildSavePayload(workflowId, nodeId, s));
208
+ if (res?.code !== 200 || res?.status === false || res?.data === false) {
209
+ throw new Error(`保存指定流转设置失败: ${res?.msg || '未知错误'}`);
210
+ }
211
+ return s;
212
+ }
213
+ /** 保存后回读比对,返回不一致的字段说明。 */
214
+ export function diffSettings(before, after) {
215
+ const out = [];
216
+ for (const key of Object.keys(before)) {
217
+ const a = before[key];
218
+ const b = after[key];
219
+ const same = Array.isArray(a) ? JSON.stringify(a) === JSON.stringify(b) : a === b;
220
+ if (!same)
221
+ out.push(`${key}: 期望 ${JSON.stringify(a)},回读 ${JSON.stringify(b)}`);
222
+ }
223
+ return out;
224
+ }
225
+ export async function listAssignTargetNodes(client, baseUrl, workflowId, nodeId) {
226
+ const res = await client.get(`${baseUrl}${BASE}/assignFlow/getTargetNodeList?workflowId=${workflowId}&nodeId=${nodeId}&current=1&pageSize=200`);
227
+ if (res?.code !== 200 || !res?.status)
228
+ throw new Error(`读取指定流转目标节点失败: ${res?.msg || '未知错误'}`);
229
+ const rows = res?.data?.datas || [];
230
+ return rows.map((r) => ({
231
+ id: String(r.id ?? ''),
232
+ targetNodeId: String(r.targetNodeId ?? ''),
233
+ targetNodeName: String(r.targetNodeName ?? ''),
234
+ receiverRangeKey: String(r.receiverRangeKey ?? ''),
235
+ raw: r,
236
+ }));
237
+ }
238
+ /** 新增目标节点独立设置。已存在的目标节点会被跳过(不重复新增)。 */
239
+ export async function addAssignTargetNodes(client, baseUrl, workflowId, nodeId, targetNodeIds) {
240
+ const existing = await listAssignTargetNodes(client, baseUrl, workflowId, nodeId);
241
+ const have = new Set(existing.map((t) => t.targetNodeId));
242
+ const added = targetNodeIds.map(String).filter((id) => !have.has(id));
243
+ const skipped = targetNodeIds.map(String).filter((id) => have.has(id));
244
+ if (!added.length)
245
+ return { added, skipped };
246
+ const res = await client.post(`${baseUrl}${BASE}/assignFlow/batchAddTargetNodeSet`, {
247
+ workflowId, nodeId, targetNodeIds: added.join(','),
248
+ modifyOperator: true, autoOperator: true,
249
+ signRelationship: 0, signRelationshipNew: 0, singleOperator: false,
250
+ useCc: true, autoCcOperator: true, modifyCcOperator: true,
251
+ ccType: 0, ccRequired: 0, defaultCcType: 2, autoFlowSignType: 4, autoFlowCCType: 4,
252
+ });
253
+ if (res?.code !== 200 || res?.status === false || res?.data === false) {
254
+ throw new Error(`新增目标节点失败: ${res?.msg || '未知错误'}`);
255
+ }
256
+ return { added, skipped };
257
+ }
258
+ export function normalizeReceiverRange(data) {
259
+ const d = data || {};
260
+ return {
261
+ mainId: String(d.mainId ?? ''),
262
+ isopen: asBool(d.isopen),
263
+ modetype: String(d.modetype ?? '0'),
264
+ limitOperatorRange: asBool(d.limitOperatorRange),
265
+ enableSecurityLevel: asBool(d.enableSecurityLevel),
266
+ isUpgrade: asBool(d.isUpgrade),
267
+ };
268
+ }
269
+ /** 读指定流转的接收人可选范围。`nodeId` 传配指定流转的那个节点(源节点)。 */
270
+ export async function getReceiverRange(client, baseUrl, workflowId, nodeId) {
271
+ const res = await client.get(`${baseUrl}${BASE}/receiverRange/getBaseSetForm?workflowId=${workflowId}&nodeId=${nodeId}&scene=6`);
272
+ if (res?.code !== 200 || !res?.status)
273
+ throw new Error(`读取接收人可选范围失败: ${res?.msg || '未知错误'}`);
274
+ return normalizeReceiverRange(res?.data?.data);
275
+ }
276
+ export async function saveReceiverRange(client, baseUrl, workflowId, nodeId, r) {
277
+ if (!r.mainId || r.mainId === '0') {
278
+ throw new Error('缺少接收范围 mainId,请先读取当前场景设置(不要用 0 覆盖已有设置)');
279
+ }
280
+ const res = await client.post(`${baseUrl}${BASE}/receiverRange/saveBaseSetForm`, {
281
+ mainId: r.mainId, workflowId, nodeId, scene: 6,
282
+ isopen: r.isopen, modetype: r.modetype, limitOperatorRange: r.limitOperatorRange,
283
+ enableSecurityLevel: r.enableSecurityLevel, isUpgrade: r.isUpgrade,
284
+ isChanged: true,
285
+ });
286
+ if (res?.code !== 200 || res?.status === false || res?.data === false) {
287
+ throw new Error(`保存接收人可选范围失败: ${res?.msg || '未知错误'}`);
288
+ }
289
+ }
290
+ /** 取全流程节点(含类型),供 --all-nodes 用。 */
291
+ export async function listWorkflowNodes(client, baseUrl, workflowId) {
292
+ const res = await client.get(`${baseUrl}${BASE}/nodeBase/getNodeEditTable?workflowId=${workflowId}`);
293
+ if (res?.code !== 200 || !res?.status)
294
+ throw new Error(`读取流程节点失败: ${res?.msg || '未知错误'}`);
295
+ const rows = res?.data?.data || [];
296
+ return rows.map((n) => ({
297
+ id: String(n.id ?? n.nodeId ?? ''),
298
+ name: String(n.nodeName ?? n.name ?? ''),
299
+ nodeType: String(n.nodeType ?? ''),
300
+ }));
301
+ }
302
+ /** 能配指定流转的节点(排除结束节点、分流/合流点) */
303
+ export function assignFlowCapableNodes(nodes) {
304
+ return nodes.filter((n) => ASSIGN_FLOW_NODE_TYPES.has(n.nodeType) && n.id);
305
+ }
306
+ //# sourceMappingURL=workflow-assign-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-assign-flow.js","sourceRoot":"","sources":["../../src/services/workflow-assign-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ /** 查看前收回 —— 强制基线,关不掉 */
3
+ export declare const TAKEBACK_BEFORE = "1";
4
+ /** 查看后收回 —— 唯一可控的那一项 */
5
+ export declare const TAKEBACK_AFTER = "2";
6
+ export interface DrawbackSettings {
7
+ /** 是否额外允许查看后收回。查看前收回恒为开,不建模 */
8
+ after: boolean;
9
+ /** GET 返回的稳定记录 ID,写回时必须带上 */
10
+ id: string;
11
+ }
12
+ /** 回读归一:逗号串或数组都收,顺带去重(平台会吐 ["1","1","2"] 这种带重复的) */
13
+ export declare function normalizeDrawback(data: any): DrawbackSettings;
14
+ /** 设置 → 写入用的逗号串 */
15
+ export declare function buildTakebackType(s: DrawbackSettings): string;
16
+ export declare function getDrawback(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string): Promise<DrawbackSettings>;
17
+ /** 保存。返回实际写出的设置,供调用方回读比对。 */
18
+ export declare function saveDrawback(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string, s: DrawbackSettings): Promise<DrawbackSettings>;
19
+ //# sourceMappingURL=workflow-drawback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-drawback.d.ts","sourceRoot":"","sources":["../../src/services/workflow-drawback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyBnD,wBAAwB;AACxB,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wBAAwB;AACxB,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO7D;AAED,mBAAmB;AACnB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAE7D;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACrE,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED,6BAA6B;AAC7B,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,GAC1F,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 节点强制收回设置(操作菜单「强制收回」按钮的内部设置)。
3
+ *
4
+ * **不能把它当成两个独立复选框。** 平台把「查看前收回」当**强制基线**:
5
+ * 无论发什么,它都会保留 `1`。实测(2026-09-22,接口回读与页面勾选状态双向对齐):
6
+ *
7
+ * | 从空状态发出 | 接口回读 | 页面勾选 |
8
+ * |---|---|---|
9
+ * | `"1"` | `["1"]` | 只有查看前 |
10
+ * | `"2"` | `["1","2"]` | **两个都勾** |
11
+ * | `"1,2"` | `["1","1","2"]` | 两个都勾(多一个重复 token) |
12
+ *
13
+ * 也就是说**「仅查看后收回」设不出来** —— 发 `"2"` 平台上会显示两个都勾。
14
+ * 所以这里只建模成一个开关:`after`(是否额外允许查看后收回),
15
+ * 查看前收回恒为开。想只要查看后收回的,会在命令层被明确拒绝,
16
+ * 而不是静默写成一个跟预期不符的值。
17
+ *
18
+ * 写入还要求 `id` 用 GET 返回的稳定值;传字符串 `"null"`(页面的"新增"路径)
19
+ * 会**每次都新建一行**,而 GET 读不到那些新行 —— 表现是发什么都不动。
20
+ */
21
+ const BASE = '/api/bs/workflow/pathdef';
22
+ /** 查看前收回 —— 强制基线,关不掉 */
23
+ export const TAKEBACK_BEFORE = '1';
24
+ /** 查看后收回 —— 唯一可控的那一项 */
25
+ export const TAKEBACK_AFTER = '2';
26
+ /** 回读归一:逗号串或数组都收,顺带去重(平台会吐 ["1","1","2"] 这种带重复的) */
27
+ export function normalizeDrawback(data) {
28
+ const raw = data?.takebackType;
29
+ const tokens = (Array.isArray(raw) ? raw : String(raw ?? '').split(','))
30
+ .map((t) => String(t).trim())
31
+ .filter(Boolean);
32
+ const set = new Set(tokens);
33
+ return { after: set.has(TAKEBACK_AFTER), id: String(data?.id ?? '') };
34
+ }
35
+ /** 设置 → 写入用的逗号串 */
36
+ export function buildTakebackType(s) {
37
+ return s.after ? `${TAKEBACK_BEFORE},${TAKEBACK_AFTER}` : TAKEBACK_BEFORE;
38
+ }
39
+ export async function getDrawback(client, baseUrl, workflowId, nodeId) {
40
+ const res = await client.get(`${baseUrl}${BASE}/NodeFlowControlSet/getDrawBackForm?workflowId=${workflowId}&nodeId=${nodeId}`);
41
+ if (res?.code !== 200 || !res?.status)
42
+ throw new Error(`读取强制收回设置失败: ${res?.msg || '未知错误'}`);
43
+ return normalizeDrawback(res?.data?.data);
44
+ }
45
+ /** 保存。返回实际写出的设置,供调用方回读比对。 */
46
+ export async function saveDrawback(client, baseUrl, workflowId, nodeId, s) {
47
+ if (!s.id)
48
+ throw new Error(`缺少强制收回记录 ID(getDrawBackForm 未返回 id),节点 ${nodeId} 可能不支持该设置`);
49
+ const res = await client.post(`${baseUrl}${BASE}/NodeFlowControlSet/saveDrawBackForm`, {
50
+ workflowId, nodeId,
51
+ takebackType: buildTakebackType(s),
52
+ id: s.id,
53
+ });
54
+ if (res?.code !== 200 || res?.status === false || res?.data === false) {
55
+ throw new Error(`保存强制收回设置失败: ${res?.msg || '未知错误'}`);
56
+ }
57
+ return s;
58
+ }
59
+ //# sourceMappingURL=workflow-drawback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-drawback.js","sourceRoot":"","sources":["../../src/services/workflow-drawback.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAExC,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AASlC,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,IAAS;IACzC,MAAM,GAAG,GAAG,IAAI,EAAE,YAAY,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrE,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACrC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,iBAAiB,CAAC,CAAmB;IACnD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiB,EAAE,OAAe,EAAE,UAAkB,EAAE,MAAc;IAEtE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAC1B,GAAG,OAAO,GAAG,IAAI,kDAAkD,UAAU,WAAW,MAAM,EAAE,CACjG,CAAC;IACF,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5F,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EAAE,OAAe,EAAE,UAAkB,EAAE,MAAc,EAAE,CAAmB;IAE3F,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,WAAW,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,sCAAsC,EAAE;QACrF,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAClC,EAAE,EAAE,CAAC,CAAC,EAAE;KACT,CAAC,CAAC;IACH,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ /** 用户给的连线描述(JSON 里除 from/to/label 外,可逐条带 reject/default) */
3
+ export interface LinkDef {
4
+ from: string;
5
+ to: string;
6
+ label: string;
7
+ reject?: boolean;
8
+ default?: boolean;
9
+ }
10
+ /** 清洗一条回读行为可写行:只留白名单键,`conditionKey` 单独重建。 */
11
+ export declare function toWritableRow(row: any): Record<string, any>;
12
+ export interface LinkPlan {
13
+ /** 要提交的完整行列表(已有行 + 新行) */
14
+ rows: any[];
15
+ /** 被本次改动波及的**已有**行 id —— 必须进 `updateRowIds`,否则改了等于没改 */
16
+ updateRowIds: string[];
17
+ /** 新行的 id,按入参顺序 */
18
+ newIds: string[];
19
+ /** 逐条生效后的预期标志,供回读比对 */
20
+ expected: Array<{
21
+ id: string;
22
+ reject: boolean;
23
+ isDefault: boolean;
24
+ }>;
25
+ }
26
+ /**
27
+ * 规划一次批量增补:读回的行 + 新连线定义 + 已生成的 id → 完整提交行。
28
+ *
29
+ * 同一批里**同一源节点出现两条默认出口**直接报错。平台允许存两条,
30
+ * 但那是几乎必然是笔误的配置,且「谁把谁覆盖了」取决于批次内顺序、从结果上看不出来,
31
+ * 所以宁可挡住,也不静默取后者。
32
+ */
33
+ export declare function planLinks(existing: any[], defs: LinkDef[], newIds: string[], global?: {
34
+ reject?: boolean;
35
+ default?: boolean;
36
+ }): LinkPlan;
37
+ export interface SaveOutcome {
38
+ ok: boolean;
39
+ message?: string;
40
+ }
41
+ /** 提交。`updateRowIds` 为空时也要发(服务端接受空数组)。 */
42
+ export declare function saveLinkRows(client: ApiClient, baseUrl: string, workflowId: string, plan: LinkPlan): Promise<SaveOutcome>;
43
+ export declare function fetchLinks(client: ApiClient, baseUrl: string, workflowId: string): Promise<any[]>;
44
+ /**
45
+ * 回读比对 —— 保存回 `code:200` 不算数,**读回来一致才算数**。
46
+ *
47
+ * 校验两件事:新连线带上了预期的退回/默认标志;被让位的旧默认出口确实不再是默认。
48
+ * 另外兜一道「同源节点只能有一条默认出口」,因为那正是 `updateRowIds` 漏传时会破的地方。
49
+ */
50
+ export declare function verifyLinkPlan(after: any[], plan: LinkPlan): string[];
51
+ //# sourceMappingURL=workflow-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-links.d.ts","sourceRoot":"","sources":["../../src/services/workflow-links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAwBnD,4DAA4D;AAC5D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ3D;AAID,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,GAAG,EAAE,EACf,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,QAAQ,CA6DV;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0CAA0C;AAC1C,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GACrE,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACrD,OAAO,CAAC,GAAG,EAAE,CAAC,CAQhB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAgCrE"}