weaver-e10-builder 1.0.8-beta → 1.0.9-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.
- package/dist/commands/actionflow.d.ts +7 -0
- package/dist/commands/actionflow.d.ts.map +1 -0
- package/dist/commands/actionflow.js +105 -0
- package/dist/commands/actionflow.js.map +1 -0
- package/dist/commands/auth.js +1 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/form-list.d.ts.map +1 -1
- package/dist/commands/form-list.js +18 -9
- package/dist/commands/form-list.js.map +1 -1
- package/dist/commands/form-native.d.ts +0 -14
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +398 -72
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +5 -2
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +49 -1
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-action.d.ts +11 -0
- package/dist/commands/workflow-action.d.ts.map +1 -1
- package/dist/commands/workflow-action.js +13 -1592
- package/dist/commands/workflow-action.js.map +1 -1
- package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
- package/dist/commands/workflow-create-workflow.js +36 -5
- package/dist/commands/workflow-create-workflow.js.map +1 -1
- package/dist/core/client.d.ts +2 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +2 -0
- 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/build_workflow_draft.d.ts +20 -0
- package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -0
- package/dist/services/actionflow/build_workflow_draft.js +222 -0
- package/dist/services/actionflow/build_workflow_draft.js.map +1 -0
- package/dist/services/actionflow/calendar_mapper.d.ts +3 -0
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -0
- package/dist/services/actionflow/calendar_mapper.js +152 -0
- package/dist/services/actionflow/calendar_mapper.js.map +1 -0
- package/dist/services/actionflow/component_registry.d.ts +13 -0
- package/dist/services/actionflow/component_registry.d.ts.map +1 -0
- package/dist/services/actionflow/component_registry.js +213 -0
- package/dist/services/actionflow/component_registry.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_add.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_add.js +127 -0
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts +4 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js +13 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_delete.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_delete.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_delete.js +69 -0
- package/dist/services/actionflow/components/action_eb_delete.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts +4 -0
- package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_delete_compiler.js +7 -0
- package/dist/services/actionflow/components/action_eb_delete_compiler.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_recover.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_recover.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_recover.js +28 -0
- package/dist/services/actionflow/components/action_eb_recover.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_recover_compiler.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_recover_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_recover_compiler.js +16 -0
- package/dist/services/actionflow/components/action_eb_recover_compiler.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_save_version.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_save_version.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_save_version.js +30 -0
- package/dist/services/actionflow/components/action_eb_save_version.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_save_version_compiler.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_save_version_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_save_version_compiler.js +15 -0
- package/dist/services/actionflow/components/action_eb_save_version_compiler.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_update.d.ts +3 -0
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_update.js +154 -0
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -0
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts +16 -0
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/action_eb_update_compiler.js +94 -0
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -0
- package/dist/services/actionflow/components/approve_create.d.ts +3 -0
- package/dist/services/actionflow/components/approve_create.d.ts.map +1 -0
- package/dist/services/actionflow/components/approve_create.js +44 -0
- package/dist/services/actionflow/components/approve_create.js.map +1 -0
- package/dist/services/actionflow/components/approve_trigger.d.ts +5 -0
- package/dist/services/actionflow/components/approve_trigger.d.ts.map +1 -0
- package/dist/services/actionflow/components/approve_trigger.js +184 -0
- package/dist/services/actionflow/components/approve_trigger.js.map +1 -0
- package/dist/services/actionflow/components/approve_trigger_compiler.d.ts +4 -0
- package/dist/services/actionflow/components/approve_trigger_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/components/approve_trigger_compiler.js +20 -0
- package/dist/services/actionflow/components/approve_trigger_compiler.js.map +1 -0
- package/dist/services/actionflow/components/condition.d.ts +3 -0
- package/dist/services/actionflow/components/condition.d.ts.map +1 -0
- package/dist/services/actionflow/components/condition.js +23 -0
- package/dist/services/actionflow/components/condition.js.map +1 -0
- package/dist/services/actionflow/components/date_trigger.d.ts +5 -0
- package/dist/services/actionflow/components/date_trigger.d.ts.map +1 -0
- package/dist/services/actionflow/components/date_trigger.js +129 -0
- package/dist/services/actionflow/components/date_trigger.js.map +1 -0
- package/dist/services/actionflow/components/document_actions.d.ts +28 -0
- package/dist/services/actionflow/components/document_actions.d.ts.map +1 -0
- package/dist/services/actionflow/components/document_actions.js +266 -0
- package/dist/services/actionflow/components/document_actions.js.map +1 -0
- package/dist/services/actionflow/components/eb_get_data_by_id.d.ts +5 -0
- package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -0
- package/dist/services/actionflow/components/eb_get_data_by_id.js +44 -0
- package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -0
- package/dist/services/actionflow/components/enquiry_form.d.ts +5 -0
- package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -0
- package/dist/services/actionflow/components/enquiry_form.js +100 -0
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -0
- package/dist/services/actionflow/components/event_form_data.d.ts +3 -0
- package/dist/services/actionflow/components/event_form_data.d.ts.map +1 -0
- package/dist/services/actionflow/components/event_form_data.js +29 -0
- package/dist/services/actionflow/components/event_form_data.js.map +1 -0
- package/dist/services/actionflow/components/hrm_actions.d.ts +7 -0
- package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -0
- package/dist/services/actionflow/components/hrm_actions.js +138 -0
- package/dist/services/actionflow/components/hrm_actions.js.map +1 -0
- package/dist/services/actionflow/components/index.d.ts +32 -0
- package/dist/services/actionflow/components/index.d.ts.map +1 -0
- package/dist/services/actionflow/components/index.js +132 -0
- package/dist/services/actionflow/components/index.js.map +1 -0
- package/dist/services/actionflow/components/logic_flow_set.d.ts +10 -0
- package/dist/services/actionflow/components/logic_flow_set.d.ts.map +1 -0
- package/dist/services/actionflow/components/logic_flow_set.js +79 -0
- package/dist/services/actionflow/components/logic_flow_set.js.map +1 -0
- package/dist/services/actionflow/components/meeting_create.d.ts +5 -0
- package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -0
- package/dist/services/actionflow/components/meeting_create.js +37 -0
- package/dist/services/actionflow/components/meeting_create.js.map +1 -0
- package/dist/services/actionflow/components/multiple_execution.d.ts +5 -0
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -0
- package/dist/services/actionflow/components/multiple_execution.js +136 -0
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -0
- package/dist/services/actionflow/components/output.d.ts +9 -0
- package/dist/services/actionflow/components/output.d.ts.map +1 -0
- package/dist/services/actionflow/components/output.js +81 -0
- package/dist/services/actionflow/components/output.js.map +1 -0
- package/dist/services/actionflow/components/schedule_create.d.ts +5 -0
- package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -0
- package/dist/services/actionflow/components/schedule_create.js +42 -0
- package/dist/services/actionflow/components/schedule_create.js.map +1 -0
- package/dist/services/actionflow/components/send_message.d.ts +7 -0
- package/dist/services/actionflow/components/send_message.d.ts.map +1 -0
- package/dist/services/actionflow/components/send_message.js +200 -0
- package/dist/services/actionflow/components/send_message.js.map +1 -0
- package/dist/services/actionflow/components/simple_scheduler.d.ts +5 -0
- package/dist/services/actionflow/components/simple_scheduler.d.ts.map +1 -0
- package/dist/services/actionflow/components/simple_scheduler.js +22 -0
- package/dist/services/actionflow/components/simple_scheduler.js.map +1 -0
- package/dist/services/actionflow/components/time_batch_trigger.d.ts +5 -0
- package/dist/services/actionflow/components/time_batch_trigger.d.ts.map +1 -0
- package/dist/services/actionflow/components/time_batch_trigger.js +92 -0
- package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -0
- package/dist/services/actionflow/components/workflow_actions.d.ts +26 -0
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -0
- package/dist/services/actionflow/components/workflow_actions.js +403 -0
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -0
- package/dist/services/actionflow/context_data_builder.d.ts +9 -0
- package/dist/services/actionflow/context_data_builder.d.ts.map +1 -0
- package/dist/services/actionflow/context_data_builder.js +31 -0
- package/dist/services/actionflow/context_data_builder.js.map +1 -0
- package/dist/services/actionflow/context_preflight.d.ts +6 -0
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -0
- package/dist/services/actionflow/context_preflight.js +122 -0
- package/dist/services/actionflow/context_preflight.js.map +1 -0
- package/dist/services/actionflow/context_provider.d.ts +18 -0
- package/dist/services/actionflow/context_provider.d.ts.map +1 -0
- package/dist/services/actionflow/context_provider.js +102 -0
- package/dist/services/actionflow/context_provider.js.map +1 -0
- package/dist/services/actionflow/context_source.d.ts +7 -0
- package/dist/services/actionflow/context_source.d.ts.map +1 -0
- package/dist/services/actionflow/context_source.js +10 -0
- package/dist/services/actionflow/context_source.js.map +1 -0
- package/dist/services/actionflow/design_client.d.ts +48 -0
- package/dist/services/actionflow/design_client.d.ts.map +1 -0
- package/dist/services/actionflow/design_client.js +170 -0
- package/dist/services/actionflow/design_client.js.map +1 -0
- package/dist/services/actionflow/document_source.d.ts +5 -0
- package/dist/services/actionflow/document_source.d.ts.map +1 -0
- package/dist/services/actionflow/document_source.js +5 -0
- package/dist/services/actionflow/document_source.js.map +1 -0
- package/dist/services/actionflow/enrich_approve_trigger.d.ts +12 -0
- package/dist/services/actionflow/enrich_approve_trigger.d.ts.map +1 -0
- package/dist/services/actionflow/enrich_approve_trigger.js +107 -0
- package/dist/services/actionflow/enrich_approve_trigger.js.map +1 -0
- package/dist/services/actionflow/filter_rules.d.ts +14 -0
- package/dist/services/actionflow/filter_rules.d.ts.map +1 -0
- package/dist/services/actionflow/filter_rules.js +259 -0
- package/dist/services/actionflow/filter_rules.js.map +1 -0
- package/dist/services/actionflow/form_source.d.ts +17 -0
- package/dist/services/actionflow/form_source.d.ts.map +1 -0
- package/dist/services/actionflow/form_source.js +42 -0
- package/dist/services/actionflow/form_source.js.map +1 -0
- package/dist/services/actionflow/formula_service.d.ts +51 -0
- package/dist/services/actionflow/formula_service.d.ts.map +1 -0
- package/dist/services/actionflow/formula_service.js +999 -0
- package/dist/services/actionflow/formula_service.js.map +1 -0
- package/dist/services/actionflow/generation_service.d.ts +28 -0
- package/dist/services/actionflow/generation_service.d.ts.map +1 -0
- package/dist/services/actionflow/generation_service.js +283 -0
- package/dist/services/actionflow/generation_service.js.map +1 -0
- package/dist/services/actionflow/hrm_source.d.ts +4 -0
- package/dist/services/actionflow/hrm_source.d.ts.map +1 -0
- package/dist/services/actionflow/hrm_source.js +8 -0
- package/dist/services/actionflow/hrm_source.js.map +1 -0
- package/dist/services/actionflow/id_generator.d.ts +13 -0
- package/dist/services/actionflow/id_generator.d.ts.map +1 -0
- package/dist/services/actionflow/id_generator.js +33 -0
- package/dist/services/actionflow/id_generator.js.map +1 -0
- package/dist/services/actionflow/person_source.d.ts +7 -0
- package/dist/services/actionflow/person_source.d.ts.map +1 -0
- package/dist/services/actionflow/person_source.js +34 -0
- package/dist/services/actionflow/person_source.js.map +1 -0
- package/dist/services/actionflow/preflight_service.d.ts +42 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -0
- package/dist/services/actionflow/preflight_service.js +1247 -0
- package/dist/services/actionflow/preflight_service.js.map +1 -0
- package/dist/services/actionflow/query_field_defaults.d.ts +3 -0
- package/dist/services/actionflow/query_field_defaults.d.ts.map +1 -0
- package/dist/services/actionflow/query_field_defaults.js +46 -0
- package/dist/services/actionflow/query_field_defaults.js.map +1 -0
- package/dist/services/actionflow/readback_verifier.d.ts +11 -0
- package/dist/services/actionflow/readback_verifier.d.ts.map +1 -0
- package/dist/services/actionflow/readback_verifier.js +252 -0
- package/dist/services/actionflow/readback_verifier.js.map +1 -0
- package/dist/services/actionflow/request.d.ts +13 -0
- package/dist/services/actionflow/request.d.ts.map +1 -0
- package/dist/services/actionflow/request.js +15 -0
- package/dist/services/actionflow/request.js.map +1 -0
- package/dist/services/actionflow/runtime_metadata.d.ts +27 -0
- package/dist/services/actionflow/runtime_metadata.d.ts.map +1 -0
- package/dist/services/actionflow/runtime_metadata.js +142 -0
- package/dist/services/actionflow/runtime_metadata.js.map +1 -0
- package/dist/services/actionflow/save_workflow_draft.d.ts +34 -0
- package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -0
- package/dist/services/actionflow/save_workflow_draft.js +449 -0
- package/dist/services/actionflow/save_workflow_draft.js.map +1 -0
- package/dist/services/actionflow/system_params.d.ts +5 -0
- package/dist/services/actionflow/system_params.d.ts.map +1 -0
- package/dist/services/actionflow/system_params.js +55 -0
- package/dist/services/actionflow/system_params.js.map +1 -0
- package/dist/services/actionflow/trigger_common.d.ts +6 -0
- package/dist/services/actionflow/trigger_common.d.ts.map +1 -0
- package/dist/services/actionflow/trigger_common.js +41 -0
- package/dist/services/actionflow/trigger_common.js.map +1 -0
- package/dist/services/actionflow/workflow_compiler.d.ts +27 -0
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -0
- package/dist/services/actionflow/workflow_compiler.js +1804 -0
- package/dist/services/actionflow/workflow_compiler.js.map +1 -0
- package/dist/services/actionflow/workflow_source.d.ts +14 -0
- package/dist/services/actionflow/workflow_source.d.ts.map +1 -0
- package/dist/services/actionflow/workflow_source.js +86 -0
- package/dist/services/actionflow/workflow_source.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,31 +1,130 @@
|
|
|
1
1
|
import { AuthSession } from '../core/auth.js';
|
|
2
2
|
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { genSfId } from '../services/actionflow/id_generator.js';
|
|
3
4
|
/**
|
|
4
|
-
* 原生表单引擎(非 Ebuilder
|
|
5
|
+
* 原生表单引擎(非 Ebuilder)表单管理 — formdatareport/biaoge 引擎。
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
* 建表/更新:POST /api/
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* 浏览器抓包实测(2026-08-27 mulinquan):
|
|
8
|
+
* 建表/更新:POST /api/formdatareport/form/formmanage/saveForm
|
|
9
|
+
* {module:"formdatareport", form:{associatedForm:"new", name, formCategory:null,
|
|
10
|
+
* layoutType:"advanced"(EXCEL表格)/"flow"(流式), tableName, orgId?, formManageCopyConfig:["fieldLink"],
|
|
11
|
+
* formType:"business", personalCategory:"other", isAdvance:true}, customParam:{personalCategory:null}}
|
|
12
|
+
* 加字段:POST /api/formdatareport/form/field/manage/saveFormFieldNew
|
|
13
|
+
* {formId, module:"biaoge", jsonObj:"<字段jsonObj字符串,含预生成fieldId>"}
|
|
14
|
+
* 字段 jsonObj 里 required 不落库(必填走布局 comp config,见 layout init)。
|
|
15
|
+
* 批量加字段:POST /api/formdatareport/form/field/manage/batch/save/formField
|
|
16
|
+
* {module:"biaoge", formId, forms:[], ids:[], delSubFormIds:[], delFormTableIdList:[],
|
|
17
|
+
* jsonObjList:[<字段jsonObj字符串>], replaceFieldIdMap:{}}
|
|
18
|
+
* 建明细子表:POST /api/formdatareport/form/field/manage/saveSubForm
|
|
19
|
+
* {physicalTable:false, order:0, subFormId:<预生成>, type:"DetailTable", module:"biaoge",
|
|
20
|
+
* dataKey:"<tableName>_mxb1", formTable:{id:<主formId>, form:{id:<subFormId>, name, order:"0.00"}}}
|
|
21
|
+
* 明细加字段:复用 saveFormFieldNew,jsonObj 多 subFormId + describeType:"popover" + describePosition:"titleRight"
|
|
22
|
+
* 读字段:POST /api/formdatareport/form/field/manage/getFormFieldPage
|
|
23
|
+
* {pageNo, pageSize, module:"biaoge", formFieldSearchEntity:{isDelete:0, status:"enable", formId, subFormId?}}
|
|
24
|
+
* 结果在 data.pageDatas.result[]
|
|
25
|
+
* 读布局:POST /api/formdatareport/form/view/relate/getConfig
|
|
26
|
+
* {formId, module:"biaoge", apiModule:"formdatareport", layoutId, customParam:{}, initMode:5,
|
|
27
|
+
* groupFieldIds:[], designerParam:{sourceModule:"biaoge"}}
|
|
28
|
+
* init布局:POST /api/formdatareport/form/view/relate/initLayout
|
|
29
|
+
* {formId, module:"biaoge", apiModule:"formdatareport", layoutId, generateCollapse,
|
|
30
|
+
* styleTemplateId:"700000000000000007"(EXCEL)/"820000000000000001"(FLOW), styleTemplateType:1,
|
|
31
|
+
* configs:[<comp>], addLayout:false, ecodeType:["js","css"], customParam:{},
|
|
32
|
+
* formLayoutMultiple:{isSys, id, name, terminalType:"PC", layoutType},
|
|
33
|
+
* designerParam:{onlyLayout:false}, initMode:"1"}
|
|
34
|
+
* comp = {id(=fieldId), name, componentKey, display, show, readOnly, required, disableEdit,
|
|
35
|
+
* singleRow, isDelete, showOrder, type, typeDescribe, dataKey, [config], [children]}
|
|
36
|
+
* DetailTable comp 带 config:{allowDelete,requiredRows,allowEdit,allowAdd,allowCopy,readOnly,
|
|
37
|
+
* componentKey:"DataTable",required:false} + children:[明细字段comp]
|
|
11
38
|
*
|
|
12
|
-
* 与 Ebuilder
|
|
13
|
-
* -
|
|
14
|
-
*
|
|
15
|
-
* -
|
|
39
|
+
* 与 Ebuilder 表单/流程表单的关键差异:
|
|
40
|
+
* - URL 前缀 /api/formdatareport/form/...;formmanage body module="formdatareport",
|
|
41
|
+
* 字段/布局 body module="biaoge" + apiModule="formdatareport"。
|
|
42
|
+
* - 只有 formId,无 objId。
|
|
43
|
+
* - EXCEL 模板 id = 700000000000000007(workflow 引擎是 700000000000000008)。
|
|
44
|
+
* - fieldId/subFormId 客户端预生成(genSfId 雪花),平台对 id 区间宽松。
|
|
16
45
|
*/
|
|
46
|
+
const MOD_FORM = 'formdatareport'; // formmanage body module + URL 前缀
|
|
47
|
+
const MOD_FIELD = 'biaoge'; // 字段/布局 body module
|
|
48
|
+
const API_MOD = 'formdatareport'; // 布局 body apiModule
|
|
49
|
+
const TPL_EXCEL = '700000000000000007';
|
|
50
|
+
const TPL_FLOW = '820000000000000001';
|
|
51
|
+
function placeholderFromFormat(fmt) {
|
|
52
|
+
if (fmt.includes('HH:mm:ss'))
|
|
53
|
+
return '年-月-日 时:分:秒';
|
|
54
|
+
if (fmt.includes('HH:mm'))
|
|
55
|
+
return '年-月-日 时:分';
|
|
56
|
+
return '年-月-日';
|
|
57
|
+
}
|
|
58
|
+
/** 构建 saveFormFieldNew 的 field jsonObj(未带 fieldId,调用方 genSfId 填)。对齐抓包结构。 */
|
|
59
|
+
function buildFieldJsonObj(o) {
|
|
60
|
+
const { type: ck, title, dataKey, formId } = o;
|
|
61
|
+
const base = { type: ck, title, dataKey, formId, showOrder: '0.00', groupId: '-1' };
|
|
62
|
+
if (ck === 'Text')
|
|
63
|
+
Object.assign(base, { maxLen: 100, unique: false, scan: false, readonlyTransLink: false });
|
|
64
|
+
else if (ck === 'TextArea')
|
|
65
|
+
Object.assign(base, { height: 3, readonlyTransLink: false, maxLen: 4000 });
|
|
66
|
+
else if (ck === 'Number')
|
|
67
|
+
Object.assign(base, {
|
|
68
|
+
numberType: 'number', pointSize: '0', isDefault: false,
|
|
69
|
+
capitalPosition: 'outside', capitalSetting: 'system', capitalPrecision: 'yuan',
|
|
70
|
+
});
|
|
71
|
+
else if (ck === 'Money')
|
|
72
|
+
Object.assign(base, {
|
|
73
|
+
numberType: 'number', pointSize: '2', isDefault: false,
|
|
74
|
+
capitalPosition: 'outside', capitalSetting: 'system', capitalPrecision: 'yuan',
|
|
75
|
+
});
|
|
76
|
+
else if (ck === 'Date' || ck === 'DateTime') {
|
|
77
|
+
const fmt = o.format || (ck === 'DateTime' ? 'yyyy-MM-dd HH:mm' : 'yyyy-MM-dd');
|
|
78
|
+
Object.assign(base, {
|
|
79
|
+
type: 'Date', placeholder: placeholderFromFormat(fmt),
|
|
80
|
+
earlyDate: false, lateDate: false,
|
|
81
|
+
// date-only: earlyType/lateType + isSystemDate;datetime: minuteStep/secondStep/defaultExtend
|
|
82
|
+
...(fmt.includes('HH') ? { minuteStep: 1, secondStep: 1, defaultExtend: { date: { type: 'custom' } } } : { earlyType: 'currentDay', lateType: 'currentDay', isSystemDate: false }),
|
|
83
|
+
format: fmt, timePanelStyle: { type: 'system' }, isDefault: false,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else if (ck === 'Select' || ck === 'SelectMultiple') {
|
|
87
|
+
Object.assign(base, {
|
|
88
|
+
optionBackgroundStyle: 'default', hideScore: true, templateId: '', detailDefaultId: '',
|
|
89
|
+
options: (o.options || []).map((op, i) => ({
|
|
90
|
+
componentKey: 'Option', name: op.name, order: i, selectionId: '', defOption: i === 0,
|
|
91
|
+
uid: crypto.randomUUID(), other: false, archive: false, isLimit: false,
|
|
92
|
+
optionNum: '1000000', score: '0', styleConfig: { OptionBackground: op.color || '#5DD4EF' },
|
|
93
|
+
valueKey: String(i), children: [],
|
|
94
|
+
})),
|
|
95
|
+
templateScore: {},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else if (ck === 'Employee' || ck === 'Department') {
|
|
99
|
+
Object.assign(base, {
|
|
100
|
+
isSingle: o.multiple ? false : false, allList: [], componentList: [], displayType: 'space',
|
|
101
|
+
defaultExtend: { type: 'custom', relation: 'current' },
|
|
102
|
+
viewDataDetail: true, showDimension: true,
|
|
103
|
+
pcDisplaySelectedCount: { type: 'default' }, mobileDisplaySelectedCount: { type: 'default' },
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return base;
|
|
107
|
+
}
|
|
108
|
+
async function getLayoutMeta(client, baseUrl, formId) {
|
|
109
|
+
const res = await client.post(`${baseUrl}/api/${MOD_FORM}/form/builder/getFormLayout`, {
|
|
110
|
+
formId, module: MOD_FORM, customParam: {}, formTableIdList: [],
|
|
111
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
112
|
+
}, { ebbusinessid: formId });
|
|
113
|
+
if (res?.code !== 200 || !res?.status)
|
|
114
|
+
throw new Error(`getFormLayout 失败: ${res?.msg}`);
|
|
115
|
+
const fl = res.data?.formLayout || {}, flm = res.data?.formLayoutMultiple || {};
|
|
116
|
+
return { layoutId: fl.id || '', layoutMultiId: flm.id || '', layoutName: flm.name || '', layoutType: flm.layoutType || 'EXCEL' };
|
|
117
|
+
}
|
|
17
118
|
export function registerFormNativeCommands(form, program) {
|
|
18
|
-
const fn = form.command('native').description('
|
|
119
|
+
const fn = form.command('native').description('原生表单引擎表单管理(formdatareport/biaoge,非 Ebuilder,formId 体系)');
|
|
19
120
|
// ─── CREATE ─────────────────────────────────────────────
|
|
20
121
|
fn.command('create')
|
|
21
|
-
.description('
|
|
122
|
+
.description('新建原生表单(saveForm,layoutType:advanced=EXCEL表格 / flow=流式)')
|
|
22
123
|
.argument('<name>', '表单名称')
|
|
23
|
-
.
|
|
24
|
-
.
|
|
25
|
-
.option('--
|
|
26
|
-
.option('--
|
|
27
|
-
.option('--no-physical-table', '非物理表单(默认物理表 physicalTable=true)')
|
|
28
|
-
.option('--category <id>', '表单分类 ID(formCategory.id)')
|
|
124
|
+
.option('--module <m>', '模块(默认 formdatareport)', 'formdatareport')
|
|
125
|
+
.option('--layout-type <t>', '布局:advanced=EXCEL表格(默认) / flow=流式', 'advanced')
|
|
126
|
+
.option('--table-name <n>', '物理表名(默认 ft_拼音_随机)')
|
|
127
|
+
.option('--org-id <id>', '所属组织 ID(分权租户需要)')
|
|
29
128
|
.action(async (name, cmdOpts) => {
|
|
30
129
|
const opts = program.opts();
|
|
31
130
|
const auth = await AuthSession.fromOptions(opts);
|
|
@@ -33,104 +132,331 @@ export function registerFormNativeCommands(form, program) {
|
|
|
33
132
|
process.exit(1);
|
|
34
133
|
const client = new ApiClient(auth);
|
|
35
134
|
const baseUrl = auth.getBaseUrl();
|
|
135
|
+
const tableName = cmdOpts.tableName || ('ft_' + name.replace(/[^\w]/g, '_').slice(0, 8).toLowerCase() + Math.floor(Math.random() * 9000 + 1000));
|
|
36
136
|
const payload = {
|
|
37
137
|
module: cmdOpts.module,
|
|
38
138
|
form: {
|
|
39
|
-
name,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
isAdvance: false,
|
|
44
|
-
physicalTable: cmdOpts.physicalTable,
|
|
45
|
-
formCategory: cmdOpts.category ? { id: cmdOpts.category } : null,
|
|
139
|
+
associatedForm: 'new', name, formCategory: null,
|
|
140
|
+
layoutType: cmdOpts.layoutType, tableName,
|
|
141
|
+
formManageCopyConfig: ['fieldLink'], formType: 'business',
|
|
142
|
+
personalCategory: 'other', isAdvance: true,
|
|
46
143
|
},
|
|
47
|
-
customParam: {},
|
|
144
|
+
customParam: { personalCategory: null },
|
|
48
145
|
};
|
|
146
|
+
if (cmdOpts.orgId)
|
|
147
|
+
payload.form.orgId = cmdOpts.orgId;
|
|
49
148
|
const res = await client.post(`${baseUrl}/api/${cmdOpts.module}/form/formmanage/saveForm`, payload);
|
|
50
149
|
if (res?.code !== 200 || !res?.status) {
|
|
51
150
|
console.error(`新建失败: ${res?.msg || '未知错误'}`);
|
|
52
151
|
process.exit(1);
|
|
53
152
|
}
|
|
54
|
-
const formId = res?.data?.id ||
|
|
153
|
+
const formId = res?.data?.id || '';
|
|
55
154
|
if (!formId) {
|
|
56
155
|
console.error(`返回成功但未拿到 formId: ${JSON.stringify(res?.data).slice(0, 200)}`);
|
|
57
156
|
process.exit(1);
|
|
58
157
|
}
|
|
59
|
-
console.error(`表单已创建: ${name} formId=${formId}`);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const f = getRes?.data?.form || {};
|
|
64
|
-
if (f.name)
|
|
65
|
-
console.error(` 回读: name=${f.name} status=${f.status} ownership=${f.ownership} physicalTable=${f.physicalTable}`);
|
|
66
|
-
}
|
|
67
|
-
catch { /* 回读不阻塞 */ }
|
|
68
|
-
if (opts.json) {
|
|
69
|
-
console.log(JSON.stringify({ formId, name, module: cmdOpts.module, orgId: cmdOpts.orgId }));
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
158
|
+
console.error(`表单已创建: ${name} formId=${formId} 布局=${cmdOpts.layoutType === 'advanced' ? 'EXCEL' : 'FLOW'} tableName=${tableName}`);
|
|
159
|
+
if (opts.json)
|
|
160
|
+
console.log(JSON.stringify({ formId, name, layoutType: cmdOpts.layoutType, tableName, module: cmdOpts.module }));
|
|
161
|
+
else
|
|
72
162
|
console.log(`formId: ${formId}`);
|
|
73
|
-
}
|
|
74
163
|
});
|
|
75
|
-
// ───
|
|
76
|
-
fn.command('
|
|
77
|
-
.description('
|
|
78
|
-
.
|
|
79
|
-
.option('--
|
|
80
|
-
.option('--page-size <n>', '每页条数', '
|
|
81
|
-
.action(async (cmdOpts) => {
|
|
164
|
+
// ─── READ(字段列表)────────────────────────────────────
|
|
165
|
+
fn.command('read')
|
|
166
|
+
.description('读取原生表单字段(getFormFieldPage;--sub-form-id 查明细)')
|
|
167
|
+
.argument('<formId>', '表单 ID')
|
|
168
|
+
.option('--sub-form-id <id>', '查指定明细子表字段')
|
|
169
|
+
.option('--page-size <n>', '每页条数', '100')
|
|
170
|
+
.action(async (formId, cmdOpts) => {
|
|
82
171
|
const opts = program.opts();
|
|
83
172
|
const auth = await AuthSession.fromOptions(opts);
|
|
84
173
|
if (!auth)
|
|
85
174
|
process.exit(1);
|
|
86
175
|
const client = new ApiClient(auth);
|
|
87
176
|
const baseUrl = auth.getBaseUrl();
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
177
|
+
const searchEntity = { isDelete: 0, status: 'enable', formId };
|
|
178
|
+
if (cmdOpts.subFormId)
|
|
179
|
+
searchEntity.subFormId = cmdOpts.subFormId;
|
|
180
|
+
const res = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/getFormFieldPage`, {
|
|
181
|
+
pageNo: 1, pageSize: Number(cmdOpts.pageSize), module: MOD_FIELD, formFieldSearchEntity: searchEntity,
|
|
91
182
|
});
|
|
92
183
|
if (res?.code !== 200 || !res?.status) {
|
|
93
184
|
console.error(`查询失败: ${res?.msg || '未知错误'}`);
|
|
94
185
|
process.exit(1);
|
|
95
186
|
}
|
|
96
|
-
const rows = res?.data?.pageDatas?.result ||
|
|
187
|
+
const rows = res?.data?.pageDatas?.result || [];
|
|
97
188
|
if (opts.json) {
|
|
98
189
|
console.log(JSON.stringify(rows, null, 2));
|
|
99
190
|
return;
|
|
100
191
|
}
|
|
101
|
-
|
|
102
|
-
console.log('无表单');
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
console.log(`原生表单 (${rows.length}):`);
|
|
192
|
+
console.log(`原生表单 ${formId} ${cmdOpts.subFormId ? '明细 ' + cmdOpts.subFormId : '主表'} 字段 (${rows.length}):`);
|
|
106
193
|
for (const r of rows)
|
|
107
|
-
console.log(` [${r.
|
|
194
|
+
console.log(` [${r.fieldId}] ${r.title || r.name} ${r.type} format=${r.format || '-'} required=${r.required ?? '-'} dataKey=${r.dataKey}`);
|
|
108
195
|
});
|
|
109
|
-
// ───
|
|
110
|
-
fn.command('
|
|
111
|
-
.description('
|
|
196
|
+
// ─── ADD-FIELD ─────────────────────────────────────────
|
|
197
|
+
fn.command('add-field')
|
|
198
|
+
.description('给原生表单加字段(saveFormFieldNew + 预生成 fieldId)。类型见 --help')
|
|
112
199
|
.argument('<formId>', '表单 ID')
|
|
113
|
-
.
|
|
114
|
-
.
|
|
115
|
-
.
|
|
200
|
+
.argument('<fieldName>', '字段名')
|
|
201
|
+
.argument('<fieldType>', '类型:Text/TextArea/Number/Money/Date/DateTime/Select/SelectMultiple/Employee/Department')
|
|
202
|
+
.option('--sub-form-id <id>', '明细子表 ID(加明细字段)')
|
|
203
|
+
.option('--format <fmt>', '日期格式(Date 默认 yyyy-MM-dd / DateTime 默认 yyyy-MM-dd HH:mm)')
|
|
204
|
+
.option('--multiple', '多选(Employee/Department)')
|
|
205
|
+
.option('--options <json>', 'Select 选项:[{"name":"x","color":"#xxx"}] 或 @文件')
|
|
206
|
+
.action(async (formId, fieldName, fieldType, cmdOpts) => {
|
|
116
207
|
const opts = program.opts();
|
|
117
208
|
const auth = await AuthSession.fromOptions(opts);
|
|
118
209
|
if (!auth)
|
|
119
210
|
process.exit(1);
|
|
120
211
|
const client = new ApiClient(auth);
|
|
121
212
|
const baseUrl = auth.getBaseUrl();
|
|
122
|
-
const
|
|
213
|
+
const dataKey = 'f' + Math.random().toString(36).slice(2, 9);
|
|
214
|
+
let parsedOptions;
|
|
215
|
+
if (cmdOpts.options) {
|
|
216
|
+
const raw = cmdOpts.options.startsWith('@') ? (await import('node:fs')).readFileSync(cmdOpts.options.slice(1), 'utf-8') : cmdOpts.options;
|
|
217
|
+
parsedOptions = JSON.parse(raw);
|
|
218
|
+
}
|
|
219
|
+
const jsonObj = buildFieldJsonObj({ type: fieldType, title: fieldName, dataKey, formId, format: cmdOpts.format, multiple: cmdOpts.multiple, options: parsedOptions });
|
|
220
|
+
jsonObj.fieldId = genSfId();
|
|
221
|
+
if (cmdOpts.subFormId) {
|
|
222
|
+
jsonObj.subFormId = cmdOpts.subFormId;
|
|
223
|
+
jsonObj.describeType = 'popover';
|
|
224
|
+
jsonObj.describePosition = 'titleRight';
|
|
225
|
+
}
|
|
226
|
+
const res = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/saveFormFieldNew`, {
|
|
227
|
+
formId, module: MOD_FIELD, jsonObj: JSON.stringify(jsonObj),
|
|
228
|
+
});
|
|
123
229
|
if (res?.code !== 200 || !res?.status) {
|
|
124
|
-
console.error(
|
|
230
|
+
console.error(`加字段失败: ${res?.msg || '未知错误'}`);
|
|
125
231
|
process.exit(1);
|
|
126
232
|
}
|
|
127
|
-
|
|
128
|
-
if (opts.json)
|
|
129
|
-
console.log(JSON.stringify(
|
|
130
|
-
|
|
233
|
+
console.error(`字段已加: ${fieldName} (${fieldType}) fieldId=${jsonObj.fieldId}${cmdOpts.subFormId ? ' (明细)' : ''}`);
|
|
234
|
+
if (opts.json)
|
|
235
|
+
console.log(JSON.stringify({ fieldId: jsonObj.fieldId, fieldName, fieldType, dataKey }));
|
|
236
|
+
else
|
|
237
|
+
console.log(`fieldId: ${jsonObj.fieldId}`);
|
|
238
|
+
});
|
|
239
|
+
// ─── ADD-DETAIL-TABLE ───────────────────────────────────
|
|
240
|
+
fn.command('add-detail-table')
|
|
241
|
+
.description('给原生表单加明细子表(saveSubForm + 预生成 subFormId + 可选首字段)')
|
|
242
|
+
.argument('<formId>', '表单 ID')
|
|
243
|
+
.argument('<name>', '明细表名')
|
|
244
|
+
.argument('[firstFieldName]', '首字段名(建议传,空子表 getConfig 读不到)')
|
|
245
|
+
.option('--first-field-type <t>', '首字段类型(默认 Text)', 'Text')
|
|
246
|
+
.option('--init', '建后跑 layout init 放入布局')
|
|
247
|
+
.action(async (formId, name, firstFieldName, cmdOpts) => {
|
|
248
|
+
const opts = program.opts();
|
|
249
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
250
|
+
if (!auth)
|
|
251
|
+
process.exit(1);
|
|
252
|
+
const client = new ApiClient(auth);
|
|
253
|
+
const baseUrl = auth.getBaseUrl();
|
|
254
|
+
const subFormId = genSfId();
|
|
255
|
+
const tableName = 'tb' + Math.random().toString(36).slice(2, 8);
|
|
256
|
+
const dataKey = tableName + '_mxb1';
|
|
257
|
+
const res = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/saveSubForm`, {
|
|
258
|
+
physicalTable: false, order: 0, subFormId, type: 'DetailTable', module: MOD_FIELD, dataKey,
|
|
259
|
+
formTable: { id: formId, form: { id: subFormId, name, order: '0.00' } },
|
|
260
|
+
});
|
|
261
|
+
if (res?.code !== 200 || !res?.status) {
|
|
262
|
+
console.error(`建明细失败: ${res?.msg || '未知错误'}`);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
console.error(`子表已建: subFormId=${subFormId} name=${name} dataKey=${dataKey}`);
|
|
266
|
+
let firstFieldId = '';
|
|
267
|
+
if (firstFieldName) {
|
|
268
|
+
const dk = 'sf' + Math.random().toString(36).slice(2, 8);
|
|
269
|
+
const jsonObj = buildFieldJsonObj({ type: cmdOpts.firstFieldType, title: firstFieldName, dataKey: dk, formId });
|
|
270
|
+
jsonObj.fieldId = genSfId();
|
|
271
|
+
jsonObj.subFormId = subFormId;
|
|
272
|
+
jsonObj.describeType = 'popover';
|
|
273
|
+
jsonObj.describePosition = 'titleRight';
|
|
274
|
+
const fr = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/saveFormFieldNew`, {
|
|
275
|
+
formId, module: MOD_FIELD, jsonObj: JSON.stringify(jsonObj),
|
|
276
|
+
});
|
|
277
|
+
if (fr?.code !== 200 || !fr?.status) {
|
|
278
|
+
console.error(`首字段失败: ${fr?.msg || '未知错误'}`);
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
firstFieldId = jsonObj.fieldId;
|
|
282
|
+
console.error(`首字段已加: ${firstFieldName} (${cmdOpts.firstFieldType}) fieldId=${firstFieldId}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (cmdOpts.init) {
|
|
286
|
+
try {
|
|
287
|
+
await initLayout(client, baseUrl, formId);
|
|
288
|
+
console.error('布局已 init');
|
|
289
|
+
}
|
|
290
|
+
catch (e) {
|
|
291
|
+
console.error(`布局 init 失败: ${e?.message || e}`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (opts.json)
|
|
295
|
+
console.log(JSON.stringify({ subFormId, name, dataKey, firstFieldId }));
|
|
296
|
+
else
|
|
297
|
+
console.log(`subFormId: ${subFormId}`);
|
|
298
|
+
});
|
|
299
|
+
// ─── LAYOUT INIT ────────────────────────────────────────
|
|
300
|
+
fn.command('init')
|
|
301
|
+
.description('初始化/重建原生表单布局(initLayout):设字段 readOnly/required/singleRow + 分组 + 显示/隐藏')
|
|
302
|
+
.argument('<formId>', '表单 ID')
|
|
303
|
+
.option('--read-only', '字段只读(默认保留)')
|
|
304
|
+
.option('--required', '字段必填(默认保留)')
|
|
305
|
+
.option('--single-row', '独占一行(默认保留)')
|
|
306
|
+
.option('--generate-collapse', '生成折叠分组')
|
|
307
|
+
.option('--hide <names>', '隐藏字段(display=false),逗号分隔字段名/fieldId,其余 display=true')
|
|
308
|
+
.action(async (formId, cmdOpts) => {
|
|
309
|
+
const opts = program.opts();
|
|
310
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
311
|
+
if (!auth)
|
|
312
|
+
process.exit(1);
|
|
313
|
+
const client = new ApiClient(auth);
|
|
314
|
+
const baseUrl = auth.getBaseUrl();
|
|
315
|
+
try {
|
|
316
|
+
const hide = cmdOpts.hide ? new Set(cmdOpts.hide.split(',').map((s) => s.trim()).filter(Boolean)) : undefined;
|
|
317
|
+
const meta = await initLayout(client, baseUrl, formId, { ...cmdOpts, hide });
|
|
318
|
+
const hidden = hide ? ` 隐藏${hide.size}字段` : '';
|
|
319
|
+
console.error(`布局已初始化: 类型=${meta.layoutType} 模板=${meta.styleTemplateId} 组件=${meta.compCount}${hidden}`);
|
|
320
|
+
}
|
|
321
|
+
catch (e) {
|
|
322
|
+
console.error(`初始化失败: ${e?.message || e}`);
|
|
323
|
+
process.exit(1);
|
|
324
|
+
}
|
|
325
|
+
if (opts.json)
|
|
326
|
+
console.log(JSON.stringify({ formId, ok: true }));
|
|
327
|
+
});
|
|
328
|
+
// ─── FIELD-GROUP(字段分组)────────────────────────────
|
|
329
|
+
fn.command('field-group')
|
|
330
|
+
.description('字段分组(建组 saveFieldGroup → 分配 updateFormFieldGroup → re-init generateCollapse 渲染分组)')
|
|
331
|
+
.argument('<formId>', '表单 ID')
|
|
332
|
+
.requiredOption('--groups <json>', '分组 JSON:{"分组名":["字段名/fieldId",...],...} 或 @文件')
|
|
333
|
+
.option('--required', '同时设字段必填(re-init 时一起带上,防丢)')
|
|
334
|
+
.action(async (formId, cmdOpts) => {
|
|
335
|
+
const opts = program.opts();
|
|
336
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
337
|
+
if (!auth)
|
|
338
|
+
process.exit(1);
|
|
339
|
+
const client = new ApiClient(auth);
|
|
340
|
+
const baseUrl = auth.getBaseUrl();
|
|
341
|
+
const ebb = { ebbusinessid: formId };
|
|
342
|
+
try {
|
|
343
|
+
const raw = cmdOpts.groups.startsWith('@') ? (await import('node:fs')).readFileSync(cmdOpts.groups.slice(1), 'utf-8') : cmdOpts.groups;
|
|
344
|
+
const groupsMap = JSON.parse(raw);
|
|
345
|
+
const entries = Object.entries(groupsMap);
|
|
346
|
+
if (!entries.length)
|
|
347
|
+
throw new Error('--groups 为空');
|
|
348
|
+
// getConfig 解析字段名→id
|
|
349
|
+
const meta = await getLayoutMeta(client, baseUrl, formId);
|
|
350
|
+
const cfgRes = await client.post(`${baseUrl}/api/${MOD_FORM}/form/view/relate/getConfig`, {
|
|
351
|
+
formId, module: MOD_FIELD, apiModule: API_MOD, layoutId: meta.layoutId,
|
|
352
|
+
customParam: {}, initMode: 5, groupFieldIds: [], designerParam: { sourceModule: MOD_FIELD },
|
|
353
|
+
}, ebb);
|
|
354
|
+
if (cfgRes?.code !== 200 || !cfgRes?.status)
|
|
355
|
+
throw new Error(`getConfig 失败: ${cfgRes?.msg}`);
|
|
356
|
+
const allConfigs = cfgRes?.data?.configs || [];
|
|
357
|
+
const byName = new Map();
|
|
358
|
+
const walk = (arr) => { for (const c of arr) {
|
|
359
|
+
if (c.name)
|
|
360
|
+
byName.set(String(c.name), c);
|
|
361
|
+
if (c.id)
|
|
362
|
+
byName.set(String(c.id), c);
|
|
363
|
+
if (c.children?.length)
|
|
364
|
+
walk(c.children);
|
|
365
|
+
} };
|
|
366
|
+
walk(allConfigs);
|
|
367
|
+
// ① 建组 + ② 分配字段
|
|
368
|
+
const created = [];
|
|
369
|
+
for (const [gname, refs] of entries) {
|
|
370
|
+
const sr = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/saveFieldGroup`, { module: MOD_FIELD, formFieldGroup: { groupName: gname, formId } }, ebb);
|
|
371
|
+
if (sr?.code !== 200 || !sr?.status)
|
|
372
|
+
throw new Error(`建分组「${gname}」失败: ${sr?.msg || '未知错误'}`);
|
|
373
|
+
const g = sr?.data?.group || {};
|
|
374
|
+
const fieldIds = [];
|
|
375
|
+
const missing = [];
|
|
376
|
+
for (const ref of refs || []) {
|
|
377
|
+
const f = byName.get(String(ref));
|
|
378
|
+
if (f)
|
|
379
|
+
fieldIds.push(String(f.id));
|
|
380
|
+
else
|
|
381
|
+
missing.push(String(ref));
|
|
382
|
+
}
|
|
383
|
+
if (missing.length)
|
|
384
|
+
console.error(` ⚠ 分组「${gname}」未找到字段: ${missing.join(', ')}`);
|
|
385
|
+
created.push({ name: gname, groupId: String(g.id || ''), refFieldId: String(g.refFieldId || ''), fieldIds });
|
|
386
|
+
console.error(` 分组已建: ${gname} groupId=${g.id} refFieldId=${g.refFieldId}${fieldIds.length ? ` 字段×${fieldIds.length}` : '(空分组)'}`);
|
|
387
|
+
if (fieldIds.length) {
|
|
388
|
+
const ur = await client.post(`${baseUrl}/api/${MOD_FORM}/form/field/manage/updateFormFieldGroup`, { module: MOD_FIELD, formFieldGroup: { id: created[created.length - 1].groupId }, form: { id: formId }, fieldList: fieldIds.map((id) => ({ id })) }, ebb);
|
|
389
|
+
if (ur?.code !== 200 || !ur?.status)
|
|
390
|
+
console.error(` ⚠ 分组「${gname}」分配失败: ${ur?.msg || '未知错误'}`);
|
|
391
|
+
else
|
|
392
|
+
console.error(` 已分配: ${gname} ← ${fieldIds.length} 字段`);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
// ③ re-init:generateCollapse:true 让平台从 saveFieldGroup 记录自动渲染 Collapse 分组。
|
|
396
|
+
// 复用 initLayout helper(normalize 保 DetailTable + 设 required + generateCollapse),对齐抓包正确 initLayout。
|
|
397
|
+
const meta2 = await initLayout(client, baseUrl, formId, { required: cmdOpts.required === true ? true : undefined, generateCollapse: true });
|
|
398
|
+
console.log(opts.json
|
|
399
|
+
? JSON.stringify({ success: true, formId, groups: created.map((g) => ({ name: g.name, groupId: g.groupId, refFieldId: g.refFieldId, fieldCount: g.fieldIds.length })), layoutType: meta2.layoutType })
|
|
400
|
+
: `字段分组完成: ${created.length} 个分组(generateCollapse 自动渲染,组件=${meta2.compCount})`);
|
|
401
|
+
}
|
|
402
|
+
catch (e) {
|
|
403
|
+
console.error(`字段分组失败: ${e.message}`);
|
|
404
|
+
process.exitCode = 1;
|
|
131
405
|
}
|
|
132
|
-
console.log(`表单: ${f.name || '(未命名)'} formId=${f.id}`);
|
|
133
|
-
console.log(` status=${f.status} ownership=${f.ownership} orgId=${f.orgId} physicalTable=${f.physicalTable}`);
|
|
134
406
|
});
|
|
135
407
|
}
|
|
408
|
+
/** getConfig 读 configs → 按选项设 readOnly/required/singleRow/hide → initLayout 写回。 */
|
|
409
|
+
async function initLayout(client, baseUrl, formId, flags = {}) {
|
|
410
|
+
const meta = await getLayoutMeta(client, baseUrl, formId);
|
|
411
|
+
const cfgRes = await client.post(`${baseUrl}/api/${MOD_FORM}/form/view/relate/getConfig`, {
|
|
412
|
+
formId, module: MOD_FIELD, apiModule: API_MOD, layoutId: meta.layoutId,
|
|
413
|
+
customParam: {}, initMode: 5, groupFieldIds: [], designerParam: { sourceModule: MOD_FIELD },
|
|
414
|
+
}, { ebbusinessid: formId });
|
|
415
|
+
if (cfgRes?.code !== 200 || !cfgRes?.status)
|
|
416
|
+
throw new Error(`getConfig 失败: ${cfgRes?.msg}`);
|
|
417
|
+
const configs = cfgRes?.data?.configs || [];
|
|
418
|
+
// normalize(对齐抓包正确 initLayout):
|
|
419
|
+
// - display/show=true 对所有字段(含 DetailTable 容器,正确包 DetailTable display=true;不设会藏掉明细表)。
|
|
420
|
+
// --hide 指定的字段 display=false(隐藏)。
|
|
421
|
+
// - readOnly/disableEdit=false 只对主表业务字段;容器(DetailTable) + 明细 children 保持 readOnly=true。
|
|
422
|
+
// - --required 只设主表业务字段(正确包 DetailTable + 明细日期 required=false)。
|
|
423
|
+
const isContainer = (c) => c.type === 'DetailTable' || c.componentKey === 'DataTable' || c.type === 'Collapse' || c.componentKey === 'Fold';
|
|
424
|
+
const isHidden = (c) => !!(flags.hide && (flags.hide.has(String(c.id)) || (c.name && flags.hide.has(String(c.name)))));
|
|
425
|
+
const apply = (c, isDetailChild = false) => {
|
|
426
|
+
if (c.isDelete)
|
|
427
|
+
return;
|
|
428
|
+
c.display = !isHidden(c);
|
|
429
|
+
c.show = !isHidden(c);
|
|
430
|
+
// readOnly/disableEdit=false 对所有业务字段(主表 + 明细 children),明细字段也要可编辑;
|
|
431
|
+
// 容器(DetailTable) 保持 readOnly=true(top-level,其 config.readOnly=false 控制表可编辑)。
|
|
432
|
+
if (!isContainer(c)) {
|
|
433
|
+
c.readOnly = false;
|
|
434
|
+
c.disableEdit = false;
|
|
435
|
+
}
|
|
436
|
+
if (flags.readOnly !== undefined && !isContainer(c))
|
|
437
|
+
c.readOnly = flags.readOnly;
|
|
438
|
+
// --required 只设主表业务字段(正确包 DetailTable + 明细日期 required=false)
|
|
439
|
+
if (flags.required !== undefined && !isContainer(c) && !isDetailChild)
|
|
440
|
+
c.required = flags.required;
|
|
441
|
+
if (flags.singleRow !== undefined && !isContainer(c) && !isDetailChild)
|
|
442
|
+
c.singleRow = flags.singleRow;
|
|
443
|
+
};
|
|
444
|
+
for (const c of configs) {
|
|
445
|
+
apply(c, false);
|
|
446
|
+
if (c.children?.length)
|
|
447
|
+
for (const ch of c.children)
|
|
448
|
+
apply(ch, true);
|
|
449
|
+
}
|
|
450
|
+
const styleTemplateId = meta.layoutType === 'EXCEL' ? TPL_EXCEL : TPL_FLOW;
|
|
451
|
+
const initRes = await client.post(`${baseUrl}/api/${MOD_FORM}/form/view/relate/initLayout`, {
|
|
452
|
+
formId, module: MOD_FIELD, apiModule: API_MOD, layoutId: meta.layoutId,
|
|
453
|
+
generateCollapse: flags.generateCollapse === true, styleTemplateId, styleTemplateType: 1,
|
|
454
|
+
configs, addLayout: false, ecodeType: ['js', 'css'], customParam: {},
|
|
455
|
+
formLayoutMultiple: { isSys: false, id: meta.layoutMultiId, name: meta.layoutName, terminalType: 'PC', layoutType: meta.layoutType },
|
|
456
|
+
designerParam: { onlyLayout: false }, initMode: '1',
|
|
457
|
+
}, { ebbusinessid: formId });
|
|
458
|
+
if (initRes?.code !== 200 || !initRes?.status)
|
|
459
|
+
throw new Error(`initLayout 失败: ${initRes?.msg}`);
|
|
460
|
+
return { layoutType: meta.layoutType, styleTemplateId, compCount: configs.length };
|
|
461
|
+
}
|
|
136
462
|
//# sourceMappingURL=form-native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-native.js","sourceRoot":"","sources":["../../src/commands/form-native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-native.js","sourceRoot":"","sources":["../../src/commands/form-native.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;AA2CpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/commands/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA+jF9D"}
|
package/dist/commands/form.js
CHANGED
|
@@ -930,12 +930,15 @@ export function registerFormCommands(program) {
|
|
|
930
930
|
type: 'Date', title: df.fieldName,
|
|
931
931
|
placeholder: placeholderFromFormat(dtFmt),
|
|
932
932
|
earlyDate: false, lateDate: false,
|
|
933
|
-
earlyType: 'currentDay', lateType: 'currentDay',
|
|
934
933
|
format: dtFmt,
|
|
934
|
+
hasDisplayFormat: true,
|
|
935
|
+
minuteStep: 1,
|
|
935
936
|
isSystemDate: false,
|
|
936
937
|
timePanelStyle: { type: 'system' },
|
|
937
938
|
isDefault: dtHasDefault,
|
|
938
|
-
...(dtHasDefault
|
|
939
|
+
...(dtHasDefault
|
|
940
|
+
? { defaultExtend: { date: { type: 'current' }, time: { customValue: '00:00', type: 'custom' } } }
|
|
941
|
+
: { defaultExtend: { date: { type: 'custom' } } }),
|
|
939
942
|
...(dtMinTargetId ? { min: { type: 'dateField', checkValue: String(dtMinTargetId) }, earlyDate: true } : {}),
|
|
940
943
|
...(dtMaxTargetId ? { max: { type: 'dateField', checkValue: String(dtMaxTargetId) }, lateDate: true } : {}),
|
|
941
944
|
formTableId: dtDetail?.formTableId || '',
|