weaver-e10-builder 1.0.2-beta

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 (301) hide show
  1. package/README.md +200 -0
  2. package/dist/commands/app.d.ts +3 -0
  3. package/dist/commands/app.d.ts.map +1 -0
  4. package/dist/commands/app.js +305 -0
  5. package/dist/commands/app.js.map +1 -0
  6. package/dist/commands/auth.d.ts +3 -0
  7. package/dist/commands/auth.d.ts.map +1 -0
  8. package/dist/commands/auth.js +386 -0
  9. package/dist/commands/auth.js.map +1 -0
  10. package/dist/commands/check.d.ts +3 -0
  11. package/dist/commands/check.d.ts.map +1 -0
  12. package/dist/commands/check.js +106 -0
  13. package/dist/commands/check.js.map +1 -0
  14. package/dist/commands/compile.d.ts +3 -0
  15. package/dist/commands/compile.d.ts.map +1 -0
  16. package/dist/commands/compile.js +134 -0
  17. package/dist/commands/compile.js.map +1 -0
  18. package/dist/commands/docx.d.ts +3 -0
  19. package/dist/commands/docx.d.ts.map +1 -0
  20. package/dist/commands/docx.js +54 -0
  21. package/dist/commands/docx.js.map +1 -0
  22. package/dist/commands/form-button.d.ts +3 -0
  23. package/dist/commands/form-button.d.ts.map +1 -0
  24. package/dist/commands/form-button.js +441 -0
  25. package/dist/commands/form-button.js.map +1 -0
  26. package/dist/commands/form-data.d.ts +3 -0
  27. package/dist/commands/form-data.d.ts.map +1 -0
  28. package/dist/commands/form-data.js +197 -0
  29. package/dist/commands/form-data.js.map +1 -0
  30. package/dist/commands/form-ebuilder-columns.d.ts +3 -0
  31. package/dist/commands/form-ebuilder-columns.d.ts.map +1 -0
  32. package/dist/commands/form-ebuilder-columns.js +118 -0
  33. package/dist/commands/form-ebuilder-columns.js.map +1 -0
  34. package/dist/commands/form-ebuilder-filter.d.ts +3 -0
  35. package/dist/commands/form-ebuilder-filter.d.ts.map +1 -0
  36. package/dist/commands/form-ebuilder-filter.js +135 -0
  37. package/dist/commands/form-ebuilder-filter.js.map +1 -0
  38. package/dist/commands/form-ebuilder-scope.d.ts +3 -0
  39. package/dist/commands/form-ebuilder-scope.d.ts.map +1 -0
  40. package/dist/commands/form-ebuilder-scope.js +321 -0
  41. package/dist/commands/form-ebuilder-scope.js.map +1 -0
  42. package/dist/commands/form-ebuilder-search.d.ts +3 -0
  43. package/dist/commands/form-ebuilder-search.d.ts.map +1 -0
  44. package/dist/commands/form-ebuilder-search.js +252 -0
  45. package/dist/commands/form-ebuilder-search.js.map +1 -0
  46. package/dist/commands/form-formula.d.ts +12 -0
  47. package/dist/commands/form-formula.d.ts.map +1 -0
  48. package/dist/commands/form-formula.js +252 -0
  49. package/dist/commands/form-formula.js.map +1 -0
  50. package/dist/commands/form-layout-init.d.ts +15 -0
  51. package/dist/commands/form-layout-init.d.ts.map +1 -0
  52. package/dist/commands/form-layout-init.js +162 -0
  53. package/dist/commands/form-layout-init.js.map +1 -0
  54. package/dist/commands/form-layout.d.ts +3 -0
  55. package/dist/commands/form-layout.d.ts.map +1 -0
  56. package/dist/commands/form-layout.js +236 -0
  57. package/dist/commands/form-layout.js.map +1 -0
  58. package/dist/commands/form-list-click.d.ts +3 -0
  59. package/dist/commands/form-list-click.d.ts.map +1 -0
  60. package/dist/commands/form-list-click.js +154 -0
  61. package/dist/commands/form-list-click.js.map +1 -0
  62. package/dist/commands/form-list-event.d.ts +3 -0
  63. package/dist/commands/form-list-event.d.ts.map +1 -0
  64. package/dist/commands/form-list-event.js +203 -0
  65. package/dist/commands/form-list-event.js.map +1 -0
  66. package/dist/commands/form-list-filter.d.ts +9 -0
  67. package/dist/commands/form-list-filter.d.ts.map +1 -0
  68. package/dist/commands/form-list-filter.js +107 -0
  69. package/dist/commands/form-list-filter.js.map +1 -0
  70. package/dist/commands/form-list-group.d.ts +11 -0
  71. package/dist/commands/form-list-group.d.ts.map +1 -0
  72. package/dist/commands/form-list-group.js +100 -0
  73. package/dist/commands/form-list-group.js.map +1 -0
  74. package/dist/commands/form-list-permission.d.ts +3 -0
  75. package/dist/commands/form-list-permission.d.ts.map +1 -0
  76. package/dist/commands/form-list-permission.js +127 -0
  77. package/dist/commands/form-list-permission.js.map +1 -0
  78. package/dist/commands/form-list-search-group.d.ts +3 -0
  79. package/dist/commands/form-list-search-group.d.ts.map +1 -0
  80. package/dist/commands/form-list-search-group.js +132 -0
  81. package/dist/commands/form-list-search-group.js.map +1 -0
  82. package/dist/commands/form-list-stats.d.ts +11 -0
  83. package/dist/commands/form-list-stats.d.ts.map +1 -0
  84. package/dist/commands/form-list-stats.js +139 -0
  85. package/dist/commands/form-list-stats.js.map +1 -0
  86. package/dist/commands/form-list-unit.d.ts +3 -0
  87. package/dist/commands/form-list-unit.d.ts.map +1 -0
  88. package/dist/commands/form-list-unit.js +95 -0
  89. package/dist/commands/form-list-unit.js.map +1 -0
  90. package/dist/commands/form-list-utils.d.ts +32 -0
  91. package/dist/commands/form-list-utils.d.ts.map +1 -0
  92. package/dist/commands/form-list-utils.js +76 -0
  93. package/dist/commands/form-list-utils.js.map +1 -0
  94. package/dist/commands/form-list.d.ts +3 -0
  95. package/dist/commands/form-list.d.ts.map +1 -0
  96. package/dist/commands/form-list.js +624 -0
  97. package/dist/commands/form-list.js.map +1 -0
  98. package/dist/commands/form-permission.d.ts +3 -0
  99. package/dist/commands/form-permission.d.ts.map +1 -0
  100. package/dist/commands/form-permission.js +193 -0
  101. package/dist/commands/form-permission.js.map +1 -0
  102. package/dist/commands/form-relate.d.ts +14 -0
  103. package/dist/commands/form-relate.d.ts.map +1 -0
  104. package/dist/commands/form-relate.js +140 -0
  105. package/dist/commands/form-relate.js.map +1 -0
  106. package/dist/commands/form-serial-mark.d.ts +18 -0
  107. package/dist/commands/form-serial-mark.d.ts.map +1 -0
  108. package/dist/commands/form-serial-mark.js +167 -0
  109. package/dist/commands/form-serial-mark.js.map +1 -0
  110. package/dist/commands/form-table-view.d.ts +3 -0
  111. package/dist/commands/form-table-view.d.ts.map +1 -0
  112. package/dist/commands/form-table-view.js +217 -0
  113. package/dist/commands/form-table-view.js.map +1 -0
  114. package/dist/commands/form-validate.d.ts +3 -0
  115. package/dist/commands/form-validate.d.ts.map +1 -0
  116. package/dist/commands/form-validate.js +122 -0
  117. package/dist/commands/form-validate.js.map +1 -0
  118. package/dist/commands/form-view-permission.d.ts +3 -0
  119. package/dist/commands/form-view-permission.d.ts.map +1 -0
  120. package/dist/commands/form-view-permission.js +86 -0
  121. package/dist/commands/form-view-permission.js.map +1 -0
  122. package/dist/commands/form-view.d.ts +3 -0
  123. package/dist/commands/form-view.d.ts.map +1 -0
  124. package/dist/commands/form-view.js +145 -0
  125. package/dist/commands/form-view.js.map +1 -0
  126. package/dist/commands/form.d.ts +3 -0
  127. package/dist/commands/form.d.ts.map +1 -0
  128. package/dist/commands/form.js +2467 -0
  129. package/dist/commands/form.js.map +1 -0
  130. package/dist/commands/icon.d.ts +3 -0
  131. package/dist/commands/icon.d.ts.map +1 -0
  132. package/dist/commands/icon.js +82 -0
  133. package/dist/commands/icon.js.map +1 -0
  134. package/dist/commands/matrix.d.ts +3 -0
  135. package/dist/commands/matrix.d.ts.map +1 -0
  136. package/dist/commands/matrix.js +587 -0
  137. package/dist/commands/matrix.js.map +1 -0
  138. package/dist/commands/menu-permission.d.ts +3 -0
  139. package/dist/commands/menu-permission.d.ts.map +1 -0
  140. package/dist/commands/menu-permission.js +188 -0
  141. package/dist/commands/menu-permission.js.map +1 -0
  142. package/dist/commands/menu.d.ts +16 -0
  143. package/dist/commands/menu.d.ts.map +1 -0
  144. package/dist/commands/menu.js +269 -0
  145. package/dist/commands/menu.js.map +1 -0
  146. package/dist/commands/project.d.ts +3 -0
  147. package/dist/commands/project.d.ts.map +1 -0
  148. package/dist/commands/project.js +345 -0
  149. package/dist/commands/project.js.map +1 -0
  150. package/dist/commands/role.d.ts +3 -0
  151. package/dist/commands/role.d.ts.map +1 -0
  152. package/dist/commands/role.js +224 -0
  153. package/dist/commands/role.js.map +1 -0
  154. package/dist/commands/user.d.ts +3 -0
  155. package/dist/commands/user.d.ts.map +1 -0
  156. package/dist/commands/user.js +49 -0
  157. package/dist/commands/user.js.map +1 -0
  158. package/dist/commands/workflow-action.d.ts +3 -0
  159. package/dist/commands/workflow-action.d.ts.map +1 -0
  160. package/dist/commands/workflow-action.js +1821 -0
  161. package/dist/commands/workflow-action.js.map +1 -0
  162. package/dist/commands/workflow-advanced.d.ts +3 -0
  163. package/dist/commands/workflow-advanced.d.ts.map +1 -0
  164. package/dist/commands/workflow-advanced.js +290 -0
  165. package/dist/commands/workflow-advanced.js.map +1 -0
  166. package/dist/commands/workflow-condition.d.ts +7 -0
  167. package/dist/commands/workflow-condition.d.ts.map +1 -0
  168. package/dist/commands/workflow-condition.js +562 -0
  169. package/dist/commands/workflow-condition.js.map +1 -0
  170. package/dist/commands/workflow-message.d.ts +3 -0
  171. package/dist/commands/workflow-message.d.ts.map +1 -0
  172. package/dist/commands/workflow-message.js +399 -0
  173. package/dist/commands/workflow-message.js.map +1 -0
  174. package/dist/commands/workflow-node-overtime.d.ts +3 -0
  175. package/dist/commands/workflow-node-overtime.d.ts.map +1 -0
  176. package/dist/commands/workflow-node-overtime.js +150 -0
  177. package/dist/commands/workflow-node-overtime.js.map +1 -0
  178. package/dist/commands/workflow-node-reject.d.ts +3 -0
  179. package/dist/commands/workflow-node-reject.d.ts.map +1 -0
  180. package/dist/commands/workflow-node-reject.js +115 -0
  181. package/dist/commands/workflow-node-reject.js.map +1 -0
  182. package/dist/commands/workflow-node-sign.d.ts +15 -0
  183. package/dist/commands/workflow-node-sign.d.ts.map +1 -0
  184. package/dist/commands/workflow-node-sign.js +100 -0
  185. package/dist/commands/workflow-node-sign.js.map +1 -0
  186. package/dist/commands/workflow-node-validate.d.ts +16 -0
  187. package/dist/commands/workflow-node-validate.d.ts.map +1 -0
  188. package/dist/commands/workflow-node-validate.js +169 -0
  189. package/dist/commands/workflow-node-validate.js.map +1 -0
  190. package/dist/commands/workflow-node.d.ts +3 -0
  191. package/dist/commands/workflow-node.d.ts.map +1 -0
  192. package/dist/commands/workflow-node.js +347 -0
  193. package/dist/commands/workflow-node.js.map +1 -0
  194. package/dist/commands/workflow-numbering.d.ts +17 -0
  195. package/dist/commands/workflow-numbering.d.ts.map +1 -0
  196. package/dist/commands/workflow-numbering.js +191 -0
  197. package/dist/commands/workflow-numbering.js.map +1 -0
  198. package/dist/commands/workflow-plan-range.d.ts +3 -0
  199. package/dist/commands/workflow-plan-range.d.ts.map +1 -0
  200. package/dist/commands/workflow-plan-range.js +116 -0
  201. package/dist/commands/workflow-plan-range.js.map +1 -0
  202. package/dist/commands/workflow-setting.d.ts +3 -0
  203. package/dist/commands/workflow-setting.d.ts.map +1 -0
  204. package/dist/commands/workflow-setting.js +440 -0
  205. package/dist/commands/workflow-setting.js.map +1 -0
  206. package/dist/commands/workflow-title.d.ts +14 -0
  207. package/dist/commands/workflow-title.d.ts.map +1 -0
  208. package/dist/commands/workflow-title.js +106 -0
  209. package/dist/commands/workflow-title.js.map +1 -0
  210. package/dist/commands/workflow.d.ts +26 -0
  211. package/dist/commands/workflow.d.ts.map +1 -0
  212. package/dist/commands/workflow.js +2359 -0
  213. package/dist/commands/workflow.js.map +1 -0
  214. package/dist/core/auth.d.ts +36 -0
  215. package/dist/core/auth.d.ts.map +1 -0
  216. package/dist/core/auth.js +351 -0
  217. package/dist/core/auth.js.map +1 -0
  218. package/dist/core/client.d.ts +27 -0
  219. package/dist/core/client.d.ts.map +1 -0
  220. package/dist/core/client.js +100 -0
  221. package/dist/core/client.js.map +1 -0
  222. package/dist/core/crypto.d.ts +11 -0
  223. package/dist/core/crypto.d.ts.map +1 -0
  224. package/dist/core/crypto.js +102 -0
  225. package/dist/core/crypto.js.map +1 -0
  226. package/dist/core/edition.d.ts +4 -0
  227. package/dist/core/edition.d.ts.map +1 -0
  228. package/dist/core/edition.js +19 -0
  229. package/dist/core/edition.js.map +1 -0
  230. package/dist/index.d.ts +3 -0
  231. package/dist/index.d.ts.map +1 -0
  232. package/dist/index.js +118 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/services/action-detail.d.ts +112 -0
  235. package/dist/services/action-detail.d.ts.map +1 -0
  236. package/dist/services/action-detail.js +443 -0
  237. package/dist/services/action-detail.js.map +1 -0
  238. package/dist/services/condition-rules.d.ts +45 -0
  239. package/dist/services/condition-rules.d.ts.map +1 -0
  240. package/dist/services/condition-rules.js +207 -0
  241. package/dist/services/condition-rules.js.map +1 -0
  242. package/dist/services/form-create.d.ts +102 -0
  243. package/dist/services/form-create.d.ts.map +1 -0
  244. package/dist/services/form-create.js +835 -0
  245. package/dist/services/form-create.js.map +1 -0
  246. package/dist/services/form-ebuilder-filter.d.ts +60 -0
  247. package/dist/services/form-ebuilder-filter.d.ts.map +1 -0
  248. package/dist/services/form-ebuilder-filter.js +562 -0
  249. package/dist/services/form-ebuilder-filter.js.map +1 -0
  250. package/dist/services/form-table-view.d.ts +117 -0
  251. package/dist/services/form-table-view.d.ts.map +1 -0
  252. package/dist/services/form-table-view.js +882 -0
  253. package/dist/services/form-table-view.js.map +1 -0
  254. package/dist/services/form-view-permission.d.ts +30 -0
  255. package/dist/services/form-view-permission.d.ts.map +1 -0
  256. package/dist/services/form-view-permission.js +208 -0
  257. package/dist/services/form-view-permission.js.map +1 -0
  258. package/dist/services/form-view.d.ts +41 -0
  259. package/dist/services/form-view.d.ts.map +1 -0
  260. package/dist/services/form-view.js +334 -0
  261. package/dist/services/form-view.js.map +1 -0
  262. package/dist/services/formula-detail.d.ts +31 -0
  263. package/dist/services/formula-detail.d.ts.map +1 -0
  264. package/dist/services/formula-detail.js +66 -0
  265. package/dist/services/formula-detail.js.map +1 -0
  266. package/dist/services/rich-types.d.ts +35 -0
  267. package/dist/services/rich-types.d.ts.map +1 -0
  268. package/dist/services/rich-types.js +105 -0
  269. package/dist/services/rich-types.js.map +1 -0
  270. package/dist/services/workflow-layout.d.ts +118 -0
  271. package/dist/services/workflow-layout.d.ts.map +1 -0
  272. package/dist/services/workflow-layout.js +279 -0
  273. package/dist/services/workflow-layout.js.map +1 -0
  274. package/dist/services/workflow-operator.d.ts +36 -0
  275. package/dist/services/workflow-operator.d.ts.map +1 -0
  276. package/dist/services/workflow-operator.js +65 -0
  277. package/dist/services/workflow-operator.js.map +1 -0
  278. package/dist/types.d.ts +53 -0
  279. package/dist/types.d.ts.map +1 -0
  280. package/dist/types.js +2 -0
  281. package/dist/types.js.map +1 -0
  282. package/dist/utils/column-name.d.ts +13 -0
  283. package/dist/utils/column-name.d.ts.map +1 -0
  284. package/dist/utils/column-name.js +45 -0
  285. package/dist/utils/column-name.js.map +1 -0
  286. package/ecodecmd/package.json +27 -0
  287. package/ecodecmd/src/build.js +709 -0
  288. package/ecodecmd/src/compile.js +81 -0
  289. package/ecodecmd/src/index.js +48 -0
  290. package/ecodecmd/src/init.js +73 -0
  291. package/ecodecmd/src/lib/@babel/plugin-proposal-object-rest-spread@7.5.5/index.js +1795 -0
  292. package/ecodecmd/src/lib/@babel/plugin-proposal-optional-chaining@7.6.0/index.js +135 -0
  293. package/ecodecmd/src/lib/@babel/preset-env-standalone@7.5.5/babel-preset-env.js +76043 -0
  294. package/ecodecmd/src/lib/@babel/standalone@7.5.5/babel.js +90802 -0
  295. package/ecodecmd/src/lib/exec.js +77 -0
  296. package/ecodecmd/src/loaddep.js +154 -0
  297. package/ecodecmd/src/util/compress.js +58 -0
  298. package/ecodecmd/src/util/crypto-util.js +19 -0
  299. package/ecodecmd/src/util/index.js +153 -0
  300. package/ecodecmd/src/util/snowflake.js +144 -0
  301. package/package.json +43 -0
