# Module Spec：vab-column-bar（列式布局左侧 Tab + 二级菜单）

module:
  id: vab-column-bar
  name: VabColumnBar（Column 布局列栏）
  type: ui
  entrypoints:
    - library/components/VabColumnBar/index.vue

public_api:
  concept:
    - "Column 布局专用：左侧 tabs 切换顶级菜单，右侧 el-menu 渲染 partialRoutes（二级菜单）"

dependency_closure:
  runtime:
    - "store-settings：theme(layout/columnStyle)/collapse + foldSideBar/openSideBar"
    - "store-routes：tab/tabMenu/activeMenu/routes/partialRoutes"
    - "config：defaultOpeneds/openFirstMenu/uniqueOpened"
    - "vue-router：useRoute/useRouter"
    - "utils/validate：isExternal"
    - "i18n：translate()"
    - "styles：@vab/styles/variables/variables.module.scss（column-second-menu-background 等）"
    - "Element Plus：el-scrollbar/el-tabs/el-tab-pane/el-menu/el-divider"
    - "VabLogo/VabMenu/VabIcon"

acceptance:
  - "theme.layout==='column' 时可用；route.meta.noColumn=true 时会自动折叠侧边栏并隐藏 fold-unfold"
  - "点击 tab：若 tabMenu.path 为外链则 window.open；否则（openFirstMenu=true）跳转到 redirect 或自身"

pitfalls:
  - "直接操作 DOM：document.querySelector('.fold-unfold') 修改 style；新项目结构不同需适配"
