weaver-e10-builder 1.1.9 → 1.2.2
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 +1 -1
- package/dist/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +32 -0
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +17 -5
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +9 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/designer.d.ts.map +1 -1
- package/dist/commands/designer.js +22 -1
- package/dist/commands/designer.js.map +1 -1
- package/dist/commands/form-field-props.d.ts +3 -0
- package/dist/commands/form-field-props.d.ts.map +1 -0
- package/dist/commands/form-field-props.js +242 -0
- package/dist/commands/form-field-props.js.map +1 -0
- package/dist/commands/form-layout-init.d.ts +0 -7
- package/dist/commands/form-layout-init.d.ts.map +1 -1
- package/dist/commands/form-layout-init.js +23 -39
- package/dist/commands/form-layout-init.js.map +1 -1
- package/dist/commands/form-serial-mark.d.ts.map +1 -1
- package/dist/commands/form-serial-mark.js +134 -42
- package/dist/commands/form-serial-mark.js.map +1 -1
- package/dist/commands/form-virtual.d.ts +3 -0
- package/dist/commands/form-virtual.d.ts.map +1 -0
- package/dist/commands/form-virtual.js +197 -0
- package/dist/commands/form-virtual.js.map +1 -0
- package/dist/commands/form.d.ts +3 -0
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +263 -57
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/interface.js +1 -1
- package/dist/commands/interface.js.map +1 -1
- package/dist/commands/report-admin.d.ts +5 -0
- package/dist/commands/report-admin.d.ts.map +1 -0
- package/dist/commands/report-admin.js +420 -0
- package/dist/commands/report-admin.js.map +1 -0
- package/dist/commands/report-query.d.ts +3 -0
- package/dist/commands/report-query.d.ts.map +1 -0
- package/dist/commands/report-query.js +314 -0
- package/dist/commands/report-query.js.map +1 -0
- package/dist/commands/report-validate.d.ts +3 -0
- package/dist/commands/report-validate.d.ts.map +1 -0
- package/dist/commands/report-validate.js +719 -0
- package/dist/commands/report-validate.js.map +1 -0
- package/dist/commands/report.d.ts +12 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +666 -0
- package/dist/commands/report.js.map +1 -0
- package/dist/commands/wf-form.d.ts +34 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +303 -127
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-advanced.d.ts.map +1 -1
- package/dist/commands/workflow-advanced.js +109 -90
- package/dist/commands/workflow-advanced.js.map +1 -1
- package/dist/commands/workflow-auth-resp.d.ts +8 -0
- package/dist/commands/workflow-auth-resp.d.ts.map +1 -0
- package/dist/commands/workflow-auth-resp.js +568 -0
- package/dist/commands/workflow-auth-resp.js.map +1 -0
- package/dist/commands/workflow-condition.d.ts.map +1 -1
- package/dist/commands/workflow-condition.js +3 -1
- package/dist/commands/workflow-condition.js.map +1 -1
- package/dist/commands/workflow-create-auth-resp.d.ts +4 -0
- package/dist/commands/workflow-create-auth-resp.d.ts.map +1 -0
- package/dist/commands/workflow-create-auth-resp.js +204 -0
- package/dist/commands/workflow-create-auth-resp.js.map +1 -0
- package/dist/commands/workflow-node-overtime.d.ts.map +1 -1
- package/dist/commands/workflow-node-overtime.js +125 -92
- package/dist/commands/workflow-node-overtime.js.map +1 -1
- package/dist/commands/workflow-node-reject.d.ts +52 -0
- package/dist/commands/workflow-node-reject.d.ts.map +1 -1
- package/dist/commands/workflow-node-reject.js +134 -63
- package/dist/commands/workflow-node-reject.js.map +1 -1
- package/dist/commands/workflow-node-sign.d.ts.map +1 -1
- package/dist/commands/workflow-node-sign.js +14 -7
- package/dist/commands/workflow-node-sign.js.map +1 -1
- package/dist/commands/workflow-node-validate.d.ts +6 -0
- package/dist/commands/workflow-node-validate.d.ts.map +1 -1
- package/dist/commands/workflow-node-validate.js +143 -21
- package/dist/commands/workflow-node-validate.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +359 -116
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-numbering.d.ts.map +1 -1
- package/dist/commands/workflow-numbering.js +73 -34
- package/dist/commands/workflow-numbering.js.map +1 -1
- package/dist/commands/workflow-operator-sign.d.ts +10 -0
- package/dist/commands/workflow-operator-sign.d.ts.map +1 -1
- package/dist/commands/workflow-operator-sign.js +40 -53
- package/dist/commands/workflow-operator-sign.js.map +1 -1
- package/dist/commands/workflow-plan-range.d.ts +10 -0
- package/dist/commands/workflow-plan-range.d.ts.map +1 -1
- package/dist/commands/workflow-plan-range.js +15 -54
- package/dist/commands/workflow-plan-range.js.map +1 -1
- package/dist/commands/workflow-segment.d.ts.map +1 -1
- package/dist/commands/workflow-segment.js +22 -14
- package/dist/commands/workflow-segment.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +13 -69
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/build_workflow_draft.d.ts +6 -0
- package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
- package/dist/services/actionflow/build_workflow_draft.js +63 -4
- package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
- package/dist/services/actionflow/calendar_mapper.d.ts +2 -2
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
- package/dist/services/actionflow/calendar_mapper.js +33 -13
- package/dist/services/actionflow/calendar_mapper.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 +13 -1
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_delete.js +2 -2
- package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_recover.js +2 -2
- package/dist/services/actionflow/components/action_eb_recover.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_save_version.js +2 -2
- package/dist/services/actionflow/components/action_eb_save_version.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 +15 -3
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +5 -5
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/approve_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/approve_create.js +5 -2
- package/dist/services/actionflow/components/approve_create.js.map +1 -1
- package/dist/services/actionflow/components/approve_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/approve_trigger.js +5 -0
- package/dist/services/actionflow/components/approve_trigger.js.map +1 -1
- package/dist/services/actionflow/components/date_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/date_trigger.js +14 -1
- package/dist/services/actionflow/components/date_trigger.js.map +1 -1
- package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
- package/dist/services/actionflow/components/dml_execute.js +18 -10
- package/dist/services/actionflow/components/dml_execute.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +5 -5
- 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 +8 -6
- package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +28 -9
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/hrm_actions.js +34 -13
- package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
- package/dist/services/actionflow/components/index.js +3 -3
- package/dist/services/actionflow/components/index.js.map +1 -1
- package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
- package/dist/services/actionflow/components/inner_mq_send.js +43 -4
- package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
- package/dist/services/actionflow/components/meeting_create.js +9 -9
- package/dist/services/actionflow/components/meeting_create.js.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.js +83 -4
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts +3 -2
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +33 -0
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/components/schedule_create.js +10 -10
- package/dist/services/actionflow/components/schedule_create.js.map +1 -1
- package/dist/services/actionflow/components/send_message.js +1 -1
- package/dist/services/actionflow/components/send_message.js.map +1 -1
- package/dist/services/actionflow/components/simple_scheduler.d.ts.map +1 -1
- package/dist/services/actionflow/components/simple_scheduler.js +42 -9
- package/dist/services/actionflow/components/simple_scheduler.js.map +1 -1
- package/dist/services/actionflow/components/time_batch_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/time_batch_trigger.js +43 -13
- package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts +0 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +21 -27
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts +30 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +175 -2
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/design_client.d.ts +4 -0
- package/dist/services/actionflow/design_client.d.ts.map +1 -1
- package/dist/services/actionflow/design_client.js +10 -0
- package/dist/services/actionflow/design_client.js.map +1 -1
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +10 -3
- package/dist/services/actionflow/dynamic_resources.js.map +1 -1
- package/dist/services/actionflow/enrich_approve_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/enrich_approve_trigger.js +18 -3
- package/dist/services/actionflow/enrich_approve_trigger.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +1 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +135 -12
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/generation_service.d.ts.map +1 -1
- package/dist/services/actionflow/generation_service.js +18 -2
- package/dist/services/actionflow/generation_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +168 -5
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/save_workflow_draft.d.ts +8 -0
- package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
- package/dist/services/actionflow/save_workflow_draft.js +6 -2
- package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
- package/dist/services/actionflow/update_service.d.ts +6 -0
- package/dist/services/actionflow/update_service.d.ts.map +1 -1
- package/dist/services/actionflow/update_service.js +125 -7
- package/dist/services/actionflow/update_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +17 -9
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/browser.d.ts +34 -0
- package/dist/services/browser.d.ts.map +1 -0
- package/dist/services/browser.js +57 -0
- package/dist/services/browser.js.map +1 -0
- package/dist/services/esb-interface/document-parser.d.ts +5 -0
- package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
- package/dist/services/esb-interface/document-parser.js +117 -1
- package/dist/services/esb-interface/document-parser.js.map +1 -1
- package/dist/services/esb-interface/importer.d.ts.map +1 -1
- package/dist/services/esb-interface/importer.js +7 -2
- package/dist/services/esb-interface/importer.js.map +1 -1
- package/dist/services/field-props-data.d.ts +56 -0
- package/dist/services/field-props-data.d.ts.map +1 -0
- package/dist/services/field-props-data.js +732 -0
- package/dist/services/field-props-data.js.map +1 -0
- package/dist/services/form-edit-base.d.ts +45 -0
- package/dist/services/form-edit-base.d.ts.map +1 -0
- package/dist/services/form-edit-base.js +76 -0
- package/dist/services/form-edit-base.js.map +1 -0
- package/dist/services/form-field-drop.d.ts +41 -0
- package/dist/services/form-field-drop.d.ts.map +1 -0
- package/dist/services/form-field-drop.js +58 -0
- package/dist/services/form-field-drop.js.map +1 -0
- package/dist/services/form-style-template.d.ts +17 -0
- package/dist/services/form-style-template.d.ts.map +1 -0
- package/dist/services/form-style-template.js +102 -0
- package/dist/services/form-style-template.js.map +1 -0
- package/dist/services/form-virtual.d.ts +60 -0
- package/dist/services/form-virtual.d.ts.map +1 -0
- package/dist/services/form-virtual.js +331 -0
- package/dist/services/form-virtual.js.map +1 -0
- package/dist/services/report/analyze.d.ts +67 -0
- package/dist/services/report/analyze.d.ts.map +1 -0
- package/dist/services/report/analyze.js +173 -0
- package/dist/services/report/analyze.js.map +1 -0
- package/dist/services/report/build.d.ts +166 -0
- package/dist/services/report/build.d.ts.map +1 -0
- package/dist/services/report/build.js +520 -0
- package/dist/services/report/build.js.map +1 -0
- package/dist/services/report/constants.d.ts +145 -0
- package/dist/services/report/constants.d.ts.map +1 -0
- package/dist/services/report/constants.js +250 -0
- package/dist/services/report/constants.js.map +1 -0
- package/dist/services/report/dataset.d.ts +73 -0
- package/dist/services/report/dataset.d.ts.map +1 -0
- package/dist/services/report/dataset.js +185 -0
- package/dist/services/report/dataset.js.map +1 -0
- package/dist/services/report/fields.d.ts +80 -0
- package/dist/services/report/fields.d.ts.map +1 -0
- package/dist/services/report/fields.js +245 -0
- package/dist/services/report/fields.js.map +1 -0
- package/dist/services/report/forms.d.ts +70 -0
- package/dist/services/report/forms.d.ts.map +1 -0
- package/dist/services/report/forms.js +237 -0
- package/dist/services/report/forms.js.map +1 -0
- package/dist/services/report/guard.d.ts +73 -0
- package/dist/services/report/guard.d.ts.map +1 -0
- package/dist/services/report/guard.js +262 -0
- package/dist/services/report/guard.js.map +1 -0
- package/dist/services/report/http.d.ts +118 -0
- package/dist/services/report/http.d.ts.map +1 -0
- package/dist/services/report/http.js +159 -0
- package/dist/services/report/http.js.map +1 -0
- package/dist/services/report/lifecycle.d.ts +107 -0
- package/dist/services/report/lifecycle.d.ts.map +1 -0
- package/dist/services/report/lifecycle.js +323 -0
- package/dist/services/report/lifecycle.js.map +1 -0
- package/dist/services/report/permission.d.ts +59 -0
- package/dist/services/report/permission.d.ts.map +1 -0
- package/dist/services/report/permission.js +286 -0
- package/dist/services/report/permission.js.map +1 -0
- package/dist/services/report/query-checks.d.ts +124 -0
- package/dist/services/report/query-checks.d.ts.map +1 -0
- package/dist/services/report/query-checks.js +374 -0
- package/dist/services/report/query-checks.js.map +1 -0
- package/dist/services/report/query.d.ts +106 -0
- package/dist/services/report/query.d.ts.map +1 -0
- package/dist/services/report/query.js +278 -0
- package/dist/services/report/query.js.map +1 -0
- package/dist/services/report/render.d.ts +52 -0
- package/dist/services/report/render.d.ts.map +1 -0
- package/dist/services/report/render.js +138 -0
- package/dist/services/report/render.js.map +1 -0
- package/dist/services/report/reports.d.ts +110 -0
- package/dist/services/report/reports.d.ts.map +1 -0
- package/dist/services/report/reports.js +179 -0
- package/dist/services/report/reports.js.map +1 -0
- package/dist/services/report/safe-save.d.ts +57 -0
- package/dist/services/report/safe-save.d.ts.map +1 -0
- package/dist/services/report/safe-save.js +325 -0
- package/dist/services/report/safe-save.js.map +1 -0
- package/dist/services/report/sources.d.ts +48 -0
- package/dist/services/report/sources.d.ts.map +1 -0
- package/dist/services/report/sources.js +147 -0
- package/dist/services/report/sources.js.map +1 -0
- package/dist/services/report/types.d.ts +312 -0
- package/dist/services/report/types.d.ts.map +1 -0
- package/dist/services/report/types.js +2 -0
- package/dist/services/report/types.js.map +1 -0
- package/dist/services/report/validate.d.ts +169 -0
- package/dist/services/report/validate.d.ts.map +1 -0
- package/dist/services/report/validate.js +685 -0
- package/dist/services/report/validate.js.map +1 -0
- package/dist/services/report/verify.d.ts +72 -0
- package/dist/services/report/verify.d.ts.map +1 -0
- package/dist/services/report/verify.js +441 -0
- package/dist/services/report/verify.js.map +1 -0
- package/dist/services/report/workbook.d.ts +108 -0
- package/dist/services/report/workbook.d.ts.map +1 -0
- package/dist/services/report/workbook.js +471 -0
- package/dist/services/report/workbook.js.map +1 -0
- package/dist/services/rich-types.d.ts +39 -0
- package/dist/services/rich-types.d.ts.map +1 -1
- package/dist/services/rich-types.js +61 -30
- package/dist/services/rich-types.js.map +1 -1
- package/dist/services/workflow-node-layout.d.ts +214 -0
- package/dist/services/workflow-node-layout.d.ts.map +1 -0
- package/dist/services/workflow-node-layout.js +338 -0
- package/dist/services/workflow-node-layout.js.map +1 -0
- package/dist/services/workflow-operator.d.ts +47 -2
- package/dist/services/workflow-operator.d.ts.map +1 -1
- package/dist/services/workflow-operator.js +102 -5
- package/dist/services/workflow-operator.js.map +1 -1
- package/dist/services/workflow-overtime.d.ts +95 -0
- package/dist/services/workflow-overtime.d.ts.map +1 -0
- package/dist/services/workflow-overtime.js +207 -0
- package/dist/services/workflow-overtime.js.map +1 -0
- package/dist/services/workflow-plan-range.d.ts +18 -0
- package/dist/services/workflow-plan-range.d.ts.map +1 -0
- package/dist/services/workflow-plan-range.js +72 -0
- package/dist/services/workflow-plan-range.js.map +1 -0
- package/package.json +3 -2
- package/skill-docs/SKILL.md +277 -261
- package/skill-docs/_catalog.md +77 -66
- package/skill-docs/actionflows/SKILL.md +22 -14
- package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +17 -17
- package/skill-docs/actionflows/references/components/calendar/ScheduleCreate.md +17 -17
- package/skill-docs/actionflows/references/components/database/DMLExecute.md +3 -3
- package/skill-docs/actionflows/references/components/ebuilder/DateTrigger.md +32 -17
- package/skill-docs/actionflows/references/components/ebuilder/EbGetDataById.md +17 -17
- package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +6 -0
- package/skill-docs/actionflows/references/components/ebuilder/EventFormData.md +2 -0
- package/skill-docs/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -17
- package/skill-docs/actionflows/references/components/logic/Output.md +28 -17
- package/skill-docs/actionflows/references/components/message/InnerMQSend.md +6 -2
- package/skill-docs/actionflows/references/components/personnel/AlterPersonStatus.md +30 -30
- package/skill-docs/actionflows/references/components/personnel/HrmEmployeeUpdate.md +32 -32
- package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +41 -40
- package/skill-docs/actionflows/references/components/trigger/SimpleScheduler.md +19 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +17 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +19 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveEntrust.md +19 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveSave.md +17 -17
- package/skill-docs/actionflows/references/components/workflow/ApproveTrigger.md +99 -84
- package/skill-docs/actionflows/references/dynamic_capability_matrix.md +39 -0
- package/skill-docs/references/common/guide-plan-template.md +251 -233
- package/skill-docs/references/common/ref-cli-commands.md +519 -373
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +1 -1
- package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +460 -460
- package/skill-docs/references/ebuilder-designer/guide-designer.md +4 -4
- package/skill-docs/references/form/guide-create-form.md +232 -214
- package/skill-docs/references/form/guide-form-association.md +1 -1
- package/skill-docs/references/form/guide-form-view.md +318 -318
- package/skill-docs/references/form/guide-virtual-form.md +156 -0
- package/skill-docs/references/form/ref-form-fields.md +239 -100
- package/skill-docs/references/form/style-templates.md +80 -27
- package/skill-docs/references/report/add-dataset-registration-guide.md +139 -0
- package/skill-docs/references/report/ai-report-workflow.md +412 -0
- package/skill-docs/references/report/api-report-build-fast-path.md +275 -0
- package/skill-docs/references/report/app-datasource-lookup-guide.md +230 -0
- package/skill-docs/references/report/cell-config-echo-guide.md +163 -0
- package/skill-docs/references/report/cell-transform-guide.md +147 -0
- package/skill-docs/references/report/condition-format-guide.md +140 -0
- package/skill-docs/references/report/cross-dataset-filter-guide.md +304 -0
- package/skill-docs/references/report/dataset-query-filter-guide.md +235 -0
- package/skill-docs/references/report/dataset-sidebar-ops-guide.md +280 -0
- package/skill-docs/references/report/dataset-table-field-contract-guide.md +339 -0
- package/skill-docs/references/report/datasource-metadata-guide.md +365 -0
- package/skill-docs/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
- package/skill-docs/references/report/date-range-query-reference.md +102 -0
- package/skill-docs/references/report/default-header-style-guide.md +70 -0
- package/skill-docs/references/report/designer-blank-prevention-guide.md +111 -0
- package/skill-docs/references/report/event-hreflink-guide.md +184 -0
- package/skill-docs/references/report/field-bind-exact-match-guide.md +208 -0
- package/skill-docs/references/report/formula-cell-api-guide.md +258 -0
- package/skill-docs/references/report/guide-report-build.md +131 -0
- package/skill-docs/references/report/guide-report-modify.md +100 -0
- package/skill-docs/references/report/guide-report-multisource.md +143 -0
- package/skill-docs/references/report/guide-report-query.md +98 -0
- package/skill-docs/references/report/hidden-row-and-header-merge-guide.md +100 -0
- package/skill-docs/references/report/layout-showlocation-freeze-guide.md +167 -0
- package/skill-docs/references/report/preaggregate-auto-disable-guide.md +107 -0
- package/skill-docs/references/report/query-condition-api-guide.md +890 -0
- package/skill-docs/references/report/ref-report-commands.md +122 -0
- package/skill-docs/references/report/ref-report-pitfalls.md +226 -0
- package/skill-docs/references/report/report-baseinfo-defaults-guide.md +117 -0
- package/skill-docs/references/report/report-building-guide.md +511 -0
- package/skill-docs/references/report/report-config-schema.md +445 -0
- package/skill-docs/references/report/report-create-modes-guide.md +182 -0
- package/skill-docs/references/report/report-data-model.md +447 -0
- package/skill-docs/references/report/report-delivery-contract.md +101 -0
- package/skill-docs/references/report/report-designer-feature-map.md +500 -0
- package/skill-docs/references/report/report-internal-error-guide.md +78 -0
- package/skill-docs/references/report/report-knowledge-base.md +389 -0
- package/skill-docs/references/report/report-lifecycle-api-guide.md +392 -0
- package/skill-docs/references/report/report-list-page-ops-guide.md +191 -0
- package/skill-docs/references/report/report-permission-guide.md +365 -0
- package/skill-docs/references/report/report-requirement-analysis-template.md +202 -0
- package/skill-docs/references/report/report-self-check-guide.md +164 -0
- package/skill-docs/references/report/safe-partial-save-guide.md +151 -0
- package/skill-docs/references/report/snowflake-id-precision-guide.md +84 -0
- package/skill-docs/references/report/spec-build-schema.md +291 -0
- package/skill-docs/references/report/targeted-fix-guide.md +97 -0
- package/skill-docs/references/report/user-request-scope-only-guide.md +82 -0
- package/skill-docs/references/workflow/guide-workflow-auth-resp.md +190 -0
- package/skill-docs/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skill-docs/references/workflow/guide-workflow.md +7 -3
- package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-virtual.js","sourceRoot":"","sources":["../../src/commands/form-virtual.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/form.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
/** 可用的字段类型 = 基础组件(CK_CANON 的值)∪ 富组件(RICH_TYPE_MAP 的键)∪ 上述补充。
|
|
3
|
+
* 导出仅为让测试能盯住"平台支持的合法类型不许漏登记"(漏了会被 assertFieldType 误杀)。 */
|
|
4
|
+
export declare const FIELD_TYPE_CHOICES: string[];
|
|
2
5
|
export declare function registerFormCommands(program: Command): Command;
|
|
3
6
|
//# sourceMappingURL=form.d.ts.map
|
|
@@ -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;AA8CpC;0DAC0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAI7B,CAAC;AAwHX,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA4vG9D"}
|
package/dist/commands/form.js
CHANGED
|
@@ -4,7 +4,9 @@ import { ApiClient } from '../core/client.js';
|
|
|
4
4
|
import { toColumnName, toTableName } from '../utils/column-name.js';
|
|
5
5
|
import { createCustomPhysicalForm, addInitialFieldsToCustomPhysicalForm, placeholderFromFormat, reapplyGroupLayout } from '../services/form-create.js';
|
|
6
6
|
import { FormSubDetailService } from '../services/form-sub-detail.js';
|
|
7
|
-
import { getRichType, richIdUnits } from '../services/rich-types.js';
|
|
7
|
+
import { RICH_TYPE_MAP, getRichType, richIdUnits, BROWSER_KINDS } from '../services/rich-types.js';
|
|
8
|
+
import { dropFieldComponents, prepareLayoutForSave } from '../services/form-field-drop.js';
|
|
9
|
+
import { describeEditBaseFailure, resolveEditBase as resolveEditBasePure } from '../services/form-edit-base.js';
|
|
8
10
|
import { registerOptionTemplateCommand } from './form-option-template.js';
|
|
9
11
|
/**
|
|
10
12
|
* componentKey 大小写归一:用户/示例常写 "Textarea"/"Ebuilder" 等小写变体,但代码各处
|
|
@@ -23,6 +25,62 @@ const CK_CANON = {
|
|
|
23
25
|
function canonComponentKey(ck) {
|
|
24
26
|
return CK_CANON[String(ck).toLowerCase()] || ck;
|
|
25
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* 代码里另有分支/别名、不在 CK_CANON 与 RICH_TYPE_MAP 两处的字段类型。
|
|
30
|
+
* **宁宽勿窄**:多列一个只是照旧送服务器,漏一个会把合法类型误杀,所以这里尽量收全。
|
|
31
|
+
* 新增字段类型时记得同步。
|
|
32
|
+
*/
|
|
33
|
+
const EXTRA_FIELD_TYPES = [
|
|
34
|
+
'Flow', 'SelectMultiple', 'DateInterval', 'ColorPicker', 'DataTable',
|
|
35
|
+
'DocFolder', 'DocFloder', 'Fold', 'Placeholder', 'Sharer', 'FileComponent',
|
|
36
|
+
'EbuilderAppTag', 'Attachment', 'Image', 'Signature', 'RichText', 'RelateBrowser',
|
|
37
|
+
// EInvoice 电子发票:下方 add-field 有专属构建分支(isSingle/invoiceType),此前漏登记 →
|
|
38
|
+
// 被 assertFieldType 挡成死代码。AudioRecord/VideoRecord 语音视频:极简 jsonObj,平台原样透传
|
|
39
|
+
// (见 rich-types.ts 的说明),无需富组件模板。
|
|
40
|
+
'EInvoice', 'AudioRecord', 'VideoRecord',
|
|
41
|
+
];
|
|
42
|
+
/** 可用的字段类型 = 基础组件(CK_CANON 的值)∪ 富组件(RICH_TYPE_MAP 的键)∪ 上述补充。
|
|
43
|
+
* 导出仅为让测试能盯住"平台支持的合法类型不许漏登记"(漏了会被 assertFieldType 误杀)。 */
|
|
44
|
+
export const FIELD_TYPE_CHOICES = [...new Set([
|
|
45
|
+
...Object.values(CK_CANON),
|
|
46
|
+
...Object.keys(RICH_TYPE_MAP),
|
|
47
|
+
...EXTRA_FIELD_TYPES,
|
|
48
|
+
])].sort();
|
|
49
|
+
/**
|
|
50
|
+
* 校验字段类型名。不校验的话错类型会**直送服务器**,换回一段
|
|
51
|
+
* `Cannot invoke "ComponentType.name()" because ... getComponentKey() is null`——
|
|
52
|
+
* 既看不出哪错了,也看不出该填什么。这里先拦下来并列出可选值。
|
|
53
|
+
*/
|
|
54
|
+
function assertFieldType(fieldType, where = '') {
|
|
55
|
+
if (FIELD_TYPE_CHOICES.includes(fieldType))
|
|
56
|
+
return;
|
|
57
|
+
console.error(`${where}不支持的字段类型: ${fieldType}`);
|
|
58
|
+
console.error(` 可选: ${FIELD_TYPE_CHOICES.join(' / ')}`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 校验选项定义。**键名必须是 `name` / `valueKey`**——写成 `{value,label}` 这类
|
|
63
|
+
* 不会被拦下,而是静默存成「没有名字的选项」(平台侧 fieldOptionName 为空),
|
|
64
|
+
* 之后 `form data add` 按选项名写数据会直接失效,且读回也看不出哪里错了。
|
|
65
|
+
*/
|
|
66
|
+
function assertFieldOptions(fieldName, options) {
|
|
67
|
+
options.forEach((o, i) => {
|
|
68
|
+
if (typeof o === 'string')
|
|
69
|
+
return; // 字符串简写,归一化时会补成 {name}
|
|
70
|
+
const where = `字段「${fieldName}」第 ${i + 1} 个选项`;
|
|
71
|
+
if (typeof o?.name !== 'string' || !o.name.trim()) {
|
|
72
|
+
const got = o && typeof o === 'object' ? Object.keys(o).join(' / ') : String(o);
|
|
73
|
+
console.error(`${where}缺少 name(收到键:${got || '(无)'})`);
|
|
74
|
+
console.error(' 正确写法: {"name":"待入职","valueKey":"1"}(valueKey 省略则由平台生成)');
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
const vk = o.valueKey;
|
|
78
|
+
if (vk !== undefined && vk !== null && String(vk) !== '' && !/^\d+$/.test(String(vk))) {
|
|
79
|
+
console.error(`${where}的 valueKey「${vk}」必须是数字(平台规范,下游按数字引用)`);
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
26
84
|
const SYSTEM_FIELD_IDS = new Set([
|
|
27
85
|
'name', 'creator', 'create_time', 'update_time', 'id',
|
|
28
86
|
'updater', 'data_status', 'flow_status', 'current_step',
|
|
@@ -61,6 +119,38 @@ function defaultEBuilderDataTitle(fields) {
|
|
|
61
119
|
const byName = biz.find((f) => String(f.fieldName ?? f.title ?? '').includes('名称'));
|
|
62
120
|
return byName?.fieldId || biz[0]?.fieldId || 'name';
|
|
63
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* 只读地看一眼 `getFields` 眼里这个字段长什么样 —— **仅用于把错误信息说清楚,绝不作为写回基底**。
|
|
124
|
+
*
|
|
125
|
+
* `getFields` 的 `fieldKey` 是粗粒度的:CLI 不认识的字段类型(如「文档赋权对象」)一律报 `Text`,
|
|
126
|
+
* 拿它当 `type` 回写就会把真实类型改掉。
|
|
127
|
+
*/
|
|
128
|
+
async function peekViaGetFields(client, baseUrl, objId, fieldId, auth) {
|
|
129
|
+
try {
|
|
130
|
+
const res = await client.post(`${baseUrl}/api/ebuilder/form/dataset/v1/getFields`, {
|
|
131
|
+
objId, userid: auth.userId, tenantKey: auth.tenantKey,
|
|
132
|
+
});
|
|
133
|
+
const all = [...(res?.data?.mainFields || []), ...(res?.data?.subFields || [])];
|
|
134
|
+
return all.find((f) => String(f.fieldId) === String(fieldId)) || null;
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 读 `getFormFieldPage` 的字段记录(扁平形态)。
|
|
142
|
+
*
|
|
143
|
+
* 单独抽出来是为了让「读不到 → 中止」这条路清晰:**失败要能被调用方看见**,
|
|
144
|
+
* 不能吞掉之后改走别的接口重建一个定义。
|
|
145
|
+
*/
|
|
146
|
+
async function fetchFieldPageRecords(client, baseUrl, appId, formId) {
|
|
147
|
+
const r = await client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/getFormFieldPage?apid=${appId}`, {
|
|
148
|
+
pageNo: 1, pageSize: 500, module: 'ebuilderform',
|
|
149
|
+
customParam: { appId },
|
|
150
|
+
formFieldSearchEntity: { isDelete: 0, status: 'enable', formId },
|
|
151
|
+
}, { ebbusinessid: formId });
|
|
152
|
+
return r?.data?.pageDatas?.result || r?.data?.data?.records || r?.data?.data || [];
|
|
153
|
+
}
|
|
64
154
|
export function registerFormCommands(program) {
|
|
65
155
|
const form = program.command('form').description('表单管理');
|
|
66
156
|
registerOptionTemplateCommand(form, program);
|
|
@@ -255,7 +345,10 @@ export function registerFormCommands(program) {
|
|
|
255
345
|
.description('创建表单')
|
|
256
346
|
.argument('<appId>', '应用 ID')
|
|
257
347
|
.argument('<name>', '表单名称')
|
|
258
|
-
.requiredOption('--fields <json>', '字段定义 JSON
|
|
348
|
+
.requiredOption('--fields <json>', '字段定义 JSON 文件路径(**必须 @ 开头**,如 @fields.json)。格式:'
|
|
349
|
+
+ '[{"componentKey":"Text","fieldName":"姓名"}];Select 的选项写 '
|
|
350
|
+
+ 'options 或 fieldOptions:[{"name":"待入职","valueKey":"1"}](键名必须是 name / valueKey,'
|
|
351
|
+
+ 'valueKey 须为数字、省略则平台生成)')
|
|
259
352
|
.option('--menu', '建表后添加台账菜单(默认不加;漏加可用 `e10-cli menu add-table` 补)')
|
|
260
353
|
.option('--layout <type>', '表单布局类型:FLOW(流式)/EXCEL(表格,缺省)。布局类型建表后不可切换', 'EXCEL')
|
|
261
354
|
.action(async (appId, name, cmdOpts) => {
|
|
@@ -295,27 +388,28 @@ export function registerFormCommands(program) {
|
|
|
295
388
|
// componentKey 大小写归一(canonComponentKey):用户/示例常写 "Textarea"/"Ebuilder" 等,
|
|
296
389
|
// 但 storageFieldType 与各 `=== 'TextArea'` 分支按 canonical 大小写匹配,不归一会导致 type 存成
|
|
297
390
|
// 小写 "Textarea"(FLOW 渲染异常)、TextArea 分支(content/maxLen)漏跑。
|
|
298
|
-
|
|
299
|
-
|
|
391
|
+
// 归一化 + 就地校验(类型名/选项键名)。顶层与明细子字段共用,避免两边校验不一致。
|
|
392
|
+
const normalizeFieldDef = (raw) => {
|
|
393
|
+
const out = { ...raw };
|
|
300
394
|
if (!out.componentKey && out.fieldType)
|
|
301
395
|
out.componentKey = out.fieldType;
|
|
302
396
|
if (out.componentKey)
|
|
303
397
|
out.componentKey = canonComponentKey(out.componentKey);
|
|
398
|
+
const label = out.fieldName || out.title || '(未命名)';
|
|
399
|
+
assertFieldType(out.componentKey || '', `字段「${label}」`);
|
|
304
400
|
if (Array.isArray(out.options) && !out.fieldOptions) {
|
|
305
401
|
out.fieldOptions = out.options.map((o) => typeof o === 'string' ? { name: o } : o);
|
|
306
402
|
}
|
|
307
|
-
|
|
403
|
+
if (Array.isArray(out.fieldOptions))
|
|
404
|
+
assertFieldOptions(label, out.fieldOptions);
|
|
405
|
+
return out;
|
|
406
|
+
};
|
|
407
|
+
fieldDefs = fieldDefs.map((f) => {
|
|
408
|
+
const out = normalizeFieldDef(f);
|
|
409
|
+
// DetailTable 子字段同样归一化:之前只转顶层,子表 Select 用 options 简写时
|
|
308
410
|
// Step 7b 找不到 fieldOptions,子表选项配不上(布局 + 选项配置两处都依赖 fieldOptions)
|
|
309
411
|
if (out.componentKey === 'DetailTable' && Array.isArray(out.formFields)) {
|
|
310
|
-
out.formFields = out.formFields.map((sf) =>
|
|
311
|
-
const so = { ...sf };
|
|
312
|
-
if (so.componentKey)
|
|
313
|
-
so.componentKey = canonComponentKey(so.componentKey);
|
|
314
|
-
if (Array.isArray(so.options) && !so.fieldOptions) {
|
|
315
|
-
so.fieldOptions = so.options.map((o) => typeof o === 'string' ? { name: o } : o);
|
|
316
|
-
}
|
|
317
|
-
return so;
|
|
318
|
-
});
|
|
412
|
+
out.formFields = out.formFields.map((sf) => normalizeFieldDef(sf));
|
|
319
413
|
}
|
|
320
414
|
return out;
|
|
321
415
|
});
|
|
@@ -2043,7 +2137,7 @@ export function registerFormCommands(program) {
|
|
|
2043
2137
|
.option('--sform-id <id>', '关联的目标表单 objId(仅 EBuilder 类型)')
|
|
2044
2138
|
.option('--data-title <field>', '目标表单的显示字段名(仅 EBuilder;缺省 name=目标表含"名称"的字段,无则第一个业务字段)')
|
|
2045
2139
|
.option('--form-name <name>', '目标表单名称(仅 EBuilder 类型,可选)')
|
|
2046
|
-
.option('--browser-type <type>', '
|
|
2140
|
+
.option('--browser-type <type>', `通用浏览类型:${BROWSER_KINDS.join('、')}`)
|
|
2047
2141
|
.option('--browser-form-source <source>', '表单浏览数据源:business 或 ebuilder(仅 --browser-type form)')
|
|
2048
2142
|
.option('--format <fmt>', '日期精度格式(Date/DateTime/DateRange),如 yyyy-MM-dd、yyyy-MM-dd HH:mm')
|
|
2049
2143
|
.option('--min-field <field>', 'Date/DateTime 日期限制:最早不得早于该字段(字段名,min.dateField)')
|
|
@@ -2062,6 +2156,9 @@ export function registerFormCommands(program) {
|
|
|
2062
2156
|
// fieldType 大小写归一(与建表一致):用户常传 "Textarea"/"Ebuilder",不归一则 type 存小写
|
|
2063
2157
|
// "Textarea"(FLOW 渲染异常)、TextArea 分支漏跑。
|
|
2064
2158
|
fieldType = canonComponentKey(fieldType);
|
|
2159
|
+
// 先本地拦错类型:否则会直送服务器,换回一段 Java 异常(ComponentType.name() ... null),
|
|
2160
|
+
// 既看不出哪错了也看不出该填什么。
|
|
2161
|
+
assertFieldType(fieldType, 'add-field ');
|
|
2065
2162
|
const opts = program.opts();
|
|
2066
2163
|
const auth = await AuthSession.fromOptions(opts);
|
|
2067
2164
|
if (!auth)
|
|
@@ -2564,6 +2661,8 @@ export function registerFormCommands(program) {
|
|
|
2564
2661
|
.argument('<appId>', '应用 ID')
|
|
2565
2662
|
.argument('<fieldId>', '字段 ID')
|
|
2566
2663
|
.option('--title <title>', '修改字段标题')
|
|
2664
|
+
.option('--type <type>', '修改字段类型(如 Text/Number/Date/Select/Department;取值同 form add-field 的 <fieldType>)。'
|
|
2665
|
+
+ '⚠ 字段已有数据时平台会拒绝')
|
|
2567
2666
|
.option('--required', '设为必填')
|
|
2568
2667
|
.option('--no-required', '取消必填')
|
|
2569
2668
|
.option('--sform-id <id>', 'EBuilder 关联的目标表单 objId(更新关联)')
|
|
@@ -2609,48 +2708,35 @@ export function registerFormCommands(program) {
|
|
|
2609
2708
|
}
|
|
2610
2709
|
// Get formTableId for the payload
|
|
2611
2710
|
const formTableId = formInfo?.formTableId || '';
|
|
2612
|
-
//
|
|
2613
|
-
//
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
// 中文/空 columnName(getFields 对 EBuilder 不返回 columnName):用拼音首字母,
|
|
2642
|
-
// 不用 fld_<id>(否则物理列变 fld_xxx,破坏"数据库字段名=首字母拼音"约定)
|
|
2643
|
-
colName = toColumnName(String(gf?.fieldName || '')) || 'fld_' + fieldId.slice(-8);
|
|
2644
|
-
}
|
|
2645
|
-
jsonObj = {
|
|
2646
|
-
type: gf?.fieldKey || gf?.fieldType || 'Text',
|
|
2647
|
-
title: gf?.fieldName || '',
|
|
2648
|
-
fieldId, formId, groupId: '-1',
|
|
2649
|
-
formTableId: gf?.formTableId || formTableId,
|
|
2650
|
-
showOrder: '0.00',
|
|
2651
|
-
dataKey: colName, columnName: colName,
|
|
2652
|
-
optionSerials: [],
|
|
2653
|
-
};
|
|
2711
|
+
// 读当前字段配置,作为**写回基底**。
|
|
2712
|
+
// `saveFormFieldNew` 是全量覆盖:没带上的键会被服务端按默认值重置,所以基底必须尽量完整。
|
|
2713
|
+
// `getFormFieldPage` 返回的是**扁平记录**(属性直接铺平,没有嵌套 jsonObj),
|
|
2714
|
+
// 它本身就是该字段的属性集 —— 判定逻辑见 services/form-edit-base.ts。
|
|
2715
|
+
// **读不到就中止**,绝不用 getFields 拼一个最小定义顶上(那会把真实类型改成 Text)。
|
|
2716
|
+
const pageRecords = await fetchFieldPageRecords(client, baseUrl, appId, formId).catch(() => null);
|
|
2717
|
+
const baseResult = resolveEditBasePure(pageRecords, fieldId);
|
|
2718
|
+
if (!baseResult.ok) {
|
|
2719
|
+
const seen = await peekViaGetFields(client, baseUrl, resolvedObjId, fieldId, auth);
|
|
2720
|
+
console.error(`${describeEditBaseFailure(baseResult, fieldId)},已中止,未做任何改动。`);
|
|
2721
|
+
if (seen) {
|
|
2722
|
+
console.error(` getFields 里它被报成 type=${seen.fieldKey || seen.fieldType || '?'}` +
|
|
2723
|
+
`${seen.fieldName ? `(${seen.fieldName})` : ''} —— 这是粗粒度信息,` +
|
|
2724
|
+
'拿它回写会把真实类型改掉,所以 CLI 不这么做。');
|
|
2725
|
+
}
|
|
2726
|
+
console.error(' 该字段的类型可能是 CLI 暂不支持的(如「文档赋权对象」),请在表单设计器里维护。');
|
|
2727
|
+
process.exit(1);
|
|
2728
|
+
}
|
|
2729
|
+
const jsonObj = baseResult.base;
|
|
2730
|
+
if (pageRecords) {
|
|
2731
|
+
const rec = pageRecords.find((r) => String(r?.fieldId) === String(fieldId));
|
|
2732
|
+
if (rec?.formId)
|
|
2733
|
+
formId = rec.formId;
|
|
2734
|
+
}
|
|
2735
|
+
// 写回前的最后一道闸:没有 type 就绝不落库。
|
|
2736
|
+
// saveFormFieldNew 是全量覆盖,缺 type 会被服务端按默认类型(Text)补上。
|
|
2737
|
+
if (!jsonObj.type && !editOpts.type) {
|
|
2738
|
+
console.error(`读到的字段定义里没有 type(fieldId=${fieldId}),拒绝写回 —— 全量覆盖会把它改成默认类型。`);
|
|
2739
|
+
process.exit(1);
|
|
2654
2740
|
}
|
|
2655
2741
|
// 兜底补 componentKey:saveFormFieldNew 要求(getComponentKey() 为 null 会 NPE)。
|
|
2656
2742
|
// getFields 兜底路径建不出 componentKey,这里按类型映射补上。
|
|
@@ -2667,6 +2753,54 @@ export function registerFormCommands(program) {
|
|
|
2667
2753
|
if (editOpts.title) {
|
|
2668
2754
|
jsonObj.title = editOpts.title;
|
|
2669
2755
|
}
|
|
2756
|
+
// Apply type change(改字段类型)。
|
|
2757
|
+
// 平台走的就是这个接口:读回字段 jsonObj → 改 `type` → 原样回写,不需要删字段重建。
|
|
2758
|
+
// `type` 取值与 add-field 一致(CLI 规范名;富组件换成 platformType + componentKey),
|
|
2759
|
+
// 回读时对应显示为 `form read` 的 fieldKey(如 Number→NumberComponent)。
|
|
2760
|
+
// ⚠ 字段**已存在数据**时平台会拒绝改结构(报「此列已存在数据不可修改数据库字段名称」)。
|
|
2761
|
+
if (editOpts.type) {
|
|
2762
|
+
const targetType = canonComponentKey(editOpts.type);
|
|
2763
|
+
assertFieldType(targetType, 'edit-field ');
|
|
2764
|
+
// 关联类字段必须同时给目标表单,否则切出来的是个指不到东西的残缺字段
|
|
2765
|
+
if (['EBuilder', 'Flow'].includes(targetType) && !editOpts.sformId && targetType !== String(jsonObj.type)) {
|
|
2766
|
+
console.error(`改成 ${targetType} 需要同时指定 --sform-id <目标表 objId>(Flow 用流程绑定的表单 objId)`);
|
|
2767
|
+
process.exit(1);
|
|
2768
|
+
}
|
|
2769
|
+
if (targetType !== String(jsonObj.type)) {
|
|
2770
|
+
const richTarget = getRichType(targetType);
|
|
2771
|
+
jsonObj.type = richTarget ? richTarget.platformType : targetType;
|
|
2772
|
+
if (richTarget)
|
|
2773
|
+
jsonObj.componentKey = richTarget.platformComponentKey;
|
|
2774
|
+
// 旧类型残留的组件键会在回读时盖过新类型,清掉让平台按新 type 推导
|
|
2775
|
+
else
|
|
2776
|
+
delete jsonObj.componentKey;
|
|
2777
|
+
// 富组件还要补**附加配置**,否则改出来的字段是残缺的:
|
|
2778
|
+
// add-field 走的是同一张表的 build(),两边不一致会导致「新建的对、改类型的错」
|
|
2779
|
+
// (实测 Time:改出来缺 minuteStep/timePanelStyle/defaultExtend,earlyDate/lateDate
|
|
2780
|
+
// 还被平台兜底成 false,等于把时间选择器的可选范围锁死)。
|
|
2781
|
+
if (richTarget?.build) {
|
|
2782
|
+
const extra = richIdUnits(targetType, {}) - 1;
|
|
2783
|
+
let extraIds = [];
|
|
2784
|
+
if (extra > 0) {
|
|
2785
|
+
const extraRes = await client.post(`${baseUrl}/api/form/local/generatorIds?size=${extra}&apid=${appId}`, {});
|
|
2786
|
+
extraIds = (extraRes?.data?.generatorIds || []).map(String);
|
|
2787
|
+
}
|
|
2788
|
+
const extraCfg = await richTarget.build({
|
|
2789
|
+
// edit-field 没有 --format / --browser-* 选项:能带的只有 multiple,
|
|
2790
|
+
// 其余交给富组件模板的默认值(与 add-field 缺省时同一套默认)。
|
|
2791
|
+
def: { multiple: editOpts.multiple },
|
|
2792
|
+
fieldId,
|
|
2793
|
+
formId,
|
|
2794
|
+
formTableId,
|
|
2795
|
+
dataKey: String(jsonObj.dataKey || jsonObj.columnName || ''),
|
|
2796
|
+
columnName: String(jsonObj.columnName || jsonObj.dataKey || ''),
|
|
2797
|
+
showOrder: String(jsonObj.showOrder ?? '0.00'),
|
|
2798
|
+
extraIds,
|
|
2799
|
+
});
|
|
2800
|
+
Object.assign(jsonObj, extraCfg);
|
|
2801
|
+
}
|
|
2802
|
+
}
|
|
2803
|
+
}
|
|
2670
2804
|
// Apply required
|
|
2671
2805
|
if (editOpts.required) {
|
|
2672
2806
|
jsonObj.required = true;
|
|
@@ -2818,6 +2952,8 @@ export function registerFormCommands(program) {
|
|
|
2818
2952
|
const changes = [];
|
|
2819
2953
|
if (editOpts.title)
|
|
2820
2954
|
changes.push(`title="${editOpts.title}"`);
|
|
2955
|
+
if (editOpts.type)
|
|
2956
|
+
changes.push(`type=${editOpts.type}`);
|
|
2821
2957
|
if (editOpts.required)
|
|
2822
2958
|
changes.push('required');
|
|
2823
2959
|
if (editOpts.noRequired)
|
|
@@ -2859,6 +2995,76 @@ export function registerFormCommands(program) {
|
|
|
2859
2995
|
process.exit(1);
|
|
2860
2996
|
}
|
|
2861
2997
|
});
|
|
2998
|
+
form.command('delete-field')
|
|
2999
|
+
.description('删除表单字段(可批量)。**仍被表单布局引用的字段删不掉**,需先从布局移除')
|
|
3000
|
+
.argument('<objId>', '表单 objId')
|
|
3001
|
+
.argument('<appId>', '应用 ID')
|
|
3002
|
+
.argument('<fieldIds...>', '字段 ID(可多个,一次批量删)')
|
|
3003
|
+
.option('--force', '字段仍被布局引用时,先从布局移除再删(写操作,失败会中止)')
|
|
3004
|
+
.action(async (objId, appId, fieldIds, cmdOpts) => {
|
|
3005
|
+
const opts = program.opts();
|
|
3006
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
3007
|
+
if (!auth)
|
|
3008
|
+
process.exit(1);
|
|
3009
|
+
const client = new ApiClient(auth);
|
|
3010
|
+
const baseUrl = auth.getBaseUrl();
|
|
3011
|
+
const formList = await client.get(`${baseUrl}/api/bs/ebuilder/form/obj/getList/${appId}?apid=${appId}`, { ebbusinessid: appId });
|
|
3012
|
+
const formInfo = (formList?.data || []).find((f) => String(f.id) === String(objId));
|
|
3013
|
+
const formId = formInfo?.formId || '';
|
|
3014
|
+
if (!formId) {
|
|
3015
|
+
console.error('无法获取 formId,请确认 objId 和 appId 正确');
|
|
3016
|
+
process.exit(1);
|
|
3017
|
+
}
|
|
3018
|
+
const del = async (ids) => client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/batchDeleteFormField?apid=${appId}`, { module: 'ebuilderform', formId, ids, customParam: { appId, objId } }, { ebbusinessid: formId });
|
|
3019
|
+
let res = await del(fieldIds);
|
|
3020
|
+
// 被布局引用的字段平台拒删。--force 时先从布局摘掉这些组件再重试。
|
|
3021
|
+
// 布局的读/存沿用 form-layout.ts 那套已验证的端点(getFormLayout + saveFormAndLayout),不另造。
|
|
3022
|
+
if (cmdOpts.force && (res?.code !== 200 || !res?.status)) {
|
|
3023
|
+
const layoutRes = await client.post(`${baseUrl}/api/ebuilder/form/builder/getFormLayout`, {
|
|
3024
|
+
formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
|
|
3025
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
3026
|
+
}, { ebbusinessid: formId });
|
|
3027
|
+
if (layoutRes?.code !== 200 || !layoutRes?.status) {
|
|
3028
|
+
console.error(`读取布局失败,未继续删除: ${layoutRes?.msg || '未知错误'}`);
|
|
3029
|
+
process.exit(1);
|
|
3030
|
+
}
|
|
3031
|
+
const snapshot = layoutRes.data || {};
|
|
3032
|
+
const pageLayouts = snapshot.formLayout?.pageLayouts;
|
|
3033
|
+
if (!Array.isArray(pageLayouts)) {
|
|
3034
|
+
console.error('布局数据格式异常(无 formLayout.pageLayouts),未继续删除');
|
|
3035
|
+
process.exit(1);
|
|
3036
|
+
}
|
|
3037
|
+
// 摘组件(含「一个字段 = 本体 + 标题标签,靠 associatedId 配对」的坑)见
|
|
3038
|
+
// services/form-field-drop.ts,与流程表单侧共用。
|
|
3039
|
+
const removed = dropFieldComponents(pageLayouts, fieldIds);
|
|
3040
|
+
if (!removed) {
|
|
3041
|
+
console.error('布局里没找到这些字段的组件,无法自动移除;请到设计器里手动删除');
|
|
3042
|
+
process.exit(1);
|
|
3043
|
+
}
|
|
3044
|
+
const formLayout = prepareLayoutForSave(snapshot.formLayout, formId);
|
|
3045
|
+
const saveRes = await client.post(`${baseUrl}/api/ebuilder/form/builder/saveFormAndLayout`, {
|
|
3046
|
+
module: 'ebuilderform', customParam: {},
|
|
3047
|
+
designerParam: { onlyLayout: false, convert: false },
|
|
3048
|
+
form: JSON.parse(JSON.stringify(snapshot.form || {})), formLayout,
|
|
3049
|
+
}, { ebbusinessid: formId });
|
|
3050
|
+
if (saveRes?.code !== 200 || !saveRes?.status) {
|
|
3051
|
+
console.error(`从布局移除失败,未继续删除: ${saveRes?.msg || '未知错误'}`);
|
|
3052
|
+
process.exit(1);
|
|
3053
|
+
}
|
|
3054
|
+
console.error(` 已从布局移除 ${removed} 个组件`);
|
|
3055
|
+
res = await del(fieldIds);
|
|
3056
|
+
}
|
|
3057
|
+
if (res?.code === 200 && res?.status) {
|
|
3058
|
+
console.log(opts.json
|
|
3059
|
+
? JSON.stringify({ success: true, deleted: fieldIds })
|
|
3060
|
+
: `字段已删除: ${fieldIds.join(', ')}`);
|
|
3061
|
+
}
|
|
3062
|
+
else {
|
|
3063
|
+
console.error(`删除失败: ${res?.msg || '未知错误'}`);
|
|
3064
|
+
console.error(' 提示: 仍被表单布局引用的字段平台不允许删除,请先从布局移除(或加 --force 让 CLI 代做)');
|
|
3065
|
+
process.exit(1);
|
|
3066
|
+
}
|
|
3067
|
+
});
|
|
2862
3068
|
form.command('list-view')
|
|
2863
3069
|
.description('查看表单的台账/数据列表')
|
|
2864
3070
|
.argument('<objId>', '表单 objId')
|