diff --git a/frontend/components.d.ts b/frontend/components.d.ts index e69de29b..b9476931 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -0,0 +1,85 @@ +/* eslint-disable */ +// @ts-nocheck +// biome-ignore lint: disable +// oxlint-disable +// ------ +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 + +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + BulletChart: typeof import('./src/components/charts/BulletChart.vue')['default'] + ConnectionLines: typeof import('./src/components/strategy/ConnectionLines.vue')['default'] + DriverFactorBudget: typeof import('./src/components/DriverFactorBudget.vue')['default'] + ElAlert: typeof import('element-plus/es')['ElAlert'] + ElAside: typeof import('element-plus/es')['ElAside'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] + ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElDivider: typeof import('element-plus/es')['ElDivider'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElPagination: typeof import('element-plus/es')['ElPagination'] + ElProgress: typeof import('element-plus/es')['ElProgress'] + ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] + ElSlider: typeof import('element-plus/es')['ElSlider'] + ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTabPane: typeof import('element-plus/es')['ElTabPane'] + ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElTimeline: typeof import('element-plus/es')['ElTimeline'] + ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] + ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElTree: typeof import('element-plus/es')['ElTree'] + ElUpload: typeof import('element-plus/es')['ElUpload'] + GaugeChart: typeof import('./src/components/charts/GaugeChart.vue')['default'] + GrowthQuality: typeof import('./src/components/GrowthQuality.vue')['default'] + KnowledgePanel: typeof import('./src/components/KnowledgePanel.vue')['default'] + KPIListView: typeof import('./src/components/KPIListView.vue')['default'] + MapCanvasDialogs: typeof import('./src/components/map-canvas/MapCanvasDialogs.vue')['default'] + MapCanvasToolbar: typeof import('./src/components/map-canvas/MapCanvasToolbar.vue')['default'] + MapNode: typeof import('./src/components/strategy-map/MapNode.vue')['default'] + MyDialog: typeof import('./src/components/MyDialog.vue')['default'] + NodeEditDialog: typeof import('./src/components/strategy-map/NodeEditDialog.vue')['default'] + ProfitBreakdown: typeof import('./src/components/charts/ProfitBreakdown.vue')['default'] + RiskCell: typeof import('./src/components/charts/RiskCell.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + StrategyLayer: typeof import('./src/components/strategy-map/StrategyLayer.vue')['default'] + WaterfallChart: typeof import('./src/components/charts/WaterfallChart.vue')['default'] + WelcomeGuide: typeof import('./src/components/WelcomeGuide.vue')['default'] + } + export interface GlobalDirectives { + vLoading: typeof import('element-plus/es')['ElLoadingDirective'] + } +} diff --git a/frontend/src/views/CMAKnowledge.vue b/frontend/src/views/CMAKnowledge.vue index 50374623..b263704e 100644 --- a/frontend/src/views/CMAKnowledge.vue +++ b/frontend/src/views/CMAKnowledge.vue @@ -251,6 +251,46 @@ const categories = ref([
  • 系统会持续跟踪逾期和进度
  • `, }, + { + title: "PDCA双循环", + summary: "计划(Plan)→执行(Do)→检查(Check)→改进(Act)的持续改进循环", + content: `

    PDCA双循环

    +

    PDCA是计划→执行→检查→改进的持续改进循环,由戴明提出,是CMA管理控制体系的核心框架。系统菜单已按PDCA四阶段分组。

    +
    双循环模型
    + + + + +
    循环频率内容系统对应
    战略循环年度/季度战略地图更新·O调整战略回顾会
    执行循环月度/周度KR追踪·KPI考核·改善经营看板+差异分析
    `, + }, + { + title: "SMART原则", + summary: "设定KPI的五项原则:具体的、可衡量的、可实现的、相关的、有时限的", + content: `

    SMART原则

    + + + + + + + +
    字母含义好KPI差KPI
    S具体的库存周转从45天降到30天提升效率
    M可衡量的渠补率从82.8%降到75%改善渠道关系
    A可实现的管理费从91万降到85万降到0(不现实)
    R相关的仓库KPI→库存周转率仓库KPI→客户满意度
    T有时限的Q3前完成TOP5谈判尽快完成
    `, + }, + { + title: "OKR", + summary: "目标与关键结果:O是定性方向,KR是定量衡量", + content: `

    OKR——目标与关键结果

    +

    O(目标):我们要去哪里?——定性、有方向感

    +

    KR(关键结果):怎么知道到了?——定量、可衡量

    +
    OKR vs KPI
    + + + + + +
    维度OKRKPI
    本质设定目标+衡量结果持续监控健康状况
    频率季度设定持续追踪
    场景战略落地、创新突破日常运营、绩效评估
    +

    CMA系统已内置OKR模板库(/okr-templates),每个O可预设3-5个KR。

    `, + }, ], }, {