weaver-work-cli 0.1.24 → 0.1.26
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 +30 -21
- package/dist/cmd/root.js +1 -0
- package/dist/core/output.js +53 -1
- package/dist/core/runtime-agent.js +19 -0
- package/dist/internal/e10/auth/commands.js +58 -23
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +145 -53
- package/dist/internal/e10/context.js +5 -27
- package/dist/shortcuts/archive-oa/constants.js +66 -0
- package/dist/shortcuts/archive-oa/continuation.js +70 -0
- package/dist/shortcuts/archive-oa/errors.js +53 -0
- package/dist/shortcuts/archive-oa/host.js +157 -0
- package/dist/shortcuts/archive-oa/index.js +225 -0
- package/dist/shortcuts/archive-oa/manifest.js +62 -0
- package/dist/shortcuts/archive-oa/operations/borrow-car.js +159 -0
- package/dist/shortcuts/archive-oa/operations/borrow-url.js +108 -0
- package/dist/shortcuts/archive-oa/operations/confirm.js +48 -0
- package/dist/shortcuts/archive-oa/operations/contract.js +120 -0
- package/dist/shortcuts/archive-oa/operations/locate.js +50 -0
- package/dist/shortcuts/archive-oa/operations/registry.js +40 -0
- package/dist/shortcuts/archive-oa/operations/shared.js +181 -0
- package/dist/shortcuts/archive-oa/operations/types.js +45 -0
- package/dist/shortcuts/archive-oa/operations.js +13 -0
- package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
- package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
- package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
- package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
- package/dist/shortcuts/index.js +2 -0
- package/dist/shortcuts/invoice/host.js +2 -1
- package/dist/shortcuts/invoice/manifest.js +111 -0
- package/dist/shortcuts/invoice/operations/issuing-qys.js +361 -0
- package/dist/shortcuts/invoice/operations/issuing.js +5 -5
- package/dist/shortcuts/invoice/operations/registry.js +4 -0
- package/dist/shortcuts/workflow/endpoints.js +11 -0
- package/dist/shortcuts/workflow/host.js +2 -2
- package/dist/shortcuts/workflow/index.js +25 -1
- package/dist/shortcuts/workflow/operations/chatscene.js +270 -0
- package/dist/shortcuts/workflow/operations/form.js +2128 -244
- package/dist/shortcuts/workflow/operations/read.js +186 -41
- package/dist/shortcuts/workflow/operations/shared.js +25 -0
- package/dist/shortcuts/workflow/operations/sign-input.js +106 -0
- package/dist/shortcuts/workflow/operations/write.js +9 -1
- package/dist/shortcuts/workflow/stdout-compact.js +41 -0
- package/docs/archive-oa.md +79 -0
- package/docs/caizhilian.md +4 -3
- package/docs/e10-auth.md +13 -5
- package/node_modules/@napi-rs/keyring/LICENSE +21 -0
- package/node_modules/@napi-rs/keyring/README.md +19 -0
- package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
- package/node_modules/@napi-rs/keyring/index.js +514 -0
- package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
- package/node_modules/@napi-rs/keyring/keytar.js +26 -0
- package/node_modules/@napi-rs/keyring/package.json +125 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/package.json +5 -1
- package/skill-template/business-info.json +16 -0
- package/skill-template/domains/archive-oa.md +19 -0
- package/skill-template/domains/yepiaotong.md +2 -2
- package/skills/weaver-e10-archive-oa/SKILL.md +159 -0
- package/skills/weaver-e10-archive-oa/references/archive-locate.md +49 -0
- package/skills/weaver-e10-archive-oa/references/borrow-car.md +76 -0
- package/skills/weaver-e10-archive-oa/references/borrow-flow.md +53 -0
- package/skills/weaver-e10-archive-oa/references/contract-search.md +63 -0
- package/skills/weaver-e10-archive-oa/references/disabled-capabilities.md +29 -0
- package/skills/weaver-e10-archive-oa/references/qys-contract-search.md +47 -0
- package/skills/weaver-e10-archive-oa/references/source-manifest.json +400 -0
- package/skills/weaver-e10-builder/SKILL.md +303 -0
- package/skills/weaver-e10-builder/_catalog.md +94 -0
- package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
- package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
- package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
- package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
- package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
- package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
- package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
- package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
- package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
- package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
- package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
- package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
- package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
- package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
- package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
- package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
- package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
- package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
- package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
- package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
- package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
- package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
- package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
- package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
- package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
- package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
- package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
- package/skills/weaver-e10-builder/assets/icons.db +0 -0
- package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
- package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
- package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
- package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
- package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
- package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
- package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
- package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
- package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
- package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
- package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
- package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
- package/skills/weaver-e10-builder/references/common/map.md +153 -0
- package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
- package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
- package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
- package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
- package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
- package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
- package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
- package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
- package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
- package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
- package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
- package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
- package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
- package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
- package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
- package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
- package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
- package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
- package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
- package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
- package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
- package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
- package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
- package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
- package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
- package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
- package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
- package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
- package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
- package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
- package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
- package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
- package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
- package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
- package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
- package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
- package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
- package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
- package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
- package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
- package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
- package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
- package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
- package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
- package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
- package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
- package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
- package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
- package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
- package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
- package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
- package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
- package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
- package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
- package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
- package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
- package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
- package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
- package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
- package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
- package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
- package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
- package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
- package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
- package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
- package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
- package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
- package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
- package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
- package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
- package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
- package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
- package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
- package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
- package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
- package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
- package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
- package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
- package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
- package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
- package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
- package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
- package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
- package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
- package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
- package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
- package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
- package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
- package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
- package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
- package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
- package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
- package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
- package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
- package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
- package/skills/weaver-e10-caizhilian/SKILL.md +43 -16
- package/skills/weaver-e10-caizhilian/references/agent-entry.md +7 -3
- package/skills/weaver-e10-caizhilian/references/collaboration.md +5 -3
- package/skills/weaver-e10-caizhilian/references/document.md +33 -11
- package/skills/weaver-e10-caizhilian/references/file-collection.md +4 -3
- package/skills/weaver-e10-caizhilian/references/file-upload.md +2 -3
- package/skills/weaver-e10-caizhilian/references/files.md +23 -2
- package/skills/weaver-e10-caizhilian/references/folder.md +48 -16
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +61 -42
- package/skills/weaver-e10-caizhilian/references/setting-backup.md +13 -51
- package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +20 -51
- package/skills/weaver-e10-caizhilian/references/setting-storage.md +82 -147
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
- package/skills/weaver-e10-caizhilian/references/withheld.md +20 -44
- package/skills/weaver-e10-shared/SKILL.md +24 -18
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +16 -15
- package/skills/weaver-e10-shared/references/non-interactive-environment.md +10 -10
- package/skills/weaver-e10-workflow/SKILL.md +23 -44
- package/skills/weaver-e10-workflow/references/source-manifest.json +40 -25
- package/skills/weaver-e10-workflow/references/workflow-create.md +278 -85
- package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
- package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
- package/skills/weaver-e10-yepiaotong/SKILL.md +10 -7
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +49 -1
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +66 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +59 -36
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +54 -509
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +182 -345
- package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -5
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +153 -345
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +5 -5
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +182 -154
- package/skills/weaver-e10-yepiaotong/references/source-manifest.json +96 -0
- package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +0 -119
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# 应用内数据源查找(强制优先级)
|
|
2
|
+
|
|
3
|
+
> **适用**:能力一/五、API 从零搭建报表时,需要把「需求里的表单/数据源名称」解析为 `sourceId`。
|
|
4
|
+
> **核心规则**:**先当前应用、后别处**;命中即停;**禁止**固定 `sleep`;**禁止**为找表启动 浏览器自动化 开应用页。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 一、判定顺序(任务开始后第一步)
|
|
9
|
+
|
|
10
|
+
| 输入 | 解析 appId | 找 sourceId |
|
|
11
|
+
|------|------------|-------------|
|
|
12
|
+
| **appId + 数据源名** | 直接用 | **① 应用内**(§二)→ 未命中再 **② 别处**(§三,有限次) |
|
|
13
|
+
| **appName + 数据源名** | `GET /api/bs/ebuilder/app/list?name={appName}&pageNo=1&pageSize=20` **1 次** | 同上 |
|
|
14
|
+
| **仅数据源名,无 app** | — | 直接 §三(须带关键字) |
|
|
15
|
+
| **appId + sourceId 已给** | 直接用 | **跳过查找**,直接 `addDataset` |
|
|
16
|
+
|
|
17
|
+
**禁止(已指定 app 时的首轮)**:
|
|
18
|
+
|
|
19
|
+
- 一上来就 `GET /ds/group` 全系统遍历
|
|
20
|
+
- 对每个 `groupId` 循环 `listByPage` 空扫
|
|
21
|
+
- 多 module(`ebuilder` / `bs` / `datasource`)无关键字轮询试探
|
|
22
|
+
- **先拉系统级分页再本地过滤「当前应用」**(分页也必须带 appId)
|
|
23
|
+
- **`sleep` / `setTimeout` 固定等待** 代替「读接口直到有数据」
|
|
24
|
+
- **浏览器自动化 打开应用详情页** 扫网络找表单( ~17s,且非必要)
|
|
25
|
+
|
|
26
|
+
**强制优先级**:`e10-cli report find` = `getList/{appId}` → 未命中再问用户 / 有限次应用内关键字 listByPage → **最后**才别处。
|
|
27
|
+
见 `session-build-performance-guide.md` §二。
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 二、应用内查找(已指定 appId · 优先 · 通常 1 次)
|
|
32
|
+
|
|
33
|
+
### 2.0 未指定准确表名(强制 · 二次确认)
|
|
34
|
+
|
|
35
|
+
> **事故模式**:需求只写业务描述(如「资产统计」「党员发展」)未给表单名 → Agent 模糊匹配错表 → 数据集字段对不上。
|
|
36
|
+
|
|
37
|
+
| 用户输入 | Agent 行为 | 绑定 |
|
|
38
|
+
|----------|------------|------|
|
|
39
|
+
| **已给准确表名** 且应用内 **exact 唯一** | 可 `find form` 后绑定 | `autoBind=true`(建议仍口头确认) |
|
|
40
|
+
| **未给表名** / 只给业务词 / 报表名 | **只在当前应用** `getList/{appId}` 检索 → 按关键字打分出候选 | **`needConfirm=true`,禁止 addDataset** |
|
|
41
|
+
| **模糊命中 1 条或多条** | 展示候选(表名 + sourceId) | **必须等用户确认** 后再绑 |
|
|
42
|
+
| 应用内无候选 | 问用户准确表名/sourceId;**禁止**立刻全系统 `/ds/group` | 不绑 |
|
|
43
|
+
|
|
44
|
+
**二次确认话术(强制)**:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
需求未指定准确表名。已在当前应用内检索到以下候选,请确认用哪一张(回复表名或 sourceId):
|
|
48
|
+
1. {nameA}(sourceId=…)
|
|
49
|
+
2. {nameB}(sourceId=…)
|
|
50
|
+
若都不是,请给出准确表单名或 sourceId。
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**禁止**:未确认就 `addDataset` / 落库绑字段;禁止用报表标题「看起来像」的表直接当数据源。
|
|
54
|
+
|
|
55
|
+
CLI:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
e10-cli report find <appId> --list
|
|
59
|
+
e10-cli report find <appId> --suggest "资产,台账"
|
|
60
|
+
e10-cli report find <appId> "准确表单名" # exact 才可 autoBind
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
exit code **3** = 须二次确认(`needConfirm=true`)。
|
|
64
|
+
|
|
65
|
+
按优先级尝试,**命中即停**(合计计入 §六预算):
|
|
66
|
+
|
|
67
|
+
### 2.1 【首选 · eteams 已验证】应用表单列表
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
GET /api/bs/ebuilder/form/obj/getList/{appId}?apid={appId}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- Header:`eteamsid` + `Cookie: ETEAMSID=…` + `ebBusinessId={appId}`
|
|
74
|
+
- 响应为应用内表单数组(或包在 `data`);按 `name` **精确或包含**匹配需求表名
|
|
75
|
+
- 取命中项的 **`id`** 作为 `sourceId`(`addDataset` 用)
|
|
76
|
+
- **示例**:应用 `786501450842480640` 中「进销存-销售单」→ `787599094054395904`
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
async function findFormInApp(host, headers, appId, formName) {
|
|
80
|
+
const j = await get(`${host}/api/bs/ebuilder/form/obj/getList/${appId}`, { apid: appId }, headers);
|
|
81
|
+
const rows = Array.isArray(j.data) ? j.data : Array.isArray(j) ? j : j.data?.list || [];
|
|
82
|
+
const exact = rows.find((r) => r.name === formName);
|
|
83
|
+
if (exact) return String(exact.id);
|
|
84
|
+
const fuzzy = rows.find((r) => String(r.name || '').includes(formName) || formName.includes(String(r.name || '')));
|
|
85
|
+
return fuzzy ? String(fuzzy.id) : null;
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 2.2 CLI(表单类 · 优先)
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
e10-cli report find <appId> <表单名> # 推荐(本包唯一 CLI 入口)
|
|
93
|
+
node e10-cli report find <appId> <表单名> # 仅 CLI 未装时
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
若 `e10-cli report` auth 与 `e10-login` 不同步失败 → **改走 §2.1**,不要去找 e10-cli。
|
|
97
|
+
|
|
98
|
+
字段核对(已有 sourceId 后):
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# 报表侧(推荐):
|
|
102
|
+
# GET /api/bs/edc/dataset/fieldsBySource?sourceId=&sourceType=logic&groupId=weaver-ebuilder-form-service
|
|
103
|
+
# 或 addDataset 后 fieldsAndOriginFields?isFront=true
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 2.3 HTTP 备用(仅当 §2.1 失败)
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
GET /api/datasource/ds/listByPage?sourceType=logic&appid={appId}&condition={关键字}&pageNo=1&pageSize=50
|
|
110
|
+
GET /api/ebuilder/form/ds/listByPage?sourceType=LOGIC&groupId=0&name={关键字}&appId={appId}&pageNo=1&pageSize=50
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> **注意**:部分环境 `form/ds/listByPage` 会 500;**不要**因此改去开 浏览器自动化,应回退 §2.1 或进入 §三 / 询问用户。
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 三、别处检索(应用内未命中 或 未给 app)
|
|
118
|
+
|
|
119
|
+
**仅当**:应用内 §二已试完仍无命中,**或**用户未指定应用。
|
|
120
|
+
|
|
121
|
+
1. `GET /api/datasource/ds/listByPage`(或 `/api/{module}/ds/listByPage`)带 **`name`/`condition` 关键字** + 必要时 `groupId`
|
|
122
|
+
2. **禁止**无关键字翻页扫全库
|
|
123
|
+
3. 仍计入 §六预算;用尽 → **打断询问**,不要继续盲扫
|
|
124
|
+
|
|
125
|
+
> ** 坑(<your-e10-host>)**:按「应用名」找应用这条路在本环境不可用 ——
|
|
126
|
+
> `GET /api/bs/ebuilder/app/list?name={kw}` 与 `e10-cli report app-search --name {kw}` **服务端忽略 `name`**,
|
|
127
|
+
> 恒返回全量 998 条且顺序固定,**不能**靠它定位应用。找不到表时:直接用 `ds/listByPage` 关键字搜数据源,或向用户要 appId/sourceId。
|
|
128
|
+
|
|
129
|
+
若用户其实给了应用名但 Agent 漏解析 → 应先补 `app/list` 再回 §二,而不是直接全系统扫。
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 四、与报表 API 闭环(禁止固定 sleep)
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
解析 appId(若需要,最多 1 次 app/list)
|
|
137
|
+
→ findFormInApp / §二(优先 getList)
|
|
138
|
+
→ [未命中] §三 别处(有限次)
|
|
139
|
+
→ POST addDataset(sourceId)
|
|
140
|
+
→ poll GET dataset/list?reportId= 直到出现匹配 sourceId 的行(见下)
|
|
141
|
+
→ GET fieldsAndOriginFields?datasetId=&isFront=true&reportId=
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 4.1 addDataset 后:轮询代替 sleep(强制)
|
|
145
|
+
|
|
146
|
+
**禁止** `await sleep(800)` / `setTimeout(800)` 之类固定等待。
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
async function waitDatasetBySource(reportId, sourceId, { tries = 8, gapMs = 100 } = {}) {
|
|
150
|
+
for (let i = 0; i < tries; i++) {
|
|
151
|
+
const list = await getDatasetList(reportId); // GET /api/bs/edc/dataset/list?hasField=true&reportId=
|
|
152
|
+
const hit = (list || []).find((d) => String(d.sourceId) === String(sourceId));
|
|
153
|
+
if (hit) return hit;
|
|
154
|
+
await new Promise((r) => setTimeout(r, gapMs)); // 仅短间隔重试,非「盲等 800ms」
|
|
155
|
+
}
|
|
156
|
+
throw new Error(`dataset not ready for sourceId=${sourceId}`);
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
- 首包常立刻命中(~60ms);未就绪再 100ms 级重试,总等待远小于固定 800ms。
|
|
161
|
+
- `addDataset` 不返回 `datasetId` → **必须**按 **sourceId** 匹配,禁止按下标 `[0]`。
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 五、HTTP 客户端优先(强制 · 性能)
|
|
166
|
+
|
|
167
|
+
| 做法 | 说明 |
|
|
168
|
+
|------|------|
|
|
169
|
+
| **首选** | Node `https` / `fetch` / 浏览器自动化 **仅** `request` API 发 HTTP(若已有 context) |
|
|
170
|
+
| **禁止为找表** | `chromium.launch` + `page.goto(应用详情)` 扫表单(~0.6s+0.5s+打开页数秒) |
|
|
171
|
+
| **禁止为纯 API 建表** | 仅为 `baseInfo/addDataset/save` 而启动浏览器;用 https + multipart 即可 |
|
|
172
|
+
|
|
173
|
+
纯 API 路径找表 + 建表可压到数秒;浏览器自动化 启浏览器 alone ≈ **1s+**。
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 六、探测预算与打断询问(强制 · 防空耗)
|
|
178
|
+
|
|
179
|
+
### 6.1 单次任务硬上限
|
|
180
|
+
|
|
181
|
+
| 项 | 上限 | 说明 |
|
|
182
|
+
|----|------|------|
|
|
183
|
+
| 应用解析 `app/list` | **1** | 已有 appId 则 0 |
|
|
184
|
+
| **应用内**找表(`getList` / `form list` / scoped listByPage) | **合计 ≤ 2** | 换关键字也算;命中即停 |
|
|
185
|
+
| **别处** `group` + `listByPage`(应用内未中或未给 app) | **合计 ≤ 3** | 必须带 name;禁止翻页空扫 |
|
|
186
|
+
| 同一关键字换 module 无脑重试 | **禁止** | |
|
|
187
|
+
| 固定 `sleep` ≥ 300ms 等数据集 | **禁止** | 用 §4.1 轮询 |
|
|
188
|
+
| 浏览器自动化 开应用页找表 | **禁止** | |
|
|
189
|
+
|
|
190
|
+
### 6.2 何时必须打断并询问用户
|
|
191
|
+
|
|
192
|
+
1. §6.1 预算用尽仍无唯一命中。
|
|
193
|
+
2. 关键字命中多条,无法确认。
|
|
194
|
+
3. 表名与应用内列表对不上。
|
|
195
|
+
4. 连续 2 轮仍在换词/换接口盲扫。
|
|
196
|
+
5. **用户未指定准确表名**(仅业务描述/报表名)→ 应用内 `--suggest`/`--list` 后 **二次确认**(§2.0);**禁止**静默绑定。
|
|
197
|
+
6. **模糊匹配**(`match=fuzzy`)→ 即使只有 1 条也必须确认。
|
|
198
|
+
|
|
199
|
+
询问:应用?准确表名或 **sourceId**?多候选点选哪张?
|
|
200
|
+
|
|
201
|
+
### 6.3 禁止的空耗行为
|
|
202
|
+
|
|
203
|
+
- 未给 app 时先全系统 group「碰运气」
|
|
204
|
+
- 已给 app 却跳过 §二直接别处扫
|
|
205
|
+
- 固定 sleep、开浏览器扫页、输出长探测日志代替提问
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 七、耗时对照(优化目标)
|
|
210
|
+
|
|
211
|
+
| 路径 | 典型耗时 | 说明 |
|
|
212
|
+
|------|----------|------|
|
|
213
|
+
| `getList/{appId}` 应用内命中 | **~0.2–0.5s** | **推荐** |
|
|
214
|
+
| 固定 sleep(800) + 浏览器自动化 启浏览器 | **~2s+** | **禁止** |
|
|
215
|
+
| 浏览器自动化 打开应用详情扫表单 | **~15–20s** | **禁止** |
|
|
216
|
+
| 全系统 group 遍历 | **数秒~数十秒** | 仅 §三兜底 |
|
|
217
|
+
|
|
218
|
+
API 从零搭建:数据源定位应控制在 **2 秒内**(已给 app 时);整段建表(已知名)目标 **≤ 5s**(不含用户确认)。
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 八、与现有文档关系
|
|
223
|
+
|
|
224
|
+
| 文档 | 关系 |
|
|
225
|
+
|------|------|
|
|
226
|
+
| `e10-cli report find` | 应用内 `getList` 找 sourceId(无 sleep/无浏览器) |
|
|
227
|
+
| `api-report-build-fast-path.md` | 建表流程 §〇 / 性能纪律引用本节 |
|
|
228
|
+
| `datasource-metadata-guide.md` | 有 app → 本节;无 app → §三 |
|
|
229
|
+
| `datasource-selection-and-parent-filter-guide.md` | 少挂源 |
|
|
230
|
+
| `e10-cli-integration.md` | 本包不含 e10-cli;勿扫描 |
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# 单元格配置回显契约(数字格式 / 日期分组 / 统计等)
|
|
2
|
+
|
|
3
|
+
> **根因(已验证 · 设计器 `main.js` `getFormaterInfo`)**:工具栏「数字格式」按下拉回显时,用 `getFormaterInfo(formatter, formatterType)` 在目录中查找:`item.id === formatter || item.key1 === formatterType[0]`。
|
|
4
|
+
> 若只写了近似的 `formatter`(如 `¥#,##0.00`)而 `formatterType` 仍为 `["common"]`,会**命中「常规」**,预览可能仍按货币算,但工具栏回显为「常规」。
|
|
5
|
+
> **日期分组**等右侧属性回显依赖 `fields[].groupType`(及 workbook `style.cellType.groupType`);重建 workbook 时 **禁止丢** `groupType` / `formatterType`。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 一、硬约束
|
|
10
|
+
|
|
11
|
+
1. **写数字格式必须「formatter + formatterType」成对**,且取值来自下表目录,禁止自造格式串。
|
|
12
|
+
2. **写日期分组必须写 `groupType` 枚举**(见 §三),并写入 `fields[].groupType` + workbook `style.cellType.groupType`。
|
|
13
|
+
3. **重建 workbook(`fieldToCell`)须透传**:`groupType`、`formatterType`、`countType`、`orderType`、`displayType`、`expandType`;`tag.formatterType` 与 `fields[].formatterType` 一致。
|
|
14
|
+
4. **禁止整表一键刷单元格样式/边框**(用户未点名区域时):见 `user-request-scope-only-guide.md`;若用户要求「整表设样式」→ **提示不支持全量**,请其给出区域(如 B3:H5)。
|
|
15
|
+
5. **字体/字号**须匹配设计器支持列表;不支持时 **提示用户**,按默认字号继续落库,**不要卡住**(见 §五)。
|
|
16
|
+
6. **同款样式复用(强制 · 性能)**:多个单元格配置**相同**数字格式/字体/边框/对齐时 → **只校验/确认一次**,其余格 **深拷贝同一 style 模板**;**禁止**逐格再跑 `validate format`、禁止逐格翻 JSON 样例对照。
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 一补充、同款样式复用(强制)
|
|
21
|
+
|
|
22
|
+
| 场景 | 正确做法 | 禁止 |
|
|
23
|
+
|------|----------|------|
|
|
24
|
+
| N 个度量列都要「货币」 | `e10-cli report validate format --map "货币"` **一次** → 得到成对 formatter/formatterType → 赋给所有目标格 | 对每一格再 `--map` / 再读一遍样例 JSON |
|
|
25
|
+
| 同区标题行同字体同色 | 建 `styleHeader` 对象,循环 `Object.assign` / 结构化克隆 | 每格单独拼 style、每格问目录 |
|
|
26
|
+
| 交付前抽检 | 对**唯一样式指纹**各验 1 次即可 | 按 cells.length 循环 `validate format --file` |
|
|
27
|
+
|
|
28
|
+
**指纹示例**:`formatterType[0] + '|' + formatter + '|' + font + '|' + backColor`
|
|
29
|
+
相同指纹 → 直接复用已通过的 style 对象引用(或深拷贝),**不再**走 JSON 样例确认。
|
|
30
|
+
|
|
31
|
+
## 二、数字格式目录(工具栏回显参照)
|
|
32
|
+
|
|
33
|
+
> 来源:设计器静态资源 `main.js` 中格式下拉 `g()` 目录。`¥` 为全角 `U+FFE5`(JSON 中写 `\uFFE5`)。
|
|
34
|
+
|
|
35
|
+
| 中文(工具栏) | `style.formatter`(必须全等) | `formatterType[0]`(key1) |
|
|
36
|
+
|----------------|------------------------------|----------------------------|
|
|
37
|
+
| 常规 | `General` | `common` |
|
|
38
|
+
| 数值 | `0.00_);[Red](0.00)` | `value` |
|
|
39
|
+
| **货币** | `"¥"#,##0.00_);[Red]("¥"#,##0.00)` | **`huobi`** |
|
|
40
|
+
| 会计专用 | `_ "¥"* #,##0.00_ ;_ "¥"* -#,##0.00_ ;_ "¥"* "-"??_ ;_ @_ ` | `kuaiji` |
|
|
41
|
+
| 短日期 | `yyyy/m/d;@__@` | `shortdate` |
|
|
42
|
+
| 长日期 | `yyyy"年"m"月"d"日";@` | `longdate` |
|
|
43
|
+
| 时间 | `h:mm:ss;@` | `time` |
|
|
44
|
+
| 百分比 | `0.00%` | `percent` |
|
|
45
|
+
| 分数 | `# ?/?` | `fenshu` |
|
|
46
|
+
| 科学计数 | `0.00E+00` | `kexuejishu` |
|
|
47
|
+
| 文本 | `@` | `text` |
|
|
48
|
+
| 其他 | (自定义) | `custom` |
|
|
49
|
+
|
|
50
|
+
### 错误写法(会导致回显「常规」)
|
|
51
|
+
|
|
52
|
+
| 错误 | 原因 |
|
|
53
|
+
|------|------|
|
|
54
|
+
| `formatter: "¥#,##0.00"` + `formatterType: ["common"]` | id 不在目录;key1=common → 命中常规 |
|
|
55
|
+
| 只改 `formatter`、不改 `formatterType` | key1 仍为 common → 常规 |
|
|
56
|
+
| 半角 `¥`(U+00A5)代替全角 `¥`(U+FFE5) | 与目录 id 不全等 |
|
|
57
|
+
|
|
58
|
+
### 正确写入示例(货币)
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"style": {
|
|
63
|
+
"formatter": "\"¥\"#,##0.00_);[Red](\"¥\"#,##0.00)"
|
|
64
|
+
},
|
|
65
|
+
"formatterType": ["huobi"],
|
|
66
|
+
"tag": { "formatterType": ["huobi"] }
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
UI 内部拼串形态(勿原样当 formatter):`"<formatter>__@__<key1>"`,如 `..."__@__huobi`。
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 三、日期分组(右侧「单元格」面板回显)
|
|
75
|
+
|
|
76
|
+
| 中文 | `groupType`(落库 / cellType) |
|
|
77
|
+
|------|-------------------------------|
|
|
78
|
+
| 不设置 | `none`(或未设置;面板默认) |
|
|
79
|
+
| **年份** | **`year`** |
|
|
80
|
+
| 年月 | `yearmonth`(部分 UI 文案控件曾用 `yearAndMonth`,**落库一律 `yearmonth`**) |
|
|
81
|
+
| 月份 | `month` |
|
|
82
|
+
| 年月日 | `yearmonthday` |
|
|
83
|
+
| 年周 | `yearweekday` |
|
|
84
|
+
| 月周 | `monthweekday` |
|
|
85
|
+
|
|
86
|
+
### 写入要求
|
|
87
|
+
|
|
88
|
+
1. `fields[].groupType = "year"`(等)
|
|
89
|
+
2. workbook `style.cellType.groupType` 同步(`fieldToCell` 必须带上,禁止只改 fields 行却重建时丢掉)
|
|
90
|
+
3. 回读校验:`getReportDevInfo` → 目标格 `groupType` 等于预期
|
|
91
|
+
4. **选中正确单元格再看回显**(例:D5=年月字段才看「日期分组」;在金额格上看必然是「不设置」)
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 四、其它常见配置项回显对照(检查清单)
|
|
96
|
+
|
|
97
|
+
| 设计器位置 | 配置项 | 回显字段 | 注意 |
|
|
98
|
+
|------------|--------|----------|------|
|
|
99
|
+
| 开始 · 数字格式 | 常规/货币/… | `style.formatter` + `formatterType`/`tag.formatterType` | §二 成对 |
|
|
100
|
+
| 单元格 · 日期分组 | 年份/年月/… | `groupType` | §三 |
|
|
101
|
+
| 单元格 · 显示 | 分组/列表/… | `displayType` | `Group` / `List` / … |
|
|
102
|
+
| 单元格 · 扩展 | 纵向/横向/不扩展 | `expandType` | |
|
|
103
|
+
| 单元格 · 汇总 | 求和/计数/… | `countType` | |
|
|
104
|
+
| 单元格 · 排序 | 升/降/无 | `orderType` | `asc`/`desc`/`no` |
|
|
105
|
+
| 开始 · 字体 | 字体名/字号/粗斜体/下划线 | `style.font`、`textDecoration` | §五 |
|
|
106
|
+
| 开始 · 颜色/填充/边框 | fore/back/border* | `style.*` | 禁止未点名整表刷 |
|
|
107
|
+
| 左父格筛选 | 筛选字段 | `leftFilterField` 完整 fieldKey | 见 cross-dataset 回显 |
|
|
108
|
+
| 查询条件 | 类型/默认值 | saveQueryItem 形态 | 见 query-condition 回显 |
|
|
109
|
+
| 数据集名 | 左侧列表名 | addDataset `sourceName`=`{表}(业务模块)` | 见 add-dataset |
|
|
110
|
+
|
|
111
|
+
**原则**:凡设计器有下拉/单选回显的项,必须以**平台枚举/目录全等值**写入;「看起来生效、面板不对」优先查是否写了近似值或缺了成对字段。
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 五、字体与字号(不支持时提示、不卡住)
|
|
116
|
+
|
|
117
|
+
1. 写入前用 CLI `validate format` / 本指南目录校验字体、字号是否在设计器支持列表内。
|
|
118
|
+
2. **不支持**(例:用户要 10 号但当前租户目录无 10)→ **明确提示用户**:「报表不支持 N 号字体,已按默认字号(通常 12)展示」→ **继续用默认字号落库**,禁止中断任务。
|
|
119
|
+
- **禁止变通**:不要手工换算 px(如 10pt→`13.3333px`)绕过目录。后端不校验会照存,但设计器无该项、工具栏回显异常,属于假装支持。
|
|
120
|
+
3. 字体名优先使用设计器可选名(如 `微软雅黑`);未知字体 → 提示并回退默认字体,同样不卡住。
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 六、禁止整表全量设样式 / 边框(提示话术)
|
|
125
|
+
|
|
126
|
+
用户要求「整表单元格样式 / 整表边框」时:
|
|
127
|
+
|
|
128
|
+
> **不支持**:报表不允许对**整个报表**一次性全量设置单元格样式或边框样式(易误伤未点名区域,且与「仅改用户点名项」冲突)。
|
|
129
|
+
> 请给出具体区域(如 `B3:H5` 或「表头行」),我再按区域设置。
|
|
130
|
+
|
|
131
|
+
然后 **不要执行**整表 style/border patch。
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 七、CLI
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# 校验 / 规范化数字格式与日期分组(不落库)
|
|
139
|
+
e10-cli report validate format --map "货币"
|
|
140
|
+
# 「转换」面板(字段转换/HTML/条码/隐藏/文字方向)→ cell-transform-guide.md
|
|
141
|
+
e10-cli report validate transform --map "人员"
|
|
142
|
+
e10-cli report validate transform --map "部门全路径"
|
|
143
|
+
e10-cli report validate transform --list
|
|
144
|
+
```
|
|
145
|
+
e10-cli report validate format --map "货币"
|
|
146
|
+
e10-cli report validate format --map "年份"
|
|
147
|
+
e10-cli report validate format --file cell.json
|
|
148
|
+
|
|
149
|
+
# 线上回读检查(formatterType 与 groupType)
|
|
150
|
+
e10-cli report verify format <reportId> [appId]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
脚本:`e10-cli report verify format`。
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 八、Agent 检查清单
|
|
158
|
+
|
|
159
|
+
- [ ] 货币等格式:formatter **全等**目录 id,且 `formatterType`/`tag` = 对应 key1(货币=`huobi`)
|
|
160
|
+
- [ ] 日期分组:`groupType` 为 `year`/`yearmonth`/…;workbook cellType 未丢
|
|
161
|
+
- [ ] 重建 workbook 使用已修补的 `fieldToCell`(透传 groupType/formatterType)
|
|
162
|
+
- [ ] 未点名禁止整表刷样式/边框;不支持字号已提示并默认继续
|
|
163
|
+
- [ ] 回读 VERIFY:目标格 `formatter`+`formatterType`、`groupType` 与需求一致
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# 单元格「转换」面板(强制)
|
|
2
|
+
|
|
3
|
+
> **UI**:设计器右侧 **单元格 → 转换**(选中 Field 格时)
|
|
4
|
+
> **源码**:`AnalysisFieldCellType` · `Trans.getTransInstance` · 设计器 `route_ReportDesigner`
|
|
5
|
+
> **CLI**:`e10-cli report validate transform --map "人员"` / `--file cell.json`
|
|
6
|
+
> **落库**:须同时写入 `fields[]` 与 workbook `style.cellType`(`fieldToCell` 已透传)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 〇、结论(扫描结果)
|
|
11
|
+
|
|
12
|
+
| UI 能力 | 落库键 | Skill 此前 | 现状 |
|
|
13
|
+
|---------|--------|------------|------|
|
|
14
|
+
| 字段转换(人员/部门/…) | `transType` + `browserType` / `transSelectOptions` | 帮助文案不全;`report-data-model` 枚举**错误** | **本文 + validate + fieldToCell** |
|
|
15
|
+
| HTML转换 | **`isHtml`** `"0"|"1"`(不是 transType) | 未正确文档化 | ✅ |
|
|
16
|
+
| 前缀/后缀 | **`prefixAndSuffix`** `["前","后"]` | 仅一笔带过 | ✅ |
|
|
17
|
+
| 条码 | **`qrcodeType`** `no|barcode|qrcode`(± `qrcodelink`) | 误写成 FieldType | ✅ |
|
|
18
|
+
| 隐藏内容 | **`hiddenContext`** `"0"|"1"`(拼写 Context) | 易与显示方式混淆 | ✅ |
|
|
19
|
+
| 文字方向 | **`textDirection`** 枚举 | 知识库有枚举、无面板映射 | ✅ |
|
|
20
|
+
|
|
21
|
+
**禁止**再用 `person` / `department` / `image` / `html` / `barcode` 当作单一 `transType`。
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 一、字段转换 `transType`
|
|
26
|
+
|
|
27
|
+
### 1.1 UI → 落库(设计器当前)
|
|
28
|
+
|
|
29
|
+
| UI 文案 | `transType` | 附加字段 |
|
|
30
|
+
|---------|-------------|---------|
|
|
31
|
+
| 无 | `default` | — |
|
|
32
|
+
| **人员** | **`browser`** | `browserType:[{id:"HrmEmployeeComInfo"}]` |
|
|
33
|
+
| **部门** | **`browser`** | `browserType:[{id:"HrmDepartmentComInfo"}]` |
|
|
34
|
+
| **部门全路径** | **`browser`** | `browserType:[{id:"HrmDepartmentAllPathComInfo"}]` |
|
|
35
|
+
| Checkbox | `checkbox` | — |
|
|
36
|
+
| 选择框 | `select` | `transSelectOptions:[{selectValue,selectName},…]` |
|
|
37
|
+
| 颜色选择框 | `colorSelect` | `transSelectOptions`(`selectName` 常为颜色值) |
|
|
38
|
+
| 分值图标 | `scoreIcon` | `transSelectOptions:[{id:"scoreIconId",selectValue:"1",selectName:"<最大分>"}]` |
|
|
39
|
+
| 斜线文字 | `slashWord` | `transSelectOptions:[{id:"slashWordId",selectValue:"slashWord",selectName:"TopLeftDownRight"|"DownLeftTopRight"}]`;文案最多 3 段,半角 `;` 分隔 |
|
|
40
|
+
| 关联类型 | `browser` | 弹窗写入 `browserType`(如 `{module,type}` / ComInfo id,**以实际请求为准**) |
|
|
41
|
+
| 图片 | `picture` | — |
|
|
42
|
+
|
|
43
|
+
> Java 仍兼容遗留 `hrm` / `dept` / `subcom` / `fill`,**新写禁止**用遗留值;人员/部门一律走 `browser`+ComInfo。
|
|
44
|
+
|
|
45
|
+
### 1.2 双写示例(人员)
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"transType": "browser",
|
|
50
|
+
"browserType": [{ "id": "HrmEmployeeComInfo" }],
|
|
51
|
+
"isHtml": "0",
|
|
52
|
+
"qrcodeType": "no",
|
|
53
|
+
"prefixAndSuffix": ["", ""],
|
|
54
|
+
"hiddenContext": "0",
|
|
55
|
+
"textDirection": "FromLeftToRight"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`fields[].browserType` / `transSelectOptions` / `prefixAndSuffix` 在 DB 侧常为 **JSON 字符串**;workbook `cellType` 侧为数组。
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 二、HTML转换 · `isHtml`
|
|
64
|
+
|
|
65
|
+
| UI | 值 |
|
|
66
|
+
|----|-----|
|
|
67
|
+
| 否 | `"0"` |
|
|
68
|
+
| 是 | `"1"` |
|
|
69
|
+
|
|
70
|
+
为 `"1"` 时运行时按 HTML 处理/剥离(见 `AnalysisParams`)。**不是** `transType=html`。
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 三、前缀 / 后缀 · `prefixAndSuffix`
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
"prefixAndSuffix": ["前缀文本", "后缀文本"]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
默认 `["",""]`。重建 workbook 时禁止丢掉该键。
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 四、条码 · `qrcodeType`
|
|
85
|
+
|
|
86
|
+
| UI | 值 |
|
|
87
|
+
|----|-----|
|
|
88
|
+
| 无 | `no` |
|
|
89
|
+
| 条码 | `barcode` |
|
|
90
|
+
| 二维码 | `qrcode` |
|
|
91
|
+
|
|
92
|
+
二维码可选:`qrcodelink` = `"1"` / `"0"`(是否包含移动端地址)。**不是** `transType`。
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 五、隐藏内容 · `hiddenContext`
|
|
97
|
+
|
|
98
|
+
| UI | 值 |
|
|
99
|
+
|----|-----|
|
|
100
|
+
| 否 | `"0"` |
|
|
101
|
+
| 是 | `"1"` |
|
|
102
|
+
|
|
103
|
+
键名是 **`hiddenContext`**(Context,不是 Content)。与「显示方式」`displayType` **无关**。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 六、文字方向 · `textDirection`
|
|
108
|
+
|
|
109
|
+
| UI | 值 |
|
|
110
|
+
|----|-----|
|
|
111
|
+
| 从左向右 | `FromLeftToRight`(默认) |
|
|
112
|
+
| 从右向左 | `FromRightToLeft` |
|
|
113
|
+
| 竖排 | `VerticalArrangement` |
|
|
114
|
+
| 顺时针旋转 90° | `CW` |
|
|
115
|
+
| 逆时针旋转 90° | `CCW` |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 七、Agent / CLI
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
e10-cli report validate transform --map "人员"
|
|
123
|
+
e10-cli report validate transform --map "部门全路径"
|
|
124
|
+
e10-cli report validate transform --map "二维码"
|
|
125
|
+
e10-cli report validate transform --file cell-transform.json
|
|
126
|
+
e10-cli report validate transform --list
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
定点改转换时:改 `fields[]` 对应键 → `safe_report_save` / `fieldToCell` 透传到 workbook → 回读核对。
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 八、禁令
|
|
134
|
+
|
|
135
|
+
- 禁止 `transType=person|department|image|html|barcode|hidden`
|
|
136
|
+
- 禁止人员/部门只写 `transType=hrm|dept`(遗留)
|
|
137
|
+
- 禁止重建 workbook 时丢掉转换键
|
|
138
|
+
- 禁止把「隐藏内容」当成「显示方式=不显示」
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 关联
|
|
143
|
+
|
|
144
|
+
- `cell-config-echo-guide.md` — 数字格式 / 日期分组 / 字体
|
|
145
|
+
- `report-designer-feature-map.md` — 右侧面板总览
|
|
146
|
+
- `report-data-model.md` §八 — 已废弃错误表,以本文为准
|
|
147
|
+
- `safe_report_save.js` — `fieldToCell` 透传
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# 条件格式(突出显示 / 数据条 / 图标集)
|
|
2
|
+
|
|
3
|
+
> **源码**:`ReportUtil.generateConditionRule`(`weaver-edc-common-report-analysis`)
|
|
4
|
+
> **UI**:设计器「开始 → 条件格式」
|
|
5
|
+
> **落库唯一有效点**:`fields[].conditionRule` / workbook `style.cellType.conditionRule`
|
|
6
|
+
> 结构:`{ highlightDatas, lineDatas, iconDatas }`(**不是** sheet 级 `conditionalFormats`,后者不持久化)
|
|
7
|
+
> **禁黑盒**:禁止下载 SpreadJS / 设计器 chunk 循环试探;见 `session-build-performance-guide.md`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 〇、性能与交付(强制)
|
|
12
|
+
|
|
13
|
+
1. 写入前用 CLI 映射/校验,**禁止**反复保存探结构
|
|
14
|
+
2. 布局已落库 → **先交设计器地址**,条件格式校验可后置补丁
|
|
15
|
+
3. 映射不到 → **提示用户确认**,不要开逆向循环
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 一、硬约束(突出显示)
|
|
20
|
+
|
|
21
|
+
1. **只写平台已识别的 `relation`**。未知值(如 `highlight:between`)会被引擎**静默跳过**。
|
|
22
|
+
2. **区间必须用一条 `highlight:interval`**;禁止拆成两条 `greater`+`less` 冒充 AND(多规则是 OR)。
|
|
23
|
+
3. **配置前先映射再写入**;映射不到或冲突 → **提示用户确认**。
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 二、突出显示 `relation` 白名单
|
|
28
|
+
|
|
29
|
+
| 中文 | `relation` | value |
|
|
30
|
+
|------|------------|-------|
|
|
31
|
+
| 大于 | `highlight:greater` | value1 |
|
|
32
|
+
| 大于等于 | `highlight:greaterAndEquals` | value1 |
|
|
33
|
+
| 小于 | `highlight:less` | value1 |
|
|
34
|
+
| 小于等于 | `highlight:lessAndEquals` | value1 |
|
|
35
|
+
| 等于 | `highlight:equals` | value1 |
|
|
36
|
+
| 不等于 | `highlight:noEquals` | value1 |
|
|
37
|
+
| **介于** | **`highlight:interval`** | value1=下界,value2=上界 |
|
|
38
|
+
| 文本包含 | `highlight:include` | value1 |
|
|
39
|
+
| 发生日期 | `highlight:happenDate` | value1 |
|
|
40
|
+
| 重复值 | `highlight:sameValue` | — |
|
|
41
|
+
|
|
42
|
+
**禁止**:`highlight:between` → 改 `interval`;缩写 `gt/lte` 等。
|
|
43
|
+
|
|
44
|
+
### 自然语言 → 突出显示
|
|
45
|
+
|
|
46
|
+
| 说法 | 映射 |
|
|
47
|
+
|------|------|
|
|
48
|
+
| 大于 N | `greater` |
|
|
49
|
+
| 介于 1 和 5 / 1–5 | **一条** `interval` |
|
|
50
|
+
| 文本包含 xx | `include` |
|
|
51
|
+
|
|
52
|
+
多档示例:「>0 红;>5 蓝」→ `interval(1,5)` 红 + `greater(5)` 蓝粗。
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 三、数据条(lineDatas)
|
|
57
|
+
|
|
58
|
+
落库:**`lineDatas`**(引擎 `ruleType=databar`)。
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"lineDatas": [
|
|
63
|
+
{
|
|
64
|
+
"index": 0,
|
|
65
|
+
"leftType": "min",
|
|
66
|
+
"leftValue": "",
|
|
67
|
+
"rightType": "max",
|
|
68
|
+
"rightValue": "",
|
|
69
|
+
"gradient": "gradient",
|
|
70
|
+
"color": "#6495ED",
|
|
71
|
+
"negativeFillColor": "#FF0000"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
| 字段 | 取值 |
|
|
78
|
+
|------|------|
|
|
79
|
+
| `leftType`/`rightType` | `min`/`max`/`custom` |
|
|
80
|
+
| `gradient` | `gradient`(渐变)\| `solid`(实心) |
|
|
81
|
+
| `color` / `negativeFillColor` | 正/负色 |
|
|
82
|
+
|
|
83
|
+
CLI:`e10-cli report validate condition --map "数据条"` / `--map "实心数据条"`
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 四、图标集(iconDatas)
|
|
88
|
+
|
|
89
|
+
落库:**`iconDatas`**(引擎 `ruleType=iconset`;UI 文案偶写 iconSets,JSON **必须** `iconDatas`)。
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"iconDatas": [
|
|
94
|
+
{
|
|
95
|
+
"index": 0,
|
|
96
|
+
"iconSetType": "0",
|
|
97
|
+
"iconCriteria": [
|
|
98
|
+
{ "iconValue": "67", "isGreaterThanOrEqualTo": true, "iconValueType": 1 },
|
|
99
|
+
{ "iconValue": "33", "isGreaterThanOrEqualTo": true, "iconValueType": 1 }
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
| 字段 | 说明 |
|
|
107
|
+
|------|------|
|
|
108
|
+
| `iconSetType` | **字符串**;常用 `"0"`/`"1"`/`"2"`/`"3"`(方向/形状/标记/等级类) |
|
|
109
|
+
| `iconCriteria` | 分档阈值 |
|
|
110
|
+
|
|
111
|
+
CLI:`e10-cli report validate condition --map "图标集"`
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 五、不支持 / 冲突
|
|
116
|
+
|
|
117
|
+
映射不到 → 明确告知并请用户确认;禁止静默、禁止黑盒下载。
|
|
118
|
+
多条 greater 样式不同 → 提示重叠冲突,建议 interval + greater。
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 六、写入清单
|
|
123
|
+
|
|
124
|
+
1. `conditionRule = { highlightDatas?, lineDatas?, iconDatas? }` → fields + workbook cellType
|
|
125
|
+
2. save 成功 → **先交设计器 URL**
|
|
126
|
+
3. 可选 `verify condition` 后置
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 七、CLI
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
e10-cli report validate condition --file rule.json
|
|
134
|
+
e10-cli report validate condition --map "介于 1 5"
|
|
135
|
+
e10-cli report validate condition --map "数据条"
|
|
136
|
+
e10-cli report validate condition --map "图标集"
|
|
137
|
+
e10-cli report verify condition <reportId> [appId]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
脚本:`e10-cli report verify condition`。
|