weaver-e10-builder 1.5.11 → 1.5.12
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.
- package/README.md +212 -189
- package/assets/image-style-observation.schema.json +1355 -0
- package/assets/layout-spec.schema.json +52 -0
- package/dist/commands/form-field-linkage.d.ts +55 -0
- package/dist/commands/form-field-linkage.d.ts.map +1 -1
- package/dist/commands/form-field-linkage.js +1026 -12
- package/dist/commands/form-field-linkage.js.map +1 -1
- package/dist/commands/form-formula-linkage.d.ts +36 -0
- package/dist/commands/form-formula-linkage.d.ts.map +1 -1
- package/dist/commands/form-formula-linkage.js +107 -7
- package/dist/commands/form-formula-linkage.js.map +1 -1
- package/dist/commands/form-layout-restore.d.ts +3 -0
- package/dist/commands/form-layout-restore.d.ts.map +1 -0
- package/dist/commands/form-layout-restore.js +217 -0
- package/dist/commands/form-layout-restore.js.map +1 -0
- package/dist/commands/form-layout.d.ts.map +1 -1
- package/dist/commands/form-layout.js +11 -1
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-obj-meta.d.ts +12 -0
- package/dist/commands/form-obj-meta.d.ts.map +1 -0
- package/dist/commands/form-obj-meta.js +116 -0
- package/dist/commands/form-obj-meta.js.map +1 -0
- package/dist/commands/form-validate.d.ts.map +1 -1
- package/dist/commands/form-validate.js +167 -35
- package/dist/commands/form-validate.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +26 -2
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +5 -3
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +215 -13
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/core/client.d.ts +2 -1
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +4 -2
- package/dist/core/client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
- package/dist/services/actionflow/calendar_mapper.js +34 -14
- package/dist/services/actionflow/calendar_mapper.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +113 -4
- package/dist/services/actionflow/components/document_actions.js.map +1 -1
- package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -1
- package/dist/services/actionflow/components/eb_get_data_by_id.js +18 -1
- package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -1
- package/dist/services/actionflow/components/index.d.ts.map +1 -1
- package/dist/services/actionflow/components/index.js +2 -1
- package/dist/services/actionflow/components/index.js.map +1 -1
- package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/schedule_create.js +22 -6
- package/dist/services/actionflow/components/schedule_create.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts +1 -0
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +31 -6
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/document_source.d.ts +5 -0
- package/dist/services/actionflow/document_source.d.ts.map +1 -1
- package/dist/services/actionflow/document_source.js +16 -0
- package/dist/services/actionflow/document_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +19 -8
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +5 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +127 -2
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/save_workflow_draft.d.ts +7 -0
- package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
- package/dist/services/actionflow/save_workflow_draft.js +1 -1
- package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +26 -0
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/form-formula-linkage.d.ts +4 -0
- package/dist/services/form-formula-linkage.d.ts.map +1 -1
- package/dist/services/form-formula-linkage.js +3 -1
- package/dist/services/form-formula-linkage.js.map +1 -1
- package/dist/services/form-layout-io.d.ts +18 -0
- package/dist/services/form-layout-io.d.ts.map +1 -0
- package/dist/services/form-layout-io.js +89 -0
- package/dist/services/form-layout-io.js.map +1 -0
- package/dist/services/form-layout-source/artifact.d.ts +8 -0
- package/dist/services/form-layout-source/artifact.d.ts.map +1 -0
- package/dist/services/form-layout-source/artifact.js +52 -0
- package/dist/services/form-layout-source/artifact.js.map +1 -0
- package/dist/services/form-layout-source/binding.d.ts +10 -0
- package/dist/services/form-layout-source/binding.d.ts.map +1 -0
- package/dist/services/form-layout-source/binding.js +43 -0
- package/dist/services/form-layout-source/binding.js.map +1 -0
- package/dist/services/form-layout-source/compile.d.ts +7 -0
- package/dist/services/form-layout-source/compile.d.ts.map +1 -0
- package/dist/services/form-layout-source/compile.js +262 -0
- package/dist/services/form-layout-source/compile.js.map +1 -0
- package/dist/services/form-layout-source/creation.d.ts +18 -0
- package/dist/services/form-layout-source/creation.d.ts.map +1 -0
- package/dist/services/form-layout-source/creation.js +42 -0
- package/dist/services/form-layout-source/creation.js.map +1 -0
- package/dist/services/form-layout-source/excel-extractor.d.ts +7 -0
- package/dist/services/form-layout-source/excel-extractor.d.ts.map +1 -0
- package/dist/services/form-layout-source/excel-extractor.js +342 -0
- package/dist/services/form-layout-source/excel-extractor.js.map +1 -0
- package/dist/services/form-layout-source/image-border.d.ts +9 -0
- package/dist/services/form-layout-source/image-border.d.ts.map +1 -0
- package/dist/services/form-layout-source/image-border.js +128 -0
- package/dist/services/form-layout-source/image-border.js.map +1 -0
- package/dist/services/form-layout-source/image-observation.d.ts +14 -0
- package/dist/services/form-layout-source/image-observation.d.ts.map +1 -0
- package/dist/services/form-layout-source/image-observation.js +90 -0
- package/dist/services/form-layout-source/image-observation.js.map +1 -0
- package/dist/services/form-layout-source/image-review.d.ts +32 -0
- package/dist/services/form-layout-source/image-review.d.ts.map +1 -0
- package/dist/services/form-layout-source/image-review.js +266 -0
- package/dist/services/form-layout-source/image-review.js.map +1 -0
- package/dist/services/form-layout-source/image-style.d.ts +16 -0
- package/dist/services/form-layout-source/image-style.d.ts.map +1 -0
- package/dist/services/form-layout-source/image-style.js +539 -0
- package/dist/services/form-layout-source/image-style.js.map +1 -0
- package/dist/services/form-layout-source/json.d.ts +3 -0
- package/dist/services/form-layout-source/json.d.ts.map +1 -0
- package/dist/services/form-layout-source/json.js +33 -0
- package/dist/services/form-layout-source/json.js.map +1 -0
- package/dist/services/form-layout-source/presentation.d.ts +23 -0
- package/dist/services/form-layout-source/presentation.d.ts.map +1 -0
- package/dist/services/form-layout-source/presentation.js +174 -0
- package/dist/services/form-layout-source/presentation.js.map +1 -0
- package/dist/services/form-layout-source/preview.d.ts +4 -0
- package/dist/services/form-layout-source/preview.d.ts.map +1 -0
- package/dist/services/form-layout-source/preview.js +49 -0
- package/dist/services/form-layout-source/preview.js.map +1 -0
- package/dist/services/form-layout-source/schema.d.ts +20 -0
- package/dist/services/form-layout-source/schema.d.ts.map +1 -0
- package/dist/services/form-layout-source/schema.js +149 -0
- package/dist/services/form-layout-source/schema.js.map +1 -0
- package/dist/services/form-layout-source/source-grid.d.ts +8 -0
- package/dist/services/form-layout-source/source-grid.d.ts.map +1 -0
- package/dist/services/form-layout-source/source-grid.js +61 -0
- package/dist/services/form-layout-source/source-grid.js.map +1 -0
- package/dist/services/form-layout-source/types.d.ts +242 -0
- package/dist/services/form-layout-source/types.d.ts.map +1 -0
- package/dist/services/form-layout-source/types.js +2 -0
- package/dist/services/form-layout-source/types.js.map +1 -0
- package/dist/services/form-layout-source/verify.d.ts +14 -0
- package/dist/services/form-layout-source/verify.d.ts.map +1 -0
- package/dist/services/form-layout-source/verify.js +226 -0
- package/dist/services/form-layout-source/verify.js.map +1 -0
- package/dist/services/form-obj-meta.d.ts +72 -0
- package/dist/services/form-obj-meta.d.ts.map +1 -0
- package/dist/services/form-obj-meta.js +103 -0
- package/dist/services/form-obj-meta.js.map +1 -0
- package/dist/services/validate-help.d.ts +25 -0
- package/dist/services/validate-help.d.ts.map +1 -0
- package/dist/services/validate-help.js +29 -0
- package/dist/services/validate-help.js.map +1 -0
- package/package.json +3 -1
- package/skill-docs/SKILL.md +15 -6
- package/skill-docs/_catalog.md +1 -0
- package/skill-docs/actionflows/references/components/document/DocumentSave.md +17 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +29 -0
- package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +1 -1
- package/skill-docs/assets/schemas/image-style-observation.schema.json +1355 -0
- package/skill-docs/references/common/guide-plan-template.md +3 -0
- package/skill-docs/references/common/ref-cli-commands.md +17 -4
- package/skill-docs/references/form/guide-create-form.md +2 -0
- package/skill-docs/references/form/guide-field-linkage.md +140 -55
- package/skill-docs/references/form/guide-form-layout-planning.md +6 -0
- package/skill-docs/references/form/guide-form-layout-source.md +366 -0
- package/skill-docs/references/form/guide-form-view.md +1 -1
- package/skill-docs/references/form/guide-formula-linkage.md +44 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { renameFormObj, getFormTitle, setFormTitle, } from '../services/form-obj-meta.js';
|
|
4
|
+
/**
|
|
5
|
+
* form rename / form title —— 表单**名称**与**自定义标题**。
|
|
6
|
+
*
|
|
7
|
+
* 平台上这是两套名字,端点不同、字段不重叠:
|
|
8
|
+
* - 表单名称 `name` → obj/saveOrUpdate(整对象覆盖)
|
|
9
|
+
* - 自定义标题 `showName` / `formPageName` → obj/saveOrUpdateTitle(小报文)
|
|
10
|
+
*
|
|
11
|
+
* 因此两条命令互不影响:`rename` 只改 name,`title set` 只改标题字段。
|
|
12
|
+
*/
|
|
13
|
+
export function registerFormObjMetaCommands(form, program) {
|
|
14
|
+
form.command('rename')
|
|
15
|
+
.description('修改表单名称(name)。不影响自定义标题,名称与标题是分开的两套')
|
|
16
|
+
.argument('<objId>', '表单 objId')
|
|
17
|
+
.argument('<appId>', '应用 ID')
|
|
18
|
+
.argument('<name>', '新表单名称')
|
|
19
|
+
.action(async (objId, appId, name) => {
|
|
20
|
+
try {
|
|
21
|
+
const opts = program.opts();
|
|
22
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
23
|
+
if (!auth)
|
|
24
|
+
throw new Error('无法加载认证');
|
|
25
|
+
const result = await renameFormObj(new ApiClient(auth), auth.getBaseUrl(), appId, objId, name);
|
|
26
|
+
if (opts.json)
|
|
27
|
+
console.log(JSON.stringify({ success: true, ...result }, null, 2));
|
|
28
|
+
else if (!result.changed)
|
|
29
|
+
console.log(`表单名称已是「${result.name}」,无需修改 (${result.objId})`);
|
|
30
|
+
else
|
|
31
|
+
console.log(`表单名称已修改: ${result.oldName} → ${result.name} (${result.objId})`);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error(`修改表单名称失败: ${error.message}`);
|
|
35
|
+
process.exitCode = 1;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
const title = form.command('title')
|
|
39
|
+
.description('表单自定义标题(标题文本 / 隐藏头部等)。与表单名称是分开的两套');
|
|
40
|
+
title.command('get')
|
|
41
|
+
.description('查看自定义标题')
|
|
42
|
+
.argument('<objId>', '表单 objId')
|
|
43
|
+
.argument('<appId>', '应用 ID')
|
|
44
|
+
.action(async (objId, appId) => {
|
|
45
|
+
try {
|
|
46
|
+
const opts = program.opts();
|
|
47
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
48
|
+
if (!auth)
|
|
49
|
+
throw new Error('无法加载认证');
|
|
50
|
+
const current = await getFormTitle(new ApiClient(auth), auth.getBaseUrl(), appId, objId);
|
|
51
|
+
if (opts.json)
|
|
52
|
+
console.log(JSON.stringify(current, null, 2));
|
|
53
|
+
else {
|
|
54
|
+
console.log(`标题文本: ${current.showName || '(空)'}`);
|
|
55
|
+
console.log(`表单页面名: ${current.formPageName || '(空)'}`);
|
|
56
|
+
console.log(`隐藏页面头部: ${current.isHiddenHeader ? '是' : '否'}`);
|
|
57
|
+
console.log(`隐藏表单标题: ${current.hiddenFormTitle ? '是' : '否'}`);
|
|
58
|
+
console.log(`页面名全含: ${current.pageNameAllIn}`);
|
|
59
|
+
if (current.hiddenFormTitle)
|
|
60
|
+
console.log(' ⚠ 表单标题当前是隐藏的 —— 改了标题文本,界面上也看不到变化');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error(`读取表单标题失败: ${error.message}`);
|
|
65
|
+
process.exitCode = 1;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
title.command('set')
|
|
69
|
+
.description('修改自定义标题(至少要给一个标题选项)')
|
|
70
|
+
.argument('<objId>', '表单 objId')
|
|
71
|
+
.argument('<appId>', '应用 ID')
|
|
72
|
+
.option('--show-name <text>', '标题文本')
|
|
73
|
+
.option('--form-page-name <text>', '表单页面名')
|
|
74
|
+
.option('--hide-header', '隐藏页面头部')
|
|
75
|
+
.option('--no-hide-header', '显示页面头部')
|
|
76
|
+
.option('--hide-title', '隐藏表单标题')
|
|
77
|
+
.option('--no-hide-title', '显示表单标题')
|
|
78
|
+
.option('--page-name-all-in <n>', '页面名是否全含(0/1)')
|
|
79
|
+
.action(async (objId, appId, cmdOpts) => {
|
|
80
|
+
try {
|
|
81
|
+
const opts = program.opts();
|
|
82
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
83
|
+
if (!auth)
|
|
84
|
+
throw new Error('无法加载认证');
|
|
85
|
+
const patch = {};
|
|
86
|
+
if (cmdOpts.showName !== undefined)
|
|
87
|
+
patch.showName = String(cmdOpts.showName);
|
|
88
|
+
if (cmdOpts.formPageName !== undefined)
|
|
89
|
+
patch.formPageName = String(cmdOpts.formPageName);
|
|
90
|
+
if (cmdOpts.hideHeader !== undefined)
|
|
91
|
+
patch.isHiddenHeader = cmdOpts.hideHeader ? 1 : 0;
|
|
92
|
+
if (cmdOpts.hideTitle !== undefined)
|
|
93
|
+
patch.hiddenFormTitle = cmdOpts.hideTitle ? 1 : 0;
|
|
94
|
+
if (cmdOpts.pageNameAllIn !== undefined) {
|
|
95
|
+
const n = Number(cmdOpts.pageNameAllIn);
|
|
96
|
+
if (n !== 0 && n !== 1)
|
|
97
|
+
throw new Error('--page-name-all-in 只接受 0 或 1');
|
|
98
|
+
patch.pageNameAllIn = n;
|
|
99
|
+
}
|
|
100
|
+
const result = await setFormTitle(new ApiClient(auth), auth.getBaseUrl(), appId, objId, patch);
|
|
101
|
+
if (opts.json)
|
|
102
|
+
console.log(JSON.stringify({ success: true, ...result }, null, 2));
|
|
103
|
+
else {
|
|
104
|
+
const keys = Object.keys(patch).join(', ');
|
|
105
|
+
console.log(`表单标题已修改(${keys}) (${objId})`);
|
|
106
|
+
console.log(` 标题文本: ${result.after.showName || '(空)'}`);
|
|
107
|
+
console.log(` 表单页面名: ${result.after.formPageName || '(空)'}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error(`修改表单标题失败: ${error.message}`);
|
|
112
|
+
process.exitCode = 1;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=form-obj-meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-obj-meta.js","sourceRoot":"","sources":["../../src/commands/form-obj-meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-validate.d.ts","sourceRoot":"","sources":["../../src/commands/form-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"form-validate.d.ts","sourceRoot":"","sources":["../../src/commands/form-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiHpC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgKlF"}
|
|
@@ -3,6 +3,83 @@ import { ApiClient } from '../core/client.js';
|
|
|
3
3
|
// objId → formId:obj/getList 不含三方表单(专项应用),内部带 getInfoById 兜底。
|
|
4
4
|
import { resolveFormId as resolveFormIdShared } from '../services/form-id.js';
|
|
5
5
|
import { createMultilangLabel, resolveLabelText } from '../services/form-i18n-label.js';
|
|
6
|
+
import { renderValidateHelp, resolveHelpInput } from '../services/validate-help.js';
|
|
7
|
+
const MODULE = 'ebuilderform';
|
|
8
|
+
const PAGE = 100;
|
|
9
|
+
/** 翻页取全:固定 pageSize 会在规则数超过一页时静默漏显示。 */
|
|
10
|
+
async function fetchRules(client, baseUrl, formId) {
|
|
11
|
+
const rules = [];
|
|
12
|
+
for (let pageNo = 1;; pageNo++) {
|
|
13
|
+
// 路径是 /api/ebuilder/...;MODULE(ebuilderform)只是报文里的 module 值
|
|
14
|
+
const res = await client.post(`${baseUrl}/api/ebuilder/form/validate/pageFormDataValidate`, {
|
|
15
|
+
module: MODULE, formId, pageNo, pageSize: PAGE,
|
|
16
|
+
});
|
|
17
|
+
// 该接口不返回 status(只有 code),不能按 save 那套判
|
|
18
|
+
if (res?.code !== 200)
|
|
19
|
+
throw new Error(res?.msg || '查询查重规则失败');
|
|
20
|
+
const page = res?.data?.records || [];
|
|
21
|
+
rules.push(...page);
|
|
22
|
+
if (page.length < PAGE)
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
return rules;
|
|
26
|
+
}
|
|
27
|
+
/** 主表 + 明细字段,作为查重字段候选。 */
|
|
28
|
+
async function loadFields(client, baseUrl, objId, formId, userId, tenantKey) {
|
|
29
|
+
const fieldsRes = await client.post(`${baseUrl}/api/ebuilder/form/dataset/v1/getFields`, {
|
|
30
|
+
objId, userid: userId, tenantKey, isReturnDetail: 'y',
|
|
31
|
+
});
|
|
32
|
+
const candidates = [];
|
|
33
|
+
for (const m of fieldsRes?.data?.mainFields || []) {
|
|
34
|
+
if (/^\d+$/.test(String(m.fieldId))) {
|
|
35
|
+
candidates.push({ fieldName: String(m.fieldName), fieldId: String(m.fieldId), subFormId: String(formId) });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (const dt of fieldsRes?.data?.detailFields || []) {
|
|
39
|
+
for (const sf of dt.fields || []) {
|
|
40
|
+
if (/^\d+$/.test(String(sf.fieldId))) {
|
|
41
|
+
candidates.push({
|
|
42
|
+
fieldName: String(sf.fieldName), fieldId: String(sf.fieldId),
|
|
43
|
+
subFormId: String(sf.subFormId || dt.id || formId),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return candidates;
|
|
49
|
+
}
|
|
50
|
+
function pickFields(candidates, names) {
|
|
51
|
+
const out = [];
|
|
52
|
+
for (const name of names) {
|
|
53
|
+
const c = candidates.find((x) => x.fieldName === name || String(x.fieldId) === name);
|
|
54
|
+
if (!c) {
|
|
55
|
+
console.error(`未找到字段: ${name},可用: ${candidates.map((x) => x.fieldName).join(', ')}`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
out.push(c);
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
/** 读回里的 checkFields 只有 fieldId,没有 subFormId —— 按 fieldId 回候选表补齐。 */
|
|
63
|
+
function fieldsById(candidates, rule) {
|
|
64
|
+
const out = [];
|
|
65
|
+
for (const c of rule?.checkFields || []) {
|
|
66
|
+
const fieldId = String(c.fieldId ?? '');
|
|
67
|
+
const hit = candidates.find((x) => x.fieldId === fieldId);
|
|
68
|
+
if (!hit) {
|
|
69
|
+
console.error(`规则里的字段 ${c.fieldName || fieldId}(${fieldId})已不在当前表单中,请用 --fields 重新指定查重字段`);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
out.push(hit);
|
|
73
|
+
}
|
|
74
|
+
if (!out.length) {
|
|
75
|
+
console.error('规则里没有查重字段,请用 --fields 指定');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
function methodOf(rule) {
|
|
81
|
+
return rule?.treatmentMethod === 'REMINDER' ? '提醒' : '禁止提交';
|
|
82
|
+
}
|
|
6
83
|
export function registerFormValidateCommands(form, program) {
|
|
7
84
|
const val = form.command('validate').description('字段查重校验规则(重名校验/重复日期,多字段 AND)');
|
|
8
85
|
val.command('list')
|
|
@@ -17,10 +94,7 @@ export function registerFormValidateCommands(form, program) {
|
|
|
17
94
|
const client = new ApiClient(auth);
|
|
18
95
|
const baseUrl = auth.getBaseUrl();
|
|
19
96
|
const formId = await resolveFormId(client, baseUrl, appId, objId);
|
|
20
|
-
const
|
|
21
|
-
module: 'ebuilderform', formId, pageNo: 1, pageSize: 100,
|
|
22
|
-
});
|
|
23
|
-
const rules = res?.data?.records || [];
|
|
97
|
+
const rules = await fetchRules(client, baseUrl, formId);
|
|
24
98
|
if (opts.json) {
|
|
25
99
|
console.log(JSON.stringify(rules, null, 2));
|
|
26
100
|
return;
|
|
@@ -32,12 +106,11 @@ export function registerFormValidateCommands(form, program) {
|
|
|
32
106
|
// helpContent 存的是标签 id,解回文本再显示;老规则(存的中文原文)原样显示
|
|
33
107
|
const helpOf = new Map();
|
|
34
108
|
await Promise.all(rules.map(async (r) => {
|
|
35
|
-
helpOf.set(String(r.id), await resolveLabelText(client, baseUrl, r.helpContent,
|
|
109
|
+
helpOf.set(String(r.id), await resolveLabelText(client, baseUrl, r.helpContent, MODULE));
|
|
36
110
|
}));
|
|
37
111
|
for (const r of rules) {
|
|
38
|
-
const method = r.treatmentMethod === 'REMINDER' ? '提醒' : '禁止提交';
|
|
39
112
|
const fields = (r.checkFields || []).map((c) => c.fieldName).join(' + ');
|
|
40
|
-
console.log(`[${r.id}] ${
|
|
113
|
+
console.log(`[${r.id}] ${methodOf(r)} | ${fields} | ${helpOf.get(String(r.id)) || ''}`);
|
|
41
114
|
}
|
|
42
115
|
});
|
|
43
116
|
val.command('add')
|
|
@@ -45,7 +118,7 @@ export function registerFormValidateCommands(form, program) {
|
|
|
45
118
|
.argument('<objId>', '表单 objId')
|
|
46
119
|
.argument('<appId>', '应用 ID')
|
|
47
120
|
.argument('<fields...>', '查重字段名(可多个,如 "填报人" "工时日期")')
|
|
48
|
-
.option('--help <text>', '
|
|
121
|
+
.option('--help <text>', '重复时的提示内容;可写 #[字段名]# 插入变量,或 @文件(会建一条多语言标签,存的是标签 id)', '字段值不允许重复')
|
|
49
122
|
.option('--remind', '重复时仅提醒允许提交(缺省禁止提交 NOSUBMISSION)')
|
|
50
123
|
.action(async (objId, appId, fieldNames, cmdOpts) => {
|
|
51
124
|
const opts = program.opts();
|
|
@@ -55,34 +128,13 @@ export function registerFormValidateCommands(form, program) {
|
|
|
55
128
|
const client = new ApiClient(auth);
|
|
56
129
|
const baseUrl = auth.getBaseUrl();
|
|
57
130
|
const formId = await resolveFormId(client, baseUrl, appId, objId);
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
objId, userid: auth.userId, tenantKey: auth.tenantKey, isReturnDetail: 'y',
|
|
61
|
-
});
|
|
62
|
-
const candidates = [];
|
|
63
|
-
for (const m of fieldsRes?.data?.mainFields || []) {
|
|
64
|
-
if (/^\d+$/.test(String(m.fieldId)))
|
|
65
|
-
candidates.push({ fieldName: m.fieldName, fieldId: String(m.fieldId), subFormId: String(formId) });
|
|
66
|
-
}
|
|
67
|
-
for (const dt of fieldsRes?.data?.detailFields || []) {
|
|
68
|
-
for (const sf of dt.fields || []) {
|
|
69
|
-
if (/^\d+$/.test(String(sf.fieldId)))
|
|
70
|
-
candidates.push({ fieldName: sf.fieldName, fieldId: String(sf.fieldId), subFormId: String(sf.subFormId || dt.id || formId) });
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const checkFields = [];
|
|
74
|
-
for (const name of fieldNames) {
|
|
75
|
-
const c = candidates.find((x) => x.fieldName === name || String(x.fieldId) === name);
|
|
76
|
-
if (!c) {
|
|
77
|
-
console.error(`未找到字段: ${name}`);
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
checkFields.push(c);
|
|
81
|
-
}
|
|
131
|
+
const candidates = await loadFields(client, baseUrl, objId, formId, auth.userId, auth.tenantKey);
|
|
132
|
+
const checkFields = pickFields(candidates, fieldNames);
|
|
82
133
|
// 提示语必须走多语言标签:直接传文本会被服务端拒(提示内容格式不正确。)
|
|
83
|
-
const
|
|
134
|
+
const helpText = renderValidateHelp(resolveHelpInput(String(cmdOpts.help || '字段值不允许重复')), candidates);
|
|
135
|
+
const helpLabelId = await createMultilangLabel(client, baseUrl, helpText, MODULE);
|
|
84
136
|
const payload = {
|
|
85
|
-
module:
|
|
137
|
+
module: MODULE, formId,
|
|
86
138
|
treatmentMethod: cmdOpts.remind ? 'REMINDER' : 'NOSUBMISSION',
|
|
87
139
|
remindTime: 'SUB_REMIND', taggingColour: '#000000', subFieldCheckType: 'ALL_DATA',
|
|
88
140
|
helpContent: helpLabelId,
|
|
@@ -96,6 +148,86 @@ export function registerFormValidateCommands(form, program) {
|
|
|
96
148
|
const method = cmdOpts.remind ? '提醒' : '禁止提交';
|
|
97
149
|
console.log(`已保存查重规则: ${fieldNames.join(' + ')}(${method})ruleId=${res?.data?.id || ''}`);
|
|
98
150
|
});
|
|
151
|
+
val.command('update')
|
|
152
|
+
.description('修改查重规则(只改传入的项,其余保持原值)')
|
|
153
|
+
.argument('<objId>', '表单 objId')
|
|
154
|
+
.argument('<appId>', '应用 ID')
|
|
155
|
+
.argument('<ruleId>', '规则 ID(form validate list 查看)')
|
|
156
|
+
.option('--fields <names...>', '改查重字段(多个 AND;不给则沿用原字段)')
|
|
157
|
+
.option('--help <text>', '改提示内容;可写 #[字段名]# 插入变量,或 @文件(不给则沿用原提示)')
|
|
158
|
+
.option('--remind', '改成重复时仅提醒(允许提交)')
|
|
159
|
+
.option('--no-remind', '改成重复时禁止提交(NOSUBMISSION)')
|
|
160
|
+
.action(async (objId, appId, ruleId, cmdOpts) => {
|
|
161
|
+
const opts = program.opts();
|
|
162
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
163
|
+
if (!auth)
|
|
164
|
+
process.exit(1);
|
|
165
|
+
const client = new ApiClient(auth);
|
|
166
|
+
const baseUrl = auth.getBaseUrl();
|
|
167
|
+
const formId = await resolveFormId(client, baseUrl, appId, objId);
|
|
168
|
+
if (cmdOpts.fields === undefined && cmdOpts.help === undefined && cmdOpts.remind === undefined) {
|
|
169
|
+
console.error('没有要修改的项(至少给 --fields / --help / --remind / --no-remind 之一)');
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
const rules = await fetchRules(client, baseUrl, formId);
|
|
173
|
+
const rule = rules.find((r) => String(r.id) === String(ruleId));
|
|
174
|
+
if (!rule) {
|
|
175
|
+
console.error(`规则不存在或不属于该表单: ${ruleId}(form validate list 查看可用规则)`);
|
|
176
|
+
process.exit(1);
|
|
177
|
+
}
|
|
178
|
+
const candidates = await loadFields(client, baseUrl, objId, formId, auth.userId, auth.tenantKey);
|
|
179
|
+
// checkFields 是整组替换:无论改不改字段,都要把完整一组带上
|
|
180
|
+
const checkFields = cmdOpts.fields !== undefined
|
|
181
|
+
? pickFields(candidates, cmdOpts.fields)
|
|
182
|
+
: fieldsById(candidates, rule);
|
|
183
|
+
const treatmentMethod = cmdOpts.remind === undefined
|
|
184
|
+
? (rule.treatmentMethod === 'REMINDER' ? 'REMINDER' : 'NOSUBMISSION')
|
|
185
|
+
: (cmdOpts.remind ? 'REMINDER' : 'NOSUBMISSION');
|
|
186
|
+
const helpContent = cmdOpts.help === undefined
|
|
187
|
+
? rule.helpContent
|
|
188
|
+
: await createMultilangLabel(client, baseUrl, renderValidateHelp(resolveHelpInput(String(cmdOpts.help)), candidates), MODULE);
|
|
189
|
+
const payload = {
|
|
190
|
+
id: String(ruleId),
|
|
191
|
+
module: MODULE, formId,
|
|
192
|
+
treatmentMethod,
|
|
193
|
+
remindTime: rule.remindTime || 'SUB_REMIND',
|
|
194
|
+
taggingColour: rule.taggingColour || '#000000',
|
|
195
|
+
subFieldCheckType: rule.subFieldCheckType || 'ALL_DATA',
|
|
196
|
+
helpContent,
|
|
197
|
+
checkFields,
|
|
198
|
+
};
|
|
199
|
+
const res = await client.post(`${baseUrl}/api/ebuilder/form/validate/save`, payload);
|
|
200
|
+
if (res?.code !== 200 || !res?.status) {
|
|
201
|
+
console.error(`保存失败: ${res?.msg || '未知错误'}`);
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
// 回读校验:处理方式、查重字段集合、提示标签引用
|
|
205
|
+
const after = (await fetchRules(client, baseUrl, formId)).find((r) => String(r.id) === String(ruleId));
|
|
206
|
+
if (!after) {
|
|
207
|
+
console.error(`保存后回读不到规则 ${ruleId}`);
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
const wantFields = checkFields.map((f) => f.fieldId).sort().join(',');
|
|
211
|
+
const gotFields = (after.checkFields || []).map((c) => String(c.fieldId)).sort().join(',');
|
|
212
|
+
const diffs = [];
|
|
213
|
+
if (after.treatmentMethod !== treatmentMethod)
|
|
214
|
+
diffs.push(`处理方式 期望=${treatmentMethod} 实际=${after.treatmentMethod}`);
|
|
215
|
+
if (gotFields !== wantFields)
|
|
216
|
+
diffs.push(`查重字段 期望=${wantFields} 实际=${gotFields}`);
|
|
217
|
+
if (String(after.helpContent) !== String(helpContent))
|
|
218
|
+
diffs.push(`提示内容 期望=${helpContent} 实际=${after.helpContent}`);
|
|
219
|
+
if (diffs.length) {
|
|
220
|
+
console.error(`保存后回读不一致:${diffs.join('; ')}`);
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
223
|
+
const fieldNames = (after.checkFields || []).map((c) => c.fieldName);
|
|
224
|
+
if (opts.json) {
|
|
225
|
+
console.log(JSON.stringify({ success: true, ruleId: String(ruleId), fields: fieldNames, method: treatmentMethod }, null, 2));
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
console.log(`已修改查重规则 [${ruleId}]:${fieldNames.join(' + ')}(${methodOf(after)})`);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
99
231
|
val.command('delete')
|
|
100
232
|
.description('删除查重规则')
|
|
101
233
|
.argument('<objId>', '表单 objId')
|
|
@@ -110,7 +242,7 @@ export function registerFormValidateCommands(form, program) {
|
|
|
110
242
|
const baseUrl = auth.getBaseUrl();
|
|
111
243
|
const formId = await resolveFormId(client, baseUrl, appId, objId);
|
|
112
244
|
const res = await client.post(`${baseUrl}/api/ebuilder/form/validate/batchDelete`, {
|
|
113
|
-
module:
|
|
245
|
+
module: MODULE, formId, idList: [ruleId],
|
|
114
246
|
});
|
|
115
247
|
if (res?.code !== 200 || !res?.status) {
|
|
116
248
|
console.error(`删除失败: ${res?.msg || '未知错误'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-validate.js","sourceRoot":"","sources":["../../src/commands/form-validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-validate.js","sourceRoot":"","sources":["../../src/commands/form-validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/commands/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/commands/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,OAAO,EAAE,kBAAkB,EAAyD,MAAM,oCAAoC,CAAC;AAO/H;;;;;;GAMG;AACH,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAgF9B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA8kG9D"}
|
package/dist/commands/form.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { writeFileSync, existsSync, readFileSync } from 'fs';
|
|
2
2
|
import { AuthSession } from '../core/auth.js';
|
|
3
3
|
import { ApiClient } from '../core/client.js';
|
|
4
|
+
import { parseLayoutJson } from '../services/form-layout-source/json.js';
|
|
4
5
|
import { toColumnName, toTableName, resolveFieldKeys } from '../utils/column-name.js';
|
|
5
6
|
import { createCustomPhysicalForm, applyInitialFieldsToNewForm, placeholderFromFormat, reapplyGroupLayout, queryFormStorageSetting } from '../services/form-create.js';
|
|
6
7
|
import { getRichType, richIdUnits, BROWSER_KINDS } from '../services/rich-types.js';
|
|
@@ -22,6 +23,8 @@ import { FIELD_TYPE_CHOICES, canonComponentKey, assertFieldType, normalizeFieldD
|
|
|
22
23
|
import { listFormTables, readFieldRecords, mapFieldsToTables } from '../services/form-physical-table.js';
|
|
23
24
|
import { buildFormulaParameters, defaultReturnType } from '../services/formula-detail.js';
|
|
24
25
|
import { registerOptionTemplateCommand } from './form-option-template.js';
|
|
26
|
+
import { registerFormObjMetaCommands } from './form-obj-meta.js';
|
|
27
|
+
import { prepareSourceLayoutInputs, restoreSourceLayoutAfterCreate } from '../services/form-layout-source/creation.js';
|
|
25
28
|
/**
|
|
26
29
|
* 字段类型归一 / 校验 / 校验清单已抽到 `services/form-field-validate.ts` ——
|
|
27
30
|
* 「标准建表」与「专项建表」两个入口共用同一份,避免两处真相。
|
|
@@ -99,6 +102,7 @@ async function fetchFieldPageRecords(client, baseUrl, appId, formId, subFormId)
|
|
|
99
102
|
export function registerFormCommands(program) {
|
|
100
103
|
const form = program.command('form').description('表单管理');
|
|
101
104
|
registerOptionTemplateCommand(form, program);
|
|
105
|
+
registerFormObjMetaCommands(form, program);
|
|
102
106
|
form.command('read')
|
|
103
107
|
.description('读取表单字段结构')
|
|
104
108
|
.argument('<objId>', '表单 objId')
|
|
@@ -316,14 +320,18 @@ export function registerFormCommands(program) {
|
|
|
316
320
|
+ 'valueKey 须为数字、省略则平台生成)')
|
|
317
321
|
.option('--menu', '建表后添加台账菜单(默认不加;漏加可用 `e10-cli menu add-table` 补)')
|
|
318
322
|
.option('--layout <type>', '表单布局类型:FLOW(流式)/EXCEL(表格,缺省)。布局类型建表后不可切换', 'EXCEL')
|
|
323
|
+
.option('--layout-source <json>', 'extract 输出的源证据;搭配 layout-spec 和 layout-artifact-out')
|
|
324
|
+
.option('--layout-spec <json>', '字段位置描述;字段创建和归组结束后还原源样式')
|
|
325
|
+
.option('--layout-artifact-out <file>', '保存源布局编译产物及原生前置快照,用于验收和重试')
|
|
319
326
|
.option('--table-name <name>', '自定义数据库表名。平台前缀(如 uf_)由 CLI 自动补,传 uf_xxx 或只传自定义部分都可以;'
|
|
320
327
|
+ '须字母开头、只含字母数字下划线。缺省按表单名拼音首字母 + 随机数生成')
|
|
321
328
|
.action(async (appId, name, cmdOpts) => {
|
|
329
|
+
const sourceLayout = await prepareSourceLayoutInputs(cmdOpts);
|
|
322
330
|
const opts = program.opts();
|
|
323
331
|
const auth = await AuthSession.fromOptions(opts);
|
|
324
332
|
if (!auth)
|
|
325
333
|
process.exit(1);
|
|
326
|
-
const client = new ApiClient(auth);
|
|
334
|
+
const client = new ApiClient(auth, 3, sourceLayout ? parseLayoutJson : undefined);
|
|
327
335
|
const baseUrl = auth.getBaseUrl();
|
|
328
336
|
const { randomUUID } = await import('crypto');
|
|
329
337
|
// Fields are required — parse from file (must start with @)
|
|
@@ -1736,8 +1744,24 @@ export function registerFormCommands(program) {
|
|
|
1736
1744
|
catch (e) {
|
|
1737
1745
|
console.error(` 显示列兜底失败: ${e.message}(可用 \`e10-cli form table-view ensure ${objId} ${appId}\` 手动补加)`);
|
|
1738
1746
|
}
|
|
1747
|
+
let layoutRestoration;
|
|
1748
|
+
if (sourceLayout) {
|
|
1749
|
+
try {
|
|
1750
|
+
// 独立单次提交客户端:不能让默认重试把结果未知的布局写入重复发送。
|
|
1751
|
+
layoutRestoration = await restoreSourceLayoutAfterCreate(new ApiClient(auth, 1, parseLayoutJson), baseUrl, { module: 'ebuilderform', formId, objId, appId, routeKind: 'default' }, sourceLayout);
|
|
1752
|
+
if (!layoutRestoration.saved || layoutRestoration.reportWriteError)
|
|
1753
|
+
process.exitCode = 1;
|
|
1754
|
+
}
|
|
1755
|
+
catch (e) {
|
|
1756
|
+
layoutRestoration = { saved: false, partial: true, error: e.message, artifactOut: sourceLayout.artifactOut };
|
|
1757
|
+
process.exitCode = 1;
|
|
1758
|
+
}
|
|
1759
|
+
console.error(layoutRestoration.saved ? ` 源布局结构回读通过,产物: ${sourceLayout.artifactOut}` : ` 表单 ${objId} 已创建,源布局还原未通过: ${layoutRestoration.error || '请查看差异报告'};重试只处理此已有表单`);
|
|
1760
|
+
if (layoutRestoration.reportWriteError)
|
|
1761
|
+
console.error(` 业务保存已回读通过,但报告落盘失败: ${layoutRestoration.reportWriteError}`);
|
|
1762
|
+
}
|
|
1739
1763
|
if (opts.json) {
|
|
1740
|
-
console.log(JSON.stringify({ objId, name, menuId, skippedSys }));
|
|
1764
|
+
console.log(JSON.stringify({ objId, name, menuId, skippedSys, ...(sourceLayout ? { formId, layoutRestoration } : {}) }));
|
|
1741
1765
|
}
|
|
1742
1766
|
else {
|
|
1743
1767
|
console.log(`完成: ${objId}${skippedSys.length ? `(跳过系统字段重名: ${skippedSys.map((s) => s.name).join('、')})` : ''}`);
|