weaver-e10-builder 1.0.7-beta → 1.0.8-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 (31) hide show
  1. package/dist/commands/wf-form.d.ts.map +1 -1
  2. package/dist/commands/wf-form.js +824 -42
  3. package/dist/commands/wf-form.js.map +1 -1
  4. package/dist/commands/workflow-action.d.ts.map +1 -1
  5. package/dist/commands/workflow-action.js +34 -28
  6. package/dist/commands/workflow-action.js.map +1 -1
  7. package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
  8. package/dist/commands/workflow-create-workflow.js +75 -25
  9. package/dist/commands/workflow-create-workflow.js.map +1 -1
  10. package/dist/commands/workflow-node-robot.js +1 -1
  11. package/dist/commands/workflow-node-robot.js.map +1 -1
  12. package/dist/commands/workflow-node-validate.d.ts.map +1 -1
  13. package/dist/commands/workflow-node-validate.js +56 -45
  14. package/dist/commands/workflow-node-validate.js.map +1 -1
  15. package/dist/commands/workflow-numbering.d.ts.map +1 -1
  16. package/dist/commands/workflow-numbering.js +98 -2
  17. package/dist/commands/workflow-numbering.js.map +1 -1
  18. package/dist/commands/workflow-operator-sign.d.ts +3 -0
  19. package/dist/commands/workflow-operator-sign.d.ts.map +1 -0
  20. package/dist/commands/workflow-operator-sign.js +118 -0
  21. package/dist/commands/workflow-operator-sign.js.map +1 -0
  22. package/dist/commands/workflow.d.ts.map +1 -1
  23. package/dist/commands/workflow.js +83 -6
  24. package/dist/commands/workflow.js.map +1 -1
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/services/workflow-initiator.d.ts +15 -0
  28. package/dist/services/workflow-initiator.d.ts.map +1 -0
  29. package/dist/services/workflow-initiator.js +77 -0
  30. package/dist/services/workflow-initiator.js.map +1 -0
  31. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-operator-sign.js","sourceRoot":"","sources":["../../src/commands/workflow-operator-sign.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAyDhD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAu7ElE"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAyDhD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA2/ElE"}
