# 知识库开关与弹层交互修复

日期：2026-07-12

## 问题

- 列表的知识库开放/关闭从 Switch 退化为文字按钮，不符合已确认的交互习惯。
- 详情抽屉内的“编辑基本信息”无法正常显示编辑弹窗。
- 表格固定操作列中的“更多”下拉菜单无法稳定打开。

## 修复原则

1. 列表恢复 Switch，切换前仍保留确认弹窗，取消或接口失败时必须回滚 Switch 视觉状态。
2. 归档知识库的 Switch 禁用，不能绕过后端状态机。
3. 编辑和批量修改弹窗统一挂载到 `body`，避免被 Drawer 的遮罩、焦点锁和层级限制。
4. “更多”使用独立图标触发按钮、显式 Teleport 和统一 command 处理，避免固定列裁剪菜单。
5. 修复后通过真实管理页分别验证 Switch、编辑弹窗和“更多”菜单。

## 根因与修复结果

根因是管理端入口未注册新页面使用的 `ElDialog`、`ElDropdown`、`ElDropdownMenu`、`ElDropdownItem`、`ElTag`、`ElAlert` 和 `ElProgress`。Vue 将这些标签当作普通 HTML 元素渲染，因此编辑内容存在但不会形成弹窗，“更多”也只有触发外观而没有真实菜单。

已完成：

- 补齐全部 Element Plus 组件注册和对应样式。
- 编辑和批量弹窗挂载到 `body`。
- “更多”菜单显式使用 Teleport。
- 开放状态恢复为 Switch，保留后端请求、确认弹窗和取消/失败回滚。

## 真实页面验证

- 6 个知识库均正确显示开放 Switch。
- 点击 Switch 显示关闭确认弹窗，取消后 Switch 仍保持开放，数据库未变更。
- “更多”可打开，显示详情、Agent 预览、版本、归档和删除项。
- 点击“查看版本”能打开知识库详情并切换到版本记录。
- 点击“编辑基本信息”能正常显示名称、类型和审核方式编辑弹窗。
- 生产构建通过，重新加载后无新增 Vue 组件解析警告或控制台错误。
