weaver-work-cli 0.1.24 → 0.1.25
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 +10 -1
- package/dist/core/output.js +53 -1
- package/dist/internal/e10/auth/commands.js +17 -2
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +112 -39
- 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/workflow/index.js +55 -1
- package/dist/shortcuts/workflow/operations/form.js +1252 -109
- package/dist/shortcuts/workflow/operations/read.js +75 -35
- package/dist/shortcuts/workflow/operations/shared.js +25 -0
- package/dist/shortcuts/workflow/stdout-compact.js +33 -0
- package/docs/caizhilian.md +4 -3
- package/docs/e10-auth.md +8 -1
- 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/skills/weaver-e10-builder/SKILL.md +281 -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 +7 -2
- package/skills/weaver-e10-caizhilian/references/files.md +15 -0
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
- package/skills/weaver-e10-shared/SKILL.md +8 -4
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +7 -5
- package/skills/weaver-e10-workflow/SKILL.md +23 -44
- package/skills/weaver-e10-workflow/references/source-manifest.json +27 -22
- package/skills/weaver-e10-workflow/references/workflow-create.md +238 -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
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# 声明式搭表 spec(一次性落库 · 推荐默认路径)
|
|
2
|
+
|
|
3
|
+
> **CLI**:`e10-cli report build --spec <spec.json> [--dry-run] [--form-confirmed] [--source-id <id>] [--field-confirmed "标题1,标题2"]`
|
|
4
|
+
> **脚本**:`e10-cli report build` · 公共库 `e10-cli report build`
|
|
5
|
+
> **强制流程**:应用内定源 → **建表前字段预检**(`fieldsBySource`,**不建表**)→ **目标名** `baseInfo` → 本表 `addDataset`(同源只挂一次)→ `fieldsKey`(**再校验一次**)→ `saveReportDevInfo` → 回读。
|
|
6
|
+
> **禁止**:`__build_*` / `__probe_*` 空壳、落库后再 rename、跨报表复用 datasetId、模糊表名未确认就搭表、**字段精确匹配失败时静默兜底(含回退系统字段)**。
|
|
7
|
+
|
|
8
|
+
> ### ⚠ 两条「停下来问用户」规则(强制 · 2026-09-11 · `e10-cli report --help`)
|
|
9
|
+
>
|
|
10
|
+
> | 规则 | 触发 | 行为 |
|
|
11
|
+
> |------|------|------|
|
|
12
|
+
> | **A · 字段找不到** | 需求字段在当前数据集表单(`fieldsKey`/`fieldsBySource`)中**无精确命中** | **exit 4 · 不建表**,输出 `unmatched[]` + `allFields[]`,**请用户指定字段** |
|
|
13
|
+
> | **B · 表没指明 / 非精确匹配** | 需求**未指出具体表**,或应用内检索**非完全精准匹配**(模糊/多命中/未命中) | **exit 3 · 不建表**,输出 `candidates[]`,**请用户指定表** |
|
|
14
|
+
>
|
|
15
|
+
> 核心:**不确定 → 停下问用户**;既不替用户猜,也不允许「先建表再回滚」。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 一、顶层字段
|
|
20
|
+
|
|
21
|
+
| 字段 | 必填 | 说明 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| `appId` | ✅ | 应用 ID |
|
|
24
|
+
| `name` | ✅ | **目标报表名**(直接写入 baseInfo + saveReportDevInfo) |
|
|
25
|
+
| `form` | * | 准确表单名;或与 `sourceId` 二选一 |
|
|
26
|
+
| `sourceId` | | 已确认表单 ID;有则跳过模糊确认 |
|
|
27
|
+
| `formConfirmed` | | `true` = 用户已确认当前 form/sourceId |
|
|
28
|
+
| `formKeywords` | | **未指明表**时用于出候选的关键词(仅用于列候选,不代表已选表) |
|
|
29
|
+
| `columns[]` | ✅ | 列定义,见 §二 |
|
|
30
|
+
| `fieldMap` | | **字段兜底指定**:`{ "列标题": "字段显示名 | field_雪花 | 系统字段名" }`(列标题精确匹配失败时由用户指定,见 §二.1) |
|
|
31
|
+
| `fieldConfirmed` | | 数组:**已确认「列文案 ≠ 字段真实显示名」**的列标题(用户认可自定义列名) |
|
|
32
|
+
| `confirmDisplayMismatch` | | `true` = 全部列允许文案与字段显示名不同(等价 CLI `--field-confirmed`) |
|
|
33
|
+
| `style` / `titleStyle` / `headerStyle` / `bodyStyle` | | 见 §三 / `default-header-style-guide.md` |
|
|
34
|
+
| `layout` | | `title` / `freezeRows` / `showLocation`,见 §四 |
|
|
35
|
+
| `datasetId` | | **仅本 report 已挂载的数据集**可复用;跨报表 ID 忽略并本表 addDataset |
|
|
36
|
+
| `sourceType` | | 默认 `LOGIC`;共享表应用用 `form` |
|
|
37
|
+
| `sourceGroup` | | 默认 `weaver-ebuilder-form-service`;共享表用 appId |
|
|
38
|
+
| `sourceName` | | 数据集回显名;**缺后缀时自动补** `(业务模块)`/`(表单)`(裸表单名 → 面板缺后缀) |
|
|
39
|
+
| `sources[]` | | **多数据源**。写了它就以它为准(`form`/`sourceId`/`sourceType` 等下沉到每一项)。见 `guide-report-multisource.md` |
|
|
40
|
+
|
|
41
|
+
> **两个最常写错的键名**:列定义是 **`columns[]`**(不是 `fields`);**`form` 是表单名字符串**(不是对象)——
|
|
42
|
+
> 要用表单 id 就写 `sourceId`。写错时命令会回「spec 需要包含 appId / name(报表名) / columns[]」。
|
|
43
|
+
|
|
44
|
+
### 1.0 多数据源 `sources[]` / `columns[].source`
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
"sources": [
|
|
48
|
+
{ "key": "customer", "form": "客户信息表" },
|
|
49
|
+
{ "key": "order", "form": "销售订单表",
|
|
50
|
+
"link": { "parent": "customer", "parentField": "客户名称",
|
|
51
|
+
"childField": "客户名称", "type": "Equals" } }
|
|
52
|
+
],
|
|
53
|
+
"columns": [ { "source": "customer", "title": "客户名称", "field": "客户名称" },
|
|
54
|
+
{ "source": "order", "title": "订单编号", "field": "订单编号" } ]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- `sources[0]` = **父源**(不写 `link`);`columns[].source` 缺省 = 父源 —— **不写 `sources` 时行为与单源完全一致**。
|
|
58
|
+
- `link.parent` 必须是**左边紧邻**的源;`parentField`/`childField` 写显示名或 `field_xxx`,各自在本方表里解析(歧义即报错)。
|
|
59
|
+
- `link.type` 用 **TitleCase** 白名单(`Equals`/`NotContain`/`Null`…);`eq`/`contains` 这类简写平台不认。
|
|
60
|
+
- 子源只能占**一段**连续区域;同区域**只有入口格**配父格筛选,其余格普通链式。
|
|
61
|
+
- 多源时 `fieldMap`/`fieldConfirmed` 用 **`"源key.列标题"`** 限定同名不同源的列。
|
|
62
|
+
- 跨源报表自动双保存并关预聚合;异常分支与限制见 `guide-report-multisource.md`。
|
|
63
|
+
|
|
64
|
+
\* `form` 与 `sourceId` **均可省** → 走**规则 B**:exit **3**,列出应用内候选请用户指定表(**不会**按关键词猜、**不会**建表)。
|
|
65
|
+
|
|
66
|
+
### 1.1 定源规则 · 规则 B(表没指明 / 非精确匹配 → 让用户指定)
|
|
67
|
+
|
|
68
|
+
`resolveFormWithPrompt()` / `e10-cli report find` 统一语义:
|
|
69
|
+
|
|
70
|
+
| 触发 | `reason` | 行为 |
|
|
71
|
+
|------|----------|------|
|
|
72
|
+
| **未指明具体表**(无 `form`/`sourceId`,或只给业务关键词) | `form_unspecified` | exit **3**,输出应用内候选 `candidates[]` |
|
|
73
|
+
| **非完全精准匹配**:模糊包含 / 多条同名近名 | `form_fuzzy_match` | exit **3**,输出 `candidates[]`(带 `score`/`hits`) |
|
|
74
|
+
| **未命中** | `form_not_found` | exit **3**,`action=need_exact_form_name` |
|
|
75
|
+
| **exact 唯一** 或 已带 `--form-confirmed`/`sourceId` | `exact`/`confirmed` | 放行(`autoBind=true`) |
|
|
76
|
+
|
|
77
|
+
确认后复跑(二选一):
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
e10-cli report build --spec a.json --form-confirmed --source-id <id>
|
|
81
|
+
```
|
|
82
|
+
```json
|
|
83
|
+
{ "formConfirmed": true, "sourceId": "<id>", "form": "<准确表名>" }
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
浏览候选(**不建表**):
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
e10-cli report find <appId> --list
|
|
90
|
+
e10-cli report find <appId> --suggest "关键词1,关键词2"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
> **禁止**:按关键词自行挑一张「最像的」表;先建壳/试探表再判断对不对。
|
|
94
|
+
> 输出字段:`action=confirm_form` · `rule:"B"` · `needConfirm:true` · `reportCreated:false`。
|
|
95
|
+
|
|
96
|
+
### 1.2 数据集挂载规则(同源只挂一次)
|
|
97
|
+
|
|
98
|
+
| 场景 | 行为 |
|
|
99
|
+
|------|------|
|
|
100
|
+
| 本报表已有同 `sourceId` 数据集 | **复用**(`datasetReused=true`),**禁止**再次 `addDataset` |
|
|
101
|
+
| 同 `sourceId` 多于 1 条(存量脏数据) | 回传 `datasetDuplicates[]` 并 WARN → 按 `dataset-sidebar-ops-guide.md §5.3` 去重 |
|
|
102
|
+
| 传了**别的报表**的 `datasetId` | 忽略并 WARN(禁止跨报表复用,本表重新解析) |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 二、columns[]
|
|
107
|
+
|
|
108
|
+
| 字段 | 说明 |
|
|
109
|
+
|------|------|
|
|
110
|
+
| `title` | 表头文案(**也是字段匹配依据**,见 §二.1) |
|
|
111
|
+
| `source` | 该列属于哪个源(`sources[].key`);缺省 = 父源 |
|
|
112
|
+
| `field` | 对应 fieldsKey 的 text/name(精确匹配) |
|
|
113
|
+
| `fieldName` | **显式指定** fieldsKey.name(优先于 `field`/`title`) |
|
|
114
|
+
| `confirmDisplayMismatch` | `true` = 该列允许「文案 ≠ 字段真实显示名」(用户认可自定义列名) |
|
|
115
|
+
| `width` | 列宽,默认 120 |
|
|
116
|
+
| `format` | 见下表;`huobi` 等 |
|
|
117
|
+
| `formula` | 公式表达式(无 `=` 前缀;公式列不参与字段匹配) |
|
|
118
|
+
| `groupType` | 日期分组等 |
|
|
119
|
+
| `rule` | 条件格式,见 §五 |
|
|
120
|
+
|
|
121
|
+
### 2.1 字段绑定门禁 · 规则 A(**字段找不到 → 让用户指定 · 禁止静默兜底 · 2026-09-11 强制**)
|
|
122
|
+
|
|
123
|
+
匹配顺序(命中即止):① `fieldName` / `fieldMap[列标题]` 显式指定 → ② 列标题 **精确等于** `fieldsKey[].text` → ③ `column.field` 精确等于 `text`/`name`。
|
|
124
|
+
|
|
125
|
+
| `reason` | 情况 | 行为 |
|
|
126
|
+
|------|------|------|
|
|
127
|
+
| — | 精确命中 | 正常搭建 |
|
|
128
|
+
| `no_exact_match` | **需求字段在当前数据集表单中找不到** | **exit 4**,输出 `unmatched` + `candidates` + `allFields`;**不建表** |
|
|
129
|
+
| `explicit_not_found` | 显式指定的字段名不在该数据源 | **exit 4**,同上(禁止臆造字段) |
|
|
130
|
+
| `display_mismatch` | 能绑到,但字段**真实显示名 ≠ 列文案**且用户未确认 | **exit 4**,确认后加 `fieldConfirmed` / `--field-confirmed "列标题"` |
|
|
131
|
+
| — | 系统字段(`name`/`id`/`create_time`…) | **只能**通过列标题精确命中(如列标题就叫「标题」)或显式指定;**禁止**作为兜底 |
|
|
132
|
+
|
|
133
|
+
输出(**原样交用户挑,不要自己猜**):
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"action": "confirm_field", "rule": "A", "reportCreated": false,
|
|
138
|
+
"unmatched": [
|
|
139
|
+
{ "column": "党组织", "reason": "no_exact_match",
|
|
140
|
+
"prompt": "需求字段「党组织」在当前数据集表单中不存在:请用户从 allFields/candidates 中指定字段。",
|
|
141
|
+
"candidates": [{ "name": "field_1475883017323040117", "text": "所属党委", "system": false }] }
|
|
142
|
+
],
|
|
143
|
+
"allFields": [ { "name": "field_3505883017323279926", "text": "发展人", "system": false } ],
|
|
144
|
+
"next": { "specFields": { "fieldMap": { "<列标题>": "<字段显示名 | field_雪花 | 系统字段名>" } } }
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
用户指定后复跑:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
e10-cli report build --spec a.json --field-confirmed "党组织,姓名"
|
|
152
|
+
```
|
|
153
|
+
```json
|
|
154
|
+
{ "fieldMap": { "党组织": "field_1475883083739840137", "姓名": "发展人" },
|
|
155
|
+
"fieldConfirmed": ["党组织", "姓名"] }
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> 事故:列「姓名」在表单无对应字段时被静默绑到系统字段 `name`(真实显示名「标题」)→ 列语义被改写且属性面板回显不符。
|
|
159
|
+
> 详见 `field-bind-exact-match-guide.md §2.0`。
|
|
160
|
+
|
|
161
|
+
### format 别名
|
|
162
|
+
|
|
163
|
+
| 别名 | 说明 | formatter 示例 |
|
|
164
|
+
|------|------|----------------|
|
|
165
|
+
| `common` / 空 | 常规 | |
|
|
166
|
+
| `huobi` | 货币 | `¥` 类目录值 |
|
|
167
|
+
| `kuaiji` | 会计专用 | |
|
|
168
|
+
| `percent` | 百分比 | `0.00%` |
|
|
169
|
+
| `shortdate` / `longdate` / `time` / `text` / `fenshu` / `kexuejishu` | 见 `cell-config-echo-guide.md` §二 |
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 三、style(分层 · 默认表头)
|
|
174
|
+
|
|
175
|
+
> 细则:`default-header-style-guide.md`。
|
|
176
|
+
> **未指定样式且无效果图** → 自动套默认标题/表头;**用户指定或有效果图** → 完全按用户。
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
"style": { "font": "微软雅黑", "fontSize": 12, "foreColor": "#333", "backColor": "#fff", "hAlign": "left" },
|
|
180
|
+
"titleStyle": { },
|
|
181
|
+
"headerStyle": { },
|
|
182
|
+
"bodyStyle": { },
|
|
183
|
+
"styleFromMockup": false,
|
|
184
|
+
"applyDefaultHeader": true
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
| 场景 | 行为 |
|
|
188
|
+
|------|------|
|
|
189
|
+
| 无 style / *Style / 效果图 | 标题 `#B6D6FF`;列头 `#E6E6E6`;正文白底 |
|
|
190
|
+
| 有用户样式或 `styleFromMockup:true` | 用户优先 |
|
|
191
|
+
| `applyDefaultHeader:false` | 素色 |
|
|
192
|
+
|
|
193
|
+
字号目录:`[8,9,11,12,14,16,18,20,22,24,26,28,36,48,72]`(无 10);平台字号≈px 1:1。
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 四、layout
|
|
198
|
+
|
|
199
|
+
```json
|
|
200
|
+
"layout": { "title": "轻资产信息统计表", "freezeRows": 1, "showLocation": "left" }
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
- `title`:第 0 行合并标题
|
|
204
|
+
- `freezeRows`:**冻结顶部几行**,锚点行就是 `freezeRows`(平台冻的是「锚点上方」的行)。
|
|
205
|
+
| 写法 | 锚点 | 实际冻结 |
|
|
206
|
+
|---|---|---|
|
|
207
|
+
| `0` / 不写 | 无 | 不冻结 |
|
|
208
|
+
| `1` | 表头首格 `(1,0)` | 只冻**标题行** |
|
|
209
|
+
| `2` | 数据首格 `(2,0)` | 冻**标题 + 表头**(与 `report fix freeze` 默认一致) |
|
|
210
|
+
|
|
211
|
+
锚点必须落在**真实存在的单元格**上,所以最多只能冻到首个数据行;写超了会直接报错,
|
|
212
|
+
不会静默按 1 处理。要冻更多行用 `report fix freeze --anchor <x,y>` 在已有报表上做。
|
|
213
|
+
- `showLocation`:`left`=1;**禁止 0**
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 五、rule 条件格式
|
|
218
|
+
|
|
219
|
+
落点 `style.cellType.conditionRule`(`highlightDatas` / `lineDatas` / `iconDatas`)。
|
|
220
|
+
**禁止** sheet 级 `conditionalFormats`。
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 六、完整示例
|
|
225
|
+
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"appId": "770979194185342976",
|
|
229
|
+
"name": "资产信息统计",
|
|
230
|
+
"form": "轻资产信息",
|
|
231
|
+
"layout": { "title": "轻资产信息统计表", "freezeRows": 1 },
|
|
232
|
+
"columns": [
|
|
233
|
+
{ "title": "资产名称", "field": "资产名称", "width": 160 },
|
|
234
|
+
{ "title": "库存数量", "field": "库存数量", "width": 110 }
|
|
235
|
+
]
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
模糊表名确认后再搭:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
e10-cli report build --spec a.json
|
|
243
|
+
# exit 3 → 用户确认 sourceId
|
|
244
|
+
e10-cli report build --spec a.json --form-confirmed --source-id 770981333078605824
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 七、输出与退出码
|
|
250
|
+
|
|
251
|
+
| code | 含义 |
|
|
252
|
+
|------|------|
|
|
253
|
+
| 0 | 成功;`noTempShell: true`(回读含 `fieldBindings` / `displayMismatch` / `datasetDuplicates`) |
|
|
254
|
+
| 2 | 落库成功但存在告警:Field 绑定不在 fieldsKey / 文案与字段显示名不一致 / 同源重复挂载 |
|
|
255
|
+
| 3 | **规则 B** 须确认表(`confirm_form` / `need_exact_form_name`)——**尚未建表** |
|
|
256
|
+
| 4 | **规则 A** 须确认字段(`confirm_field`):**建表前预检**未精确命中 → **未建表**;落库前 `fieldsKey` 再校验失败 → **已删除本表** |
|
|
257
|
+
| 1 | 失败;已 `deleteReport` 删除未完成报表 |
|
|
258
|
+
|
|
259
|
+
> **两规则共同点**:都**不会**留下列表垃圾;exit 3/4 时 `reportCreated:false`(或 `reportDeleted:true`)。
|
|
260
|
+
|
|
261
|
+
成功输出含 `designerUrl`;按 `report-delivery-contract.md` **交链即停**。
|
|
262
|
+
|
|
263
|
+
### 7.1 exit 4 的处理(**规则 A** · 给用户看,不要自己猜字段)
|
|
264
|
+
|
|
265
|
+
```json
|
|
266
|
+
{
|
|
267
|
+
"action": "confirm_field",
|
|
268
|
+
"rule": "A",
|
|
269
|
+
"reportCreated": false,
|
|
270
|
+
"unmatched": [
|
|
271
|
+
{ "column": "姓名", "reason": "no_exact_match",
|
|
272
|
+
"message": "列「姓名」在该数据源 fieldsKey 中没有精确匹配的显示名…",
|
|
273
|
+
"prompt": "需求字段「姓名」在当前数据集表单中不存在:请用户从 allFields/candidates 中指定字段。",
|
|
274
|
+
"candidates": [{ "name": "field_1475883001898540109", "text": "培养人" }] }
|
|
275
|
+
],
|
|
276
|
+
"allFields": [ { "name": "field_3505883017323279926", "text": "发展人", "system": false } ]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
1. 把 `candidates` / `allFields` **原样抛给用户**,请其指定字段(**不要**自己挑一个相近的顶上);
|
|
281
|
+
2. 用户指定后写 `spec.fieldMap = { "姓名": "发展人" }`(或 `field_xxx`)复跑;
|
|
282
|
+
3. 若用户坚持「列名与字段显示名不同」(如列名写「党组织」绑字段「所属党委」)→ 加 `fieldConfirmed: ["党组织"]` 或 CLI `--field-confirmed "党组织"`。
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 八、相关文档
|
|
287
|
+
|
|
288
|
+
| 文档 | 关系 |
|
|
289
|
+
|------|------|
|
|
290
|
+
| `app-datasource-lookup-guide.md` §2.0 | 未给表名 / 模糊确认 |
|
|
291
|
+
| `default-header-style-guide.md` | 默认表头 |
|
|
292
|
+
| `add-dataset-registration-guide.md` | LOGIC 注册 |
|
|
293
|
+
| `failure-cleanup-and-nonblocking-guide.md` | 仅失败删未完成表,禁止故意建空壳 |
|
|
294
|
+
| `report-delivery-contract.md` | 交链即停 |
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# 定点修改 · 禁止整表重扫(强制)
|
|
2
|
+
|
|
3
|
+
> **适用**:用户指出「某处不对 / 修某一格 / 改某条查询 / M4 父格」等**已定位**问题;以及「只改列宽 / 冻结 / 居左 / 分页 / 快照 / 打印」等**已列明范围**的调整;**改已有报表设计器内容**时一律适用。
|
|
4
|
+
> **目标**:少读配置、少调 API、少改无关格,避免整表重扫浪费时间与额度。
|
|
5
|
+
> **总闸(更高优先级)**:`user-request-scope-only-guide.md` — **仅改用户点名项**;未点名禁止改删、禁止额外命令。
|
|
6
|
+
> **硬约束**:用户说「只对提出的要求做调整,其他不要动」时,**样式/行高/字体/颜色/边框/未点名格一律禁止改写**——即便为写 workbook 必须整表回传,语义上也只能 patch 点名项。
|
|
7
|
+
> **禁止**:因编辑需求而重新走完整「需求分析 → 识别全部搭建配置 → 整表重建」。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 一、硬原则
|
|
12
|
+
|
|
13
|
+
| 原则 | 说明 |
|
|
14
|
+
|------|------|
|
|
15
|
+
| **仅用户点名(总闸)** | 见 `user-request-scope-only-guide.md`;CLI `e10-cli report fix --help` |
|
|
16
|
+
| **听指定位置** | 用户点名单元格(如 M4)、查询条件名、字段名、dataset → **只处理该范围** |
|
|
17
|
+
| **禁止整表重扫** | 不得因修一格而:全量 dump 所有 fields、重拉全部数据集元数据、重跑整表 verify、从参考表整表 clone 覆盖 |
|
|
18
|
+
| **禁止顺手重构** | 未点名时禁止批量改其它 Field 父格、禁止重写全部查询条件、禁止「顺便」对齐整表样式 |
|
|
19
|
+
| **禁止顺手改样式(强制)** | 用户未点名「改样式/行高/主题/字体/颜色」时:**禁止**重建 cell `style`、禁止改 `rows[].size`(行高)、禁止用默认模板覆盖已有外观。列宽/冻结/居左 ≠ 许可重做报表样式 |
|
|
20
|
+
| **禁止拆合并(强制)** | **没有任何规则要求拆分合并单元格**。从 fields 重建 workbook 时必须带上原 `xCount`/`yCount` → `cell.rowCount`/`colCount` + `sheet.spans`;漏写 = 等价于取消合并。用户未要求「取消合并」时禁止丢 spans |
|
|
21
|
+
| **禁止擅自删除** | 未点名删除时禁止 `deleteReport` / `lifecycle delete` / `cleanup shells` |
|
|
22
|
+
| **最小读** | 只需 `getReportDevInfo` 时优先按坐标/条件 id **过滤后使用**;不要为定位一格打印全表 |
|
|
23
|
+
| **最小写** | 查询 → 只 `saveQueryItem` 改目标条;父格/超链接 → 在**完整 workbook 保护**前提下只 patch 目标 cellType(见下) |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 二、问题类型 → 动作范围
|
|
28
|
+
|
|
29
|
+
| 用户说法(例) | 允许动作 | 禁止 |
|
|
30
|
+
|----------------|----------|------|
|
|
31
|
+
| 「M4 左/上父格不对」 | 只读 `(3,12)`(及占位依赖格如 `(3,11)`);只改该 Const 的父格/`pcHreflink` | 重扫全部 Const/Field 父格;整表从兄弟报表覆盖 |
|
|
32
|
+
| 「供应商等级没选项」 | 只读/改该条 `getQueryItem`;按 §3.2 拉该字段 options | 重配全部查询条件;重扫布局 |
|
|
33
|
+
| 「查询显示方式不对」 | 只改目标条 `showWhere` | 新建一套条件 |
|
|
34
|
+
| 「某 Field 绑错」 | 只改该格 `name`/`fieldKey` + workbook 对应 cell | 全表 remap |
|
|
35
|
+
| 「整表父格都要默认」 | **仅当用户明确整表要求** 才批量;否则只更新 Skill 规则 | 把「规则说明」当成改线上表的许可 |
|
|
36
|
+
| 「列宽 N / 冻结表头 / 居左」 | 只改 `width`+`columns`、冻结锚点、`showLocation`(见 `layout-showlocation-freeze-guide.md`) | 重建整表 style/行高;猜 `showLocation=0`;只写 `frozenRowCount` 不写 `fixed-cell-tag`;**丢掉 spans/合并** |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 二点五、合并单元格(spans)保护
|
|
41
|
+
|
|
42
|
+
服务端从 workbook **`spans`**(或 cell.`rowCount`/`colCount`>1)回写 `field.xCount`/`yCount`。
|
|
43
|
+
`safe_report_save.js` 的 `fieldToCell` / `buildWorkbookFromFields` **必须**把 `xCount`/`yCount` 写回 cell + `spans`。
|
|
44
|
+
|
|
45
|
+
**反例(本次事故)**:只为改列宽/冻结,用无 `spans` 的 workbook 整表 `saveReportDevInfo` → 表头标题、表尾合计行合并被拆成 1×1。
|
|
46
|
+
**正例**:有原 workbook 时优先 `mergeWorkbookSafe` 原地 patch;无 workbook 时从 fields 重建也必须带 spans。
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 三、布局类定点改(仍须保护设计区)
|
|
51
|
+
|
|
52
|
+
修**单格**父格/超链接时:
|
|
53
|
+
|
|
54
|
+
1. **仍须**按 `safe-partial-save-guide.md` 提交**完整** `fields` + 从 fields 重建的 workbook(禁止空/残 workbook)。
|
|
55
|
+
2. **语义上只改目标格**:其它格原样写回;禁止顺带改 Field 左父格链。
|
|
56
|
+
3. **Const**:`ConstCellType` 必须显式带 `leftX/leftY/topX/topY` 与(若有)`pcHreflink`——服务端从 workbook 回写;缺 `leftX` → `0` → 伪 A1。见 `report-self-check-guide.md` §2.2。
|
|
57
|
+
4. **保存后自检范围收窄**:只断言**被改格** + Field 总数不降;**不要**为修 M4 再跑全表字段遍历报告。
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
用户指 M4 →
|
|
61
|
+
GET getReportDevInfo(内存过滤 x,y)
|
|
62
|
+
patch fields 中该格 + 重建 workbook(全表 cell 保留,仅该格 ConstCellType 变)
|
|
63
|
+
saveReportDevInfo
|
|
64
|
+
回读:仅检查该格 left/top/href/text + Field.count
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 四、查询类定点改
|
|
70
|
+
|
|
71
|
+
1. `getQueryItem` → 按显示名 / `asNameIndex` / `id` **定位一条**。
|
|
72
|
+
2. 只改该条:`showWhere` / `displayType` / `selectOptions` / `relation` 等。
|
|
73
|
+
3. 下拉选项:`selectKey`=选项 ID,`selectValue`=显示名;`fieldName` 用裸雪花 ID。见 `query-condition-api-guide.md` §3.2。
|
|
74
|
+
4. 回读**只核对该条**,不必打印全部 queryItems。
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 五、列宽 / 冻结 / 居左(样式敏感)
|
|
79
|
+
|
|
80
|
+
1. **必加载** `layout-showlocation-freeze-guide.md`。
|
|
81
|
+
2. 其它 cell 的 `style` JSON **原样**进入 workbook;禁止为省事用空白 style 重生。
|
|
82
|
+
3. 居左 = `showLocation: 1`(**不是 0**);冻结表头 = `fixed-cell-tag` 锚点 + `tag.fixed` + `tag.fixedCell`,不能只设 `frozenRowCount`。
|
|
83
|
+
4. 回读只断言:目标列宽、`showLocation`、锚点 `(x,y)`/`fixed==1`;**不要**为调列宽去「优化」行高。
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 六、与其它文档关系
|
|
88
|
+
|
|
89
|
+
| 文档 | 关系 |
|
|
90
|
+
|------|------|
|
|
91
|
+
| `user-request-scope-only-guide.md` | **总闸**:仅改用户点名项;禁止擅自改删 |
|
|
92
|
+
| `safe-partial-save-guide.md` | 写布局时的 workbook 完整性(与「语义定点」不矛盾) |
|
|
93
|
+
| `layout-showlocation-freeze-guide.md` | 居左枚举 + 冻结锚点;禁止伤样式 |
|
|
94
|
+
| `report-self-check-guide.md` | 落库门禁;定点场景下**检查项可裁剪到改动面** |
|
|
95
|
+
| `datasource-selection-and-parent-filter-guide.md` §〇 | 父格规则;「默认」≠ 批量改已有表 |
|
|
96
|
+
| `query-condition-api-guide.md` | 查询/选项映射 |
|
|
97
|
+
| `report-delivery-contract.md` | 仍可先交设计器链接;后台只验证改动面 |
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 仅改用户点名项 · 禁止擅自改删报表(最高优先级 · 强制)
|
|
2
|
+
|
|
3
|
+
> **优先级**:高于一切「顺手优化 / 看起来更完整 / 方便下次」的冲动。
|
|
4
|
+
> **必加载**:任何会 `saveReportDevInfo` / `deleteReport` / `lifecycle delete` / `rollbackReport` / 改查询·权限·快照·数据集 的任务开始前。
|
|
5
|
+
> **CLI**:`e10-cli report fix --help`(打印本政策);映射见 `e10-cli report -cli.md` §一。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 〇、一句话
|
|
10
|
+
|
|
11
|
+
**用户没点名的:不读全表乱改、不执行、不删除、不重建。**
|
|
12
|
+
已搭建好的配置视为成品;Agent **只允许**调整用户**本轮明确说明**的点。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 一、硬禁止(违反即事故)
|
|
17
|
+
|
|
18
|
+
| 禁止 | 说明 |
|
|
19
|
+
|------|------|
|
|
20
|
+
| **禁止擅自删除报表** | 未明确说「删除 / 清理 / 删壳」时,禁止 `deleteReport`、`lifecycle delete`、`cleanup shells`(清理空壳仅当用户要求或失败删壳流程且目标确为空壳) |
|
|
21
|
+
| **禁止擅自改未点名配置** | 未点名的单元格、合并、样式、行高、父格、公式、查询条件、数据集、权限、快照、分组、名称等 → **一律不动** |
|
|
22
|
+
| **禁止「额外」命令** | 不为「验证方便」「对齐规范」「顺便修好」而主动跑改写类 API / 脚本;只读探测也须最小化 |
|
|
23
|
+
| **禁止整表覆盖式「修复」** | 禁止为改一点而重做整张表、从兄弟报表 clone、无 spans 重建导致拆合并 |
|
|
24
|
+
| **禁止扩大解释范围** | 「改列宽」≠ 改样式;「冻结」≠ 改布局;「居左」≠ 改主题;「某处不对」≠ 整表重扫 |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 二、允许做什么
|
|
29
|
+
|
|
30
|
+
| 条件 | 允许 |
|
|
31
|
+
|------|------|
|
|
32
|
+
| 用户本轮明确列出的项 | 仅这些项的最小 patch |
|
|
33
|
+
| 写布局必须整表回传 workbook | **语义**只改点名项;其余 fields/style/spans **原样写回** |
|
|
34
|
+
| 落库自检 | 裁剪到改动面;发现无关损坏 → **先问用户**再动,禁止自行扩大修复面 |
|
|
35
|
+
| 失败删空壳 | 仅 `failure-cleanup` 定义的未落库空壳,且遵守该指南;**禁止**删用户已有正式报表 |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 三、执行前自检(强制打勾)
|
|
40
|
+
|
|
41
|
+
每次准备调用会改线上报表的 API / CLI / 脚本前:
|
|
42
|
+
|
|
43
|
+
1. [ ] 用户原话点名的改动列表是什么?(写下来)
|
|
44
|
+
2. [ ] 本次命令/脚本是否**严格落在该列表内**?
|
|
45
|
+
3. [ ] 是否包含删除、重建、整表 save、改样式/合并/查询等**未点名**动作?→ 有则 **删掉该步骤**
|
|
46
|
+
4. [ ] 若不确定是否在范围内 → **先问用户,禁止猜着改**
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 四、典型违规(已发生过 · 禁止再犯)
|
|
51
|
+
|
|
52
|
+
| 用户只要 | Agent 错误加戏 | 后果 |
|
|
53
|
+
|----------|----------------|------|
|
|
54
|
+
| 列宽 + 冻结 + 居左 | 整表重建 workbook、丢 spans、压行高 | 合并拆开、样式变了 |
|
|
55
|
+
| 修一个条件格式 | 重配整表 / 删其它报表 | 配置被破坏 |
|
|
56
|
+
| 无明确删除指令 | `cleanup` / `deleteReport` | 报表进回收站 |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 五、与其它文档
|
|
61
|
+
|
|
62
|
+
| 文档 | 关系 |
|
|
63
|
+
|------|------|
|
|
64
|
+
| `targeted-fix-guide.md` | 定点改的细则(本文件是总闸) |
|
|
65
|
+
| `safe-partial-save-guide.md` | 整表回传 ≠ 允许语义上乱改 |
|
|
66
|
+
| `failure-cleanup-and-nonblocking-guide.md` | 唯一允许的「删壳」边界 |
|
|
67
|
+
| `e10-cli report -cli.md` | CLI 映射;破坏性命令须用户点名才可跑 |
|
|
68
|
+
| `layout-showlocation-freeze-guide.md` | 列宽/冻结/居左仍须保 spans/样式 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 六、CLI 对照
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# 打印本政策(Agent 改配置前可先跑一遍提醒自己)
|
|
76
|
+
e10-cli report fix --help
|
|
77
|
+
|
|
78
|
+
# 破坏性命令 —— 仅当用户明确要求时使用
|
|
79
|
+
e10-cli report lifecycle delete ...
|
|
80
|
+
e10-cli report cleanup ...
|
|
81
|
+
e10-cli report restore ...
|
|
82
|
+
```
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# 工作流高级设置:功能管理
|
|
2
|
+
|
|
3
|
+
适用位置:工作流设置 → 高级设置 → 功能管理。以下命令配置流程定义,不对流程实例执行撤回、加审或减审操作。加审与已有的加签 `workflow add-step` 是不同功能。
|
|
4
|
+
|
|
5
|
+
## 命令与工作方式
|
|
6
|
+
|
|
7
|
+
| 命令组 | get | create | update |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| `workflow withdraw` 撤回 | 查询当前配置 | 初始化/保存单份配置 | 局部修改单份配置 |
|
|
10
|
+
| `workflow add-operator` 加审 | 基本设置+权限规则;`--rule-id` 查单条 | 新增权限规则 | `--rule-id` 改规则;不带则改基本/会签属性 |
|
|
11
|
+
| `workflow minus-operator` 减审 | 权限规则;`--rule-id` 查单条 | 新增权限规则 | 必须 `--rule-id` |
|
|
12
|
+
| `workflow receiver-range` 接收人范围 | 基础设置+普通模式明细 | 新增一条范围明细 | `--rule-id` 改明细;不带则改总开关 |
|
|
13
|
+
| `workflow forward-circulate-back` 转发/传阅/抄送收回 | 查询当前配置 | 初始化/保存单份配置 | 局部修改单份配置 |
|
|
14
|
+
|
|
15
|
+
每个命令的位置参数都是 `<workflowId>`。写入使用 `--data '{...}'` 或 `--data @配置文件.json`,只传用户明确要求的设置项。`get --schema` 返回本环境的字段、枚举和默认值;`--out 文件.json` 保存结果。长 ID 一律字符串,浏览字段使用 ID 数组。枚举既可用编码,也可用当前环境返回的选项中文原文。
|
|
16
|
+
|
|
17
|
+
新增规则先读服务端新增表单,未指定项继承默认值;修改先查询现有值,合并补丁后保存并回读检查。撤回和收回属于流程级单份配置,create 不会新增第二份;已有配置也保留未指定字段。未知字段、无效枚举、错误节点/规则归属会拒绝,不自动重复发送新增请求。
|
|
18
|
+
|
|
19
|
+
## 撤回管理
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
e10-cli workflow withdraw get <wf> --schema
|
|
23
|
+
e10-cli workflow withdraw create <wf> --data '{}'
|
|
24
|
+
e10-cli workflow withdraw update <wf> --data '{"remarkRequired":true,"allowRemind":false}'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
| 字段 | 意义 / 可选值 |
|
|
28
|
+
|---|---|
|
|
29
|
+
| allowType | 能撤回的节点:`0` 选择,`1` 排除 |
|
|
30
|
+
| allowNodes | 对应节点 ID 数组 |
|
|
31
|
+
| beAllowType | 允许被撤回的节点:`0` 全部,`1` 选择,`2` 排除 |
|
|
32
|
+
| beAllowNodes | 对应节点 ID 数组 |
|
|
33
|
+
| allowRemind | 允许前台用户选择是否提醒,布尔值 |
|
|
34
|
+
| remarkRequired | 撤回时意见必填,布尔值 |
|
|
35
|
+
| doPreOperate | 启用节点前附加操作,布尔值;部分环境页面隐藏此项 |
|
|
36
|
+
|
|
37
|
+
自然语言示例:“把流程【名称/ID】的撤回意见改为必填,其他设置保留。”
|
|
38
|
+
|
|
39
|
+
## 加审 / 减审
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# 查询实时默认值与当前规则
|
|
43
|
+
e10-cli workflow add-operator get <wf> --schema
|
|
44
|
+
# 新增仅针对这个审批节点的加审权限
|
|
45
|
+
e10-cli workflow add-operator create <wf> --data '{"allowNode":["节点ID"],"operatorType":["1"]}'
|
|
46
|
+
# 修改一条权限规则;不改节点范围或接收人范围引用
|
|
47
|
+
e10-cli workflow add-operator update <wf> --rule-id <ruleId> --data '{"operatorType":["1","2"]}'
|
|
48
|
+
# 加审基本设置
|
|
49
|
+
e10-cli workflow add-operator update <wf> --data '{"todoAfterBackTodo":true,"allowModifyBackTodo":["1"]}'
|
|
50
|
+
# 减审
|
|
51
|
+
e10-cli workflow minus-operator create <wf> --data '{"allowNode":["节点ID"],"operatorType":["1"]}'
|
|
52
|
+
e10-cli workflow minus-operator update <wf> --rule-id <ruleId> --data '{"operatorType":["1","2"]}'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
权限规则字段:
|
|
56
|
+
|
|
57
|
+
| 字段 | 意义 / 可选值 |
|
|
58
|
+
|---|---|
|
|
59
|
+
| allowNodeType | `0` 全部;`1` 选择;`2` 排除 |
|
|
60
|
+
| allowNode | 节点 ID 数组;选择/排除时必填,按实时节点浏览范围校验 |
|
|
61
|
+
| operatorType | 数组:`0` 上一节点操作者,`1` 当前节点未操作者,`2` 当前节点已操作者,`3` 指定节点操作者 |
|
|
62
|
+
| operatorNode | 指定节点的 ID 数组;operatorType 包含 `3` 时必填 |
|
|
63
|
+
|
|
64
|
+
加审基本设置:`todoAfterBackTodo`(全部加审人审批后回本人待办)、`allowModifyBackTodo`(允许修改为 `["1"]`,关闭为 `[]`);会签属性 `todoSignAttr` 本节点待办、`todoNoSignAttr` 非本节点待办、`doneSignAttr` 已办,以及各自 `Def` 默认会签属性。选项以 `get --schema` 为准(一般 `1` 跟随操作者、`2` 用户选择、`3` 会签、`4` 非会签、`5` 依次处理,部分字段不允许 `1`)。减审不写与加审共用的基本设置。
|
|
65
|
+
|
|
66
|
+
自然语言示例:
|
|
67
|
+
|
|
68
|
+
- “流程【ID】增加一条加审权限:允许在【1级审批】加审,由当前节点未操作者操作,其他用系统默认。”
|
|
69
|
+
- “把加审规则【ID】改为当前节点已操作和未操作人员均可操作,其余保持。”
|
|
70
|
+
- “流程【ID】增加减审权限,只针对【节点】,可由指定节点【节点】操作者操作。”
|
|
71
|
+
|
|
72
|
+
## 接收人范围:普通模式
|
|
73
|
+
|
|
74
|
+
范围统一使用 `workflow receiver-range`,支持以下三个上下文;本次仅支持普通模式,高级模式已有配置会被拒绝,避免覆盖。
|
|
75
|
+
|
|
76
|
+
| 页面位置 | 定位参数 | 后端场景 |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| 加审管理 → 权限行的限制接收人可选范围 | `--add-operator-id <加审权限规则ID>` | 10 |
|
|
79
|
+
| 指定流转 → 目标节点通用设置 → 接收人范围 | `--scene assign-flow --node-id <源节点ID>` | 6 |
|
|
80
|
+
| 指定流转 → 目标节点单独设置 → 接收人范围 | `--scene assign-flow-target --node-id <源节点ID> --target-node-id <目标节点ID>` | 7 |
|
|
81
|
+
|
|
82
|
+
CLI 自动解析并回读核对真实范围引用,不需要传 mainId 或 receiverRangeKey。加审规则 ID 不是范围明细 ID;指定流转的源节点 ID 不是目标节点 ID。单独目标节点设置须已存在,可先用 `workflow node-assign-flow targets <wf> <源节点ID>` 查询,缺少时先 `add-target <wf> <源节点ID> <目标节点ID>`。
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
e10-cli workflow receiver-range get <wf> --add-operator-id <addOperatorId> --schema
|
|
86
|
+
# 新增:指定部门;关系、安全级别未指定则沿用服务端默认
|
|
87
|
+
e10-cli workflow receiver-range create <wf> --add-operator-id <addOperatorId> --data '{"objtype":"10","dept":["部门ID"]}'
|
|
88
|
+
# 新增:指定分部
|
|
89
|
+
e10-cli workflow receiver-range create <wf> --add-operator-id <addOperatorId> --data '{"objtype":"11","subDept":["分部ID"]}'
|
|
90
|
+
# 修改一条明细,仅改变关系
|
|
91
|
+
e10-cli workflow receiver-range update <wf> --add-operator-id <addOperatorId> --rule-id <rangeRuleId> --data '{"relationship":"1"}'
|
|
92
|
+
# 启用限制(新增明细不会隐式打开总开关)
|
|
93
|
+
e10-cli workflow receiver-range update <wf> --add-operator-id <addOperatorId> --data '{"isopen":true}'
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
指定流转使用相同的 `get/create/update` 和普通明细参数:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 查询通用范围及当前环境默认值
|
|
100
|
+
e10-cli workflow receiver-range get <wf> --scene assign-flow --node-id <源节点ID> --schema
|
|
101
|
+
# 通用范围新增指定部门,仅适用于操作者;其他参数读取默认值
|
|
102
|
+
e10-cli workflow receiver-range create <wf> --scene assign-flow --node-id <源节点ID> --data '{"objtype":"10","dept":["部门ID"],"suitableType":"1"}'
|
|
103
|
+
# 启用限制,并限定在目标节点操作者范围内
|
|
104
|
+
e10-cli workflow receiver-range update <wf> --scene assign-flow --node-id <源节点ID> --data '{"isopen":true,"limitOperatorRange":true}'
|
|
105
|
+
# 单独目标节点范围:新增指定分部,仅适用于抄送人
|
|
106
|
+
e10-cli workflow receiver-range create <wf> --scene assign-flow-target --node-id <源节点ID> --target-node-id <目标节点ID> --data '{"objtype":"11","subDept":["分部ID"],"suitableType":"2"}'
|
|
107
|
+
# 局部修改单独范围某一条明细的适用类型,保留对象、安全级别和关系
|
|
108
|
+
e10-cli workflow receiver-range update <wf> --scene assign-flow-target --node-id <源节点ID> --target-node-id <目标节点ID> --rule-id <明细ID> --data '{"suitableType":"全部"}'
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
指定流转额外支持:基础字段 `limitOperatorRange`(只能在目标节点操作者设置范围内选择);明细字段 `suitableType`(`0` 全部、`1` 操作者、`2` 抄送人,也可传中文标签)。前者启用后与明细范围取交集,目标节点操作者无法计算时可选人员为空。新增明细不会自动启用限制或指定流转,须按需求分别设置。`workflow node-assign-flow` 仍负责指定流转基础/通用属性;原 `range` 子命令保留兼容,完整普通模式范围使用此统一命令。
|
|
112
|
+
|
|
113
|
+
自然语言示例:“把流程【ID】源节点【ID】的指定流转通用接收人范围设为普通模式,新增指定部门【名称】,只适用于操作者,启用限制,其他设置不变。”单独设置请明确:“源节点【ID】到目标节点【ID】的单独范围”。先查询现有明细,已有匹配项用 update,避免重复新增。
|
|
114
|
+
|
|
115
|
+
| objtype | 接收人类型 | 其他字段 |
|
|
116
|
+
|---|---|---|
|
|
117
|
+
| 0 / 1 / 2 / 3 / 4 | 本部门 / 直接上级部门 / 所有上级部门 / 下级部门 / 所有下级部门 | 无浏览值 |
|
|
118
|
+
| 5 / 6 / 7 / 8 / 9 | 本分部 / 直接上级分部 / 所有上级分部 / 下级分部 / 所有下级分部 | 无浏览值 |
|
|
119
|
+
| 10 | 指定部门 | `dept` ID 数组;安全级别 |
|
|
120
|
+
| 11 | 指定分部 | `subDept` ID 数组;安全级别 |
|
|
121
|
+
| 12 | 指定人员 | `person` ID 数组 |
|
|
122
|
+
| 13 | 指定角色 | `role` ID 数组;`rolelevel` 成员级别;安全级别 |
|
|
123
|
+
| 14 | 指定岗位 | `job` ID 数组;`joblevel` 岗位级别;`joblevelBrowser` 对应组织 ID 数组 |
|
|
124
|
+
| 15 | 所有人 | 安全级别 |
|
|
125
|
+
|
|
126
|
+
通用 `relationship`:`0` 包含、`1` 排除。安全级别 `seclevel` 为 `"最小值,最大值"`,如 `"0,100"`,合法边界 -999 至 999;只在组织已启用安全级别且该类型支持时可设置,默认从服务端读取。角色级别通常 `0` 总部、`1` 所有级别、`2` 分部及总部;岗位级别 `0` 总部、`1` 指定部门、`2` 指定分部,非总部时需要 joblevelBrowser。以实时选项为准。
|
|
127
|
+
|
|
128
|
+
注意接口特性:
|
|
129
|
+
|
|
130
|
+
- 第一次查询可能由服务端创建范围主记录并关联加审权限规则或目标节点单独配置,行为与打开页面弹窗一致。
|
|
131
|
+
- `enableSecurityLevel`、`isUpgrade` 是服务端能力信息,不能通过此命令修改。
|
|
132
|
+
- 后端没有按 ID 修改明细的接口。CLI 先新增并回读核对,验证通过才删除旧明细,再检查其他明细未变。结果返回 `previousRuleId` 与新的 `ruleId`,后续必须使用新 ID。
|
|
133
|
+
- 新项校验失败会尝试清理新项并保留旧项;清理/删除失败会报告相关 ID,应先查询现状,不要重复新增。替换不是服务端事务,请避免同时编辑同一范围。
|
|
134
|
+
|
|
135
|
+
自然语言示例:“给流程【ID】的加审规则【ID】限制接收人范围,普通模式,包含本部门和指定分部【名称】,启用限制,其他不变。”执行时先查询规则、解析真实分部 ID,再分别新增范围明细、启用总开关。
|
|
136
|
+
|
|
137
|
+
## 转发 / 传阅 / 抄送收回
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
e10-cli workflow forward-circulate-back get <wf> --schema
|
|
141
|
+
e10-cli workflow forward-circulate-back update <wf> --data '{"forwardBackCondition":["1"],"forwardAllowBack":false}'
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
| 字段前缀 | 功能 | 后缀 BackCondition | 后缀 AllowBack |
|
|
145
|
+
|---|---|---|---|
|
|
146
|
+
| forward | 转发 | 收回条件数组:`1` 查看前、`2` 查看后;`[]` 清空 | 接收人批注后允许收回 |
|
|
147
|
+
| circulate | 传阅 | 同上 | 接收人批示后允许收回 |
|
|
148
|
+
| cc | 抄送 | 同上 | 接收人批注后允许收回 |
|
|
149
|
+
|
|
150
|
+
自然语言示例:“流程【ID】的转发只允许查看前收回,批注后不允许收回,传阅和抄送保持原样。”
|
|
151
|
+
|
|
152
|
+
## 源码验证入口
|
|
153
|
+
|
|
154
|
+
修改后在 CLI 项目内运行 `npm run build`,随后可直接用 `node dist/index.js workflow ...` 测试,不需要先打包或全局安装。开发时也可用 `node --import tsx src/index.ts workflow ...`。自然语言测试依赖执行方加载此文档;CLI 本身接收结构化命令,不直接解析整句自然语言。
|