@@ -90,7 +90,9 @@ export function registerWorkflowCommands(program) {
90
90
  .argument('<formObjId>', '表单 objId')
91
91
  .argument('<name>', '流程名称')
92
92
  .argument('[desc]', '流程描述', '')
93
+ .option('--workflow-type <type>', '工作流类型:名称(如"公文审批")或 ID(默认 -1=其它)', '-1')
93
94
  .option('--no-menu', '不自动添加发起菜单(默认建流程后自动加,指向表单新建页)')
95
+ .option('--no-auto-layout', '跳过建后自动排版节点(默认建完跑 auto-layout)')
94
96
  .action(async (appId, formObjId, name, desc, cmdOpts) => {
95
97
  const opts = program.opts();
96
98
  const auth = await AuthSession.fromOptions(opts);
@@ -106,6 +108,18 @@ export function registerWorkflowCommands(program) {
106
108
  process.exit(1);
107
109
  }
108
110
  console.error(` objId ${formObjId} -> formId ${realFormId}`);
111
+ // 工作流类型:认 ID(如 -1=其它)或名称(如"公文审批")。名称走 workflowPathTypeBrowser 解析。
112
+ // eb 流程也有流程类型概念,只是默认 -1(其它)。
113
+ let workflowType = cmdOpts.workflowType || '-1';
114
+ if (workflowType !== '-1' && !/^-?\d+$/.test(workflowType)) {
115
+ const tRes = await client.post(`${baseUrl}/api/workflow/pathdef/common/browser/complete/workflowPathTypeBrowser`, { browserMultiple: false, belongType: 1, showAddBtn: true, checkDetachable: true, newly: 1, searchValue: workflowType });
116
+ const types = tRes?.data?.data || [];
117
+ const hit = types.find((t) => t.name === workflowType || t.content === workflowType) || (types.length === 1 ? types[0] : null);
118
+ if (!hit)
119
+ throw new Error(`工作流类型 "${workflowType}" 未找到(可用: ${types.map((t) => t.name).join(', ')} 或 -1=其它)`);
120
+ workflowType = String(hit.id);
121
+ console.error(` 工作流类型: ${hit.name} (${workflowType})`);
122
+ }
109
123
  // Create workflow
110
124
  const ts = Date.now();
111
125
  const payload = {
@@ -113,7 +127,7 @@ export function registerWorkflowCommands(program) {
113
127
  createClient: '0', ebFormId: realFormId, createPcShow: ['0'], wfSymbol: '',
114
128
  orderId: '0.0', moduleCard: 0, createType: '0', workflowName: name,
115
129
  workflowDesc: desc, relateForm: '4', isLock: '0', isFree: '0',
116
- addDefaultHide: 0, createPcShowCustom: '', workflowType: '-1', id: '0',
130
+ addDefaultHide: 0, createPcShowCustom: '', workflowType, id: '0',
117
131
  workflowNameMultiLang: { tablefiled: 'wfp_base.workflowname', targetId: String(ts), needReplaceTargetId: true },
118
132
  createMobileShowCustom: '', status: '1', createMobileShow: ['0'],
119
133
  formMode: '0', formId: 0, relateFormMode: '0', workflowId: -1,
@@ -179,6 +193,17 @@ export function registerWorkflowCommands(program) {
179
193
  catch {
180
194
  console.error(' 警告: 无法自动设置发起权限,请手动设置');
181
195
  }
196
+ // 流程节点自动排版(建好即布局,避免节点堆叠在原点;与工作流程 create-workflow 对齐)。
197
+ if (cmdOpts.autoLayout) {
198
+ try {
199
+ const { autoLayoutWorkflow } = await import('../services/workflow-layout.js');
200
+ await autoLayoutWorkflow({ client, baseUrl, workflowId });
201
+ console.error(' 节点已自动排版(auto-layout)');
202
+ }
203
+ catch (e) {
204
+ console.error(` 警告: 自动排版失败: ${e.message}(可用 workflow auto-layout <wf> 手动重排)`);
205
+ }
206
+ }
182
207
  const workflowUrl = `${baseUrl}/sp/workflow/flowpage/create/${workflowId}`;
183
208
  // Auto-add 发起 menu (LAYOUT → form create page, triggers bound workflow)
184
209
  let menuId = null;
@@ -256,7 +281,7 @@ export function registerWorkflowCommands(program) {
256
281
  const baseUrl = auth.getBaseUrl();
257
282
  const body = {
258
283
  isTemplate: 0,
259
- belongType: parseInt(cmdOpts.belong) || 1,
284
+ belongType: cmdOpts.belong !== undefined && cmdOpts.belong !== '' ? parseInt(cmdOpts.belong) : 1,
260
285
  current: parseInt(cmdOpts.pageNo) || 1,
261
286
  pageSize: parseInt(cmdOpts.pageSize) || 20,
262
287
  searchParams: {
@@ -2324,18 +2349,70 @@ export function registerWorkflowCommands(program) {
2324
2349
  const fieldName = parsed.fieldName || '';
2325
2350
  const value = String(parsed.value);
2326
2351
  const nodeName = parsed.nodeName || '节点';
2327
- const trigger = parsed.trigger || 'pre';
2352
+ const client = new ApiClient(auth);
2353
+ const baseUrl = auth.getBaseUrl();
2354
+ // 触发时机(抓包确认):正向离开=after+["1"] / 退回到达=pre+["2"]。
2355
+ // trigger 值:pre(到达) / after 或 leave(正向离开) / back-arrive(退回到达) / delete / save / revert / pause / cancel
2356
+ // trigger 含 '-' 时为时机别名,拆出 triggerType + executeTime;其余直接当 triggerType,executeTime 默认 ["1"]。
2357
+ const rawTrigger = parsed.trigger || 'pre';
2358
+ let triggerType = rawTrigger;
2359
+ let executeTime = ['1'];
2360
+ if (rawTrigger === 'leave' || rawTrigger === 'after') {
2361
+ triggerType = 'after';
2362
+ executeTime = ['1'];
2363
+ }
2364
+ else if (rawTrigger === 'back-arrive' || rawTrigger === 'back') {
2365
+ triggerType = 'pre';
2366
+ executeTime = ['2'];
2367
+ }
2368
+ else if (Array.isArray(parsed.executeTime))
2369
+ executeTime = parsed.executeTime;
2370
+ // Select/SelectMultiple 字段常量赋值 customValue 必须存选项 valueKey:
2371
+ // 流程表单 Select valueKey=序号(0/1/2);eb 表 Select valueKey=雪花id(=selectionId)。
2372
+ // 存选项名会导致设计器打开值空、actionName 值部分被清。
2373
+ // 两类表单字段读取接口不同,需兼容:先 workflow 接口(流程表单),读不到再 eb 接口(eb 表关联流程)。
2374
+ // formId 从 getDisplayLayoutForm 反查(流程表单=formId,eb 表=关联 eb 表 formId)。
2375
+ let customValue = value;
2376
+ try {
2377
+ const dl = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeLayout/getDisplayLayoutForm?workflowId=${wf}&nodeId=${nodeId}`);
2378
+ const fid = String(dl?.data?.formId || '');
2379
+ if (fid && parsed.fieldId) {
2380
+ let f = {};
2381
+ // ① workflow 接口(流程表单 Select,valueKey=0/1/2)
2382
+ try {
2383
+ const gf = await client.post(`${baseUrl}/api/workflow/core/form/field/manage/getFormField`, { module: 'workflow', formTableField: { formField: { id: parsed.fieldId, form: { id: fid } } } }, { ebbusinessid: fid });
2384
+ f = gf?.data || {};
2385
+ }
2386
+ catch { /* try eb */ }
2387
+ // ② workflow 接口读不到 options(eb 流程字段在 eb 表)→ eb 接口(valueKey=雪花id)
2388
+ // eb 接口需 customParam:{objId}(用 formId 当 objId 即可读到 options,抓包确认)
2389
+ if (!Array.isArray(f.options) || f.options.length === 0) {
2390
+ try {
2391
+ const gf2 = await client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/getFormField`, { module: 'ebuilderform', customParam: { objId: fid }, formTableField: { formField: { id: parsed.fieldId, form: { id: fid } } } }, { ebbusinessid: fid });
2392
+ f = gf2?.data || {};
2393
+ }
2394
+ catch { /* 保持 */ }
2395
+ }
2396
+ if (/select/i.test(String(f.type || f.componentKey || ''))) {
2397
+ const opts = Array.isArray(f.options) ? f.options : [];
2398
+ const hit = opts.find((o) => o.name === value);
2399
+ if (hit)
2400
+ customValue = String(hit.valueKey);
2401
+ }
2402
+ }
2403
+ }
2404
+ catch { /* 解析失败保持原值(非 Select 或字段读不到) */ }
2328
2405
  payload = {
2329
2406
  workflowId: wf, objId: nodeId, triggerType: 'all',
2330
2407
  data: [{
2331
2408
  id: tempIdNeg(),
2332
2409
  actionName: `${fieldName} = ${value}`.trim(),
2333
- executeTime: ['1'], open: true, async: 0, actionType: 0,
2334
- dateRuleStr: '', triggerType: trigger, order: 0,
2410
+ executeTime: executeTime, open: true, async: 0, actionType: 0,
2411
+ dateRuleStr: '', triggerType: triggerType, order: 0,
2335
2412
  targetValue: parsed.fieldId,
2336
2413
  firstValue: 'custom',
2337
2414
  operatorValue: '', secondValue: '',
2338
- customValue: value,
2415
+ customValue,
2339
2416
  dateRule: [], isCreate: false,
2340
2417
  }],
2341
2418
  isNodeFlag: '1', objName: nodeName,