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,515 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": {
|
|
3
|
+
"name": "calendar(日历 / 日程组件)",
|
|
4
|
+
"pkg": "@weapp/ebddatacoms · src/components/calendar",
|
|
5
|
+
"entries": "6 个入口:Config / Design / DesignM / View / MView / Engine。Design、DesignM 只是薄壳(注入 isDesign + isMobile 后渲染 view/View.tsx、view-m/View.tsx),自己不出 DOM。真正出 DOM 的是 View / MView / Engine,加引擎自带的配置面板。",
|
|
6
|
+
"prefixes": {
|
|
7
|
+
"weapp-ebddatacoms": "组件统一前缀(常量 ebddatacomsClsPrefix)",
|
|
8
|
+
"weapp-ebddatacoms-calendarv": "「日历视图」模式专用前缀(常量 calendarViewClsPrefix)",
|
|
9
|
+
"weapp-ebddatacoms-date-common": "「卡片 / 主题日历」模式的根类",
|
|
10
|
+
"ebcom- / ebcoms-": "引擎层(@weapp/ebdcoms),不在本组件源码里",
|
|
11
|
+
"ui-": "@weapp/ui(第三方)",
|
|
12
|
+
"fc-": "FullCalendar —— @weapp/ui 内置的 fork 版(第三方)"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"usage": "按 pickTree 选树 → 按语义找节点 → 取 id / class 写选择器。所有树都嵌在 root 的引擎外壳里,官方做法是用 #<comId> 限域。desc 已标注来源:组件层可改源码,引擎层 / 第三方只能写选择器。",
|
|
16
|
+
"legend": {
|
|
17
|
+
"[cls]": "条件类名 —— 条件成立时才出现",
|
|
18
|
+
"{a|b}": "多选一 —— 同一时刻最多出现其中一个(也可能都不出现)",
|
|
19
|
+
"a > b": "合并两层 —— 中间是无 class 的纯布局 div(b 是 a 的直接子元素)",
|
|
20
|
+
"ref": "引用 shared.<key> 里的复用片段",
|
|
21
|
+
"<comId>": "组件实例 id(引擎注入),写选择器时换成真实值,如 #com_1234",
|
|
22
|
+
"引擎层": "来自 @weapp/ebdcoms 的 createView / createDesign,不在日历源码里",
|
|
23
|
+
"组件层": "日历源码自己写的 className,可直接定位",
|
|
24
|
+
"第三方": "@weapp/ui(含其 fork 版 FullCalendar)产出。可以写选择器但改不了源码,能介入的只有传进去的 className / popupClassName",
|
|
25
|
+
"裸类名": "无前缀短类名(agendas-empty / date-selected / week-day / text / date …),也是源码写的,但极易与第三方撞名 —— 用的时候务必带祖先限域",
|
|
26
|
+
"weid": "引擎注入的自定义属性(DOM 上是小写 weid),值为「父级路径 + 源码写死的 6 位后缀」,如 weid=\"<comId>_qks4hh\"。可当锚点,但源码改行号会失效"
|
|
27
|
+
},
|
|
28
|
+
"pickTree": {
|
|
29
|
+
"1 看入口": "设计器右侧属性面板 = configPanel;设计器 / 页面里渲染组件 = View(PC)或 MView(移动);门户里的日历视口 = engineView",
|
|
30
|
+
"2 看 config.dataset": "有 dataset = 单数据源;没有 dataset = 多数据源(新版,走 multiple)",
|
|
31
|
+
"3 看 config.calendarType": "'2'(CALENDAR 日历视图)→ viewCalendar;其余 12 个主题值 → calendarCard",
|
|
32
|
+
"组合结果": "有 dataset + '2' → viewCalendar;有 dataset + 非 '2' → calendarCard;无 dataset → multiple(内含 view / card 两块,类名高度重合,只看差异清单)",
|
|
33
|
+
"弹窗浮层": "任何分支都可能叠加 popups 里的节点(SysCreateDialog、事项 hover 卡、筛选弹窗、more 弹层)",
|
|
34
|
+
"移动端": "类名与 PC 基本一致,根上多一个 mobile 条件类;移动端没有「日历视图」分支,只有卡片模式(view-m/View.tsx 只分派卡片)",
|
|
35
|
+
"不确定时": "看根 class:.weapp-ebddatacoms-calendarv-container = viewCalendar / multiple(view);.weapp-ebddatacoms-date-common = calendarCard / multiple(card);.weapp-ebddatacoms-view-calendar-main = engineView"
|
|
36
|
+
},
|
|
37
|
+
"root": {
|
|
38
|
+
"desc": "引擎外壳 + 入口分派,不在日历源码里 —— 来自 @weapp/ebdcoms 的 createView.tsx(PC 运行时)与 createDesign.tsx(设计器)。写样式时用 #<comId> 限域是官方做法。",
|
|
39
|
+
"tag": "div",
|
|
40
|
+
"id": "<comId>",
|
|
41
|
+
"class": "ebcom ebcom-calendar ebcom-{grid|flow|excel} ebcom-view [has-no-header] [ebcom-m] [standalone] [content-no-padding] [event-action-click]",
|
|
42
|
+
"tips": [
|
|
43
|
+
"ebcom-<layoutType> 随页面布局变:ebcom-grid / ebcom-flow / ebcom-excel(取 page.layoutType 小写)",
|
|
44
|
+
"日历 Design 默认 titleEnabled: false、footerEnabled: false → 默认没有 .header / .footer,且外壳一定带 has-no-header",
|
|
45
|
+
"ebcom-m = 移动端页面;standalone / content-no-padding / event-action-click 是条件类,日历默认都不出现",
|
|
46
|
+
"组件外面还有设计器的一层卡片 div(class 含 weapp-ebpv-com-child,属性是 data-id / data-type,没有 id),再外面是页面层 #ebpage_<pageId> —— 这两层别用来定位组件自身"
|
|
47
|
+
],
|
|
48
|
+
"children": [
|
|
49
|
+
{
|
|
50
|
+
"tag": "div",
|
|
51
|
+
"class": "header",
|
|
52
|
+
"desc": "引擎层,仅 titleEnabled=true 时渲染。内部的 .ebcom-title / .ebcom-title-richtext(标题)、.ebcoms-header-btns(按钮容器)、.ebcom-no-right-mask、.ebcom-display-none 也全在引擎里。",
|
|
53
|
+
"when": "titleEnabled=true"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"tag": "div",
|
|
57
|
+
"class": "content",
|
|
58
|
+
"desc": "引擎层,日历主体全挂这里。本层带 weid=\"<comId>_79849n_7jd0rz\"(引擎注释:兼容已有客户通过 weid 设样式)。",
|
|
59
|
+
"tips": "外壳 #<comId> 只有 id 没有 weid —— 别在它上面取 weid",
|
|
60
|
+
"children": [
|
|
61
|
+
{ "desc": "↓ 这一层挂什么由入口决定:View / MView → 落到 viewCalendar / calendarCard / multiple 之一;Engine → engineView;Config → 日历只出配置 schema,DOM 由引擎面板渲染(见 configPanel);Design / DesignM → 同 View,只是根上多 is-design" },
|
|
62
|
+
{
|
|
63
|
+
"tag": "div",
|
|
64
|
+
"class": "weapp-ebddatacoms-lazyLodingEmpty weapp-ebddatacoms-lazyLoadingEmpty",
|
|
65
|
+
"desc": "空配置兜底态,外面包一层 @weapp/ui Spin。源码同时挂了两个拼写变体:lazyLodingEmpty(少 a)与 lazyLoadingEmpty。",
|
|
66
|
+
"when": "config 为空 / isEmpty(config)"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"tag": "div",
|
|
72
|
+
"class": "footer",
|
|
73
|
+
"desc": "引擎层,仅 footerEnabled=true 时渲染。内部按钮容器是 .ebcoms-footer-btns(前缀 ebcoms 不是 ebcom)。",
|
|
74
|
+
"when": "footerEnabled=true"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"shared": {
|
|
79
|
+
"fcSkeleton": {
|
|
80
|
+
"desc": "第三方 · 「日历视图」的画布,来自 @weapp/ui 的 Calendar(内部是 fork 版 FullCalendar)。CalendarContent 只透传 props,DOM 全由这个库产生。",
|
|
81
|
+
"chain": "div.weapp-ebddatacoms-calendarv-content > div.ui-calendar > div#calendar-container.fc-calendar-container.ui-calendar-calendar-container > div.fc.fc-media-screen.fc-direction-ltr.fc-theme-standard > div.fc-view-harness.fc-view-harness-active > div.fc-{view}-view.fc-view",
|
|
82
|
+
"tips": [
|
|
83
|
+
"唯一真实 id:#calendar-container",
|
|
84
|
+
"view 根 div 随 mode 变:月 = fc-dayGridMonth-view、双周 = fc-doubleWeek-view、周 = fc-timeGridWeek-view、日 = fc-timeGridDay-view。前两个内层是 .fc-daygrid,后两个是 .fc-timegrid",
|
|
85
|
+
"Calendar 固定 headerToolbar: false → 永远没有 .fc-toolbar / .fc-button",
|
|
86
|
+
"不支持年视图(mode 只有 month / week / doubleWeek / day);titlePopverVisible prop 已废弃,不产 DOM",
|
|
87
|
+
"已有 less(calendar-view/style/index.less):.fc-timegrid .fc-event 左侧色条、.fc-daygrid-day-events a、.fc-popover-body、.fc-daygrid-more-link、.fc-dayWeek-panel-count"
|
|
88
|
+
],
|
|
89
|
+
"children": [
|
|
90
|
+
{
|
|
91
|
+
"desc": "月 / 双周模式的表格骨架(叶子链,可整条拿来写选择器):",
|
|
92
|
+
"chain": "div.fc-daygrid > table.fc-scrollgrid.fc-scrollgrid-liquid > thead > tr.fc-scrollgrid-section-header.fc-scrollgrid-section-sticky > td > div.fc-scroller-harness > div.fc-scroller > table.fc-col-header > thead > tr > th.fc-col-header-cell.fc-day.fc-day-{sun..sat}[.fc-day-today][.fc-day-past|.fc-day-future][.fc-day-other]",
|
|
93
|
+
"tips": [
|
|
94
|
+
"星期行单元格同时带 .fc-day 和 .fc-day-{sun..sat},与日期格共用『今天 / 过去 / 未来 / 其他月』修饰类",
|
|
95
|
+
"内部:div.fc-scrollgrid-sync-inner > a.fc-col-header-cell-cushion[.fc-sticky] > (div.fc-col-header-cell-text | div.fc-col-header-cell-wrap > span.fc-col-header-cell-text + div.fc-day-sign-icon-wrap)",
|
|
96
|
+
"本组件固定传 renderWeekTopTitle → 一定走自定义分支,文案是「周一 9-15」这种格式"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"desc": "月 / 双周模式的日期单元格(叶子链):",
|
|
101
|
+
"chain": "table.fc-scrollgrid-sync-table > tbody > tr > td.fc-daygrid-day.fc-day.fc-day-{sun..sat}[.fc-day-today][.fc-day-other][.fc-multi-selected] > div.fc-daygrid-day-frame.fc-scrollgrid-sync-inner > div.fc-daygrid-day-top",
|
|
102
|
+
"tips": [
|
|
103
|
+
".fc-multi-selected 是运行时用 classList.add 加在 td.fc-day 上的(多选高亮),CSS 里搜不到但真实存在",
|
|
104
|
+
"td 上有 data-date 属性,可用 [data-date=\"2026-09-17\"] 精确定位某一天"
|
|
105
|
+
],
|
|
106
|
+
"children": [
|
|
107
|
+
{ "tag": "a", "class": "fc-daygrid-day-number", "desc": "日期数字(第三方)" },
|
|
108
|
+
{ "tag": "div", "class": "fc-day-sign fc-day-sign-text", "desc": "节假日「休 / 班」文字标记(第三方),带内联 style 的 color / background" },
|
|
109
|
+
{ "tag": "div", "class": "fc-day-sign fc-day-sign-textBox", "desc": "休息日角标底色(第三方)" },
|
|
110
|
+
{ "tag": "div", "class": "fc-day-sign-icon-wrap > svg.fc-day-sign.fc-day-sign-icon", "desc": "节假日图标(第三方,xlink:href 指向 Icon-Rest-mcolor / Icon-work-mcolor)" },
|
|
111
|
+
{ "tag": "div", "class": "fc-day-cnDate-wrap > div.fc-day-cnDate", "desc": "农历 / 节日 / 节气文字(第三方)。hideLunar=true 时仍渲染,只是内容为空 —— 别靠元素存在性写样式" },
|
|
112
|
+
{ "tag": "div", "class": "fc-daygrid-day-events", "desc": "事项区(第三方)。里面每条是 div.fc-daygrid-event-harness > a.fc-daygrid-event…" },
|
|
113
|
+
{ "tag": "div", "class": "fc-daygrid-day-bottom", "desc": "「更多」区(第三方),见下面的 moreLink" },
|
|
114
|
+
{ "tag": "div", "class": "fc-daygrid-day-bg", "desc": "背景层(第三方)" }
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"desc": "周 / 日模式的时间网格骨架(叶子链):",
|
|
119
|
+
"chain": "div.fc-timegrid > div.fc-timegrid-slots / div.fc-timegrid-cols > table > td.fc-timegrid-col[.fc-day-today] > div.fc-timegrid-col-frame > div.fc-timegrid-col-events",
|
|
120
|
+
"tips": [
|
|
121
|
+
"左侧刻度:div.fc-timegrid-slot.fc-timegrid-slot-label > div.fc-timegrid-slot-label-frame > div.fc-timegrid-slot-label-cushion(文案由 slotLabelFormat 决定,只显示 HH:mm)",
|
|
122
|
+
"轴列:th.fc-timegrid-axis > div.fc-timegrid-axis-frame > a.fc-timegrid-axis-cushion",
|
|
123
|
+
"当前时间线(nowTimeline=true):div.fc-timegrid-now-indicator-container > div.fc-timegrid-now-indicator-line / div.fc-timegrid-now-indicator-arrow",
|
|
124
|
+
"周 / 日模式的星期行同样用 th.fc-col-header-cell.fc-day.fc-day-{dow}"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"tag": "a",
|
|
129
|
+
"class": "fc-daygrid-event{fc-daygrid-block-event|fc-daygrid-dot-event}.fc-h-event.fc-event [fc-event-start] [fc-event-end] [fc-event-draggable] [fc-event-selected] [fc-event-past] [fc-event-future]",
|
|
130
|
+
"desc": "第三方 · 事项节点。月 / 双周 / 全天行是这种(fc-h-event);周 / 日的时间格里是 a.fc-timegrid-event.fc-v-event.fc-event。外面包一层 div.fc-daygrid-event-harness 或 div.fc-timegrid-event-harness。",
|
|
131
|
+
"tips": [
|
|
132
|
+
"⚠️ 本组件用 eventContent 覆盖了渲染 → .fc-event-main-frame / .fc-event-title-container / .fc-event-title / .fc-event-time 永远不会出现,正文直接注入 div.fc-event-main",
|
|
133
|
+
"正文两种形态:纯标题(HTML 字符串),或「人力资源」模式下的人名 div[style=\"white-space:normal\"] > a(点人名弹 HR 卡)",
|
|
134
|
+
"底色 / 边框是内联 style(backgroundColor 由 rgba(...,0.4) 算出来)不是 class;事件根也不会带 items 里传入的自定义 class(颜色只走内联)",
|
|
135
|
+
"已有 less:.weapp-ebddatacoms-calendarv .fc-timegrid .fc-event { border-width: 0 0 0 4px } + .fc-event-main { padding-left }"
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"desc": "「更多」链接(moreLink)—— 月 / 双周 与 周 / 日 结构不同:",
|
|
140
|
+
"value": [
|
|
141
|
+
"月 / 双周:div.fc-daygrid-day-bottom > a.fc-daygrid-more-link > div[style=\"display:inline-block\"](文案是纯数字)",
|
|
142
|
+
"周 / 日:div.fc-dayWeek-panel.fc-daygrid-day-bottom > a.fc-daygrid-more-link > span.fc-dayWeek-panel-count(数字写死在这个 span 里,不吃 moreLinkContent)"
|
|
143
|
+
],
|
|
144
|
+
"tips": ".fc-dayWeek-panel / .fc-dayWeek-panel-count / .fc-popover-weeklabel / .fc-more-popover-misc 都是这个 fork 版新增的类,官方 FullCalendar CSS 里没有 —— 网上搜不到但真实存在"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"tag": "div",
|
|
148
|
+
"class": "fc-popover.fc-more-popover.fc-day.fc-day-{dow} [fc-day-today] [fc-day-other]",
|
|
149
|
+
"desc": "第三方 · 点「+more」弹出的当日事项浮层。结构:div.fc-popover-header > span.fc-popover-title + span.fc-popover-close.fc-icon.fc-icon-x;然后 div.fc-popover-weeklabel;最后 div.fc-popover-body(内含 div.fc-more-popover-misc + 若干 div.fc-daygrid-event-harness)。",
|
|
150
|
+
"tips": "已有钩子:.weapp-ebddatacoms-calendarv-content .fc .fc-popover-body { max-height: 350px; overflow: auto }"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"uiAppend": {
|
|
155
|
+
"desc": "第三方 · @weapp/ui 组件的 className 拼接规则:传给它们的 className / dropdownClassName / popupClassName 会拼到组件自己的类后面,所以最终元素上是多个类并存。",
|
|
156
|
+
"children": [
|
|
157
|
+
{ "tag": "button", "class": "ui-btn ui-btn-{primary|default|success|warning|danger|link} ui-btn-{large|middle|small} ui-btn-inline [+ 你传的 className]", "desc": "Button。type='link' 时渲染成 a。日历里只出现在新建按钮和 IE 提示按钮上。" },
|
|
158
|
+
{ "tag": "span", "class": "ui-icon ui-icon-wrapper [+ 你传的 className]", "desc": "Icon 的外层 span;内层是 svg.ui-icon-{xs|sm|md|lg}.ui-icon-svg.{图标名}。让图标变色要同时改外层 span 和内层 svg。" },
|
|
159
|
+
{ "tag": "div", "class": "ui-spin-nested-loading > div.ui-spin-container", "desc": "Spin(嵌套模式)。⚠️ 传给它的 className 落在更内层的 div.ui-spin 上,那层只有 spinning === true 时才渲染 —— 想让容器在两种状态下都有样式,就挂 .ui-spin-nested-loading / .ui-spin-container。中间还有个无 class 的 div 会撑不住高度,已有 less 给这两层补了 height:100%。" },
|
|
160
|
+
{ "tag": "div", "class": "ui-trigger-popupInter-container > div.ui-trigger-popupInner[.ui-trigger-popupInner-visible] > div.ui-trigger-popupInner-childrenDiv > div.ui-popover.ui-popover-tooltip.ui-popover-{placement} > div.ui-popover-arrow + div.ui-popover-content", "desc": "Popover / Help / Trigger 的弹层链路。弹层被 Portal 挂到 body 下(中间有一个无 class 的 div)。自定义类要通过 triggerProps.popupClassName 传,才会落到 div.ui-trigger-popupInner 上。", "tips": "Trigger 本身不包一层 —— 传给 Trigger 的 className 会 merge 到它的 child 元素上(日历新建按钮就是这种情况,见 calendarCard 的 createBtn)" },
|
|
161
|
+
{ "desc": "其余高频内部类:Select / MSelect → .ui-select-input / .ui-select-option / .ui-select-dropdown / .ui-input-wrap(已有 less:.weapp-ebddatacoms-mode-change-select .ui-select-input.is-focus / :hover / .ui-select-input-selected / .ui-select-option.is-active);Menu → .ui-menu.ui-menu-{select|tab}.… / .ui-menu-list-item[.ui-menu-list-item-active];Dialog → .ui-dialog-body-container / .ui-title-inDialog / .ui-dialog-content-right / .ui-dialog-wrap" }
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"themeMap": {
|
|
165
|
+
"desc": "主题(config.calendarType)→ 两套类名。kebab 那套挂在卡片树根 .weapp-ebddatacoms-date-common 上(common.ts 的 calendarTypeToClassNameMap_old);全大写那套拼在 Header / selectWrap / modeButton / calendarMain 等子元素后缀上(calendarTypeToClassNameMap)。",
|
|
166
|
+
"value": {
|
|
167
|
+
"1 CARD 简易版(默认)": "default-style / DEFAULT",
|
|
168
|
+
"2 CALENDAR 日历视图": "calendar-style / CALENDAR(这个值走 viewCalendar 树,根不是 date-common,所以 calendar-style 实际不会出现在页面上)",
|
|
169
|
+
"119 SIMPLESTYLE 简约风格": "simple-style / SIMPLESTYLE(唯一走 -workplan-default_simple_item 卡片结构的分支)",
|
|
170
|
+
"120 REDSTYLE 红色风格": "red-style / REDSTYLE",
|
|
171
|
+
"121 GREENSTYLE 绿色风格": "green-style / GREENSTYLE",
|
|
172
|
+
"122 BLUESTYLE 蓝色风格": "blue-style / BLUESTYLE(用 .date-dot 红点)",
|
|
173
|
+
"123 LIGHTBLUESTYLE 淡蓝色风格": "light-blue-style / LIGHTBLUESTYLE",
|
|
174
|
+
"124 WEEKGOVERNSTYLE 一周日程-传统政务": "week-govern-style / WEEKGOVERNSTYLE(只有周模式,上午 / 下午分段 + .agendas-label)",
|
|
175
|
+
"125 WEEKGRAYSTYLE 一周日程-银灰质感": "week-gray-style / WEEKGRAYSTYLE(PC 用 FullCalendar 排程,唯一用 .fc-* 的卡片主题)",
|
|
176
|
+
"126 WEEKPURPLESTYLE 一周日程-香芋紫": "week-purple-style / WEEKPURPLESTYLE(竖排周布局,createBtn 在 workplan 内部)",
|
|
177
|
+
"127 WEEKGREENSTYLE 一周日程-清新绿": "week-green-style / WEEKGREENSTYLE(与香芋紫类名集合完全一致,只有色值不同)",
|
|
178
|
+
"128 BLUENOTESTYLE 一周日程-蓝色便签": "blue-note-style / BLUENOTESTYLE(只有月面板,强制 innerMode='month')",
|
|
179
|
+
"129 REDNOTESTYLE 一周日程-红色便签": "red-note-style / REDNOTESTYLE(同蓝色便签,类名集合一致)",
|
|
180
|
+
"命中不了任一值": "custom-style(无大写后缀)"
|
|
181
|
+
},
|
|
182
|
+
"tips": [
|
|
183
|
+
"主题类只在卡片树根上;日历视图树(calendarv)不看主题,所以「给日历视图换主题色」这条需求落不到这里",
|
|
184
|
+
"note-blue 与 note-red 的 class 集合完全相同;week-list-green 与 week-list-purple 也完全相同 —— 差异只在色值",
|
|
185
|
+
"simple-default.less 同时挂了 .simple-style 和 .custom-style,是未知主题的兜底样式源"
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"leftGroup": {
|
|
189
|
+
"desc": "左侧分组筛选栏,由本仓库 common/left-right-layout 用 @weapp/ui 的 Layout / Layout.Box 搭出来。日历视图树(viewCalendar / multiple 的 view 模式)独有。",
|
|
190
|
+
"chain": "div.ui-layout[.ui-layout-has-side][.weapp-ebddatacoms-left-right-layout] > div.ui-layout-{side|content}.layout-box-block.{side-inner-left-col|content-col} > div.ui-layout-box.{weapp-ebddatacoms-left-right-layout-left|weapp-ebddatacoms-left-right-layout-right}",
|
|
191
|
+
"tips": [
|
|
192
|
+
"Box 渲染两层:外层 BoxBlock 是 .ui-layout-{side|content}.layout-box-block.{side-inner-left-col|content-col}(业务 className 不在这一层),内层才是 .ui-layout-box + 业务 className",
|
|
193
|
+
"hasLeftGroup=false 时左侧整块不存在,且根上的 .weapp-ebddatacoms-left-right-layout 会因为传给不消费 className 的 BoxBlock 而丢失 —— 别拿它当锚点",
|
|
194
|
+
"hasLeftGroup=true 时左侧宽度由内联 style.width 控制(默认 200);leftMenuDatas 为空时左侧仍有个空盒子,但不渲染 .view-left-menu"
|
|
195
|
+
],
|
|
196
|
+
"children": [
|
|
197
|
+
{
|
|
198
|
+
"tag": "div",
|
|
199
|
+
"class": "view-left-menu ",
|
|
200
|
+
"desc": "左侧分组菜单根(注意 class 串末尾带一个空格)。内部:div.ui-menu.ui-menu-tab.ui-menu-hasmore.ui-menu-tab-top.view-left-menu-content-tab(只有一个分组时额外加 single-menu)、div.view-left-menu-content;具体分组筛选组件(EmployeeSearch / DepartmentSearch / EBuilderSearch / SelectExpendCustom)的常见容器是 .view-left-menu-select-list。",
|
|
201
|
+
"when": "leftMenuDatas.length > 0"
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
"hoverCard": {
|
|
206
|
+
"desc": "「日历视图」里鼠标悬停事项时的详情气泡。由日历自己 ReactDOM.render 到 body 下的一个 div 里(不在组件 DOM 树内),Popover 的锚点是 span#calendar-popover。卡片模式不走这套,用 Popover 的 popupClassName='agendasPopoverPopup'。",
|
|
207
|
+
"children": [
|
|
208
|
+
{ "tag": "span", "id": "calendar-popover", "desc": "Popover 锚点(真实 id)。样式里已被定位为 fixed + 透明 + pointer-events:none,可拿它做定位基准。" },
|
|
209
|
+
{ "tag": "div", "class": "calendar-popver-measure[. calendar-popver-measure-<compId>]", "desc": "离屏测量容器(fixed,top / left 都在屏幕外)。里面还有手写的 div.ui-popover-arrow.ui-popover-arrow-bottom。" },
|
|
210
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendarv-content-popup", "desc": "气泡正文容器" },
|
|
211
|
+
{ "tag": "div", "class": "ui-trigger-popupInner.calendar-textPopopverPopup.ui-popover-content.calendar-popver-<compId>", "desc": "气泡本体(popupClassName 拼上去的结果)。已有 less:.calendar-textPopopverPopup { opacity: .8; background-color: transparent; padding: 0 }" }
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
"workItems": {
|
|
215
|
+
"desc": "卡片树右侧「事项列表」的条目。三类(日程 / 任务 / 联系提醒)的 wrapper 与 li 结构同构,只有中段内容不同。源码:calendar/components/{ListAgendas,ListTasks,ListReminds}.tsx(calendar-Multiple 下是同名副本,类名一致)。",
|
|
216
|
+
"chain": "div.weapp-ebddatacoms-date-content-workFlow-list > div.weapp-ebddatacoms-workplan-wrap.weapp-ebddatacoms-{agendas|tasks|reminds}[mobile] > li.weapp-ebddatacoms-workplan-item.weapp-ebddatacoms-{agendas|tasks|reminds}-item[mobile][has-start-time-span]",
|
|
217
|
+
"tips": [
|
|
218
|
+
"容器是 .weapp-ebddatacoms-date-content-workFlow-list —— workFlow 是大写 F",
|
|
219
|
+
"li 里的时间:span.start-time(仅竖排周主题且 !hideTimeSpan)",
|
|
220
|
+
"右端图标二选一:Icon(传 className='date-icon')或 span.date-dot,由主题决定(green / light-blue / week-* 用 date-icon;blue / note-* 用 date-dot)",
|
|
221
|
+
"completed 条件类:提醒在 span.title 上(ListReminds);日程的标题 / 时间在 calendar-Multiple 版本里还会多 -title-complete / -time-complete",
|
|
222
|
+
"simple 风格(SIMPLESTYLE / custom-style)走另一套:div.weapp-ebddatacoms-workplan-default_simple_item.weapp-ebddatacoms-workplan-default_simple_item-{agendas|task|remind} > -title + -time(只有 simple-default.less 覆盖)",
|
|
223
|
+
"week 风格中段是 div.text > span.title + span.date-month / div.right > span.date",
|
|
224
|
+
"移动端中段是 div.left.{agendas|task|remind} + div.time + div.detail > span[.completed](li 上的 mobile 条件类保留,内容仍走 PC 结构)",
|
|
225
|
+
"条目弹层是 @weapp/ui Popover,popupClassName='agendasPopoverPopup',已有 less:.agendasPopoverPopup .ui-popover-noMask .ui-popover-content"
|
|
226
|
+
]
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"viewCalendar": {
|
|
230
|
+
"desc": "树 ①|日历视图(PC)。触发:config 有 dataset 且 calendarType === '2'(CALENDAR)。链路:view/View.tsx → calendar-view/CalendarView.tsx(CalendarMain)→ CalendarContent → @weapp/ui Calendar。",
|
|
231
|
+
"tips": [
|
|
232
|
+
"根没有 id,稳定锚点是 .weapp-ebddatacoms-calendarv-container",
|
|
233
|
+
"容器高度链路已由 less 处理:.weapp-ebddatacoms-calendarv-container 内的 .ui-spin-nested-loading / .ui-spin-container 都是 100%(原因见 shared.uiAppend 的 Spin)",
|
|
234
|
+
"移动端没有这棵树(view-m/View.tsx 只分派卡片模式)"
|
|
235
|
+
],
|
|
236
|
+
"tag": "div",
|
|
237
|
+
"class": "weapp-ebddatacoms-calendarv-container",
|
|
238
|
+
"children": [
|
|
239
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-ie-title", "desc": "IE 提示条,内含一个 primary Button(没有额外类名)。", "when": "isIE && !window.HIDE_EB_CALENDAR_IE_TITLE" },
|
|
240
|
+
{
|
|
241
|
+
"tag": "div",
|
|
242
|
+
"class": "ui-layout … weapp-ebddatacoms-left-right-layout",
|
|
243
|
+
"desc": "左侧分组布局,结构见 shared.leftGroup。",
|
|
244
|
+
"children": [
|
|
245
|
+
{
|
|
246
|
+
"tag": "div",
|
|
247
|
+
"class": "ui-spin-nested-loading > div.ui-spin-container",
|
|
248
|
+
"desc": "Spin(无自定义 className),里面就是日历本体。",
|
|
249
|
+
"children": [
|
|
250
|
+
{
|
|
251
|
+
"tag": "div",
|
|
252
|
+
"class": "weapp-ebddatacoms-calendarv",
|
|
253
|
+
"desc": "日历视图主容器。position:relative、flex column、overflow:auto、padding-left: var(--h-spacing-lg)。无 id,但内部用它做高度 / 宽度测量的 ref(_observeResize)。",
|
|
254
|
+
"children": [
|
|
255
|
+
{
|
|
256
|
+
"tag": "div",
|
|
257
|
+
"class": "weapp-ebddatacoms-calendarv-header",
|
|
258
|
+
"desc": "顶部操作栏,flex 左右两区。已有 less:flex: 0 0 50px,左右区各 50px 高、space-between。",
|
|
259
|
+
"children": [
|
|
260
|
+
{
|
|
261
|
+
"tag": "div",
|
|
262
|
+
"class": "weapp-ebddatacoms-calendarv-header-left",
|
|
263
|
+
"desc": "左侧(日期切换条 / 刷新 / 筛选 / 二开插槽)。",
|
|
264
|
+
"children": [
|
|
265
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendarv-header-left-timeline [weapp-ebddatacoms-calendarv-header-left-timeline-hide]", "desc": "日 / 周 / 月 / 双周切换条。来自 CorsComponent 拉的 @weapp/ebdform DateSelector,通过 tabCls prop 注入类名 —— 内部 DOM 不可控。", "tips": "已有 less:.weapp-ebddatacoms-calendarv .weapp-ebddatacoms-calendarv-header-left-timeline-hide { display: none } —— 隐藏模式切换就是加这个条件类(条件是 config.showViewModeChange 为 false 或 null 之外的值)" },
|
|
266
|
+
{ "tag": "span", "class": "weapp-ebddatacoms-calendarv-refresh-btn [weapp-ebddatacoms-calendarv-refresh-btn-loading]", "desc": "刷新按钮(内含 @weapp/ui Icon,name='Icon-Right-refresh')。loading 态靠 -refresh-btn-loading 给 .ui-icon 加旋转动画(已有 less + @keyframes loading)。PC 下外面还包一层 @weapp/ui Help,移动端不包。" },
|
|
267
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendarv-filter", "desc": "筛选区,内部二选一:FilterSearch(calendarIsEbDataSet 为真,来自本仓库 lib,内部不可控,前缀 weapp-ebddatacoms-filter-search)或 DatasetSearchCom(CorsComponent 拉 @weapp/ebdlist 的 FilterPanel,内部不可控)。", "tips": "已有 less:{ height:100%; display:flex; align-items:center; margin-left:16px },并把内部 .weapp-ebddatacoms-filter-search-trigger / -foot-btns 的 margin-bottom 归零" },
|
|
268
|
+
{ "desc": "二开插槽 customRenderLeftHeaderAddContent 的返回值,放在筛选之后 —— 类名由二开方自己挂,无法预设。" }
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"tag": "div",
|
|
273
|
+
"class": "weapp-ebddatacoms-calendarv-header-right",
|
|
274
|
+
"desc": "右侧(新建按钮区)。三选一:单个 Button(type=primary,className='weapp-ebddatacoms-calendarv-header-right-btn')|Menu(type='select' selectType='btn',多选新建)|div.weapp-ebddatacoms-date-content-create.custom-create-button(二开自定义新建)。",
|
|
275
|
+
"tips": "weapp-ebddatacoms-calendarv-header-right-right 与 -legend* / -legend-wrapper / -legend-more / -legend-popup 在 less 里有规则或空规则,但源码里 renderLegend 被注释掉了,当前 DOM 不会出现"
|
|
276
|
+
}
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"tag": "div",
|
|
281
|
+
"class": "weapp-ebddatacoms-calendarv-content",
|
|
282
|
+
"desc": "日历画布容器。已有 less:height: 0; flex: 1 1 0; display:flex; flex-direction: column;并把内部 .ui-searchAdvanced-setting 隐藏、.ui-searchAdvanced-condition / -footer 圆角归零。",
|
|
283
|
+
"when": "store.canInitViewContent 为真",
|
|
284
|
+
"children": [
|
|
285
|
+
{ "ref": "shared.fcSkeleton", "desc": "日历本体(@weapp/ui Calendar / FullCalendar)" }
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
{ "tag": "div", "class": "SysCreateDialog 展开的引擎弹窗", "desc": "日程 / 任务 / 联系提醒的新建与详情弹窗,内部是 CorsComponent 拉的 @weapp/calendar、@weapp/task、@weapp/crm —— 内部 DOM 完全不可控,见 popups。", "when": "store.isSystemType" }
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
},
|
|
295
|
+
{ "ref": "shared.hoverCard", "desc": "悬停详情气泡被 ReactDOM.render 到 body 下的独立 div 里(不在上面这棵树内),但逻辑上属于本树。" }
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"calendarCard": {
|
|
299
|
+
"desc": "树 ②|卡片 / 主题日历。触发:config 有 dataset 且 calendarType !== '2'(13 个主题值里除 CALENDAR 外的 12 个,含默认的 '1')。链路:view/View.tsx → calendar/{Calendar.tsx, components/CalendarHeader.tsx}。左侧是 @weapp/ui MCalendar(月面板),右侧是事项列表;一周日程系列则是周面板 + 时间线 / 排程。",
|
|
300
|
+
"tips": [
|
|
301
|
+
"根是本组件里唯一挂主题类的地方,主题相关样式一律从它起步",
|
|
302
|
+
"日历(左 / 上)与事项列表(右 / 下)都在 .weapp-ebddatacoms-date-content 里横向排;竖排周主题(香芋紫 / 清新绿)的 createBtn 被挪进 workplan 内部",
|
|
303
|
+
"整棵树没有真实 id;MCalendar 内部是 ui-m-calendar-*,不可控但可写选择器"
|
|
304
|
+
],
|
|
305
|
+
"tag": "div",
|
|
306
|
+
"class": "weapp-ebddatacoms-date-common [mobile] [is-design] [show-lunar] [in-demo-manager] {week-start-mon|week-start-sun} <主题 kebab 类>",
|
|
307
|
+
"children": [
|
|
308
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-ie-title", "desc": "IE 提示条(primary Button,无额外类名)。", "when": "isIE && !window.HIDE_EB_CALENDAR_IE_TITLE" },
|
|
309
|
+
{
|
|
310
|
+
"tag": "div",
|
|
311
|
+
"class": "weapp-ebddatacoms-date-header-wrapper",
|
|
312
|
+
"desc": "头部外层。",
|
|
313
|
+
"children": [
|
|
314
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-date-header-title", "desc": "「一周日程」大标题。", "when": "calendarType ∈ {124 传统政务, 125 银灰质感}" },
|
|
315
|
+
{
|
|
316
|
+
"tag": "div",
|
|
317
|
+
"class": "weapp-ebddatacoms-date-header [mobile]",
|
|
318
|
+
"desc": "头部主体,flex 左右两区(已有 less 定义了高度与对齐)。",
|
|
319
|
+
"children": [
|
|
320
|
+
{
|
|
321
|
+
"tag": "div",
|
|
322
|
+
"class": "weapp-ebddatacoms-date-header-left [weapp-ebddatacoms-date-header-left-{isMobile|PC}] [weapp-ebddatacoms-date-header-left-PC-<n>] [-PC_isNotChinese] [-LIST]",
|
|
323
|
+
"desc": "左区内容随主题分配:模式切换(ModeButtons / Select)、年月切换(month-switcher)、农历面板(lunarPanel)。-PC-<n> 里的 n 是可见模式项个数(动态数字,如 -PC-3 / -PC-4),CSS 里不能穷举,要用前缀匹配或属性选择器。",
|
|
324
|
+
"tips": "各主题的左 / 右分配见右侧节点的 tips。模式切换相关类:weapp-ebddatacoms-mode-change-modeButtonsWrap[-PC|-isMobile|-{大写主题}]、-modeButton[-PC|-isMobile|-{大写主题}]、-selectWrap[-{大写主题}]、-select[-isMobile]、-select-dropdown[-{大写主题}]"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"tag": "div",
|
|
328
|
+
"class": "weapp-ebddatacoms-date-header-right [weapp-ebddatacoms-date-header-right-{isMobile|PC}] [-PC-<n>] [-PC_isNotChinese] [-LIST]",
|
|
329
|
+
"desc": "右区内容随主题分配。分配表(ThemeType → 左 / 右):SIMPLESTYLE 模式切换 / 年月切换;REDSTYLE 农历面板 / 模式切换+年月切换;GREENSTYLE、BLUESTYLE 模式切换 / 年月切换;LIGHTBLUESTYLE 年月切换+模式切换 / 农历面板;WEEK-* 四种 年月切换 / 月份标题;BLUENOTESTYLE、REDNOTESTYLE 年月切换 / 农历面板。",
|
|
330
|
+
"tips": [
|
|
331
|
+
"年月切换相关类:weapp-ebddatacoms-month-switcher[-pre|-next|-content|-datepicker][.multiple] / -current-week(内含 span.week-span 与注入的 span.week-number)/ -current-month",
|
|
332
|
+
"datepicker 的类名有源码笔误:是 weapp-ebddatacoms-mode-switcher-datepicker-{month|week|day|doubleWeek} 和 -{大写主题}(mode-switcher 不是 month-switcher),照抄即可",
|
|
333
|
+
"农历面板:weapp-ebddatacoms-lunar-date > -day(> div.day + div.date)+ -lunar(> div.lunar-date + div.lunar-year)"
|
|
334
|
+
]
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"tag": "div",
|
|
342
|
+
"class": "weapp-ebddatacoms-date-content",
|
|
343
|
+
"desc": "内容区,flex column(mixin .themeContainerStyle 已定义 flex:1 1 auto; overflow:hidden)。内部固定两块:日历(左 / 上)+ 事项列表(右 / 下),外加新建按钮。",
|
|
344
|
+
"children": [
|
|
345
|
+
{
|
|
346
|
+
"tag": "div",
|
|
347
|
+
"class": "weapp-ebddatacoms-date-content-calendar.weapp-ebddatacoms-date-content-calendar-{month|week|doubleWeek}",
|
|
348
|
+
"desc": "日历面板外框,后缀是 innerMode(便签主题会被强制成 month)。",
|
|
349
|
+
"children": [
|
|
350
|
+
{
|
|
351
|
+
"tag": "div",
|
|
352
|
+
"class": "weapp-ebddatacoms-date-content-calendarContainer",
|
|
353
|
+
"desc": "日历挂载点(代码在这里拿 ref 量宽)。",
|
|
354
|
+
"children": [
|
|
355
|
+
{
|
|
356
|
+
"tag": "div",
|
|
357
|
+
"class": "weapp-ebddatacoms-date-content-calendarMain [weapp-ebddatacoms-date-content-calendarMain-<大写主题>] [mobile] [doubleweek]",
|
|
358
|
+
"desc": "传给 @weapp/ui MCalendar 的 className,会拼到它自己的根上。MCalendar 内部:div.ui-m-calendar-container[.ui-m-calendar-container-hideLunar] > div.ui-m-calendar-wrapper(其余 ui-m-calendar-* 是内部类,不可控)。",
|
|
359
|
+
"tips": [
|
|
360
|
+
"⚠️ weapp-ebddatacoms-date-content-calendarMain 及其 -{主题} 变体在全部 less 里没有任何选择器 —— 空白钩子,想改日历面板直接用",
|
|
361
|
+
"单元格由 MCalendar 渲染后、本组件用 renderCellItem 包一层:div.weapp-ebddatacoms-calendar-cell-item [today] [grey] [date-selected] —— 给单元格写样式的主入口",
|
|
362
|
+
"单元格内部随主题两套:竖排周(126 / 127)= div.date-left(> span.week-day + span.day)+ div.date-right(> span.lunar-date + span.agendas-data[.has-agendas]);平铺周(124 / 125)= span.week-day + 第三方 cell + span.agendas-data[.has-agendas]",
|
|
363
|
+
"date-selected 是裸类名(常量 dateSelectedCls),源码会 querySelector('.date-selected') 定位选中格,别删"
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"tag": "div",
|
|
370
|
+
"class": "weapp-ebddatacoms-calendar-footer",
|
|
371
|
+
"desc": "日历底部的折叠 / 展开箭头(内含 @weapp/ui Icon,name='Icon-Down-arrow03',月模式时 rotate=180)。它通过 MCalendar 的 renderFooter prop 注入,所以落在 ui-m-calendar-footer 槽位里。",
|
|
372
|
+
"when": "showViewModeChange 为真,且主题不在 {124,125,126,127,128,129},且(模式≠month 或 window.RENDER_EB_CALENDAR_MONTH_MODE_COLLAPSE_BUTTON 为真)"
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"tag": "div",
|
|
378
|
+
"class": "weapp-ebddatacoms-date-content-workplan [weapp-ebddatacoms-date-content-workplan-loading]",
|
|
379
|
+
"desc": "事项列表外层。⚠️ 竖排周主题(126 / 127)下它同时是 createBtn 的父级,其它主题下 createBtn 是它的兄弟节点。已有 less:-workplan-loading 与 -workplan-spin-loading。",
|
|
380
|
+
"children": [
|
|
381
|
+
{
|
|
382
|
+
"tag": "div",
|
|
383
|
+
"class": "ui-spin-nested-loading > div.ui-spin-container",
|
|
384
|
+
"desc": "Spin。⚠️ 传给它的 weapp-ebddatacoms-date-content-workplan-spin[-loading] 落在内层 div.ui-spin 上、只有请求中才有 —— 按「loading 态」写样式请用 -workplan-loading / .ui-spin-nested-loading(坑同 shared.uiAppend 的 Spin)。",
|
|
385
|
+
"children": [
|
|
386
|
+
{
|
|
387
|
+
"tag": "div",
|
|
388
|
+
"class": "weapp-ebddatacoms-date-content-workplan-list [is-empty] [mobile]",
|
|
389
|
+
"desc": "列表容器,loading 中内容为空。内部二选一:空态或事项列表。",
|
|
390
|
+
"tips": "已有 less:.weapp-ebddatacoms-date-content-workplan-list .agendas-empty(居中)、.weapp-ebddatacoms-workplan-item .date / .text,以及任务卡片固定 #52c41a、提醒卡片固定 #faad14 的边框与底色",
|
|
391
|
+
"children": [
|
|
392
|
+
{ "tag": "div", "class": "agendas-empty", "desc": "空态容器(裸类名)。内部:@weapp/ui Icon(className='weapp-ebddatacoms-date-content-workplan-list-empty-icon',图标名随主题变)+ span.weapp-ebddatacoms-date-content-workplan-list-empty-text(文案「暂无数据」)。", "when": "列表为空" },
|
|
393
|
+
{ "ref": "shared.workItems", "desc": "事项列表本体(div.weapp-ebddatacoms-date-content-workFlow-list 包裹)" }
|
|
394
|
+
]
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"tag": "div",
|
|
402
|
+
"class": "weapp-ebddatacoms-date-content-create",
|
|
403
|
+
"desc": "新建按钮区。三种形态:单一 div.weapp-ebddatacoms-date-content-create-btn(内含 Icon + 可选 span.create-label)|Trigger 包裹的多选项按钮(className='weapp-ebddatacoms-date-content-create-popover' 会 merge 到那个 div 上,两者合成同一个元素的多个类,不存在独立包裹层)|二开自定义 div.weapp-ebddatacoms-date-content-create-btn.custom-create-button。",
|
|
404
|
+
"when": "系统数据源且至少一种可新建,或有 customCreate / customShowCreateBtn",
|
|
405
|
+
"tips": "create-label 是裸类名(仅周主题与便签主题加这个文案 span);-date-content-create-popover 本身没有 less 规则,-create-btn 的样式分散在 mixins / 各主题文件里",
|
|
406
|
+
"children": [
|
|
407
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-date-content-create-popover-content", "desc": "多选新建的下拉内容,每项是 span.weapp-ebddatacoms-date-content-create-popover-content-item(已有 less + :hover)。", "when": "可选新建类型 > 1" }
|
|
408
|
+
]
|
|
409
|
+
}
|
|
410
|
+
]
|
|
411
|
+
},
|
|
412
|
+
{ "tag": "div", "class": "SysCreateDialog 展开的引擎弹窗", "desc": "新建 / 详情弹窗,见 popups。", "when": "!isMobile && (isSystemType || customCreate.open || customOpenItem.open)" }
|
|
413
|
+
]
|
|
414
|
+
},
|
|
415
|
+
"multiple": {
|
|
416
|
+
"desc": "树 ③|多数据源(config 没有 dataset,走 components/calendar-Multiple 与 calendar-view-Multiple)。外部结构、类名、less 与单数据源几乎完全一致 —— 只列差异,其余节点复用 viewCalendar / calendarCard 的描述。",
|
|
417
|
+
"tips": [
|
|
418
|
+
"两条子分支用同一套根类:view 模式 = .weapp-ebddatacoms-calendarv-container;card 模式 = .weapp-ebddatacoms-date-common",
|
|
419
|
+
"less 也是共用的:card 共用 calendar/style/index.less,view 共用 calendar-view/style/index.less",
|
|
420
|
+
"判断依据:config.dataSetNodes 存在 = 多数据源;否则看 config.dataset 是否存在"
|
|
421
|
+
],
|
|
422
|
+
"children": [
|
|
423
|
+
{
|
|
424
|
+
"desc": "视图模式(calendar-type = '2')的差异清单:",
|
|
425
|
+
"value": [
|
|
426
|
+
"header 里多两块:div.weapp-ebddatacoms-calendarv-filterLeft(数据集下拉)、div.weapp-ebddatacoms-calendarv-filterNew(内部 Select 用 className='weapp-ebddatacoms-calendarv-date-header-right-filter')",
|
|
427
|
+
"筛选区不再有 If/Else 分支,固定渲染 DatasetSearchComMultiple(CorsComponent,不可控)",
|
|
428
|
+
"hover 气泡类名有细微差别:测量容器是 'calendar-popver-measure ui-popover-content'(比单数据源多一个 ui-popover-content),popupClassName 反而少了 ui-popover-content",
|
|
429
|
+
"事件来源是系统事项与数据源事项合并([...eventsSystem, ...eventsDataset])"
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"desc": "卡片模式的差异清单:",
|
|
434
|
+
"value": [
|
|
435
|
+
"div.weapp-ebddatacoms-date-header-right 多一个裸条件类 multiple",
|
|
436
|
+
"div.weapp-ebddatacoms-month-switcher 多一个裸条件类 multiple(已有 less:.weapp-ebddatacoms-month-switcher.multiple)",
|
|
437
|
+
"month-switcher 内多渲染一个 Select,className='weapp-ebddatacoms-date-header-right-filter'(受 config.dataSetFilterShow 控制)",
|
|
438
|
+
"事项列表会混入数据源事项,且日程的标题 / 时间会多 -title-complete / -time-complete 条件类(agenda.calendarStatus === 'finish')",
|
|
439
|
+
"renderCellItem 的竖排周主题里不再插入节假日 Icon(少了那个小图标节点)",
|
|
440
|
+
"新建下拉里额外出现 span.weapp-ebddatacoms-date-content-create-popover-content-item(「新建<数据源名>」)",
|
|
441
|
+
"loading 由系统 + 数据源两个请求合并(requestLoading || requestLoadingDataSet)"
|
|
442
|
+
]
|
|
443
|
+
}
|
|
444
|
+
]
|
|
445
|
+
},
|
|
446
|
+
"engineView": {
|
|
447
|
+
"desc": "树 ④|Engine 入口的视口。日历组件被单独当「日历视口」用时走这条(engine/Engine.tsx → engine/Content.tsx),它既不是 calendarv 也不是 date-common,很容易找错。",
|
|
448
|
+
"tag": "div",
|
|
449
|
+
"class": "weapp-ebddatacoms-view-calendar-main weapp-ebddatacoms-view-content",
|
|
450
|
+
"tips": "已有 less:-view-calendar-main { position: relative; padding: 0 16px; height: calc(100% - 50px) };-view-content 只 combo 出现,less 里没有单独规则",
|
|
451
|
+
"children": [
|
|
452
|
+
{
|
|
453
|
+
"tag": "div",
|
|
454
|
+
"class": "ui-spin-nested-loading > div.ui-spin-container",
|
|
455
|
+
"desc": "Spin(无自定义 className)。",
|
|
456
|
+
"children": [
|
|
457
|
+
{
|
|
458
|
+
"tag": "div",
|
|
459
|
+
"class": "weapp-ebddatacoms-calendar-config-action",
|
|
460
|
+
"desc": "顶部操作区(engine/TopFilter.tsx)。里面依次是 leftDom(二开插槽)、FormSet、StyleSet、FieldSearch、ParamCondition。",
|
|
461
|
+
"tips": "已有 less:.weapp-ebddatacoms-calendar-config-action button { margin-right: var(--h-spacing-md) }",
|
|
462
|
+
"children": [
|
|
463
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-style-set", "desc": "风格设置 Trigger(engine/StyleSet.tsx)。弹层内容:div.weapp-ebddatacoms-calendar-style-set-content > div.weapp-ebddatacoms-calendar-style-set-item > label.weapp-ebddatacoms-calendar-style-set-item-label + Select.weapp-ebddatacoms-calendar-style-set-item-select;每个触发按钮是 div.weapp-ebddatacoms-calendar-style-set-button[.weapp-ebddatacoms-calendar-btn-select],内含 Icon.btn-icon-left。", "tips": "calendar-btn-select 是选中态类,已有 less:svg { color: var(--primary) }" },
|
|
464
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-view-calendar-config", "desc": "日历设置 Dialog 的内容容器(engine/FormSet.tsx)。已有 less:margin:0; padding:0。", "when": "打开日历设置弹窗" },
|
|
465
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-style-set-button [weapp-ebddatacoms-calendar-btn-select]", "desc": "参数条件按钮(engine/ParamCondition.tsx)+ Icon.btn-icon-left。点击后打开 CorsComponent(@weapp/components 的 ConditionSetDlg),内部不可控。" }
|
|
466
|
+
]
|
|
467
|
+
},
|
|
468
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-display-relative", "desc": "日 / 周 / 月切换条容器(engine/Content.tsx),里面是 CorsComponent 拉的 @weapp/ebdform DateSelector。已有 less:padding-bottom + height:46px + flex: 0 0 46px。" },
|
|
469
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-com", "desc": "日历本体容器,内部是 @weapp/ui Calendar(结构同 shared.fcSkeleton,但外层没有 .ui-calendar 的 -calendarv-content 包裹)。已有 less:height: calc(100% - 102px); flex: 1 1 0,并强制内部 >div 与 #calendar-container 都是 100% 高。", "when": "defaultView 有值" }
|
|
470
|
+
]
|
|
471
|
+
}
|
|
472
|
+
],
|
|
473
|
+
"sibling": { "tag": "div", "class": "weapp-ebddatacoms-calendar-builder-header", "desc": "engine/calendar-builder/CalendarBuilder.tsx 的头部,内部再渲染一遍 TopFilter(buttonType='link')。它是独立的 header 出口(index.tsx 以 CalendarBuilderHeader 单独 lazy 导出),不在这棵树的 DOM 里。" }
|
|
474
|
+
},
|
|
475
|
+
"configPanel": {
|
|
476
|
+
"desc": "树 ⑤|设计器右侧属性配置面板。⚠️ config/Config.tsx 本身不产任何 DOM —— 它导出的是配置 schema(groups + items),由引擎的配置面板宿主渲染成 DOM。能定位的只有各配置项自定义组件自己挂的类。",
|
|
477
|
+
"tips": [
|
|
478
|
+
"schema 里的 groups[].id(displayTypeGroup / sourceGroup / interDataGroup / baseConfigGroup / conditionGroup / filterSearchGroup / styleSetGroup / dataSetGroup)只是分组锚点,不会变成 DOM 的 id 或 class,别拿它们写选择器",
|
|
479
|
+
"面板里大量内容来自 @weapp/ebdcoms / @weapp/ebdform / @weapp/components 的 CorsComponent,内部 DOM 完全不可控"
|
|
480
|
+
],
|
|
481
|
+
"children": [
|
|
482
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-config-100", "desc": "全宽配置项容器。出现在 CalendarModeConfig(展示样式)、DataSourceTypeConfig(来源类型)、ViewModeSelectConfig(模式切换)三项。已有 less:width: 100%。" },
|
|
483
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-config-weekstart", "desc": "周开始日期配置行。结构:div.weapp-ebddatacoms-calendar-config-weekstart-title > span.weapp-ebddatacoms-calendar-config-weekstart-title-content + Help;下面 Select 带 class 'weapp-ebddatacoms-calendar-config-100 weapp-ebddatacoms-calendar-config-weekstart-select'。已有 less 覆盖 title / select / title-content 与内部 .ui-help .ui-help-explain .ui-icon。" },
|
|
484
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-config-systemSource", "desc": "系统数据源配置。结构:-checkboxWrap(复选框行)+ 可选 -switchWrap > -switchWrap-label + Switch。-switchWrap-switch 是源码用了但 less 里没定义的空白钩子。" },
|
|
485
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-node-item", "desc": "「数据源设置」里的单个数据源节点行(config/components/dataSetNodes/Item.tsx)。结构:-checkbox(Popover + Checkbox)+ -btn > -btn-text(span)+ -btn-opt(div,两个 span:视图文案 + Icon-delete02)。已有 less 定义了 -checkbox / -btn / -btn-text / -btn-opt 与内部 button.ebcoms-btn-ex。", "tips": "它的父容器类名是残缺的:List.tsx 写的是 `${clsPrefix}-`,拼出来就是 .ebcoms- —— 源码原文如此,照抄可用" },
|
|
486
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-node-slider", "desc": "右侧滑出的「数据源设置」抽屉(node-slider/index.tsx),Dialog placement='right'。内部:-setting、CorsComponent(@weapp/designer 的 FormPanel,不可控)、.ui-dialog-body-container / .ui-title-inDialog / .ui-dialog-content-right / .ui-dialog-wrap(第三方 Dialog 内部类,已有 less 覆盖)。", "tips": "抽屉顶部的 .weapp-ebddatacoms-node-slider-top(含 -icon)在 customRenderLeft 里,样式在 node-slider/index.less" },
|
|
487
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-config-form", "desc": "基本信息分组卡(GroupCard,engine/config-form/ConfigForm.tsx)。已有 less 大量覆盖内部:.ui-formItem-wrapper / .ui-select(100% 宽)/ .ui-formSwitch .ui-input-wrap / .ui-formItem-label-required .ui-formItem-label-span / .cke_top.cke_reset_all / .weapp-ebddatacoms-timeline-switch。", "when": "!isOuter(内嵌在配置面板里时)" },
|
|
488
|
+
{ "tag": "form", "class": "{weapp-ebddatacoms-calendar-form | weapp-ebddatacoms-form-label-w116}", "desc": "表单本体,两个互斥的 className 取决于是否 isOuter:isOuter(外层独立表单)用 weapp-ebddatacoms-calendar-form;否则用 weapp-ebddatacoms-form-label-w116(控制 label 宽度 116)。两者在 less 里各有一套规则。", "tips": "实际渲染出的是 form 元素 + @weapp/ui Form 的内部结构(.ui-formItem-* / .ui-select / .ui-formSwitch 等)" },
|
|
489
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-period", "desc": "时间段滑块行(config-form/Period.tsx)。结构:Slider.Range + span.weapp-ebddatacoms-calendar-period-text(显示「9:00 - 18:00」)。已有 less + -period-text 规则。", "when": "字段是 showTimeSlot" },
|
|
490
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendar-form-richtextarea", "desc": "富文本详情行(config-form/ConfigForm.tsx)。内含 @weapp/ui RichText(CKEditor,内部 .cke_contents / .cke_top,已有 less 去掉 .cke_top 边框)+ Help。已有 less:.weapp-ebddatacoms-calendar-form-richtextarea .ui-rich-text { flex: 1 1 auto }。" },
|
|
491
|
+
{ "tag": "span", "class": "openType-pageWidth", "desc": "打开方式里的页宽百分比文本(config-form/OpenTypeGroup.tsx)。注意这是个硬编码的裸类名,没有前缀。" }
|
|
492
|
+
]
|
|
493
|
+
},
|
|
494
|
+
"popups": {
|
|
495
|
+
"desc": "树 ⑥|浮层与弹窗。任何视图分支都可能叠加这些节点,它们大多 Portal 到 body 下或由 CorsComponent 动态加载,脱离组件自身的 DOM 链路。",
|
|
496
|
+
"children": [
|
|
497
|
+
{ "tag": "div", "class": "ui-trigger-popupInter-container > div.ui-trigger-popupInner…", "desc": "@weapp/ui 所有弹层(Popover / Help / Trigger / Select 下拉 / Menu 下拉)的公共链路,结构见 shared.uiAppend。自定义类只能通过 triggerProps.popupClassName / dropdownClassName 传进来。" },
|
|
498
|
+
{ "tag": "div", "class": "agendasPopoverPopup", "desc": "卡片模式里事项条目的悬停气泡(popupClassName,裸类名)。已有 less:.agendasPopoverPopup .ui-popover-tooltip .ui-popover-arrow 与 .agendasPopoverPopup .ui-popover-noMask .ui-popover-content。" },
|
|
499
|
+
{ "ref": "shared.hoverCard", "desc": "日历视图模式里的事项 hover 详情卡(#calendar-popover + calendar-popver-measure + calendar-textPopopverPopup)。" },
|
|
500
|
+
{ "tag": "div", "class": "SysCreateDialog 展开的引擎弹窗", "desc": "components/SysCreateDialog/index.tsx。它自己没有任何 className,全部是 CorsComponent 动态加载的第三方弹窗:@weapp/calendar 的 CalendarViewDialog、@weapp/task 的 TaskViewDialog、@weapp/crm 的 CrmCreateRemindDialogProvider / ContactRemindViewDialogProvider / CrmCustomerViewDialogProvider。内部 DOM 完全不可控。", "tips": "想改新建 / 详情弹窗样式,只能从 #<comId> 限域外挂,或改这些第三方包里弹窗自己的类(ui-dialog*)" },
|
|
501
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-calendarv-filter / weapp-ebddatacoms-calendarv-filterNew", "desc": "日历视图里的筛选入口。点开的筛选弹窗全部是 CorsComponent:components/Filter/* 对应 @weapp/components 的 ConditionSet、@weapp/ebdcoms 的 FilterDlg 和 FilterInput;DatasetSearchCom 对应 @weapp/ebdlist 的 FilterPanel;field-search 对应 @weapp/ebdform 的 FieldSearch 与 @weapp/ebdlist 的 SearchFields。这些组件本身不带任何日历的 className。", "tips": "唯一可控的钩子是外层那两块 div;弹窗本体只能靠第三方自己的类(.ui-dialog / .ebcomponents-* 等)" },
|
|
502
|
+
{ "tag": "div", "class": "weapp-ebddatacoms-button-group [weapp-ebddatacoms-button-group-checked]", "desc": "按钮组(calendar-view/components/ButtonGroup.tsx,两个分支各有一份同构副本)。⚠️ 它目前只在 engine/config-form/ConfigForm.tsx 的 weekStart 配置行里被用到,而且配套的 style/index.less 没被任何地方 import —— 运行时不会出现在视图里、也没有生效样式。", "tips": "如果哪天看到它,className 可以是任意值(组件会把外部 className 拼上去),内部按钮选中态用 -button-group-checked" }
|
|
503
|
+
]
|
|
504
|
+
},
|
|
505
|
+
"notes": [
|
|
506
|
+
"两个 content 陷阱:引擎的 .content 是 #<comId> 的直接子元素(无前缀);组件的 .weapp-ebddatacoms-calendarv-content 才是日历画布容器。同名不同层,定位前先确认有没有 weapp-ebddatacoms- 前缀。",
|
|
507
|
+
"less 里有、源码不输出的死钩子(改样式前先在 DOM 里确认):-calendarv-header-right-right、-calendarv-legend*(renderLegend 被注释掉了)、-date-header-filter(实际输出的是 -date-header-right-filter)、-view-calendar-wrapper、-calendar-btn、-calender-filter-search(源码少了 a 且无挂载点)、-note-binding(便签 mixin 里有完整样式,但卡片树不渲染该节点)。",
|
|
508
|
+
"源码拼写错误要照抄(不要「修正」):-date-content-workFlow-list(大写 F)、-mode-switcher-datepicker-*(是 mode 不是 month)、-lazyLodingEmpty(少 a,与正确的 lazyLoadingEmpty 同时挂)、@weapp/ui 的 .ui-spin-dot.false(Spin 内部模板串没做三元兜底,真的会输出一个名为 false 的类)、.ui-menu-select-btn-undefined(selectButtonType 未传时会拼出 undefined)。",
|
|
509
|
+
"className 会被 merge 而不是包一层的地方(容易找错层级):@weapp/ui 的 Trigger 会把 className 合并到它的 child 上(新建按钮因而同时有 -create-btn 和 -create-popover);Spin 的 className 落在内层 .ui-spin 上且只在 spinning=true 时存在;Layout.Box 会渲染两层(外层 BoxBlock 不消费业务 className)。",
|
|
510
|
+
"两个近义列表类名:.weapp-ebddatacoms-date-content-workplan-list(外层,含空态和 loading)与 .weapp-ebddatacoms-date-content-workFlow-list(有数据时才有的列表本体)。差一个字母,先看 DOM 里到底有哪个。",
|
|
511
|
+
"已有样式的入口文件(想避免重复写规则先读这些):calendar/style/{index,header,footer,createBtn,workplan,mixins}.less 与 themes/*.less(卡片树)、calendar-view/style/index.less(日历视图树)、engine/style/index.less(Engine 树)、config/style/index.less(配置面板)、view/index.less(引擎 footer 按钮区 .weapp-ebddatacoms-calendar-foot)。",
|
|
512
|
+
"主题类名有两套且大小写不同:挂在 .weapp-ebddatacoms-date-common 上的是 kebab(simple-style / week-gray-style …),拼在 Header 子元素后缀上的是全大写(SIMPLESTYLE / WEEKGRAYSTYLE …)。写选择器时别混。",
|
|
513
|
+
"weId 不等于 id。源码里到处传的 weId 会落到 DOM 上、属性名是小写的 weid;组件自己从来没用过 id= 属性,唯一真实 id 是 @weapp/ui Calendar 内部的 #calendar-container 和 hover 卡的 #calendar-popover。"
|
|
514
|
+
]
|
|
515
|
+
}
|