weaver-e10-builder 1.1.9 → 1.2.3
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 +9 -20
- package/dist/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +58 -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-add-detail-table.d.ts.map +1 -1
- package/dist/commands/form-add-detail-table.js +127 -7
- package/dist/commands/form-add-detail-table.js.map +1 -1
- package/dist/commands/form-ebuilder-columns.d.ts +7 -0
- package/dist/commands/form-ebuilder-columns.d.ts.map +1 -1
- package/dist/commands/form-ebuilder-columns.js +2 -24
- package/dist/commands/form-ebuilder-columns.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-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +35 -11
- package/dist/commands/form-formula.js.map +1 -1
- 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-nlist.d.ts +1 -1
- package/dist/commands/form-nlist.d.ts.map +1 -1
- package/dist/commands/form-nlist.js +5 -3
- package/dist/commands/form-nlist.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 +356 -129
- 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 +629 -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-assign-flow.d.ts +3 -0
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -0
- package/dist/commands/workflow-node-assign-flow.js +342 -0
- package/dist/commands/workflow-node-assign-flow.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 +2 -0
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +434 -165
- 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/core/auth.js +1 -1
- package/dist/index.js +17 -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/assign_var.d.ts +12 -0
- package/dist/services/actionflow/components/assign_var.d.ts.map +1 -0
- package/dist/services/actionflow/components/assign_var.js +133 -0
- package/dist/services/actionflow/components/assign_var.js.map +1 -0
- 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.d.ts.map +1 -1
- package/dist/services/actionflow/components/index.js +12 -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 +7 -1
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +74 -10
- 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/form_source.d.ts +35 -0
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +50 -0
- package/dist/services/actionflow/form_source.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 +186 -13
- 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-create.d.ts +2 -1
- package/dist/services/form-create.d.ts.map +1 -1
- package/dist/services/form-create.js.map +1 -1
- package/dist/services/form-ebuilder-columns.d.ts +50 -0
- package/dist/services/form-ebuilder-columns.d.ts.map +1 -0
- package/dist/services/form-ebuilder-columns.js +68 -0
- package/dist/services/form-ebuilder-columns.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 +70 -0
- package/dist/services/form-field-drop.d.ts.map +1 -0
- package/dist/services/form-field-drop.js +118 -0
- package/dist/services/form-field-drop.js.map +1 -0
- package/dist/services/form-field-patch.d.ts +47 -0
- package/dist/services/form-field-patch.d.ts.map +1 -0
- package/dist/services/form-field-patch.js +88 -0
- package/dist/services/form-field-patch.js.map +1 -0
- package/dist/services/form-nlist.d.ts +1 -0
- package/dist/services/form-nlist.d.ts.map +1 -1
- package/dist/services/form-nlist.js +32 -5
- package/dist/services/form-nlist.js.map +1 -1
- 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-sub-detail.d.ts +51 -3
- package/dist/services/form-sub-detail.d.ts.map +1 -1
- package/dist/services/form-sub-detail.js +183 -20
- package/dist/services/form-sub-detail.js.map +1 -1
- 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/formula-detail.d.ts +68 -5
- package/dist/services/formula-detail.d.ts.map +1 -1
- package/dist/services/formula-detail.js +110 -44
- package/dist/services/formula-detail.js.map +1 -1
- 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-text.d.ts +33 -0
- package/dist/services/rich-text.d.ts.map +1 -0
- package/dist/services/rich-text.js +134 -0
- package/dist/services/rich-text.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-assign-flow.d.ts +114 -0
- package/dist/services/workflow-assign-flow.d.ts.map +1 -0
- package/dist/services/workflow-assign-flow.js +311 -0
- package/dist/services/workflow-assign-flow.js.map +1 -0
- 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-node-menu.d.ts +57 -0
- package/dist/services/workflow-node-menu.d.ts.map +1 -0
- package/dist/services/workflow-node-menu.js +144 -0
- package/dist/services/workflow-node-menu.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 +48 -47
- package/skill-docs/SKILL.md +278 -261
- package/skill-docs/_catalog.md +13 -0
- package/skill-docs/actionflows/SKILL.md +168 -159
- 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/ActionEbAdd.md +1 -1
- 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/EventButton.md +33 -33
- 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 +22 -1
- package/skill-docs/references/common/ref-cli-commands.md +167 -11
- 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 +25 -6
- package/skill-docs/references/form/guide-form-association.md +1 -1
- package/skill-docs/references/form/guide-form-formula-functions.md +11 -1
- package/skill-docs/references/form/guide-form-sub-detail.md +82 -0
- package/skill-docs/references/form/guide-form-view.md +318 -318
- package/skill-docs/references/form/guide-list-custom-text.md +52 -0
- 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 +198 -0
- package/skill-docs/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skill-docs/references/workflow/guide-workflow.md +14 -3
- package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +0 -17
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
const PATHDEF = '/api/bs/workflow/pathdef';
|
|
2
|
+
const FLOW_FORM = '/api/ebuilder/flow/form';
|
|
3
|
+
const FORM_BUILDER = '/api/ebuilder/form/builder';
|
|
4
|
+
function ok(res, op) {
|
|
5
|
+
if (!res || res.code !== 200 || res.status === false) {
|
|
6
|
+
throw new Error(`${op}失败:${res?.msg || '无响应'}`);
|
|
7
|
+
}
|
|
8
|
+
return res.data;
|
|
9
|
+
}
|
|
10
|
+
/** 这个表单有哪些布局(含默认布局)。 */
|
|
11
|
+
export async function listFormLayouts(client, formId, opts = {}) {
|
|
12
|
+
const base = client.getBaseUrl();
|
|
13
|
+
const d = ok(await client.post(`${base}${FLOW_FORM}/layout/list`, {
|
|
14
|
+
formId,
|
|
15
|
+
module: 'ebuildercard',
|
|
16
|
+
pageNo: 1,
|
|
17
|
+
pageSize: 200,
|
|
18
|
+
customParam: { workflowId: opts.workflowId || '', layoutIds: [], quoteNode: '' },
|
|
19
|
+
layoutMultipleParam: { terminalType: opts.terminal || 'PC' },
|
|
20
|
+
local: true,
|
|
21
|
+
}, { ebbusinessid: formId }), '读取布局列表');
|
|
22
|
+
const page = d?.formLayoutMultiplePage || {};
|
|
23
|
+
const rows = page.result || page.records || page.list || [];
|
|
24
|
+
return rows.map((r) => ({
|
|
25
|
+
...r,
|
|
26
|
+
id: String(r.id),
|
|
27
|
+
name: String(r.name || ''),
|
|
28
|
+
terminalType: String(r.terminalType || ''),
|
|
29
|
+
layoutType: String(r.layoutType || ''),
|
|
30
|
+
isDefault: !!r.isDefault,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 每套布局被哪些节点引用(`layoutReferNodeInfo`)。
|
|
35
|
+
*
|
|
36
|
+
* 这是「查引用节点」的**读**接口 —— 比浏览框省事得多,一次拿全。
|
|
37
|
+
*/
|
|
38
|
+
export async function getLayoutReferNodes(client, workflowId, terminal = 'PC') {
|
|
39
|
+
const base = client.getBaseUrl();
|
|
40
|
+
const d = ok(await client.get(`${base}${PATHDEF}/pathLayoutManage/getLayoutInfoParams?terminalType=${terminal}&workflowId=${workflowId}`), '读取布局引用节点');
|
|
41
|
+
const byLayout = new Map();
|
|
42
|
+
for (const [lid, v] of Object.entries(d?.layoutReferNodeInfo || {})) {
|
|
43
|
+
const nodeIds = (v?.nodeIds || []).map((x) => String(x));
|
|
44
|
+
const nodeNames = (v?.nodeBrowsers || []).map((b) => String(b?.content || ''));
|
|
45
|
+
byLayout.set(String(lid), { nodeIds, nodeNames });
|
|
46
|
+
}
|
|
47
|
+
const idsOf = (k) => (Array.isArray(d?.[k]) ? d[k].map((x) => String(x)) : []);
|
|
48
|
+
return {
|
|
49
|
+
formId: String(d?.formId || ''),
|
|
50
|
+
pcLayoutIds: idsOf('pcLayoutIds'),
|
|
51
|
+
mobileLayoutIds: idsOf('mobileLayoutIds'),
|
|
52
|
+
pcDefaultLayoutId: String(d?.pcDefaultLayoutId || ''),
|
|
53
|
+
byLayout,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** 布局列表 + 每套引用了哪些节点(合并上面两个接口,CLI 展示用)。 */
|
|
57
|
+
export async function listLayoutsWithNodes(client, formId, workflowId, terminal = 'PC') {
|
|
58
|
+
const [layouts, refer] = await Promise.all([
|
|
59
|
+
listFormLayouts(client, formId, { workflowId, terminal }),
|
|
60
|
+
getLayoutReferNodes(client, workflowId, terminal).catch(() => null),
|
|
61
|
+
]);
|
|
62
|
+
return layouts.map((l) => ({
|
|
63
|
+
...l,
|
|
64
|
+
nodeIds: refer?.byLayout.get(l.id)?.nodeIds || [],
|
|
65
|
+
nodeNames: refer?.byLayout.get(l.id)?.nodeNames || [],
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
/** 节点当前挂的布局设置。 */
|
|
69
|
+
export async function getNodeLayout(client, workflowId, nodeId) {
|
|
70
|
+
const base = client.getBaseUrl();
|
|
71
|
+
const d = ok(await client.get(`${base}${PATHDEF}/nodeLayout/getDisplayLayoutForm?workflowId=${workflowId}&nodeId=${nodeId}`), '读取节点布局');
|
|
72
|
+
if (!d?.formId)
|
|
73
|
+
throw new Error(`读不到节点表单信息(workflowId=${workflowId} nodeId=${nodeId})`);
|
|
74
|
+
return {
|
|
75
|
+
...d,
|
|
76
|
+
nodeId,
|
|
77
|
+
nodeName: String(d.nodeName || ''),
|
|
78
|
+
formId: String(d.formId),
|
|
79
|
+
layoutId: String(d.layoutId || ''),
|
|
80
|
+
defaultLayoutId: String(d.defaultLayoutId || ''),
|
|
81
|
+
mLayoutId: String(d.mLayoutId || ''),
|
|
82
|
+
mLayoutMode: String(d.mLayoutMode ?? ''),
|
|
83
|
+
nodeFormRelateId: String(d.nodeFormRelateId || '-1'),
|
|
84
|
+
permissionId: String(d.permissionId || '-1'),
|
|
85
|
+
hasNodePermissionSet: !!d.hasNodePermissionSet,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** 把一批节点设为某布局的**全部**引用节点(整集合覆盖)。 */
|
|
89
|
+
export async function updateQuoteNode(client, opts) {
|
|
90
|
+
const base = client.getBaseUrl();
|
|
91
|
+
ok(await client.post(`${base}${PATHDEF}/form/layout/updateQuoteNode`, {
|
|
92
|
+
terminal: opts.terminal || 'PC',
|
|
93
|
+
workflowId: opts.workflowId,
|
|
94
|
+
layoutId: opts.layoutId,
|
|
95
|
+
nodeIds: opts.nodeIds,
|
|
96
|
+
sourceNodeIds: opts.sourceNodeIds,
|
|
97
|
+
}), '更新布局引用节点');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* 把一个节点挂到指定布局上。
|
|
101
|
+
*
|
|
102
|
+
* 先读该布局现有的引用节点全集,加上这个节点,再整包提交 ——
|
|
103
|
+
* 服务端会同时把它从原来那套布局摘掉(互斥,不残留)。
|
|
104
|
+
* 节点本来就在这套布局上时是幂等的。
|
|
105
|
+
*/
|
|
106
|
+
export async function bindNodeLayout(client, opts) {
|
|
107
|
+
const terminal = opts.terminal || 'PC';
|
|
108
|
+
const refer = await getLayoutReferNodes(client, opts.workflowId, terminal);
|
|
109
|
+
const current = refer.byLayout.get(String(opts.layoutId))?.nodeIds || [];
|
|
110
|
+
if (current.includes(String(opts.nodeId))) {
|
|
111
|
+
return { changed: false, nodeIds: current, sourceNodeIds: current };
|
|
112
|
+
}
|
|
113
|
+
const next = [...current, String(opts.nodeId)];
|
|
114
|
+
await updateQuoteNode(client, {
|
|
115
|
+
workflowId: opts.workflowId,
|
|
116
|
+
layoutId: opts.layoutId,
|
|
117
|
+
nodeIds: next,
|
|
118
|
+
sourceNodeIds: current,
|
|
119
|
+
terminal,
|
|
120
|
+
});
|
|
121
|
+
return { changed: true, nodeIds: next, sourceNodeIds: current };
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 把节点从它当前的独立布局上摘下来(回落表单默认布局)。
|
|
125
|
+
*
|
|
126
|
+
* 节点本来就没挂独立布局时是幂等的(直接返回 changed=false)。
|
|
127
|
+
*/
|
|
128
|
+
export async function unbindNodeLayout(client, opts) {
|
|
129
|
+
const terminal = opts.terminal || 'PC';
|
|
130
|
+
const node = await getNodeLayout(client, opts.workflowId, opts.nodeId);
|
|
131
|
+
const layoutId = node.layoutId;
|
|
132
|
+
if (!layoutId)
|
|
133
|
+
return { changed: false, layoutId: '', nodeIds: [] };
|
|
134
|
+
const refer = await getLayoutReferNodes(client, opts.workflowId, terminal);
|
|
135
|
+
const current = refer.byLayout.get(layoutId)?.nodeIds || [];
|
|
136
|
+
const next = current.filter((x) => x !== String(opts.nodeId));
|
|
137
|
+
await updateQuoteNode(client, {
|
|
138
|
+
workflowId: opts.workflowId,
|
|
139
|
+
layoutId,
|
|
140
|
+
nodeIds: next,
|
|
141
|
+
sourceNodeIds: current,
|
|
142
|
+
terminal,
|
|
143
|
+
});
|
|
144
|
+
return { changed: true, layoutId, nodeIds: next };
|
|
145
|
+
}
|
|
146
|
+
const COPY_ALL = {
|
|
147
|
+
formDataLinkage: true,
|
|
148
|
+
excelLinkage: true,
|
|
149
|
+
viewLinkage: true,
|
|
150
|
+
displayFormat: true,
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* 新建一套布局。返回新布局。
|
|
154
|
+
*
|
|
155
|
+
* **`from` 传不传差别很大**(同一份默认布局实测):
|
|
156
|
+
* - 传 → 完整复制来源布局(内容体积 ≈ 来源本身),拿到手就能用/微调;
|
|
157
|
+
* - 不传 → 建出的是**空布局**(体积约为完整复制的 1/5,字段与排版都要重新配)。
|
|
158
|
+
*
|
|
159
|
+
* 平台设计器「新建」按钮走的就是不传 `sourceId` 的空布局分支。
|
|
160
|
+
*/
|
|
161
|
+
export async function createFormLayout(client, opts) {
|
|
162
|
+
const base = client.getBaseUrl();
|
|
163
|
+
// 复制模式下,类型默认跟来源走 —— 否则复制 EXCEL 的内容却声明成 FLOW,出来是坏的
|
|
164
|
+
let srcLayoutType = '';
|
|
165
|
+
if (opts.from) {
|
|
166
|
+
const src = await listFormLayouts(client, opts.formId, {
|
|
167
|
+
workflowId: opts.workflowId,
|
|
168
|
+
terminal: opts.terminal,
|
|
169
|
+
});
|
|
170
|
+
const hit = src.find((x) => x.id === String(opts.from));
|
|
171
|
+
if (!hit) {
|
|
172
|
+
throw new Error(`复制来源布局 ${opts.from} 不在该表单的布局列表里。现有:${src.map((x) => `${x.name}(${x.id})`).join('、')}`);
|
|
173
|
+
}
|
|
174
|
+
srcLayoutType = hit.layoutType;
|
|
175
|
+
}
|
|
176
|
+
const layoutType = String(opts.layoutType || srcLayoutType || 'FLOW').toUpperCase();
|
|
177
|
+
if (layoutType !== 'FLOW' && layoutType !== 'EXCEL') {
|
|
178
|
+
throw new Error(`布局类型只支持 FLOW(流式) / EXCEL(表格式),收到:${opts.layoutType}`);
|
|
179
|
+
}
|
|
180
|
+
const d = ok(await client.post(`${base}${FLOW_FORM}/layout/save`, {
|
|
181
|
+
module: 'ebuildercard',
|
|
182
|
+
customParam: {
|
|
183
|
+
workflowId: opts.workflowId,
|
|
184
|
+
quoteNode: (opts.nodeIds || []).map((x) => String(x)),
|
|
185
|
+
isNodeLayout: true,
|
|
186
|
+
},
|
|
187
|
+
formLayoutMultiple: {
|
|
188
|
+
terminalType: opts.terminal || 'PC',
|
|
189
|
+
name: opts.name,
|
|
190
|
+
labelObj: '{}',
|
|
191
|
+
describe: opts.describe || '',
|
|
192
|
+
layoutType,
|
|
193
|
+
},
|
|
194
|
+
local: true,
|
|
195
|
+
copyConfig: { ...COPY_ALL, ...(opts.copyConfig || {}) },
|
|
196
|
+
// 这一项决定「空布局」还是「复制」:传了才是复制
|
|
197
|
+
...(opts.from ? { sourceId: String(opts.from) } : {}),
|
|
198
|
+
formId: opts.formId,
|
|
199
|
+
}, { ebbusinessid: opts.formId }), '新建布局');
|
|
200
|
+
const flm = d?.formLayoutMultiple || {};
|
|
201
|
+
return {
|
|
202
|
+
...flm,
|
|
203
|
+
id: String(flm.id || ''),
|
|
204
|
+
name: String(flm.name || opts.name),
|
|
205
|
+
terminalType: String(flm.terminalType || opts.terminal || 'PC'),
|
|
206
|
+
layoutType: String(flm.layoutType || layoutType),
|
|
207
|
+
isDefault: !!flm.isDefault,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/** 读某套布局的内容(不传 layoutId 读默认布局)。 */
|
|
211
|
+
export async function getLayoutContent(client, formId, layoutId) {
|
|
212
|
+
const base = client.getBaseUrl();
|
|
213
|
+
const payload = {
|
|
214
|
+
formId,
|
|
215
|
+
module: 'ebuilderform',
|
|
216
|
+
customParam: {},
|
|
217
|
+
formTableIdList: [],
|
|
218
|
+
designerParam: { onlyLayout: false, convert: false },
|
|
219
|
+
form: { id: formId },
|
|
220
|
+
};
|
|
221
|
+
if (layoutId)
|
|
222
|
+
payload.layoutMultiId = layoutId;
|
|
223
|
+
const d = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, payload, { ebbusinessid: formId }), '读取布局内容');
|
|
224
|
+
const fl = d?.formLayout || {};
|
|
225
|
+
const flm = d?.formLayoutMultiple || {};
|
|
226
|
+
return {
|
|
227
|
+
layout: fl,
|
|
228
|
+
meta: {
|
|
229
|
+
...flm,
|
|
230
|
+
id: String(flm.id || layoutId || ''),
|
|
231
|
+
name: String(flm.name || ''),
|
|
232
|
+
terminalType: String(flm.terminalType || ''),
|
|
233
|
+
layoutType: String(flm.layoutType || ''),
|
|
234
|
+
isDefault: !!flm.isDefault,
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
const TEMPLATE_FLOW = '820000000000000001';
|
|
239
|
+
const TEMPLATE_EXCEL = '700000000000000008';
|
|
240
|
+
/** 读某套布局的可摆字段清单。 */
|
|
241
|
+
export async function listLayoutFields(client, formId) {
|
|
242
|
+
const base = client.getBaseUrl();
|
|
243
|
+
const d = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, {
|
|
244
|
+
formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
|
|
245
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
246
|
+
}, { ebbusinessid: formId }), '读取表单字段');
|
|
247
|
+
const configs = await readConfigs(client, formId, d?.formLayout?.id || '');
|
|
248
|
+
return configs.map((c) => ({
|
|
249
|
+
label: fieldLabel(c),
|
|
250
|
+
id: String(c.id || c.fieldId || ''),
|
|
251
|
+
system: !!c.system,
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
/** configs 里的显示名:不同来源分别落在 `name` / `title` / `fieldName`。 */
|
|
255
|
+
function fieldLabel(c) {
|
|
256
|
+
return String(c?.name || c?.title || c?.fieldName || c?.config?.title || c?.id || '');
|
|
257
|
+
}
|
|
258
|
+
async function readConfigs(client, formId, layoutId) {
|
|
259
|
+
const base = client.getBaseUrl();
|
|
260
|
+
const d = ok(await client.post(`${base}/api/ebuilder/form/form/view/relate/getConfig`, {
|
|
261
|
+
formId, module: 'ebuilderform', apiModule: 'ebuilder/form', layoutId,
|
|
262
|
+
customParam: { terminal: '', objId: formId }, initMode: 5, groupFieldIds: [],
|
|
263
|
+
designerParam: { sourceModule: 'ebuilderform' },
|
|
264
|
+
}, { ebbusinessid: formId }), '读取布局字段配置');
|
|
265
|
+
return d?.configs || [];
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* 重建某套布局(`initLayout`),可只摆指定字段。
|
|
269
|
+
*
|
|
270
|
+
* **只动目标布局**:`getFormLayout` 按 `layoutMultiId` 精确定位到目标布局,
|
|
271
|
+
* `initLayout` 的 `formLayoutMultiple` 也带同一个 id。表单默认布局与其它布局不受影响。
|
|
272
|
+
*
|
|
273
|
+
* ⚠️ 必须走 **ebuilder 路径**(`/api/ebuilder/form/...` + `module:'ebuilderform'`)。
|
|
274
|
+
* 流程表单那套 `/api/workflow/core/form/...` 在 eb 表关联流程的表单上会直接
|
|
275
|
+
* 「无工作流修改权限或工作流维护权限」500,用不了。
|
|
276
|
+
*/
|
|
277
|
+
export async function initNodeLayout(client, opts) {
|
|
278
|
+
const base = client.getBaseUrl();
|
|
279
|
+
const ebb = { ebbusinessid: opts.formId };
|
|
280
|
+
// 1. 按 layoutMultiId 精确定位目标布局
|
|
281
|
+
const meta = ok(await client.post(`${base}${FORM_BUILDER}/getFormLayout`, {
|
|
282
|
+
formId: opts.formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
|
|
283
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: opts.formId },
|
|
284
|
+
layoutMultiId: opts.layoutId,
|
|
285
|
+
}, ebb), '定位目标布局');
|
|
286
|
+
const layoutId = String(meta?.formLayout?.id || '');
|
|
287
|
+
const flm = meta?.formLayoutMultiple || {};
|
|
288
|
+
if (!layoutId || String(flm.id || '') !== String(opts.layoutId)) {
|
|
289
|
+
throw new Error(`按 layoutMultiId=${opts.layoutId} 定位不到布局(返回 ${flm.id || '空'})。` +
|
|
290
|
+
'为避免误改默认布局,已中止。');
|
|
291
|
+
}
|
|
292
|
+
const layoutType = String(flm.layoutType || 'FLOW');
|
|
293
|
+
// 2. getConfig 恒返回表单全量字段(与布局无关),作为「全摆」的基准
|
|
294
|
+
const all = await readConfigs(client, opts.formId, layoutId);
|
|
295
|
+
// 3. 只摆指定字段:业务字段按名单过滤;系统字段保留在 configs 里(不会变成组件),
|
|
296
|
+
// 与平台自身的提交形态一致。
|
|
297
|
+
let configs = all;
|
|
298
|
+
if (opts.fields?.length) {
|
|
299
|
+
const want = new Set(opts.fields.map((x) => String(x).trim()).filter(Boolean));
|
|
300
|
+
const hit = new Set();
|
|
301
|
+
configs = all.filter((c) => {
|
|
302
|
+
if (c.system)
|
|
303
|
+
return true;
|
|
304
|
+
const keys = [fieldLabel(c), String(c.id || ''), String(c.fieldId || '')].filter(Boolean);
|
|
305
|
+
const matched = keys.some((k) => want.has(k));
|
|
306
|
+
if (matched)
|
|
307
|
+
keys.forEach((k) => hit.add(k));
|
|
308
|
+
return matched;
|
|
309
|
+
});
|
|
310
|
+
const missed = [...want].filter((w) => !hit.has(w));
|
|
311
|
+
if (missed.length) {
|
|
312
|
+
const avail = all.filter((c) => !c.system).map(fieldLabel).filter(Boolean);
|
|
313
|
+
throw new Error(`这些字段在该表单上找不到:${missed.join('、')}。` +
|
|
314
|
+
`可用字段:${avail.join('、')}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
const styleTemplateId = opts.styleTemplateId || (layoutType === 'EXCEL' ? TEMPLATE_EXCEL : TEMPLATE_FLOW);
|
|
318
|
+
const res = ok(await client.post(`${base}/api/ebuilder/form/form/view/relate/initLayout`, {
|
|
319
|
+
formId: opts.formId, module: 'ebuilderform', apiModule: 'ebuilder/form',
|
|
320
|
+
layoutId, generateCollapse: true,
|
|
321
|
+
styleTemplateId, styleTemplateType: 1,
|
|
322
|
+
configs, addLayout: false, ecodeType: ['js', 'css'], initMode: '1',
|
|
323
|
+
customParam: { terminal: '', objId: opts.formId },
|
|
324
|
+
formLayoutMultiple: {
|
|
325
|
+
isSys: true, id: String(opts.layoutId), name: String(flm.name || ''),
|
|
326
|
+
terminalType: String(flm.terminalType || 'PC'), layoutType,
|
|
327
|
+
},
|
|
328
|
+
designerParam: { onlyLayout: false },
|
|
329
|
+
}, ebb), '重建布局');
|
|
330
|
+
const pages = res?.pageLayouts || res?.formLayout?.pageLayouts;
|
|
331
|
+
const parsed = typeof pages === 'string' ? JSON.parse(pages) : pages;
|
|
332
|
+
const comps = parsed?.[0]?.comps || [];
|
|
333
|
+
const placed = comps
|
|
334
|
+
.map((c) => String(c?.config?.title || c?.config?.name || c?.name || ''))
|
|
335
|
+
.filter(Boolean);
|
|
336
|
+
return { comps: comps.length, placed, layoutType, styleTemplateId };
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=workflow-node-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-node-layout.js","sourceRoot":"","sources":["../../src/services/workflow-node-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ApiClient } from '../core/client.js';
|
|
2
|
+
export interface NodeMenu {
|
|
3
|
+
id: string;
|
|
4
|
+
/** 自定义显示名;空 = 用 defaultName */
|
|
5
|
+
title: string;
|
|
6
|
+
/** 内置默认名(批准 / 保存 / 退回 …) */
|
|
7
|
+
defaultName: string;
|
|
8
|
+
/** 稳定类型码(AGREE / SAVE_DATA / REJECT …),**按它匹配最稳** */
|
|
9
|
+
menutype: string;
|
|
10
|
+
useable: boolean;
|
|
11
|
+
/** true = 快捷菜单,false = 更多菜单 */
|
|
12
|
+
istop: boolean;
|
|
13
|
+
orderid: number;
|
|
14
|
+
defaultSign: string;
|
|
15
|
+
raw: Record<string, any>;
|
|
16
|
+
}
|
|
17
|
+
export interface NodeMenuSet {
|
|
18
|
+
quick: NodeMenu[];
|
|
19
|
+
more: NodeMenu[];
|
|
20
|
+
}
|
|
21
|
+
/** 展示名:有自定义名用自定义名,否则用内置名 */
|
|
22
|
+
export declare function menuLabel(m: NodeMenu): string;
|
|
23
|
+
export declare function getNodeMenus(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string): Promise<NodeMenuSet>;
|
|
24
|
+
/**
|
|
25
|
+
* 按 ID / 类型码 / 自定义名 / 内置名 找菜单。全都找不到返回 undefined。
|
|
26
|
+
*
|
|
27
|
+
* 名字可能撞车(内置名与某个自定义名相同),这时按顺序优先取**类型码**命中的那个 ——
|
|
28
|
+
* 用户写「批准」时想要的是内置的批准按钮,不是恰好也叫「批准」的自定义按钮。
|
|
29
|
+
*/
|
|
30
|
+
export declare function findMenu(all: NodeMenu[], ref: string): NodeMenu | undefined;
|
|
31
|
+
/** 菜单名前缀有多少个候选(用于「找不到 / 有歧义」时给候选清单) */
|
|
32
|
+
export declare function menuNames(all: NodeMenu[]): string[];
|
|
33
|
+
export interface MenuPatch {
|
|
34
|
+
/** 快捷菜单分组:只启用这些(其余快捷菜单关闭);undefined = 不动这一组 */
|
|
35
|
+
quick?: string[];
|
|
36
|
+
/** 更多菜单分组:只启用这些(其余更多菜单关闭);undefined = 不动这一组 */
|
|
37
|
+
more?: string[];
|
|
38
|
+
enable?: string[];
|
|
39
|
+
disable?: string[];
|
|
40
|
+
/** 菜单引用 → 新显示名(空串 = 恢复默认名) */
|
|
41
|
+
rename?: Map<string, string>;
|
|
42
|
+
/** 菜单引用 → 默认签字意见 */
|
|
43
|
+
sign?: Map<string, string>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 应用改动。返回新的菜单集与**真正变了的** id 列表(平台要求 changeRows 只放变化的)。
|
|
47
|
+
*
|
|
48
|
+
* `quick` / `more` 的语义是「这一组就启用这些」:点名到的启用(必要时从另一组挪过来),
|
|
49
|
+
* 这一组里没点名的全部关闭。没给这一组就整组不动。
|
|
50
|
+
*/
|
|
51
|
+
export declare function applyMenuPatch(set: NodeMenuSet, patch: MenuPatch): {
|
|
52
|
+
next: NodeMenuSet;
|
|
53
|
+
changed: string[];
|
|
54
|
+
};
|
|
55
|
+
/** 保存。`changeRows` 只放真正变了的 id;没变化就不发请求。 */
|
|
56
|
+
export declare function saveNodeMenus(client: ApiClient, baseUrl: string, workflowId: string, nodeId: string, set: NodeMenuSet, changed: string[]): Promise<void>;
|
|
57
|
+
//# sourceMappingURL=workflow-node-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-node-menu.d.ts","sourceRoot":"","sources":["../../src/services/workflow-node-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkBnD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAkBD,4BAA4B;AAC5B,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAE7C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACrE,OAAO,CAAC,WAAW,CAAC,CAQtB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAM3E;AAED,uCAAuC;AACvC,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAEnD;AAED,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,oBAAoB;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAOD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAiD3G;AAED,2CAA2C;AAC3C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACtE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAClC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 节点操作菜单(快捷菜单 / 更多菜单)。
|
|
3
|
+
*
|
|
4
|
+
* 平台 GET `getWfpNodeMenuInfo` 把菜单**分两个数组**返回:
|
|
5
|
+
* - `topmenu` —— 快捷菜单(批准 / 保存 / 退回 / 强制收回 / 加签 …)
|
|
6
|
+
* - `moremenu` —— 更多菜单(转办 / 转发 / 传阅 / 意见征询 / 催办 / 打印 …)
|
|
7
|
+
* - `hidemenu` —— 占位数组,元素字段全是 undefined,丢掉
|
|
8
|
+
*
|
|
9
|
+
* **保存时 `menuStr` 要的是两组合并后的完整数组**(实测:只发 moremenu 会丢快捷菜单)。
|
|
10
|
+
*
|
|
11
|
+
* 字段名注意:线上是 `menutype`(小写 t),不是文档里写的 `menuType`。
|
|
12
|
+
* `title` 是自定义显示名(空 = 用 `defaultName`),改名改的就是它。
|
|
13
|
+
*/
|
|
14
|
+
const BASE = '/api/bs/workflow/pathdef';
|
|
15
|
+
const asBool = (v) => v === 1 || v === '1' || v === true;
|
|
16
|
+
function toMenu(raw) {
|
|
17
|
+
return {
|
|
18
|
+
id: String(raw?.id ?? ''),
|
|
19
|
+
title: String(raw?.title ?? ''),
|
|
20
|
+
defaultName: String(raw?.defaultName ?? ''),
|
|
21
|
+
menutype: String(raw?.menutype ?? raw?.menuType ?? ''),
|
|
22
|
+
useable: asBool(raw?.useable),
|
|
23
|
+
istop: asBool(raw?.istop),
|
|
24
|
+
orderid: Number(raw?.orderid ?? 0),
|
|
25
|
+
defaultSign: String(raw?.defaultSign ?? ''),
|
|
26
|
+
raw,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** 展示名:有自定义名用自定义名,否则用内置名 */
|
|
30
|
+
export function menuLabel(m) {
|
|
31
|
+
return m.title || m.defaultName || m.menutype || m.id;
|
|
32
|
+
}
|
|
33
|
+
export async function getNodeMenus(client, baseUrl, workflowId, nodeId) {
|
|
34
|
+
const res = await client.get(`${baseUrl}${BASE}/nodeMenu/getWfpNodeMenuInfo?workflowId=${workflowId}&nodeId=${nodeId}`);
|
|
35
|
+
if (res?.code !== 200 || !res?.status)
|
|
36
|
+
throw new Error(`读取节点操作菜单失败: ${res?.msg || '未知错误'}`);
|
|
37
|
+
const d = res?.data || {};
|
|
38
|
+
const clean = (arr) => (arr || []).filter((m) => m && m.id).map(toMenu);
|
|
39
|
+
return { quick: clean(d.topmenu), more: clean(d.moremenu) };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 按 ID / 类型码 / 自定义名 / 内置名 找菜单。全都找不到返回 undefined。
|
|
43
|
+
*
|
|
44
|
+
* 名字可能撞车(内置名与某个自定义名相同),这时按顺序优先取**类型码**命中的那个 ——
|
|
45
|
+
* 用户写「批准」时想要的是内置的批准按钮,不是恰好也叫「批准」的自定义按钮。
|
|
46
|
+
*/
|
|
47
|
+
export function findMenu(all, ref) {
|
|
48
|
+
const s = String(ref);
|
|
49
|
+
return all.find((m) => m.id === s)
|
|
50
|
+
|| all.find((m) => m.menutype.toLowerCase() === s.toLowerCase())
|
|
51
|
+
|| all.find((m) => m.defaultName === s)
|
|
52
|
+
|| all.find((m) => m.title === s);
|
|
53
|
+
}
|
|
54
|
+
/** 菜单名前缀有多少个候选(用于「找不到 / 有歧义」时给候选清单) */
|
|
55
|
+
export function menuNames(all) {
|
|
56
|
+
return all.map((m) => `${menuLabel(m)}${m.menutype ? `(${m.menutype})` : ''}`);
|
|
57
|
+
}
|
|
58
|
+
/** 某组里下一个可用的 orderid */
|
|
59
|
+
function nextOrder(group) {
|
|
60
|
+
return group.reduce((max, m) => Math.max(max, m.orderid), -1) + 1;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 应用改动。返回新的菜单集与**真正变了的** id 列表(平台要求 changeRows 只放变化的)。
|
|
64
|
+
*
|
|
65
|
+
* `quick` / `more` 的语义是「这一组就启用这些」:点名到的启用(必要时从另一组挪过来),
|
|
66
|
+
* 这一组里没点名的全部关闭。没给这一组就整组不动。
|
|
67
|
+
*/
|
|
68
|
+
export function applyMenuPatch(set, patch) {
|
|
69
|
+
// raw 原样带着(保存时才从包装字段重建报文),不在这里改它
|
|
70
|
+
const quick = set.quick.map((m) => ({ ...m }));
|
|
71
|
+
const more = set.more.map((m) => ({ ...m }));
|
|
72
|
+
const before = new Map([...quick, ...more].map((m) => [m.id, JSON.stringify({ u: m.useable, i: m.istop, t: m.title, o: m.orderid, s: m.defaultSign })]));
|
|
73
|
+
const all = () => [...quick, ...more];
|
|
74
|
+
/** 把 ref 解析成菜单;找不到直接抛,避免拼错名字静默成功 */
|
|
75
|
+
const resolve = (ref, where) => {
|
|
76
|
+
const hit = findMenu(all(), ref);
|
|
77
|
+
if (!hit) {
|
|
78
|
+
throw new Error(`${where} 里找不到菜单「${ref}」。可用: ${menuNames(all()).join('、')}`);
|
|
79
|
+
}
|
|
80
|
+
return hit;
|
|
81
|
+
};
|
|
82
|
+
/** 把菜单移到目标组(同组不动) */
|
|
83
|
+
const moveTo = (m, toQuick) => {
|
|
84
|
+
if (m.istop === toQuick)
|
|
85
|
+
return m;
|
|
86
|
+
const from = m.istop ? quick : more;
|
|
87
|
+
const to = toQuick ? quick : more;
|
|
88
|
+
from.splice(from.indexOf(m), 1);
|
|
89
|
+
const copy = { ...m, istop: toQuick, orderid: nextOrder(to) };
|
|
90
|
+
to.push(copy);
|
|
91
|
+
return copy;
|
|
92
|
+
};
|
|
93
|
+
/** 一组「只启用这些」 */
|
|
94
|
+
const applyGroup = (refs, toQuick, where) => {
|
|
95
|
+
const named = new Set();
|
|
96
|
+
for (const ref of refs)
|
|
97
|
+
named.add(moveTo(resolve(ref, where), toQuick));
|
|
98
|
+
// 点名到的启用;这一组其余全部关闭
|
|
99
|
+
for (const m of toQuick ? quick : more)
|
|
100
|
+
m.useable = named.has(m);
|
|
101
|
+
};
|
|
102
|
+
if (patch.quick !== undefined)
|
|
103
|
+
applyGroup(patch.quick, true, '--quick');
|
|
104
|
+
if (patch.more !== undefined)
|
|
105
|
+
applyGroup(patch.more, false, '--more');
|
|
106
|
+
for (const ref of patch.enable || [])
|
|
107
|
+
resolve(ref, '--enable').useable = true;
|
|
108
|
+
for (const ref of patch.disable || [])
|
|
109
|
+
resolve(ref, '--disable').useable = false;
|
|
110
|
+
for (const [ref, name] of patch.rename || [])
|
|
111
|
+
resolve(ref, '--rename').title = name;
|
|
112
|
+
for (const [ref, sign] of patch.sign || [])
|
|
113
|
+
resolve(ref, '--sign').defaultSign = sign;
|
|
114
|
+
const changed = [];
|
|
115
|
+
for (const m of [...quick, ...more]) {
|
|
116
|
+
const after = JSON.stringify({ u: m.useable, i: m.istop, t: m.title, o: m.orderid, s: m.defaultSign });
|
|
117
|
+
if (before.get(m.id) !== after)
|
|
118
|
+
changed.push(m.id);
|
|
119
|
+
}
|
|
120
|
+
return { next: { quick, more }, changed };
|
|
121
|
+
}
|
|
122
|
+
/** 保存。`changeRows` 只放真正变了的 id;没变化就不发请求。 */
|
|
123
|
+
export async function saveNodeMenus(client, baseUrl, workflowId, nodeId, set, changed) {
|
|
124
|
+
if (!changed.length)
|
|
125
|
+
return;
|
|
126
|
+
// 从包装字段重建报文,不用 raw:raw 是「读回来的原样」,改动写在包装字段上。
|
|
127
|
+
// 直接序列化 raw 会把所有改动静默丢掉(保存成功、回读照旧),改名那次之所以看得出效果,
|
|
128
|
+
// 只是因为改名顺手同步了 raw。
|
|
129
|
+
const menuStr = JSON.stringify([...set.quick, ...set.more].map((m) => ({
|
|
130
|
+
...m.raw,
|
|
131
|
+
useable: m.useable ? 1 : 0,
|
|
132
|
+
istop: m.istop ? 1 : 0,
|
|
133
|
+
title: m.title,
|
|
134
|
+
defaultSign: m.defaultSign,
|
|
135
|
+
orderid: m.orderid,
|
|
136
|
+
})));
|
|
137
|
+
const res = await client.post(`${baseUrl}${BASE}/nodeMenu/saveWfpNodeMenuInfo`, {
|
|
138
|
+
workflowId, nodeId, menuStr, changeRows: changed, deleteMenuIds: [],
|
|
139
|
+
});
|
|
140
|
+
if (res?.code !== 200 || res?.status === false || res?.data === false) {
|
|
141
|
+
throw new Error(`保存节点操作菜单失败: ${res?.msg || '未知错误'}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=workflow-node-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-node-menu.js","sourceRoot":"","sources":["../../src/services/workflow-node-menu.ts"],"names":[],"mappings":"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"}
|