weaver-e10-builder 1.2.3 → 1.5.1
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/assets/org-employee-template.xlsx +0 -0
- package/dist/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +12 -25
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/designer-css.d.ts +15 -0
- package/dist/commands/designer-css.d.ts.map +1 -0
- package/dist/commands/designer-css.js +205 -0
- package/dist/commands/designer-css.js.map +1 -0
- package/dist/commands/form-button.d.ts.map +1 -1
- package/dist/commands/form-button.js +28 -5
- package/dist/commands/form-button.js.map +1 -1
- package/dist/commands/form-field-lang.d.ts.map +1 -1
- package/dist/commands/form-field-lang.js +4 -39
- package/dist/commands/form-field-lang.js.map +1 -1
- package/dist/commands/form-field-linkage.d.ts.map +1 -1
- package/dist/commands/form-field-linkage.js +27 -6
- package/dist/commands/form-field-linkage.js.map +1 -1
- package/dist/commands/form-formula-linkage.d.ts +3 -0
- package/dist/commands/form-formula-linkage.d.ts.map +1 -0
- package/dist/commands/form-formula-linkage.js +434 -0
- package/dist/commands/form-formula-linkage.js.map +1 -0
- package/dist/commands/form-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +22 -3
- package/dist/commands/form-formula.js.map +1 -1
- package/dist/commands/form-layout-init.d.ts.map +1 -1
- package/dist/commands/form-layout-init.js +15 -10
- package/dist/commands/form-layout-init.js.map +1 -1
- package/dist/commands/form-layout.js +24 -21
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-list-click.d.ts.map +1 -1
- package/dist/commands/form-list-click.js +2 -1
- package/dist/commands/form-list-click.js.map +1 -1
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +192 -3
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form-validate.d.ts.map +1 -1
- package/dist/commands/form-validate.js +11 -3
- package/dist/commands/form-validate.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +323 -192
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/matrix.d.ts.map +1 -1
- package/dist/commands/matrix.js +175 -36
- package/dist/commands/matrix.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +170 -23
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/org.d.ts +10 -0
- package/dist/commands/org.d.ts.map +1 -0
- package/dist/commands/org.js +278 -0
- package/dist/commands/org.js.map +1 -0
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +106 -62
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/wf-form.d.ts +1 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +545 -39
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-auth-resp.d.ts.map +1 -1
- package/dist/commands/workflow-auth-resp.js +53 -5
- package/dist/commands/workflow-auth-resp.js.map +1 -1
- package/dist/commands/workflow-create-auth-resp.d.ts.map +1 -1
- package/dist/commands/workflow-create-auth-resp.js +5 -1
- package/dist/commands/workflow-create-auth-resp.js.map +1 -1
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
- package/dist/commands/workflow-node-assign-flow.js +1 -2
- package/dist/commands/workflow-node-assign-flow.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +147 -2
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-odoc.d.ts.map +1 -1
- package/dist/commands/workflow-odoc.js +56 -56
- package/dist/commands/workflow-odoc.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +77 -1
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +114 -89
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/client.d.ts +14 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +28 -12
- package/dist/core/client.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/services/action-detail.d.ts.map +1 -1
- package/dist/services/action-detail.js +5 -4
- package/dist/services/action-detail.js.map +1 -1
- package/dist/services/actionflow/command_output.d.ts +7 -0
- package/dist/services/actionflow/command_output.d.ts.map +1 -1
- package/dist/services/actionflow/command_output.js +46 -0
- package/dist/services/actionflow/command_output.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 +14 -4
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.js +23 -8
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +261 -13
- 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 +6 -3
- package/dist/services/actionflow/components/approve_create.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
- package/dist/services/actionflow/components/custom_set_form.js +99 -0
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
- package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
- package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +11 -11
- package/dist/services/actionflow/components/custom_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 +7 -3
- package/dist/services/actionflow/components/dml_execute.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +7 -3
- package/dist/services/actionflow/components/document_actions.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +1 -1
- 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 +7 -3
- package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.js +14 -5
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +6 -1
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/components/send_message.js +2 -2
- package/dist/services/actionflow/components/send_message.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +7 -3
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +25 -8
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/context_provider.d.ts.map +1 -1
- package/dist/services/actionflow/context_provider.js +24 -4
- package/dist/services/actionflow/context_provider.js.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.d.ts +10 -0
- package/dist/services/actionflow/custom_trigger_context.d.ts.map +1 -0
- package/dist/services/actionflow/custom_trigger_context.js +46 -0
- package/dist/services/actionflow/custom_trigger_context.js.map +1 -0
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +1 -1
- package/dist/services/actionflow/dynamic_resources.js.map +1 -1
- package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
- package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
- package/dist/services/actionflow/ebuilder_source.js +78 -0
- package/dist/services/actionflow/ebuilder_source.js.map +1 -0
- package/dist/services/actionflow/filter_rules.js +2 -2
- package/dist/services/actionflow/filter_rules.js.map +1 -1
- package/dist/services/actionflow/form_source.d.ts +51 -10
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +173 -29
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +13 -2
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +104 -42
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/id_generator.d.ts +2 -0
- package/dist/services/actionflow/id_generator.d.ts.map +1 -1
- package/dist/services/actionflow/id_generator.js +13 -0
- package/dist/services/actionflow/id_generator.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +6 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +217 -4
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +172 -50
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/auth-resp-condition.d.ts +35 -0
- package/dist/services/auth-resp-condition.d.ts.map +1 -0
- package/dist/services/auth-resp-condition.js +111 -0
- package/dist/services/auth-resp-condition.js.map +1 -0
- package/dist/services/condition-rules.d.ts.map +1 -1
- package/dist/services/condition-rules.js +4 -1
- package/dist/services/condition-rules.js.map +1 -1
- package/dist/services/designer-css.d.ts +89 -0
- package/dist/services/designer-css.d.ts.map +1 -0
- package/dist/services/designer-css.js +163 -0
- package/dist/services/designer-css.js.map +1 -0
- package/dist/services/dom-structure.d.ts +42 -0
- package/dist/services/dom-structure.d.ts.map +1 -0
- package/dist/services/dom-structure.js +251 -0
- package/dist/services/dom-structure.js.map +1 -0
- package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
- package/dist/services/esb-interface/document-parser.js +62 -5
- package/dist/services/esb-interface/document-parser.js.map +1 -1
- package/dist/services/form-association.d.ts +19 -0
- package/dist/services/form-association.d.ts.map +1 -1
- package/dist/services/form-association.js +64 -0
- package/dist/services/form-association.js.map +1 -1
- package/dist/services/form-button-action.d.ts +7 -0
- package/dist/services/form-button-action.d.ts.map +1 -1
- package/dist/services/form-button-action.js +11 -1
- package/dist/services/form-button-action.js.map +1 -1
- package/dist/services/form-create.d.ts +4 -0
- package/dist/services/form-create.d.ts.map +1 -1
- package/dist/services/form-create.js +18 -12
- package/dist/services/form-create.js.map +1 -1
- package/dist/services/form-field-patch.d.ts +25 -1
- package/dist/services/form-field-patch.d.ts.map +1 -1
- package/dist/services/form-field-patch.js +52 -9
- package/dist/services/form-field-patch.js.map +1 -1
- package/dist/services/form-formula-linkage.d.ts +349 -0
- package/dist/services/form-formula-linkage.d.ts.map +1 -0
- package/dist/services/form-formula-linkage.js +546 -0
- package/dist/services/form-formula-linkage.js.map +1 -0
- package/dist/services/form-i18n-label.d.ts +48 -0
- package/dist/services/form-i18n-label.d.ts.map +1 -0
- package/dist/services/form-i18n-label.js +91 -0
- package/dist/services/form-i18n-label.js.map +1 -0
- package/dist/services/form-layout-insert.d.ts +84 -0
- package/dist/services/form-layout-insert.d.ts.map +1 -0
- package/dist/services/form-layout-insert.js +244 -0
- package/dist/services/form-layout-insert.js.map +1 -0
- package/dist/services/form-linkage-condition.d.ts +159 -0
- package/dist/services/form-linkage-condition.d.ts.map +1 -0
- package/dist/services/form-linkage-condition.js +307 -0
- package/dist/services/form-linkage-condition.js.map +1 -0
- package/dist/services/form-style-template.d.ts +6 -2
- package/dist/services/form-style-template.d.ts.map +1 -1
- package/dist/services/form-style-template.js +8 -4
- package/dist/services/form-style-template.js.map +1 -1
- package/dist/services/formula-detail.d.ts +98 -6
- package/dist/services/formula-detail.d.ts.map +1 -1
- package/dist/services/formula-detail.js +208 -26
- package/dist/services/formula-detail.js.map +1 -1
- package/dist/services/matrix-rows.d.ts +43 -0
- package/dist/services/matrix-rows.d.ts.map +1 -0
- package/dist/services/matrix-rows.js +104 -0
- package/dist/services/matrix-rows.js.map +1 -0
- package/dist/services/menu-catalog.d.ts +84 -0
- package/dist/services/menu-catalog.d.ts.map +1 -0
- package/dist/services/menu-catalog.js +183 -0
- package/dist/services/menu-catalog.js.map +1 -0
- package/dist/services/org-department.d.ts +114 -0
- package/dist/services/org-department.d.ts.map +1 -0
- package/dist/services/org-department.js +209 -0
- package/dist/services/org-department.js.map +1 -0
- package/dist/services/org-employee.d.ts +87 -0
- package/dist/services/org-employee.d.ts.map +1 -0
- package/dist/services/org-employee.js +219 -0
- package/dist/services/org-employee.js.map +1 -0
- package/dist/services/role-member.d.ts +99 -0
- package/dist/services/role-member.d.ts.map +1 -0
- package/dist/services/role-member.js +206 -0
- package/dist/services/role-member.js.map +1 -0
- package/dist/services/workflow-add-step.d.ts +45 -0
- package/dist/services/workflow-add-step.d.ts.map +1 -0
- package/dist/services/workflow-add-step.js +122 -0
- package/dist/services/workflow-add-step.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts +1 -6
- package/dist/services/workflow-assign-flow.d.ts.map +1 -1
- package/dist/services/workflow-assign-flow.js +3 -8
- package/dist/services/workflow-assign-flow.js.map +1 -1
- package/dist/services/workflow-drawback.d.ts +19 -0
- package/dist/services/workflow-drawback.d.ts.map +1 -0
- package/dist/services/workflow-drawback.js +59 -0
- package/dist/services/workflow-drawback.js.map +1 -0
- package/dist/services/workflow-info.d.ts +83 -0
- package/dist/services/workflow-info.d.ts.map +1 -0
- package/dist/services/workflow-info.js +97 -0
- package/dist/services/workflow-info.js.map +1 -0
- package/dist/services/workflow-links.d.ts +51 -0
- package/dist/services/workflow-links.d.ts.map +1 -0
- package/dist/services/workflow-links.js +162 -0
- package/dist/services/workflow-links.js.map +1 -0
- package/dist/services/workflow-node-layout.d.ts +45 -4
- package/dist/services/workflow-node-layout.d.ts.map +1 -1
- package/dist/services/workflow-node-layout.js +142 -41
- package/dist/services/workflow-node-layout.js.map +1 -1
- package/dist/services/workflow-odoc-setting.d.ts +43 -0
- package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
- package/dist/services/workflow-odoc-setting.js +109 -0
- package/dist/services/workflow-odoc-setting.js.map +1 -0
- package/dist/services/workflow-tab-config.d.ts +54 -0
- package/dist/services/workflow-tab-config.d.ts.map +1 -0
- package/dist/services/workflow-tab-config.js +137 -0
- package/dist/services/workflow-tab-config.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/column-name.d.ts +24 -0
- package/dist/utils/column-name.d.ts.map +1 -1
- package/dist/utils/column-name.js +16 -0
- package/dist/utils/column-name.js.map +1 -1
- package/ecodecmd/package.json +1 -2
- package/ecodecmd/src/loaddep.js +19 -9
- package/package.json +48 -48
- package/skill-docs/SKILL.md +15 -11
- package/skill-docs/_catalog.md +85 -79
- package/skill-docs/actionflows/SKILL.md +173 -168
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +38 -1
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
- package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +1 -1
- package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +48 -11
- package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +1 -1
- package/skill-docs/assets/dom-structure/Bar.json +341 -0
- package/skill-docs/assets/dom-structure/BarStack.json +341 -0
- package/skill-docs/assets/dom-structure/Bubble.json +323 -0
- package/skill-docs/assets/dom-structure/Calendar.json +515 -0
- package/skill-docs/assets/dom-structure/Circular.json +337 -0
- package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
- package/skill-docs/assets/dom-structure/Comment.json +617 -0
- package/skill-docs/assets/dom-structure/CountDown.json +755 -0
- package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
- package/skill-docs/assets/dom-structure/EbButton.json +387 -0
- package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
- package/skill-docs/assets/dom-structure/Gauge.json +282 -0
- package/skill-docs/assets/dom-structure/HBar.json +336 -0
- package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
- package/skill-docs/assets/dom-structure/Line.json +341 -0
- package/skill-docs/assets/dom-structure/NList.json +712 -0
- package/skill-docs/assets/dom-structure/NavBar.json +274 -0
- package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
- package/skill-docs/assets/dom-structure/NewTab.json +606 -0
- package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
- package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
- package/skill-docs/assets/dom-structure/Picture.json +209 -0
- package/skill-docs/assets/dom-structure/Pie.json +338 -0
- package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
- package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
- package/skill-docs/assets/dom-structure/Slide.json +489 -0
- package/skill-docs/assets/dom-structure/Treemap.json +324 -0
- package/skill-docs/references/common/guide-plan-template.md +10 -4
- package/skill-docs/references/common/ref-cli-commands.md +67 -34
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
- package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
- package/skill-docs/references/esb-interface/guide-import.md +4 -1
- package/skill-docs/references/form/guide-create-form.md +14 -1
- package/skill-docs/references/form/guide-field-linkage.md +2 -0
- package/skill-docs/references/form/guide-form-formula-functions.md +36 -0
- package/skill-docs/references/form/guide-form-layout-incremental.md +75 -0
- package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
- package/skill-docs/references/form/guide-form-linkage.md +89 -5
- package/skill-docs/references/form/guide-formula-linkage.md +250 -0
- package/skill-docs/references/form/ref-form-fields.md +6 -0
- package/skill-docs/references/hrm/guide-matrix.md +79 -16
- package/skill-docs/references/hrm/guide-org-employee.md +56 -0
- package/skill-docs/references/menu/system-menus.md +12 -0
- package/skill-docs/references/workflow/guide-workflow-auth-resp.md +48 -22
- package/skill-docs/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skill-docs/references/workflow/guide-workflow-odoc.md +25 -33
- package/skill-docs/references/workflow/guide-workflow.md +18 -3
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { findWorkflowRow } from './workflow-info.js';
|
|
3
|
+
const MODULE = 'ebuilderform';
|
|
4
|
+
const ADD_PATH = '/api/ebuilder/form/form/setting/viewlinkage/add';
|
|
5
|
+
/** 平台认的条件算子。`NULL`/`NOT_NULL` 即「为空」/「不为空」。 */
|
|
6
|
+
export const KNOWN_OPERATORS = [
|
|
7
|
+
'EQUAL', 'NOT_EQUAL', 'CONTAIN', 'NOT_CONTAIN',
|
|
8
|
+
'GREATER', 'LESS', 'GREATER_EQUAL', 'LESS_EQUAL',
|
|
9
|
+
'NULL', 'NOT_NULL',
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* 常见等价写法 → 平台码。
|
|
13
|
+
*
|
|
14
|
+
* 收的是**别人真的会写**的那些:`EMPTY`/`IS_NULL` 是「为空」最自然的写法(也是我们
|
|
15
|
+
* 文档曾经写的),符号写法是随手写。归一之后才不会因为一个词的差别炸在写库上。
|
|
16
|
+
*/
|
|
17
|
+
const OPERATOR_ALIAS = {
|
|
18
|
+
'=': 'EQUAL', '==': 'EQUAL', '!=': 'NOT_EQUAL', '<>': 'NOT_EQUAL',
|
|
19
|
+
EMPTY: 'NULL', IS_NULL: 'NULL', ISNULL: 'NULL', NULL: 'NULL', '为空': 'NULL',
|
|
20
|
+
NOT_EMPTY: 'NOT_NULL', IS_NOT_NULL: 'NOT_NULL', ISNOTNULL: 'NOT_NULL',
|
|
21
|
+
NOT_NULL: 'NOT_NULL', '不为空': 'NOT_NULL', NONEMPTY: 'NOT_NULL',
|
|
22
|
+
};
|
|
23
|
+
/** 不带右值的算子:**不能**带 `sourceContent`。 */
|
|
24
|
+
const NO_VALUE_OPERATORS = new Set(['NULL', 'NOT_NULL']);
|
|
25
|
+
/** 归一算子码;未知的原样返回(交给平台判,但调用方应当据此告警)。 */
|
|
26
|
+
export function normalizeOperator(operator) {
|
|
27
|
+
const raw = String(operator ?? '').trim();
|
|
28
|
+
if (!raw)
|
|
29
|
+
return 'EQUAL';
|
|
30
|
+
return OPERATOR_ALIAS[raw.toUpperCase()] || raw.toUpperCase();
|
|
31
|
+
}
|
|
32
|
+
/** 该算子是否需要比较值。 */
|
|
33
|
+
export function operatorTakesValue(code) {
|
|
34
|
+
return !NO_VALUE_OPERATORS.has(code);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 造一条 `conditionDetails`。**纯函数**。
|
|
38
|
+
*
|
|
39
|
+
* 为空/不为空**不带 `sourceContent`**;其余算子一定带(值缺省写空串而不是省略键 ——
|
|
40
|
+
* 省略键会让平台在写库时缺列)。
|
|
41
|
+
*/
|
|
42
|
+
export function buildConditionDetail(cond) {
|
|
43
|
+
const code = normalizeOperator(cond.operator);
|
|
44
|
+
const warnings = [];
|
|
45
|
+
const detail = {
|
|
46
|
+
targetId: String(cond.fieldId), // 平台这里要字符串;数字雪花过 JSON 会丢精度
|
|
47
|
+
detailSymbol: code,
|
|
48
|
+
sourceType: 'CONSTANT',
|
|
49
|
+
};
|
|
50
|
+
if (!KNOWN_OPERATORS.includes(code)) {
|
|
51
|
+
warnings.push(`未知的条件算子 "${cond.operator}",按原值提交;平台支持:${KNOWN_OPERATORS.join(' / ')}`);
|
|
52
|
+
}
|
|
53
|
+
if (!operatorTakesValue(code)) {
|
|
54
|
+
if (cond.value !== undefined || (Array.isArray(cond.options) && cond.options.length)) {
|
|
55
|
+
warnings.push(`算子 ${code}(为空/不为空)不带比较值,已忽略给的 value/options`);
|
|
56
|
+
}
|
|
57
|
+
return { detail, warnings };
|
|
58
|
+
}
|
|
59
|
+
detail.sourceContent = JSON.stringify({
|
|
60
|
+
formField: { id: String(cond.fieldId) },
|
|
61
|
+
...(cond.options ? { dataOptions: cond.options } : { content: String(cond.value ?? '') }),
|
|
62
|
+
});
|
|
63
|
+
return { detail, warnings };
|
|
64
|
+
}
|
|
65
|
+
/** 多条件之间的关系。界面上的「任一」= `OR`、「全部」= `AND`。 */
|
|
66
|
+
export const DETAIL_TYPES = ['AND', 'OR'];
|
|
67
|
+
/** 拼 `viewlinkage/add` 的报文。**纯函数**,便于对照设计器实际发出的形状。 */
|
|
68
|
+
export function buildLinkageAddPayload(input) {
|
|
69
|
+
const warnings = [];
|
|
70
|
+
const effect = input.effect || {
|
|
71
|
+
effectType: 'form', effectName: '当前表单', effectValue: input.formId,
|
|
72
|
+
};
|
|
73
|
+
if (input.detailType && !DETAIL_TYPES.includes(String(input.detailType).toUpperCase())) {
|
|
74
|
+
warnings.push(`detailType「${input.detailType}」不是平台取值(${DETAIL_TYPES.join(' / ')}),按原值提交`);
|
|
75
|
+
}
|
|
76
|
+
const conditionDetails = input.conditions.map((c) => {
|
|
77
|
+
const { detail, warnings: w } = buildConditionDetail(c);
|
|
78
|
+
warnings.push(...w);
|
|
79
|
+
return detail;
|
|
80
|
+
});
|
|
81
|
+
const payload = {
|
|
82
|
+
fdEffect: {
|
|
83
|
+
formId: input.formId,
|
|
84
|
+
effectModule: MODULE,
|
|
85
|
+
effectType: effect.effectType,
|
|
86
|
+
effectName: effect.effectName,
|
|
87
|
+
optionList: [{
|
|
88
|
+
effectValue: effect.effectValue,
|
|
89
|
+
effectName: effect.optionName || effect.effectName,
|
|
90
|
+
}],
|
|
91
|
+
},
|
|
92
|
+
condition: {
|
|
93
|
+
targetId: input.formId,
|
|
94
|
+
targetName: input.formName || '表单',
|
|
95
|
+
targetModule: MODULE,
|
|
96
|
+
conditionType: 'FIELD',
|
|
97
|
+
...(input.detailType ? { detailType: input.detailType } : {}),
|
|
98
|
+
conditionDetails,
|
|
99
|
+
formulaId: '',
|
|
100
|
+
formulaName: '',
|
|
101
|
+
},
|
|
102
|
+
linkageDetails: input.actions.map((a) => ({
|
|
103
|
+
formId: input.formId,
|
|
104
|
+
id: '0',
|
|
105
|
+
linkageObj: 'field',
|
|
106
|
+
linkageProp: a.prop,
|
|
107
|
+
linkageShowValue: a.fields.map((f) => ({
|
|
108
|
+
dataKey: f.dataKey || '',
|
|
109
|
+
groupName: '表单字段',
|
|
110
|
+
address: f.isDetail ? '明细表' : '主表',
|
|
111
|
+
addressType: f.isDetail ? 'detail' : 'form',
|
|
112
|
+
groupId: 'formField',
|
|
113
|
+
name: f.name,
|
|
114
|
+
descType: f.fieldType || '',
|
|
115
|
+
id: String(f.fieldId),
|
|
116
|
+
content: f.name,
|
|
117
|
+
desc: f.desc || '',
|
|
118
|
+
})),
|
|
119
|
+
detailOptions: [],
|
|
120
|
+
})),
|
|
121
|
+
module: MODULE,
|
|
122
|
+
formId: input.formId,
|
|
123
|
+
refId: input.formId,
|
|
124
|
+
enableState: '1',
|
|
125
|
+
linkageName: input.name,
|
|
126
|
+
customParam: { appId: input.appId, objId: input.objId },
|
|
127
|
+
};
|
|
128
|
+
return { payload, warnings };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* 把 `config.effect` 的写法解析成完整的生效维度。三种写法:
|
|
132
|
+
*
|
|
133
|
+
* - **不给** → 当前表单(最常见)
|
|
134
|
+
* - **`"formLayout"`** → 「表单布局」维度,布局 id 现查;⚠ 取的是 **`multipleLayoutId`**,
|
|
135
|
+
* 不是 `formLayout.id`(同一张表上这两个值相邻但不同,发错不报错、只是指向别的布局)
|
|
136
|
+
* - **对象** → 原样使用,只补缺省
|
|
137
|
+
*/
|
|
138
|
+
export async function resolveEffect(client, baseUrl, formId, formName, effect) {
|
|
139
|
+
const currentForm = {
|
|
140
|
+
effectType: 'form', effectName: '当前表单', effectValue: formId,
|
|
141
|
+
};
|
|
142
|
+
if (effect === undefined || effect === null || effect === '')
|
|
143
|
+
return currentForm;
|
|
144
|
+
if (typeof effect === 'string') {
|
|
145
|
+
const key = effect.trim();
|
|
146
|
+
if (key === 'form' || key === '当前表单')
|
|
147
|
+
return currentForm;
|
|
148
|
+
if (key === 'formLayout' || key === '表单布局') {
|
|
149
|
+
const lay = await client.post(`${baseUrl}/api/ebuilder/form/builder/getFormLayout`, {
|
|
150
|
+
formId, module: MODULE, customParam: {}, formTableIdList: [],
|
|
151
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
152
|
+
}, { ebbusinessid: formId });
|
|
153
|
+
// ⚠ 要的是 **multipleLayoutId**,不是 formLayout.id。同一张表上这两个值**相邻但不同**
|
|
154
|
+
// (实测某表 1316387710787854375 / …376),设计器发的是后者。发错不报错,
|
|
155
|
+
// 只是指向另一个布局,而且平台按它解析不出名字 → 回读的生效范围是个空白。
|
|
156
|
+
const layoutId = String(lay?.data?.formLayout?.multipleLayoutId || lay?.data?.formLayoutMultiple?.id || '');
|
|
157
|
+
if (!layoutId) {
|
|
158
|
+
throw new Error('取不到表单的布局 id,无法把生效维度设为「表单布局」'
|
|
159
|
+
+ `(${lay?.msg || 'getFormLayout 未返回 multipleLayoutId'})`);
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
effectType: 'formLayout', effectName: '表单布局', effectValue: layoutId,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
throw new Error(`未知的生效维度「${effect}」。可用:form(当前表单)、formLayout(表单布局),`
|
|
166
|
+
+ '或直接给一个 {effectType, effectName, effectValue} 对象');
|
|
167
|
+
}
|
|
168
|
+
if (!effect.effectType || !effect.effectValue) {
|
|
169
|
+
throw new Error('effect 对象至少要有 effectType 与 effectValue');
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
effectType: String(effect.effectType),
|
|
173
|
+
effectName: String(effect.effectName || effect.effectType),
|
|
174
|
+
effectValue: String(effect.effectValue),
|
|
175
|
+
optionName: effect.optionName,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* 「当前工作流」维度的选项显示名:**流程名 + `【V{活动版本号}】`**。
|
|
180
|
+
*
|
|
181
|
+
* 这不是拼着好看的 —— 设计器发的就是这个形状(流程叫 `11111`、报文里是 `11111【V1】`),
|
|
182
|
+
* 版本号取自流程的活动版本。取不到版本号时退回纯流程名,不编一个版本上去。
|
|
183
|
+
*/
|
|
184
|
+
export function workflowEffectName(name, activeVersionId) {
|
|
185
|
+
const base = String(name || '').trim();
|
|
186
|
+
const ver = activeVersionId === undefined || activeVersionId === null || activeVersionId === ''
|
|
187
|
+
? '' : String(activeVersionId);
|
|
188
|
+
return ver ? `${base}【V${ver}】` : base;
|
|
189
|
+
}
|
|
190
|
+
/** 从 `quickBuild/getAllVersionInfo` 的返回里挑出活动版本的 versionId。 */
|
|
191
|
+
export function activeVersionIdOf(versionRows) {
|
|
192
|
+
const rows = Array.isArray(versionRows) ? versionRows : [];
|
|
193
|
+
const active = rows.find((v) => v?.isActive === true || v?.isActive === 'true');
|
|
194
|
+
return String(active?.versionId ?? '');
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* **流程表单那条路由**的生效维度(四种)。从 `wf-form linkage` 的 action 里搬出来的 ——
|
|
198
|
+
* 函数联动同样要这四种,别再内联第二份。
|
|
199
|
+
*
|
|
200
|
+
* | 维度 | effectType | 取值 | 选项名 |
|
|
201
|
+
* |---|---|---|---|
|
|
202
|
+
* | 当前表单(缺省) | `form` | formId | `当前表单` |
|
|
203
|
+
* | 表单布局 | `formLayout` | `formLayoutMultiple.id` | 布局名 |
|
|
204
|
+
* | 当前工作流 | `workFlow` | workflowId | `流程名【V活动版本号】` |
|
|
205
|
+
* | 选择节点 | `includeNode` | nodeId | 节点名 |
|
|
206
|
+
*
|
|
207
|
+
* ⚠ 返回的 `refId` 是**这条联动挂在谁身上**,在这条路由上就是**流程 ID**;它**不等于**
|
|
208
|
+
* `optionList[0].effectValue` —— 选「选择节点」时取值是节点 ID,`refId` 仍是流程 ID。别照着取值抄。
|
|
209
|
+
*/
|
|
210
|
+
export async function resolveWorkflowEffect(client, baseUrl, ctx) {
|
|
211
|
+
const { formId } = ctx;
|
|
212
|
+
const workflowId = String(ctx.workflowId || '');
|
|
213
|
+
const key = String(ctx.dimension || '').trim();
|
|
214
|
+
const ebb = { ebbusinessid: formId };
|
|
215
|
+
const refId = workflowId || formId;
|
|
216
|
+
if (key === 'includeNode' || key === '选择节点') {
|
|
217
|
+
if (!workflowId) {
|
|
218
|
+
throw new Error('生效维度选「选择节点」时必须给 --workflow-id(要按它列节点,refId 也是它)');
|
|
219
|
+
}
|
|
220
|
+
const nodeKey = String(ctx.nodeKey || '').trim();
|
|
221
|
+
if (!nodeKey)
|
|
222
|
+
throw new Error('生效维度选「选择节点」时要在 config 里给 "nodeId"(或 "node" 写节点名)');
|
|
223
|
+
// 用 getNodeEditTable(与 `workflow nodes --mode list` 同一个),不是 getWorkflowNodesByWorkflowId
|
|
224
|
+
// —— 后者对刚建的流程回空,拿它查节点会全部找不到。
|
|
225
|
+
const meta = await client.get(`${baseUrl}/api/bs/workflow/pathdef/nodeBase/getNodeEditTable?workflowId=${workflowId}`);
|
|
226
|
+
const nodes = meta?.data?.data || [];
|
|
227
|
+
const hit = (Array.isArray(nodes) ? nodes : [])
|
|
228
|
+
.find((n) => String(n.id) === nodeKey || n.nodeName === nodeKey);
|
|
229
|
+
if (!hit) {
|
|
230
|
+
throw new Error(`在该流程里找不到节点「${nodeKey}」。用 \`workflow nodes ${workflowId} --mode list\` 看节点清单`);
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
refId,
|
|
234
|
+
effect: {
|
|
235
|
+
effectType: 'includeNode', effectName: '选择节点',
|
|
236
|
+
effectValue: String(hit.id), optionName: String(hit.nodeName || hit.id),
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
if (key === 'formLayout' || key === '表单布局') {
|
|
241
|
+
const wantLayout = String(ctx.layoutId || '');
|
|
242
|
+
const layBody = {
|
|
243
|
+
formId, module: ctx.module, customParam: {}, formTableIdList: [],
|
|
244
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
245
|
+
};
|
|
246
|
+
if (wantLayout)
|
|
247
|
+
layBody.layoutMultiId = wantLayout;
|
|
248
|
+
const lay = await client.post(`${baseUrl}${ctx.route}/builder/getFormLayout`, layBody, ebb);
|
|
249
|
+
const flm = lay?.data?.formLayoutMultiple || {};
|
|
250
|
+
const layoutId = String(flm.id || '');
|
|
251
|
+
if (!layoutId) {
|
|
252
|
+
throw new Error('取不到该流程表单的布局,无法把生效维度设为「表单布局」'
|
|
253
|
+
+ `(${lay?.msg || 'getFormLayout 未返回 formLayoutMultiple.id'})`);
|
|
254
|
+
}
|
|
255
|
+
return {
|
|
256
|
+
refId,
|
|
257
|
+
effect: { effectType: 'formLayout', effectName: '表单布局', effectValue: layoutId, optionName: String(flm.name || '') },
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
if (key === 'workFlow' || key === '当前工作流') {
|
|
261
|
+
if (!workflowId) {
|
|
262
|
+
throw new Error('生效维度选「当前工作流」时必须给 --workflow-id(该维度的取值和 refId 都是流程 ID)。'
|
|
263
|
+
+ '流程 ID 用 `workflow search --name <流程名>` 拿');
|
|
264
|
+
}
|
|
265
|
+
// 选项显示名带活动版本号,照设计器发出去的形状
|
|
266
|
+
const [wfRow, versions] = await Promise.all([
|
|
267
|
+
findWorkflowRow(client, baseUrl, workflowId),
|
|
268
|
+
client.get(`${baseUrl}/api/bs/workflow/pathdef/quickBuild/getAllVersionInfo?workflowId=${workflowId}`),
|
|
269
|
+
]);
|
|
270
|
+
const optName = workflowEffectName(String(wfRow?.workflowName || ''), activeVersionIdOf(versions?.data));
|
|
271
|
+
return {
|
|
272
|
+
refId,
|
|
273
|
+
effect: { effectType: 'workFlow', effectName: '当前工作流', effectValue: workflowId, optionName: optName },
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
refId,
|
|
278
|
+
effect: { effectType: 'form', effectName: '当前表单', effectValue: formId, optionName: '当前表单' },
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* 读 `--config`:`@` 开头当文件路径(UTF-8),否则当内联 JSON。
|
|
283
|
+
*
|
|
284
|
+
* 两个联动命令(eb 表 `form linkage add` 与工作流 `wf-form linkage`)共用 ——
|
|
285
|
+
* 前者支持 `@文件` 而后者不支持过,同一个 `--config` 两种行为,用起来会莫名其妙。
|
|
286
|
+
*/
|
|
287
|
+
export function readLinkageConfig(input) {
|
|
288
|
+
let raw = String(input ?? '');
|
|
289
|
+
if (raw.startsWith('@')) {
|
|
290
|
+
const filePath = raw.slice(1);
|
|
291
|
+
if (!existsSync(filePath)) {
|
|
292
|
+
throw new Error(`配置文件不存在: ${filePath}`);
|
|
293
|
+
}
|
|
294
|
+
raw = readFileSync(filePath, 'utf-8');
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
return JSON.parse(raw);
|
|
298
|
+
}
|
|
299
|
+
catch (e) {
|
|
300
|
+
throw new Error(`config JSON 解析失败: ${e.message}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/** 提交 `viewlinkage/add`。 */
|
|
304
|
+
export async function addLinkage(client, baseUrl, appId, formId, payload) {
|
|
305
|
+
return client.post(`${baseUrl}${ADD_PATH}?apid=${appId}`, payload, { ebbusinessid: formId });
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=form-linkage-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-linkage-condition.js","sourceRoot":"","sources":["../../src/services/form-linkage-condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,16 @@ export interface StyleTemplate {
|
|
|
6
6
|
export declare const isFlowLayout: (layoutType: string) => boolean;
|
|
7
7
|
/** 只用于展示和报错文案。 */
|
|
8
8
|
export declare const layoutCn: (layoutType: string) => string;
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* 读样式模板列表。两个端点都是**租户级**的模板清单(不是应用级),
|
|
11
|
+
* 所以**不需要 appId** —— `ebbusinessid` 用 formId 即可。
|
|
12
|
+
*/
|
|
13
|
+
export declare function fetchStyleTemplates(client: ApiClient, baseUrl: string, formId: string, layoutType: string): Promise<StyleTemplate[]>;
|
|
10
14
|
/**
|
|
11
15
|
* 把 `--style-template` 的输入解析成该布局类型下的 styleTemplateId。
|
|
12
16
|
*
|
|
13
17
|
* 传 id 时**会校验它确实属于这套**——这正是当初踩坑的地方:跨套 id 平台不报错、直接忽略。
|
|
14
18
|
* 列表取回条数正好等于单页上限时无法判断是否被截断,此时找不到只告警不拦,避免误杀。
|
|
15
19
|
*/
|
|
16
|
-
export declare function resolveStyleTemplateId(client: ApiClient, baseUrl: string,
|
|
20
|
+
export declare function resolveStyleTemplateId(client: ApiClient, baseUrl: string, formId: string, layoutType: string, input: string): Promise<StyleTemplate>;
|
|
17
21
|
//# sourceMappingURL=form-style-template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-style-template.d.ts","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6BnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,OAAgC,CAAC;AAEnF,kBAAkB;AAClB,eAAO,MAAM,QAAQ,GAAI,YAAY,MAAM,KAAG,MAAmD,CAAC;AAElG,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,
|
|
1
|
+
{"version":3,"file":"form-style-template.d.ts","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6BnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,OAAgC,CAAC;AAEnF,kBAAkB;AAClB,eAAO,MAAM,QAAQ,GAAI,YAAY,MAAM,KAAG,MAAmD,CAAC;AAElG;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB1B;AAoBD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
|
|
@@ -25,7 +25,11 @@ const PAGE_SIZE = 200;
|
|
|
25
25
|
export const isFlowLayout = (layoutType) => layoutType === 'FLOW';
|
|
26
26
|
/** 只用于展示和报错文案。 */
|
|
27
27
|
export const layoutCn = (layoutType) => (isFlowLayout(layoutType) ? '流式' : '表格式');
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* 读样式模板列表。两个端点都是**租户级**的模板清单(不是应用级),
|
|
30
|
+
* 所以**不需要 appId** —— `ebbusinessid` 用 formId 即可。
|
|
31
|
+
*/
|
|
32
|
+
export async function fetchStyleTemplates(client, baseUrl, formId, layoutType) {
|
|
29
33
|
const flow = isFlowLayout(layoutType);
|
|
30
34
|
const path = flow
|
|
31
35
|
? '/api/form/flow/template/list'
|
|
@@ -40,7 +44,7 @@ export async function fetchStyleTemplates(client, baseUrl, appId, formId, layout
|
|
|
40
44
|
pageNo: 1, pageSize: PAGE_SIZE, clientType: CLIENT_TYPE_PC, templateStatus: 1,
|
|
41
45
|
module: 'ebuilderform', customParam: { terminal: '' },
|
|
42
46
|
};
|
|
43
|
-
const res = await client.post(`${baseUrl}${path}
|
|
47
|
+
const res = await client.post(`${baseUrl}${path}`, body, { ebbusinessid: formId });
|
|
44
48
|
if (res?.code !== 200 || !res?.status) {
|
|
45
49
|
throw new Error(`读取${layoutCn(layoutType)}样式模板失败: ${res?.msg || '未知错误'}`);
|
|
46
50
|
}
|
|
@@ -70,8 +74,8 @@ function dupHint(dups) {
|
|
|
70
74
|
* 传 id 时**会校验它确实属于这套**——这正是当初踩坑的地方:跨套 id 平台不报错、直接忽略。
|
|
71
75
|
* 列表取回条数正好等于单页上限时无法判断是否被截断,此时找不到只告警不拦,避免误杀。
|
|
72
76
|
*/
|
|
73
|
-
export async function resolveStyleTemplateId(client, baseUrl,
|
|
74
|
-
const all = await fetchStyleTemplates(client, baseUrl,
|
|
77
|
+
export async function resolveStyleTemplateId(client, baseUrl, formId, layoutType, input) {
|
|
78
|
+
const all = await fetchStyleTemplates(client, baseUrl, formId, layoutType);
|
|
75
79
|
const cn = layoutCn(layoutType);
|
|
76
80
|
const trimmed = input.trim();
|
|
77
81
|
if (/^\d+$/.test(trimmed)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-style-template.js","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,2CAA2C;AAC3C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6BAA6B;AAC7B,MAAM,SAAS,GAAG,GAAG,CAAC;AAOtB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAW,EAAE,CAAC,UAAU,KAAK,MAAM,CAAC;AAEnF,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAElG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"form-style-template.js","sourceRoot":"","sources":["../../src/services/form-style-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,26 +34,69 @@
|
|
|
34
34
|
*
|
|
35
35
|
* 明细引用的参数对象需带 `sFormId`(明细表 id) + `sFormName`(明细表名)。
|
|
36
36
|
* 字段结构统一从 getEbField 取(主表 main + 明细 detail)。
|
|
37
|
+
*
|
|
38
|
+
* ## 模块字段(系统字段)
|
|
39
|
+
*
|
|
40
|
+
* `{主表.主表数据id}`、`{主表.当前日期}` 这类引用**不在** getEbField 的 main/detail 里,
|
|
41
|
+
* 得由调用方通过可选参数 `moduleColumns` 传进来(目前只有函数联动会传,来源是
|
|
42
|
+
* `linkage/findFormDrivingColumns` 的模块字段桶)。
|
|
43
|
+
*
|
|
44
|
+
* 下发时**一律写成裸标签**(`{主表.主表数据id}`)—— 语义键写法 `[formDataId]` 也会被归一到标签形态,
|
|
45
|
+
* 与平台落库的 `expressSql` 一致。不传 `moduleColumns` 时,模块字段仍按「未找到字段」报错(原有行为不变)。
|
|
46
|
+
*
|
|
47
|
+
* ## 选项引用(三段式)`{主表.性别.男}`
|
|
48
|
+
*
|
|
49
|
+
* 第三段是**选项名** —— 指「性别」字段里那个叫「男」的选项。
|
|
50
|
+
*
|
|
51
|
+
* 平台比的是**选项对象**,不是选项名的字符串:参数里带的是选项的 **`valueKey`**
|
|
52
|
+
* (`fieldType:"option"` + `id`=valueKey + `middleFieldIds`=[字段id],没有 `fieldId`/`title`)。
|
|
53
|
+
*
|
|
54
|
+
* 因此 `{主表.性别}=='男'` 这种写法**恒不成立** —— 它拿字段的 valueKey 去比字符串「男」。
|
|
55
|
+
* 要命的是平台**照收、不报错、回 200**,写完看着全绿、结果永远不对,所以解析时专门对
|
|
56
|
+
* 「选项型字段 vs 字符串字面量」出声警告。
|
|
57
|
+
*
|
|
58
|
+
* ⚠ 三段式**不能按第一个点切**:那样字段会变成 `性别.男`,然后报「未找到字段 性别.男」——
|
|
59
|
+
* 这正是「CLI 写不出选项比较」的老毛病(读得出来、写不回去)。必须整段切开数段数。
|
|
37
60
|
*/
|
|
38
61
|
import type { ApiClient } from '../core/client.js';
|
|
39
62
|
export interface FormulaParam {
|
|
40
63
|
dataTemplateId: string;
|
|
41
|
-
|
|
42
|
-
|
|
64
|
+
/** 业务字段有;**选项参数没有这个键** —— 平台靠 `middleFieldIds` 定位它属于哪个字段。 */
|
|
65
|
+
fieldId?: string;
|
|
66
|
+
formId?: string;
|
|
43
67
|
module: string;
|
|
44
68
|
properKey: string;
|
|
45
69
|
sFormId?: string;
|
|
46
70
|
sFormName?: string;
|
|
47
|
-
title
|
|
71
|
+
title?: string;
|
|
48
72
|
name: string;
|
|
49
|
-
|
|
50
|
-
|
|
73
|
+
/** eb 表那条路由必给;流程表单的函数联动报文里没有这个键,就留空。 */
|
|
74
|
+
appId?: string;
|
|
75
|
+
/** 业务字段是 `null`;**选项参数是选项的 `valueKey`**。 */
|
|
76
|
+
id: string | null;
|
|
77
|
+
fieldType?: string;
|
|
78
|
+
direct?: boolean;
|
|
79
|
+
del?: boolean;
|
|
80
|
+
middleFieldIds?: string[];
|
|
81
|
+
directFormId?: string;
|
|
82
|
+
parent?: string;
|
|
83
|
+
formulaParentVarList?: unknown[];
|
|
84
|
+
dataSourceField?: boolean;
|
|
85
|
+
repeat?: boolean;
|
|
86
|
+
groupData?: boolean;
|
|
51
87
|
}
|
|
52
88
|
/** 一处字段引用。 */
|
|
53
89
|
export interface FormulaRef {
|
|
54
90
|
/** 表名。`{主表.x}` → `'主表'`;`[x]` 这种不带表名的写法 → `null`(待按字段名反查)。 */
|
|
55
91
|
table: string | null;
|
|
56
92
|
field: string;
|
|
93
|
+
/**
|
|
94
|
+
* 选项引用 `{主表.性别.男}` 的**第三段**:选项名。普通字段引用没有这一段。
|
|
95
|
+
*
|
|
96
|
+
* ⚠ 必须写**完整三段**才有这段:`[性别.男]` 只有两段,仍按「明细表.字段名」读 ——
|
|
97
|
+
* 方括号的两段式是既有写法,二者无法区分,不给它开后门。
|
|
98
|
+
*/
|
|
99
|
+
option?: string;
|
|
57
100
|
/** 原文,报错回显用。 */
|
|
58
101
|
raw: string;
|
|
59
102
|
/** 在表达式中的起止位置,供归一化改写。 */
|
|
@@ -77,6 +120,10 @@ export interface FormulaParseResult {
|
|
|
77
120
|
* - `{主表.字段名}` / `{明细表名.字段名}` —— 平台存储格式
|
|
78
121
|
* - `[字段名]` / `[表名.字段名]` —— 设计器编辑器的写法
|
|
79
122
|
*
|
|
123
|
+
* **三段式是「选项引用」**:`{主表.性别.男}` 指「性别」字段里那个叫「男」的**选项**,
|
|
124
|
+
* 不是某个叫「性别.男」的字段。按第一个点切分会把字段读成 `性别.男`,然后报「未找到字段」——
|
|
125
|
+
* 那正是「用 CLI 表达不了选项比较」的老毛病(参数要的是选项的 valueKey,平台比的是选项对象)。
|
|
126
|
+
*
|
|
80
127
|
* 重复出现**不去重** —— 每个出现位置都要单独一个参数(见文件头说明)。
|
|
81
128
|
* 不做字符串字面量剔除:公式里写 `"["` 这种极端情况不在支持范围,误判会在解析阶段
|
|
82
129
|
* 报「未找到字段」,比静默错绑安全。
|
|
@@ -90,5 +137,50 @@ export declare function parseFormulaRefs(expression: string): FormulaRef[];
|
|
|
90
137
|
* 报错说的是真话:我们替用户要了个数字。
|
|
91
138
|
*/
|
|
92
139
|
export declare function defaultReturnType(fieldKey: string | undefined): string;
|
|
93
|
-
|
|
140
|
+
/**
|
|
141
|
+
* 模块字段(系统字段)。只有函数联动那条链路会用到 —— 普通公式的字段来源是 `getEbField`,
|
|
142
|
+
* 里面没有这些字段。
|
|
143
|
+
*
|
|
144
|
+
* 三种键的约定(来自 `linkage/findFormDrivingColumns` 的模块字段桶):
|
|
145
|
+
* - `id`:**语义键**(`formDataId` / `current_date` / `system_operator_department_id`),不是雪花 id
|
|
146
|
+
* - `name`:裸中文标签(`主表数据id`),表达式里写的就是它
|
|
147
|
+
* - `descType`:**全大写**(`TEXT` / `DATE` / `OBJECT`),可直接当 `properKey` 用
|
|
148
|
+
*
|
|
149
|
+
* 业务字段恰好相反:`id` 是雪花、`descType` 是驼峰(`Text` / `Money`)。
|
|
150
|
+
*/
|
|
151
|
+
export interface FormulaModuleColumn {
|
|
152
|
+
id: string;
|
|
153
|
+
name: string;
|
|
154
|
+
descType: string;
|
|
155
|
+
}
|
|
156
|
+
/** 业务字段与模块字段的字段来源。两条路由(eb 表的 `getEbField`、流程表单的 `getConfig`)
|
|
157
|
+
* 各自映射成这个形状,解析核只认它。 */
|
|
158
|
+
export interface FormulaRefContext {
|
|
159
|
+
/** 主表字段。元素形状沿用 `getEbField` 的 `{ id, showName, dataKey, componentKey }`,明细则用 `name`。 */
|
|
160
|
+
mainFields: any[];
|
|
161
|
+
/** 明细表:`{ detailTableId, tableName, fields: [] }`。 */
|
|
162
|
+
detailTables: any[];
|
|
163
|
+
moduleColumns?: FormulaModuleColumn[];
|
|
164
|
+
formId: string;
|
|
165
|
+
/** 公式参数的 `module`。eb 表 = `ebuilderform`;流程表单的函数联动 = `ebuildercard`。 */
|
|
166
|
+
module: string;
|
|
167
|
+
/** 给了才写 `appId` 键;`undefined` = 整个键不出现(流程表单那条路由就是这样)。 */
|
|
168
|
+
appId?: string;
|
|
169
|
+
/** 报错里指路的命令名,形如 `wf-form formula-linkage columns`。 */
|
|
170
|
+
hint?: string;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 引用解析与参数构建的**纯核** —— 不碰网络,字段来源由调用方注入。
|
|
174
|
+
*
|
|
175
|
+
* 两条路由共用它(eb 表的字段来源是 `getEbField`,流程表单是 `getConfig`),所以这里只放
|
|
176
|
+
* **与路由无关**的规则:方括号归一化成花括号、逐出现位置各给一份参数、明细引用带
|
|
177
|
+
* `sFormId`/`sFormName`、模块字段一律写裸标签、业务字段与模块字段撞名时业务字段胜出。
|
|
178
|
+
*/
|
|
179
|
+
export declare function resolveFormulaRefs(expression: string, ctx: FormulaRefContext): FormulaParseResult;
|
|
180
|
+
/**
|
|
181
|
+
* eb 表那条路由:先取字段来源(`getEbField`)再调解析核。
|
|
182
|
+
*
|
|
183
|
+
* @param moduleColumns 模块字段(系统字段)候选。只有函数联动会传;**不传时行为与加这个参数之前完全一致**。
|
|
184
|
+
*/
|
|
185
|
+
export declare function buildFormulaParameters(client: ApiClient, baseUrl: string, objId: string, appId: string, formId: string, expression: string, moduleColumns?: FormulaModuleColumn[]): Promise<FormulaParseResult>;
|
|
94
186
|
//# sourceMappingURL=formula-detail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-detail.d.ts","sourceRoot":"","sources":["../../src/services/formula-detail.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"formula-detail.d.ts","sourceRoot":"","sources":["../../src/services/formula-detail.ts"],"names":[],"mappings":"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"}
|