weaver-e10-builder 1.5.16 → 1.6.4
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/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +4 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +109 -51
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/form-attachment-setting.d.ts +3 -0
- package/dist/commands/form-attachment-setting.d.ts.map +1 -0
- package/dist/commands/form-attachment-setting.js +422 -0
- package/dist/commands/form-attachment-setting.js.map +1 -0
- package/dist/commands/form-data.d.ts.map +1 -1
- package/dist/commands/form-data.js +49 -1
- package/dist/commands/form-data.js.map +1 -1
- package/dist/commands/form-ebuilder-scope.d.ts +21 -0
- package/dist/commands/form-ebuilder-scope.d.ts.map +1 -1
- package/dist/commands/form-ebuilder-scope.js +41 -8
- package/dist/commands/form-ebuilder-scope.js.map +1 -1
- package/dist/commands/form-field-linkage.d.ts +6 -1
- package/dist/commands/form-field-linkage.d.ts.map +1 -1
- package/dist/commands/form-field-linkage.js +138 -31
- package/dist/commands/form-field-linkage.js.map +1 -1
- package/dist/commands/form-layout-code-reviewed.d.ts +3 -0
- package/dist/commands/form-layout-code-reviewed.d.ts.map +1 -0
- package/dist/commands/form-layout-code-reviewed.js +61 -0
- package/dist/commands/form-layout-code-reviewed.js.map +1 -0
- package/dist/commands/form-layout-describe.d.ts +3 -0
- package/dist/commands/form-layout-describe.d.ts.map +1 -0
- package/dist/commands/form-layout-describe.js +58 -0
- package/dist/commands/form-layout-describe.js.map +1 -0
- package/dist/commands/form-layout-diff.d.ts +3 -0
- package/dist/commands/form-layout-diff.d.ts.map +1 -0
- package/dist/commands/form-layout-diff.js +48 -0
- package/dist/commands/form-layout-diff.js.map +1 -0
- package/dist/commands/form-layout-document.d.ts +3 -0
- package/dist/commands/form-layout-document.d.ts.map +1 -0
- package/dist/commands/form-layout-document.js +81 -0
- package/dist/commands/form-layout-document.js.map +1 -0
- package/dist/commands/form-layout-edit.d.ts +3 -0
- package/dist/commands/form-layout-edit.d.ts.map +1 -0
- package/dist/commands/form-layout-edit.js +51 -0
- package/dist/commands/form-layout-edit.js.map +1 -0
- package/dist/commands/form-layout-init-reviewed.d.ts +3 -0
- package/dist/commands/form-layout-init-reviewed.d.ts.map +1 -0
- package/dist/commands/form-layout-init-reviewed.js +78 -0
- package/dist/commands/form-layout-init-reviewed.js.map +1 -0
- package/dist/commands/form-layout-restore.d.ts.map +1 -1
- package/dist/commands/form-layout-restore.js +23 -0
- package/dist/commands/form-layout-restore.js.map +1 -1
- package/dist/commands/form-layout-template-catalog.d.ts +3 -0
- package/dist/commands/form-layout-template-catalog.d.ts.map +1 -0
- package/dist/commands/form-layout-template-catalog.js +45 -0
- package/dist/commands/form-layout-template-catalog.js.map +1 -0
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +80 -5
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +39 -6
- package/dist/commands/project.js.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.js +12 -5
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.js +5 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_delete.d.ts +6 -1
- package/dist/services/actionflow/components/action_eb_delete.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_delete.js +23 -5
- package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_delete_compiler.js +22 -0
- package/dist/services/actionflow/components/action_eb_delete_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.js +13 -4
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +9 -2
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/date_trigger.js +2 -2
- package/dist/services/actionflow/components/date_trigger.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +11 -10
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/event_button.js +1 -1
- package/dist/services/actionflow/components/event_button.js.map +1 -1
- package/dist/services/actionflow/components/form_data_builder.d.ts +29 -1
- package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
- package/dist/services/actionflow/components/form_data_builder.js +67 -3
- package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
- package/dist/services/actionflow/components/time_batch_trigger.js +2 -2
- package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
- package/dist/services/actionflow/form_source.d.ts +44 -1
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +231 -5
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +8 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +120 -14
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/system_params.d.ts.map +1 -1
- package/dist/services/actionflow/system_params.js +4 -1
- package/dist/services/actionflow/system_params.js.map +1 -1
- package/dist/services/actionflow/trigger_common.d.ts.map +1 -1
- package/dist/services/actionflow/trigger_common.js +12 -3
- package/dist/services/actionflow/trigger_common.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +117 -40
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/form-attachment-settings.d.ts +110 -0
- package/dist/services/form-attachment-settings.d.ts.map +1 -0
- package/dist/services/form-attachment-settings.js +332 -0
- package/dist/services/form-attachment-settings.js.map +1 -0
- package/dist/services/form-attachment-upload.d.ts +30 -0
- package/dist/services/form-attachment-upload.d.ts.map +1 -0
- package/dist/services/form-attachment-upload.js +76 -0
- package/dist/services/form-attachment-upload.js.map +1 -0
- package/dist/services/form-data-openapi.d.ts +2 -0
- package/dist/services/form-data-openapi.d.ts.map +1 -1
- package/dist/services/form-data-openapi.js +1 -0
- package/dist/services/form-data-openapi.js.map +1 -1
- package/dist/services/form-layout-code-reviewed.d.ts +32 -0
- package/dist/services/form-layout-code-reviewed.d.ts.map +1 -0
- package/dist/services/form-layout-code-reviewed.js +101 -0
- package/dist/services/form-layout-code-reviewed.js.map +1 -0
- package/dist/services/form-layout-describe.d.ts +4 -0
- package/dist/services/form-layout-describe.d.ts.map +1 -0
- package/dist/services/form-layout-describe.js +107 -0
- package/dist/services/form-layout-describe.js.map +1 -0
- package/dist/services/form-layout-diff.d.ts +37 -0
- package/dist/services/form-layout-diff.d.ts.map +1 -0
- package/dist/services/form-layout-diff.js +232 -0
- package/dist/services/form-layout-diff.js.map +1 -0
- package/dist/services/form-layout-document-apply.d.ts +23 -0
- package/dist/services/form-layout-document-apply.d.ts.map +1 -0
- package/dist/services/form-layout-document-apply.js +82 -0
- package/dist/services/form-layout-document-apply.js.map +1 -0
- package/dist/services/form-layout-document.d.ts +13 -0
- package/dist/services/form-layout-document.d.ts.map +1 -0
- package/dist/services/form-layout-document.js +228 -0
- package/dist/services/form-layout-document.js.map +1 -0
- package/dist/services/form-layout-edit.d.ts +21 -0
- package/dist/services/form-layout-edit.d.ts.map +1 -0
- package/dist/services/form-layout-edit.js +103 -0
- package/dist/services/form-layout-edit.js.map +1 -0
- package/dist/services/form-layout-init-plan.d.ts +54 -0
- package/dist/services/form-layout-init-plan.d.ts.map +1 -0
- package/dist/services/form-layout-init-plan.js +211 -0
- package/dist/services/form-layout-init-plan.js.map +1 -0
- package/dist/services/form-layout-source/review.d.ts +4 -0
- package/dist/services/form-layout-source/review.d.ts.map +1 -0
- package/dist/services/form-layout-source/review.js +54 -0
- package/dist/services/form-layout-source/review.js.map +1 -0
- package/dist/services/form-layout-template-advanced.d.ts +5 -0
- package/dist/services/form-layout-template-advanced.d.ts.map +1 -1
- package/dist/services/form-layout-template-advanced.js +17 -1
- package/dist/services/form-layout-template-advanced.js.map +1 -1
- package/dist/services/form-layout-template-catalog.d.ts +13 -0
- package/dist/services/form-layout-template-catalog.d.ts.map +1 -0
- package/dist/services/form-layout-template-catalog.js +27 -0
- package/dist/services/form-layout-template-catalog.js.map +1 -0
- package/dist/services/form-layout-template-flow.d.ts +1 -1
- package/dist/services/form-layout-template-flow.d.ts.map +1 -1
- package/dist/services/form-layout-template-flow.js.map +1 -1
- package/dist/services/form-layout-template-verification.d.ts +34 -0
- package/dist/services/form-layout-template-verification.d.ts.map +1 -0
- package/dist/services/form-layout-template-verification.js +124 -0
- package/dist/services/form-layout-template-verification.js.map +1 -0
- package/dist/services/form-style-template.d.ts +3 -3
- package/dist/services/form-style-template.d.ts.map +1 -1
- package/dist/services/form-style-template.js +18 -13
- package/dist/services/form-style-template.js.map +1 -1
- package/package.json +1 -1
- package/skill-docs/SKILL.md +163 -155
- package/skill-docs/_catalog.md +110 -106
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbDelete.md +60 -3
- package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +35 -33
- package/skill-docs/assets/sample/api/formApi.js +689 -510
- package/skill-docs/assets/sample/app/config.js +4 -0
- package/skill-docs/assets/sample/app/fields.js +25 -0
- package/skill-docs/assets/sample/entry.js +24 -22
- package/skill-docs/assets/sample/eslint.config.cjs +1 -0
- package/skill-docs/assets/sample/pages/Items.js +247 -0
- package/skill-docs/assets/sample/styles/prototypeStyles.js +137 -0
- package/skill-docs/references/coding/guide-edit-backfill.md +102 -150
- package/skill-docs/references/coding/guide-form-crud.md +195 -172
- package/skill-docs/references/coding/guide-html-to-react.md +250 -0
- package/skill-docs/references/coding/guide-page-code.md +194 -167
- package/skill-docs/references/coding/guide-page-export.md +27 -18
- package/skill-docs/references/coding/ref-compile-rules.md +7 -7
- package/skill-docs/references/common/capability-boundaries.md +20 -1
- package/skill-docs/references/common/guide-plan-template.md +29 -3
- package/skill-docs/references/common/map.md +13 -8
- package/skill-docs/references/common/ref-cli-commands.md +31 -10
- package/skill-docs/references/components/display-FilePreview.md +5 -4
- package/skill-docs/references/form/guide-browser-definition.md +57 -13
- package/skill-docs/references/form/guide-create-form.md +258 -258
- package/skill-docs/references/form/guide-field-linkage.md +4 -1
- package/skill-docs/references/form/guide-form-attachment-setting.md +95 -0
- package/skill-docs/references/form/guide-form-data.md +22 -1
- package/skill-docs/references/form/layout/code-block/code-block-guide.md +153 -0
- package/skill-docs/references/form/layout/code-block/controls.md +60 -0
- package/skill-docs/references/form/layout/code-block/coverage.md +32 -0
- package/skill-docs/references/form/layout/code-block/details.md +57 -0
- package/skill-docs/references/form/layout/code-block/events-validation.md +42 -0
- package/skill-docs/references/form/layout/code-block/foundations-fields.md +56 -0
- package/skill-docs/references/form/layout/code-block/layout-css.md +116 -0
- package/skill-docs/references/form/layout/code-block/recipes.md +164 -0
- package/skill-docs/references/form/layout/code-block/troubleshooting.md +49 -0
- package/skill-docs/references/form/layout/code-block/ui-global.md +47 -0
- package/skill-docs/references/form/layout/document.md +39 -0
- package/skill-docs/references/form/layout/incremental.md +133 -0
- package/skill-docs/references/form/layout/initialization.md +39 -0
- package/skill-docs/references/form/layout/inspect-edit.md +76 -0
- package/skill-docs/references/form/layout/layout-overview.md +67 -0
- package/skill-docs/references/form/layout/management.md +64 -0
- package/skill-docs/references/form/layout/planning.md +76 -0
- package/skill-docs/references/form/layout/source-restoration.md +388 -0
- package/skill-docs/references/form/layout/template/advanced-css.md +167 -0
- package/skill-docs/references/form/layout/template/advanced.md +318 -0
- package/skill-docs/references/form/layout/template/easy.md +64 -0
- package/skill-docs/references/form/layout/template/flow.md +30 -0
- package/skill-docs/references/form/layout/template/template-guide.md +56 -0
- package/skill-docs/references/form/layout/workflow-layout.md +44 -0
- package/skill-docs/references/form/ref-form-fields.md +303 -301
- package/skill-docs/references/workflow/guide-workflow-node-layout.md +189 -187
- package/skill-docs/assets/sample/config/config.js +0 -0
- package/skill-docs/assets/sample/config/configLoad.js +0 -0
- package/skill-docs/assets/sample/config/configLoad_default.js +0 -0
- package/skill-docs/assets/sample/config/config_default.js +0 -0
- package/skill-docs/assets/sample/memo.md +0 -0
- package/skill-docs/assets/sample/readme.js +0 -8
package/dist/commands/form.js
CHANGED
|
@@ -23,10 +23,12 @@ import { resolveFormRecord, resolveFormId, appendThirdPartyForms, resolveObjIdBy
|
|
|
23
23
|
// 字段类型归一 / 校验:与「专项建表」共用同一份(原为本文件内联)。
|
|
24
24
|
import { FIELD_TYPE_CHOICES, canonComponentKey, assertFieldType, normalizeFieldDef } from '../services/form-field-validate.js';
|
|
25
25
|
import { listFormTables, readFieldRecords, mapFieldsToTables } from '../services/form-physical-table.js';
|
|
26
|
+
import { fetchFormSchema } from '../services/form-data-openapi.js';
|
|
26
27
|
import { buildFormulaParameters, defaultReturnType } from '../services/formula-detail.js';
|
|
27
28
|
import { assertViewLinkageFormulaFunctions, loadViewLinkageFunctions } from '../services/form-view-linkage-functions.js';
|
|
28
29
|
import { registerOptionTemplateCommand } from './form-option-template.js';
|
|
29
30
|
import { registerFormObjMetaCommands } from './form-obj-meta.js';
|
|
31
|
+
import { registerFormAttachmentSettingCommands } from './form-attachment-setting.js';
|
|
30
32
|
import { prepareSourceLayoutInputs, restoreSourceLayoutAfterCreate } from '../services/form-layout-source/creation.js';
|
|
31
33
|
/**
|
|
32
34
|
* 字段类型归一 / 校验 / 校验清单已抽到 `services/form-field-validate.ts` ——
|
|
@@ -106,6 +108,7 @@ export function registerFormCommands(program) {
|
|
|
106
108
|
const form = program.command('form').description('表单管理');
|
|
107
109
|
registerOptionTemplateCommand(form, program);
|
|
108
110
|
registerFormObjMetaCommands(form, program);
|
|
111
|
+
registerFormAttachmentSettingCommands(form, program);
|
|
109
112
|
form.command('read')
|
|
110
113
|
.description('读取表单字段结构')
|
|
111
114
|
.argument('<objId>', '表单 objId')
|
|
@@ -179,6 +182,9 @@ export function registerFormCommands(program) {
|
|
|
179
182
|
const options = fieldData?.data?.options || [];
|
|
180
183
|
if (options.length > 0) {
|
|
181
184
|
f.options = options.map((o) => ({ valueKey: o.valueKey, name: o.name }));
|
|
185
|
+
f.optionIds = {};
|
|
186
|
+
for (const o of f.options)
|
|
187
|
+
f.optionIds[o.name] = o.valueKey;
|
|
182
188
|
}
|
|
183
189
|
// 选项预设模板:模板字段的 options 为空,回显模板引用(选项用 form option-template read 查)
|
|
184
190
|
if (!options.length && fieldData?.data?.templateId) {
|
|
@@ -245,6 +251,33 @@ export function registerFormCommands(program) {
|
|
|
245
251
|
}
|
|
246
252
|
catch { /* 物理表归属读不到不影响主流程 */ }
|
|
247
253
|
}
|
|
254
|
+
// 写入契约补读:dataKey(request key)、multiSelect、日期 format。
|
|
255
|
+
// getFields 不直接给这些信息;ds/fields 给的才是平台实际写入要用的。
|
|
256
|
+
if (cmdOpts?.appId) {
|
|
257
|
+
try {
|
|
258
|
+
const schema = await fetchFormSchema(client, baseUrl, cmdOpts.appId, objId);
|
|
259
|
+
const metaById = new Map();
|
|
260
|
+
for (const f of schema.main)
|
|
261
|
+
metaById.set(String(f.id), f);
|
|
262
|
+
for (const d of schema.details) {
|
|
263
|
+
for (const f of d.fields)
|
|
264
|
+
metaById.set(String(f.id), f);
|
|
265
|
+
}
|
|
266
|
+
for (const f of allFields) {
|
|
267
|
+
const meta = metaById.get(String(f.fieldId));
|
|
268
|
+
if (!meta)
|
|
269
|
+
continue;
|
|
270
|
+
if (meta.dataKey)
|
|
271
|
+
f.dataKey = meta.dataKey;
|
|
272
|
+
f.multiSelect = meta.multiSelect;
|
|
273
|
+
if (meta.format)
|
|
274
|
+
f.format = meta.format;
|
|
275
|
+
if (meta.compType && !f.fieldKey)
|
|
276
|
+
f.fieldKey = meta.compType;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
catch { /* 写入契约补读失败不影响字段读取主流程 */ }
|
|
280
|
+
}
|
|
248
281
|
if (cmdOpts?.out) {
|
|
249
282
|
// Write JSON to file with UTF-8 encoding, bypassing terminal encoding
|
|
250
283
|
writeFileSync(cmdOpts.out, JSON.stringify(allFields, null, 2), 'utf-8');
|
|
@@ -261,7 +294,13 @@ export function registerFormCommands(program) {
|
|
|
261
294
|
if (SYSTEM_FIELD_IDS.has(f.fieldId))
|
|
262
295
|
continue;
|
|
263
296
|
const t = tableLabel(f);
|
|
264
|
-
|
|
297
|
+
const extra = [
|
|
298
|
+
t ? `物理表: ${t}` : '',
|
|
299
|
+
f.dataKey ? `dataKey: ${f.dataKey}` : '',
|
|
300
|
+
f.multiSelect ? '多选' : '',
|
|
301
|
+
f.format ? `格式: ${f.format}` : '',
|
|
302
|
+
].filter(Boolean).join(' · ');
|
|
303
|
+
console.log(` [${f.fieldKey || f.fieldType}] ${f.fieldName} (fieldId: ${f.fieldId || f.id})${extra ? ` · ${extra}` : ''}`);
|
|
265
304
|
if (f.options)
|
|
266
305
|
console.log(` 选项: ${JSON.stringify(f.options)}`);
|
|
267
306
|
if (f.optionTemplate)
|
|
@@ -273,7 +312,13 @@ export function registerFormCommands(program) {
|
|
|
273
312
|
if (SYSTEM_FIELD_IDS.has(f.fieldId))
|
|
274
313
|
continue;
|
|
275
314
|
const parent = f.subFormName || '';
|
|
276
|
-
|
|
315
|
+
const extra = [
|
|
316
|
+
parent ? `明细表: ${parent}` : '',
|
|
317
|
+
f.dataKey ? `dataKey: ${f.dataKey}` : '',
|
|
318
|
+
f.multiSelect ? '多选' : '',
|
|
319
|
+
f.format ? `格式: ${f.format}` : '',
|
|
320
|
+
].filter(Boolean).join(' · ');
|
|
321
|
+
console.log(` [${f.fieldKey || f.fieldType}] ${f.fieldName} (fieldId: ${f.fieldId || f.id})${extra ? ` · ${extra}` : ''}`);
|
|
277
322
|
if (f.options)
|
|
278
323
|
console.log(` 选项: ${JSON.stringify(f.options)}`);
|
|
279
324
|
}
|
|
@@ -2752,6 +2797,8 @@ export function registerFormCommands(program) {
|
|
|
2752
2797
|
.option('--sform-id <id>', 'EBuilder 关联的目标表单 objId(更新关联)')
|
|
2753
2798
|
.option('--data-title <field>', '目标表单显示字段名/fieldId(默认 name=目标表含"名称"的字段,无则第一个业务字段)')
|
|
2754
2799
|
.option('--form-name <name>', '目标表单名称(默认查目标表单名)')
|
|
2800
|
+
.option('--browser-name <name>', '按名称精确指定关联浏览数据源(Browser/RelateBrowser)')
|
|
2801
|
+
.option('--browser-type <type>', `关联浏览系统类型:${BROWSER_KINDS.join('、')}`)
|
|
2755
2802
|
.option('--relate-from <fieldName>', 'EBuilder 字段名:选关联记录后自动带出值到当前字段')
|
|
2756
2803
|
.option('--relate-from-source <fieldId>', '目标表单源字段 fieldId(复制哪个字段的值)')
|
|
2757
2804
|
.option('--multiple', '设为多选(人员/部门/EBuilder/关联类字段)')
|
|
@@ -2878,6 +2925,12 @@ export function registerFormCommands(program) {
|
|
|
2878
2925
|
if (editOpts.type) {
|
|
2879
2926
|
const targetType = canonComponentKey(editOpts.type);
|
|
2880
2927
|
assertFieldType(targetType, 'edit-field ');
|
|
2928
|
+
if (['Browser', 'RelateBrowser'].includes(targetType)
|
|
2929
|
+
&& !['RelateBrowser'].includes(String(jsonObj.type))
|
|
2930
|
+
&& !editOpts.browserName && !editOpts.browserType) {
|
|
2931
|
+
console.error('改成关联浏览需要同时指定 --browser-name <浏览源名称> 或 --browser-type <系统浏览类型>');
|
|
2932
|
+
process.exit(1);
|
|
2933
|
+
}
|
|
2881
2934
|
// 关联类字段必须同时给目标表单,否则切出来的是个指不到东西的残缺字段
|
|
2882
2935
|
if (['EBuilder', 'Flow'].includes(targetType) && !editOpts.sformId && targetType !== String(jsonObj.type)) {
|
|
2883
2936
|
console.error(`改成 ${targetType} 需要同时指定 --sform-id <目标表 objId>(Flow 用流程绑定的表单 objId)`);
|
|
@@ -2960,10 +3013,11 @@ export function registerFormCommands(program) {
|
|
|
2960
3013
|
const extraRes = await client.post(`${baseUrl}/api/form/local/generatorIds?size=${extra}&apid=${appId}`, {});
|
|
2961
3014
|
extraIds = (extraRes?.data?.generatorIds || []).map(String);
|
|
2962
3015
|
}
|
|
3016
|
+
const browserType = editOpts.browserName
|
|
3017
|
+
? await resolveBrowserByName(client, baseUrl, editOpts.browserName, { ebbusinessid: formId })
|
|
3018
|
+
: editOpts.browserType;
|
|
2963
3019
|
const extraCfg = await richTarget.build({
|
|
2964
|
-
|
|
2965
|
-
// 其余交给富组件模板的默认值(与 add-field 缺省时同一套默认)。
|
|
2966
|
-
def: { multiple: editOpts.multiple },
|
|
3020
|
+
def: { multiple: editOpts.multiple, browserType },
|
|
2967
3021
|
fieldId,
|
|
2968
3022
|
formId,
|
|
2969
3023
|
formTableId,
|
|
@@ -2976,6 +3030,27 @@ export function registerFormCommands(program) {
|
|
|
2976
3030
|
}
|
|
2977
3031
|
}
|
|
2978
3032
|
}
|
|
3033
|
+
if (editOpts.browserName || editOpts.browserType) {
|
|
3034
|
+
if (String(jsonObj.type) !== 'RelateBrowser') {
|
|
3035
|
+
console.error('--browser-name / --browser-type 仅适用于 Browser/RelateBrowser 字段,已中止,未做任何改动。');
|
|
3036
|
+
process.exit(1);
|
|
3037
|
+
}
|
|
3038
|
+
// 同类型字段也可以只更换浏览数据源;全量写回保留其余配置。
|
|
3039
|
+
if (!typeChangeApplied) {
|
|
3040
|
+
const browserType = editOpts.browserName
|
|
3041
|
+
? await resolveBrowserByName(client, baseUrl, editOpts.browserName, { ebbusinessid: formId })
|
|
3042
|
+
: editOpts.browserType;
|
|
3043
|
+
const richTarget = getRichType('Browser');
|
|
3044
|
+
const browserConfig = await richTarget.build({
|
|
3045
|
+
def: { browserType, multiple: editOpts.multiple ?? jsonObj.isSingle === false },
|
|
3046
|
+
fieldId, formId, formTableId,
|
|
3047
|
+
dataKey: String(jsonObj.dataKey || jsonObj.columnName || ''),
|
|
3048
|
+
columnName: String(jsonObj.columnName || jsonObj.dataKey || ''),
|
|
3049
|
+
showOrder: String(jsonObj.showOrder ?? '0.00'), extraIds: [],
|
|
3050
|
+
});
|
|
3051
|
+
Object.assign(jsonObj, browserConfig);
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
2979
3054
|
// `required` 不是字段记录的键(整张表的字段记录里都没有),写到 jsonObj 只是**保持与
|
|
2980
3055
|
// 既有代码一致的形式**,真正生效的是保存成功之后那段布局 comp 补丁 —— 见下面 `patchFieldLayout`。
|
|
2981
3056
|
if (editOpts.required) {
|