@@ -0,0 +1,347 @@
1
+ import { AuthSession } from '../core/auth.js';
2
+ import { ApiClient } from '../core/client.js';
3
+ export function registerWorkflowNodeCommands(wf, program) {
4
+ const nodeCmd = wf.command('node').description('节点维度设置(菜单 / 退回 / 超时)');
5
+ // ======== node menu ========
6
+ nodeCmd.command('menu')
7
+ .description('查看/切换节点操作菜单启用状态')
8
+ .argument('<workflowId>', '流程 ID')
9
+ .argument('<nodeId>', '节点 ID')
10
+ .option('--toggle <menuId>', '切换指定菜单的启用状态(传菜单 ID)')
11
+ .action(async (workflowId, nodeId, cmdOpts) => {
12
+ const opts = program.opts();
13
+ const auth = await AuthSession.fromOptions(opts);
14
+ if (!auth)
15
+ process.exit(1);
16
+ const client = new ApiClient(auth);
17
+ const baseUrl = auth.getBaseUrl();
18
+ // 1. Get current menu info
19
+ const getRes = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeMenu/getWfpNodeMenuInfo?workflowId=${workflowId}&nodeId=${nodeId}`);
20
+ if (getRes?.code !== 200 || !getRes?.status) {
21
+ console.error(`查询失败: ${getRes?.msg || '未知错误'}`);
22
+ process.exit(1);
23
+ }
24
+ const menusRaw = getRes?.data?.moremenu || getRes?.data?.data || getRes?.data || [];
25
+ const menus = Array.isArray(menusRaw) ? menusRaw : (menusRaw.menus || menusRaw.list || []);
26
+ // Toggle mode
27
+ if (cmdOpts.toggle) {
28
+ let found = false;
29
+ for (const m of menus) {
30
+ if (String(m.id) === cmdOpts.toggle || String(m.menuId) === cmdOpts.toggle) {
31
+ m.useable = (m.useable === 1 || m.useable === '1' || m.useable === true) ? 0 : 1;
32
+ found = true;
33
+ break;
34
+ }
35
+ }
36
+ if (!found) {
37
+ console.error(`未找到菜单: ${cmdOpts.toggle}`);
38
+ process.exit(1);
39
+ }
40
+ const changeRows = [cmdOpts.toggle];
41
+ const saveRes = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeMenu/saveWfpNodeMenuInfo`, {
42
+ workflowId, nodeId,
43
+ menuStr: JSON.stringify(menus),
44
+ changeRows,
45
+ deleteMenuIds: [],
46
+ });
47
+ if (saveRes?.code === 200 && saveRes?.status) {
48
+ const msg = opts.json
49
+ ? JSON.stringify({ success: true, workflowId, nodeId, toggled: cmdOpts.toggle })
50
+ : `操作菜单已切换: ${cmdOpts.toggle}`;
51
+ console.log(msg);
52
+ }
53
+ else {
54
+ console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
55
+ process.exit(1);
56
+ }
57
+ return;
58
+ }
59
+ // List mode
60
+ if (opts.json) {
61
+ console.log(JSON.stringify({ menus }, null, 2));
62
+ }
63
+ else {
64
+ console.log(`共 ${menus.length} 个操作菜单:\n`);
65
+ for (const m of menus) {
66
+ const enabled = m.useable === 1 || m.useable === '1' || m.useable === true;
67
+ const icon = enabled ? '✅' : '⛔';
68
+ const label = m.menutype || m.menuName || m.name || '(未命名)';
69
+ console.log(` ${icon} ${m.id || m.menuId} ${label}`);
70
+ }
71
+ }
72
+ });
73
+ // ======== node reject ========
74
+ nodeCmd.command('reject')
75
+ .description('配置节点退回设置')
76
+ .argument('<workflowId>', '流程 ID')
77
+ .argument('<nodeId>', '节点 ID')
78
+ .option('--remind <n>', '退回提醒: 0=不提醒, 1=提醒所有参与人, 2=选择提醒节点, 3=用户设置')
79
+ .option('--type <n>', '退回方式: 0=自由, 1=逐级, 2=指定范围, 3=按出口, 4=上一审批人')
80
+ .option('--checked-node <n>', '默认选中: 0=上一节点, 1=发起节点, 2=指定节点')
81
+ .option('--submit-type <n>', '退回后提交: 0=逐级, 1=直达本节点, 2=直达分叉起始节点, 3=操作者选择')
82
+ .action(async (workflowId, nodeId, cmdOpts) => {
83
+ const opts = program.opts();
84
+ const auth = await AuthSession.fromOptions(opts);
85
+ if (!auth)
86
+ process.exit(1);
87
+ const client = new ApiClient(auth);
88
+ const baseUrl = auth.getBaseUrl();
89
+ // 1. Get current settings
90
+ const getRes = await client.get(`${baseUrl}/api/bs/workflow/pathdef/rejectset/getNodeRejectSetForm?workflowId=${workflowId}&nodeId=${nodeId}`);
91
+ if (getRes?.code !== 200 || !getRes?.status) {
92
+ console.error(`查询失败: ${getRes?.msg || '未知错误'}`);
93
+ process.exit(1);
94
+ }
95
+ const form = getRes?.data?.data || getRes?.data || {};
96
+ // Read-only: show current
97
+ if (!cmdOpts.remind && !cmdOpts.type && !cmdOpts.checkedNode && !cmdOpts.submitType) {
98
+ const remindLabels = { '0': '不提醒', '1': '提醒所有参与人', '2': '选择提醒节点', '3': '用户设置' };
99
+ const typeLabels = { '0': '自由', '1': '逐级', '2': '指定范围', '3': '按出口', '4': '上一审批人' };
100
+ const checkedLabels = { '0': '上一节点', '1': '发起节点', '2': '指定节点' };
101
+ const submitLabels = { '0': '逐级', '1': '直达本节点', '2': '直达分叉起始节点', '3': '操作者选择' };
102
+ if (opts.json) {
103
+ console.log(JSON.stringify(form, null, 2));
104
+ }
105
+ else {
106
+ console.log(`退回提醒: ${remindLabels[form.rejectRemind] || form.rejectRemind || '-'}`);
107
+ console.log(`退回方式: ${typeLabels[form.rejectType] || form.rejectType || '-'}`);
108
+ console.log(`默认选中: ${checkedLabels[form.rejectCheckedNode] || form.rejectCheckedNode || '-'}`);
109
+ console.log(`退回后提交: ${submitLabels[form.rejectSubmitType] || form.rejectSubmitType || '-'}`);
110
+ }
111
+ return;
112
+ }
113
+ // Update mode
114
+ if (cmdOpts.remind)
115
+ form.rejectRemind = cmdOpts.remind;
116
+ if (cmdOpts.type)
117
+ form.rejectType = cmdOpts.type;
118
+ if (cmdOpts.checkedNode)
119
+ form.rejectCheckedNode = cmdOpts.checkedNode;
120
+ if (cmdOpts.submitType)
121
+ form.rejectSubmitType = cmdOpts.submitType;
122
+ const saveRes = await client.post(`${baseUrl}/api/bs/workflow/pathdef/rejectset/saveNodeRejectSetInfo`, { workflowId, nodeId, ...form });
123
+ if (saveRes?.code === 200 && saveRes?.status) {
124
+ const msg = opts.json
125
+ ? JSON.stringify({ success: true, workflowId, nodeId })
126
+ : '退回设置已保存';
127
+ console.log(msg);
128
+ }
129
+ else {
130
+ console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
131
+ process.exit(1);
132
+ }
133
+ });
134
+ // ======== node timeout ========
135
+ nodeCmd.command('timeout')
136
+ .description('配置节点超时处理(列表/新增)')
137
+ .argument('<workflowId>', '流程 ID')
138
+ .argument('<nodeId>', '节点 ID')
139
+ .option('--time-type <n>', '超时来源: 1=指定时间, 2=表单字段')
140
+ .option('--time-value <n>', '超时小时数(time-type=1 时使用)')
141
+ .option('--flow-type <n>', '处理方式: 1=下一操作者, 2=退回节点, 3=提交节点, 4=干预对象, 6=指定操作者')
142
+ .option('--remind-type <n>', '提醒时机: 0=超时前, 1=超时后')
143
+ .option('--remind-hours <n>', '提前/延后小时数')
144
+ .action(async (workflowId, nodeId, cmdOpts) => {
145
+ const opts = program.opts();
146
+ const auth = await AuthSession.fromOptions(opts);
147
+ if (!auth)
148
+ process.exit(1);
149
+ const client = new ApiClient(auth);
150
+ const baseUrl = auth.getBaseUrl();
151
+ // 1. Get current timeout list
152
+ const listRes = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeOvertime/getOvertimeList?workflowId=${workflowId}&nodeId=${nodeId}`);
153
+ if (listRes?.code !== 200 || !listRes?.status) {
154
+ console.error(`查询失败: ${listRes?.msg || '未知错误'}`);
155
+ process.exit(1);
156
+ }
157
+ const rules = listRes?.data?.data || listRes?.data || [];
158
+ // Read-only: show current
159
+ if (!cmdOpts.timeType) {
160
+ const flowLabels = { '1': '下一操作者', '2': '退回节点', '3': '提交节点', '4': '干预对象', '6': '指定操作者' };
161
+ const typeLabels = { '1': '指定时间', '2': '表单字段' };
162
+ if (opts.json) {
163
+ console.log(JSON.stringify({ rules }, null, 2));
164
+ }
165
+ else {
166
+ console.log(`共 ${Array.isArray(rules) ? rules.length : 0} 条超时规则:\n`);
167
+ for (const r of (Array.isArray(rules) ? rules : [])) {
168
+ const flowLabel = flowLabels[r.flowType] || r.flowType || '-';
169
+ const typeLabel = typeLabels[r.overTimeType] || r.overTimeType || '-';
170
+ console.log(` ${r.id || ''} ${typeLabel} ${flowLabel} 延时${r.overTime || r.overtime || '-'}h`);
171
+ }
172
+ }
173
+ return;
174
+ }
175
+ // Add mode: call getOvertimeSetCondition first, then save
176
+ const condRes = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeOvertime/getOvertimeSetCondition?workflowId=${workflowId}&nodeId=${nodeId}`);
177
+ const condData = condRes?.data?.data || condRes?.data || {};
178
+ const payload = {
179
+ ...condData,
180
+ workflowId, nodeId,
181
+ id: '',
182
+ overTimeType: cmdOpts.timeType || '1',
183
+ flowType: cmdOpts.flowType || '1',
184
+ overtime: cmdOpts.timeValue || '',
185
+ };
186
+ const saveRes = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeOvertime/saveOvertime`, payload);
187
+ if (saveRes?.code !== 200 || !saveRes?.status) {
188
+ console.error(`保存超时规则失败: ${saveRes?.msg || '未知错误'}`);
189
+ process.exit(1);
190
+ }
191
+ const overtimeId = saveRes?.data?.entity?.id || saveRes?.data?.id || '';
192
+ // Save remind if requested
193
+ if (cmdOpts.remindType && overtimeId) {
194
+ const remindPayload = {
195
+ workflowId, nodeId, overTimeId: overtimeId, id: '',
196
+ remindType: cmdOpts.remindType || '0',
197
+ remindTime: cmdOpts.remindHours || '1',
198
+ ...condData,
199
+ };
200
+ await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeOvertime/saveRemind`, remindPayload).catch(() => { });
201
+ // Save overtime list (batch + enable)
202
+ await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeOvertime/saveOvertimeList`, { workflowId, nodeId, data: JSON.stringify([{ id: overtimeId, isOpen: true }]) }).catch(() => { });
203
+ }
204
+ if (opts.json) {
205
+ console.log(JSON.stringify({ success: true, workflowId, nodeId, overtimeId }, null, 2));
206
+ }
207
+ else {
208
+ console.log(`超时规则已保存: ${overtimeId}`);
209
+ }
210
+ });
211
+ // ======== node field-permission ========
212
+ // 节点级字段权限:控制各字段在节点上的 显示/只读/必填。
213
+ // 链路:getDisplayLayoutForm 发现 formId/permissionId/nodeFormRelateId →
214
+ // getFieldPermission 读当前 configs → saveFieldPermission 保存(带真实 permissionId 更新)。
215
+ const fpCmd = nodeCmd.command('field-permission').description('节点字段权限(显示 / 只读 / 必填)');
216
+ /** 发现节点表单关联 + 读当前字段权限 configs */
217
+ async function loadFieldPermission(client, baseUrl, workflowId, nodeId) {
218
+ const dl = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeLayout/getDisplayLayoutForm?workflowId=${workflowId}&nodeId=${nodeId}`);
219
+ const d = dl?.data || {};
220
+ if (!d.formId) {
221
+ throw new Error(`无法获取节点表单信息(nodeId=${nodeId}): ${dl?.msg || '未知错误'}`);
222
+ }
223
+ const permissionId = d.permissionId || '-1';
224
+ const nodeFormRelateId = d.nodeFormRelateId || '-1';
225
+ const gpBody = {
226
+ module: 'ebuildercard', formId: d.formId, permissionId, showDelete: '0',
227
+ customParam: {
228
+ workflowId, nodeId, scene: 0,
229
+ nodeFormRelate: {
230
+ id: nodeFormRelateId, workflowId, layoutId: d.layoutId || '', nodeId,
231
+ permissionId, relateFormId: d.relateFormId || '',
232
+ allowModify: 0, enableNodePermission: 1, mLayoutId: '', mLayoutMode: '0',
233
+ },
234
+ allowModify: 0, isDefault: false, entrance: 'wfpath', bridgeService: 'ebuilder',
235
+ },
236
+ };
237
+ const gp = await client.post(`${baseUrl}/api/ebuilder/flow/form/view/relate/getFieldPermission`, gpBody);
238
+ return {
239
+ formId: d.formId,
240
+ permissionId,
241
+ nodeFormRelateId,
242
+ layoutId: d.layoutId || '',
243
+ relateFormId: d.relateFormId || '',
244
+ hasNodePermissionSet: !!d.hasNodePermissionSet,
245
+ customParam: gpBody.customParam,
246
+ configs: gp?.data?.configs || [],
247
+ };
248
+ }
249
+ /** 按字段ID或字段名在 configs 中定位 */
250
+ function matchConfigs(configs, refs) {
251
+ const hit = [];
252
+ for (const ref of refs) {
253
+ const found = configs.find((c) => String(c.id) === ref || c.name === ref);
254
+ if (found)
255
+ hit.push(found);
256
+ else
257
+ console.error(` ⚠️ 未找到字段: ${ref}(可用: ${configs.map((c) => `${c.name}(${c.id})`).join(', ')})`);
258
+ }
259
+ return hit;
260
+ }
261
+ fpCmd.command('get')
262
+ .description('查看节点字段权限(各字段 显示/只读/必填)')
263
+ .argument('<workflowId>', '流程 ID')
264
+ .argument('<nodeId>', '节点 ID')
265
+ .action(async (workflowId, nodeId) => {
266
+ const opts = program.opts();
267
+ const auth = await AuthSession.fromOptions(opts);
268
+ if (!auth)
269
+ process.exit(1);
270
+ const client = new ApiClient(auth);
271
+ const baseUrl = auth.getBaseUrl();
272
+ const fp = await loadFieldPermission(client, baseUrl, workflowId, nodeId);
273
+ if (opts.json) {
274
+ console.log(JSON.stringify({ permissionId: fp.permissionId, hasNodePermissionSet: fp.hasNodePermissionSet, configs: fp.configs }, null, 2));
275
+ return;
276
+ }
277
+ console.log(`节点 ${nodeId} 字段权限${fp.hasNodePermissionSet ? '' : '(未设置,当前为默认)'}:`);
278
+ console.log(` 表单: ${fp.formId} permissionId: ${fp.permissionId}`);
279
+ for (const c of fp.configs) {
280
+ const marks = [];
281
+ if (!c.display)
282
+ marks.push('隐藏');
283
+ if (c.readOnly)
284
+ marks.push('只读');
285
+ if (c.required)
286
+ marks.push('必填');
287
+ if (c.disableEdit)
288
+ marks.push('禁编辑');
289
+ console.log(` ${c.name} ${c.display ? '显示' : '隐藏'} ${marks.filter(m => m !== '隐藏').join('/')}`);
290
+ }
291
+ });
292
+ fpCmd.command('set')
293
+ .description('设置节点字段权限(仅控制字段显示/隐藏,与前端一致)。字段可用ID或名称,可多个')
294
+ .argument('<workflowId>', '流程 ID')
295
+ .argument('<nodeId>', '节点 ID')
296
+ .option('--hide <fields...>', '隐藏字段')
297
+ .option('--show <fields...>', '显示字段')
298
+ .action(async (workflowId, nodeId, cmdOpts) => {
299
+ const opts = program.opts();
300
+ const auth = await AuthSession.fromOptions(opts);
301
+ if (!auth)
302
+ process.exit(1);
303
+ const client = new ApiClient(auth);
304
+ const baseUrl = auth.getBaseUrl();
305
+ const fp = await loadFieldPermission(client, baseUrl, workflowId, nodeId);
306
+ const configs = JSON.parse(JSON.stringify(fp.configs)); // deep copy
307
+ let changed = 0;
308
+ const apply = (refs, fn, label) => {
309
+ if (!refs || refs.length === 0)
310
+ return;
311
+ const hits = matchConfigs(configs, refs);
312
+ for (const c of hits) {
313
+ fn(c);
314
+ changed++;
315
+ }
316
+ if (hits.length)
317
+ console.error(` ${label}: ${hits.map((c) => c.name).join(', ')}`);
318
+ };
319
+ apply(cmdOpts.hide, (c) => { c.display = false; }, '隐藏');
320
+ apply(cmdOpts.show, (c) => { c.display = true; }, '显示');
321
+ if (changed === 0) {
322
+ console.error('未指定任何要修改的字段(--hide / --show)');
323
+ process.exit(1);
324
+ }
325
+ const saveBody = {
326
+ module: 'ebuildercard', formId: fp.formId, permissionId: fp.permissionId,
327
+ customParam: fp.customParam,
328
+ configs,
329
+ };
330
+ const saveRes = await client.post(`${baseUrl}/api/ebuilder/flow/form/view/relate/saveFieldPermission`, saveBody);
331
+ if (saveRes?.code === 200 && saveRes?.status) {
332
+ const newPermissionId = saveRes?.data?.id || fp.permissionId;
333
+ if (opts.json) {
334
+ console.log(JSON.stringify({ success: true, nodeId, permissionId: newPermissionId, changed }, null, 2));
335
+ }
336
+ else {
337
+ console.log(`字段权限已保存: ${changed} 个字段更新 → 节点 ${nodeId}`);
338
+ console.log(` permissionId: ${newPermissionId}${fp.hasNodePermissionSet ? '(更新)' : '(新建)'}`);
339
+ }
340
+ }
341
+ else {
342
+ console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
343
+ process.exit(1);
344
+ }
345
+ });
346
+ }
347
+ //# sourceMappingURL=workflow-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-node.js","sourceRoot":"","sources":["../../src/commands/workflow-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Workflow numbering — 流程编号设置。
4
+ *
5
+ * APIs (ref: workflow-mark/browser-observed.md):
6
+ * GET /api/bs/workflow/pathdef/mark/markSet/getMarkSet — 基本设置
7
+ * GET /api/bs/workflow/pathdef/mark/markDef/getMarkDefEditTable — 编号定义
8
+ * POST /api/bs/workflow/pathdef/mark/markDef/saveMultiMarkDefList — 保存定义
9
+ * GET /api/bs/workflow/pathdef/mark/markField/getMarkFieldEditTable — 编号组成
10
+ * POST /api/bs/workflow/pathdef/mark/markField/saveMarkField — 保存组成
11
+ * POST /api/bs/workflow/pathdef/mark/markSeq/getMarkStartSeqList — 起始编号列表
12
+ * POST /api/bs/workflow/pathdef/mark/markSeq/saveMarkSeqList — 保存起始编号
13
+ * POST /api/workflow/core/mark/addMarkReservedList — 新增预留
14
+ * POST /api/bs/workflow/pathdef/mark/markReserve/deleteMarkReserveByIds — 删除预留
15
+ */
16
+ export declare function registerWorkflowNumberingCommands(wfCmd: Command, program: Command): void;
17
+ //# sourceMappingURL=workflow-numbering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-numbering.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-numbering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAoMxF"}
@@ -0,0 +1,191 @@
1
+ import { AuthSession } from '../core/auth.js';
2
+ import { ApiClient } from '../core/client.js';
3
+ /**
4
+ * Workflow numbering — 流程编号设置。
5
+ *
6
+ * APIs (ref: workflow-mark/browser-observed.md):
7
+ * GET /api/bs/workflow/pathdef/mark/markSet/getMarkSet — 基本设置
8
+ * GET /api/bs/workflow/pathdef/mark/markDef/getMarkDefEditTable — 编号定义
9
+ * POST /api/bs/workflow/pathdef/mark/markDef/saveMultiMarkDefList — 保存定义
10
+ * GET /api/bs/workflow/pathdef/mark/markField/getMarkFieldEditTable — 编号组成
11
+ * POST /api/bs/workflow/pathdef/mark/markField/saveMarkField — 保存组成
12
+ * POST /api/bs/workflow/pathdef/mark/markSeq/getMarkStartSeqList — 起始编号列表
13
+ * POST /api/bs/workflow/pathdef/mark/markSeq/saveMarkSeqList — 保存起始编号
14
+ * POST /api/workflow/core/mark/addMarkReservedList — 新增预留
15
+ * POST /api/bs/workflow/pathdef/mark/markReserve/deleteMarkReserveByIds — 删除预留
16
+ */
17
+ export function registerWorkflowNumberingCommands(wfCmd, program) {
18
+ const num = wfCmd.command('numbering').description('流程编号设置(自动编号规则)');
19
+ const BASE = '/api/bs/workflow/pathdef/mark';
20
+ // ─── READ ───────────────────────────────────────────────
21
+ num.command('read')
22
+ .description('查看编号设置')
23
+ .argument('<workflowId>', '流程 ID')
24
+ .action(async (workflowId) => {
25
+ const gOpts = program.opts();
26
+ const auth = await AuthSession.fromOptions(gOpts);
27
+ if (!auth)
28
+ process.exit(1);
29
+ const client = new ApiClient(auth);
30
+ const baseUrl = auth.getBaseUrl();
31
+ // 1. Basic settings
32
+ // getMarkSet 是 POST + 空 body {};缺少配置时它会初始化默认记录(UI 打开编号页就是这个动作)。
33
+ // 之前用 GET 既不初始化也不返回正确数据 → 未开过编号页的流程上后续接口 NPE(R10)
34
+ const setRes = await client.post(`${baseUrl}${BASE}/markSet/getMarkSet?workflowId=${workflowId}`, {});
35
+ const markSet = (setRes?.code === 200 && setRes?.status) ? (setRes?.data || {}) : {};
36
+ // 2. Definition table
37
+ const defRes = await client.get(`${baseUrl}${BASE}/markDef/getMarkDefEditTable?markDefId=0&workflowId=${workflowId}&_=${Date.now()}`);
38
+ const defData = defRes?.data?.rows || defRes?.data?.data || [];
39
+ // 3. Numbering components
40
+ const fieldRes = await client.get(`${baseUrl}${BASE}/markField/getMarkFieldEditTable?markDefId=0&workflowId=${workflowId}&_=${Date.now()}`);
41
+ const fields = fieldRes?.data?.rows || fieldRes?.data?.data || [];
42
+ if (gOpts.json) {
43
+ console.log(JSON.stringify({ markSet, definition: defData, components: fields }, null, 2));
44
+ }
45
+ else {
46
+ // 总开关字段是 use(getMarkSet 响应),不是 isOpen
47
+ console.log(`编号状态: ${markSet.use === '1' || markSet.use === 1 ? '已启用' : '未启用'}`);
48
+ console.log(`编号定义: ${Array.isArray(defData) ? defData.length : 0} 条`);
49
+ console.log(`编号组成: ${Array.isArray(fields) ? fields.length : 0} 项`);
50
+ // 组件行字段:markFieldTypeName(中文名)/markFieldType(枚举)/relateObjValue(值),
51
+ // 不是 type/fieldName/fieldValue/dateFormat
52
+ for (const f of (Array.isArray(fields) ? fields : [])) {
53
+ const typeName = f.markFieldTypeName || f.markFieldType || '';
54
+ const rawVal = f.relateObjValue;
55
+ const showVal = (rawVal !== undefined && rawVal !== null && rawVal !== '') ? ` = ${rawVal}` : '';
56
+ console.log(` [${f.id || f.tempId}] ${typeName}${showVal}`);
57
+ }
58
+ }
59
+ });
60
+ // ─── ENABLE/DISABLE ─────────────────────────────────────
61
+ num.command('enable')
62
+ .description('启用/关闭流程编号')
63
+ .argument('<workflowId>', '流程 ID')
64
+ .option('--off', '关闭编号')
65
+ .action(async (workflowId, opts) => {
66
+ const gOpts = program.opts();
67
+ const auth = await AuthSession.fromOptions(gOpts);
68
+ if (!auth)
69
+ process.exit(1);
70
+ const client = new ApiClient(auth);
71
+ const baseUrl = auth.getBaseUrl();
72
+ // Read current definitions
73
+ const defRes = await client.get(`${baseUrl}${BASE}/markDef/getMarkDefEditTable?markDefId=0&workflowId=${workflowId}&_=${Date.now()}`);
74
+ const defData = defRes?.data?.rows || defRes?.data?.data || [];
75
+ const markDefId = String(defData?.[0]?.id || '0');
76
+ // 启用前先保存编号组件(markField:年/流水号等)。之前只调 saveMultiMarkDefList,
77
+ // 后端 markDefEntityList 为空 → NPE。浏览器顺序:saveMarkField 存组件 → saveMultiMarkDefList 启用。
78
+ if (!opts.off) {
79
+ const fieldRes = await client.get(`${baseUrl}${BASE}/markField/getMarkFieldEditTable?markDefId=0&workflowId=${workflowId}&_=${Date.now()}`);
80
+ const markFields = fieldRes?.data?.rows || fieldRes?.data?.data || [];
81
+ if (Array.isArray(markFields) && markFields.length > 0) {
82
+ // seqAlone 读格式是数组/字符串(如 年=["DATE_YEAR"]),保存格式要数字(浏览器 年=1)。数组→1。
83
+ const normalizedFields = markFields.map((f) => {
84
+ const out = { ...f, workflowId, markDefId };
85
+ if (Array.isArray(out.seqAlone))
86
+ out.seqAlone = 1;
87
+ return out;
88
+ });
89
+ const fieldPayload = {
90
+ markFields: normalizedFields,
91
+ delDefIds: [],
92
+ workflowId,
93
+ markDefId,
94
+ publicMarkDefName: '',
95
+ };
96
+ const fieldRes2 = await client.post(`${baseUrl}${BASE}/markField/saveMarkField`, fieldPayload);
97
+ if (fieldRes2?.code !== 200 || !fieldRes2?.status) {
98
+ console.error(`保存编号组件失败: ${fieldRes2?.msg || '未知错误'}`);
99
+ process.exit(1);
100
+ }
101
+ }
102
+ }
103
+ // 浏览器实测 payload:key 是 multiMarkDefList(不是 markDefs),启用开关是 markSetUse,
104
+ // markDef.use 用布尔。之前发 markDefs/isOpen,后端找不到 multiMarkDefList → markDefEntityList null → NPE。
105
+ const payload = {
106
+ multiMarkDefList: (Array.isArray(defData) ? defData : []).map((md) => ({ ...md, use: !opts.off })),
107
+ workflowId,
108
+ delMarkDefIds: [],
109
+ markSetUse: opts.off ? 0 : 1,
110
+ };
111
+ const res = await client.post(`${baseUrl}${BASE}/markDef/saveMultiMarkDefList`, payload);
112
+ if (res?.code !== 200 || !res?.status) {
113
+ console.error(`保存失败: ${res?.msg || '未知错误'}`);
114
+ process.exit(1);
115
+ }
116
+ console.log(`编号已${opts.off ? '关闭' : '启用'}`);
117
+ });
118
+ // ─── ADD COMPONENT ──────────────────────────────────────
119
+ num.command('add-component')
120
+ .description('添加编号组成项')
121
+ .argument('<workflowId>', '流程 ID')
122
+ .option('--type <type>', '类型: fixed(固定) / date(日期) / field(表单字段)')
123
+ .option('--value <text>', '固定内容值(type=fixed 时)')
124
+ .option('--format <fmt>', '日期格式: yyyy / yyyyMM / yyyyMMdd(type=date 时)', 'yyyyMMdd')
125
+ .option('--field-id <id>', '表单字段 ID(type=field 时)')
126
+ .option('--field-name <name>', '字段名称(type=field 时)')
127
+ .action(async (workflowId, opts) => {
128
+ const gOpts = program.opts();
129
+ const auth = await AuthSession.fromOptions(gOpts);
130
+ if (!auth)
131
+ process.exit(1);
132
+ const client = new ApiClient(auth);
133
+ const baseUrl = auth.getBaseUrl();
134
+ // Read current components
135
+ const fieldRes = await client.get(`${baseUrl}${BASE}/markField/getMarkFieldEditTable?markDefId=0&workflowId=${workflowId}&_=${Date.now()}`);
136
+ const existing = fieldRes?.data?.rows || fieldRes?.data?.data || [];
137
+ const newItem = {
138
+ tempId: 'temp_' + Date.now(),
139
+ markDefId: '0',
140
+ type: opts.type || 'fixed',
141
+ sort: existing.length + 1,
142
+ };
143
+ if (opts.type === 'fixed') {
144
+ newItem.fieldValue = opts.value || '';
145
+ newItem.fieldName = opts.value || '';
146
+ }
147
+ else if (opts.type === 'date') {
148
+ newItem.dateFormat = opts.format || 'yyyyMMdd';
149
+ }
150
+ else if (opts.type === 'field') {
151
+ newItem.fieldId = opts.fieldId || '';
152
+ newItem.fieldName = opts.fieldName || '';
153
+ }
154
+ const markFields = [...(Array.isArray(existing) ? existing : []), newItem];
155
+ const res = await client.post(`${baseUrl}${BASE}/markField/saveMarkField`, {
156
+ workflowId,
157
+ markDefId: '0',
158
+ markFields,
159
+ delDefIds: [],
160
+ });
161
+ if (res?.code !== 200 || !res?.status) {
162
+ console.error(`保存失败: ${res?.msg || '未知错误'}`);
163
+ process.exit(1);
164
+ }
165
+ console.log(`编号组成项已添加: ${opts.type} ${opts.value || opts.format || opts.fieldName || ''}`);
166
+ });
167
+ // ─── RESERVE ────────────────────────────────────────────
168
+ num.command('reserve')
169
+ .description('预留编号')
170
+ .argument('<workflowId>', '流程 ID')
171
+ .argument('<count>', '预留数量')
172
+ .option('--prefix <text>', '前缀', '')
173
+ .action(async (workflowId, count, opts) => {
174
+ const gOpts = program.opts();
175
+ const auth = await AuthSession.fromOptions(gOpts);
176
+ if (!auth)
177
+ process.exit(1);
178
+ const client = new ApiClient(auth);
179
+ const baseUrl = auth.getBaseUrl();
180
+ const res = await client.post(`${baseUrl}/api/workflow/core/mark/addMarkReservedList`, {
181
+ workflowId,
182
+ applyCount: Number(count) || 1,
183
+ });
184
+ if (res?.code !== 200 || !res?.status) {
185
+ console.error(`预留失败: ${res?.msg || '未知错误'}`);
186
+ process.exit(1);
187
+ }
188
+ console.log(`已预留 ${count} 个编号`);
189
+ });
190
+ }
191
+ //# sourceMappingURL=workflow-numbering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-numbering.js","sourceRoot":"","sources":["../../src/commands/workflow-numbering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerWorkflowPlanRangeCommands(wfCmd: Command, program: Command): void;
3
+ //# sourceMappingURL=workflow-plan-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-plan-range.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-plan-range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAsHxF"}