# Bug #539 分析报告 ## Bug 描述 住院护士站点击后只有一个标签可见,缺少入出转管理、护理记录等功能模块。 ## 根因分析 ### 数据库菜单结构 `hisdev.sys_menu` 中,住院护士站(menu_id=295)是**目录类型(M)**,没有 component 字段。 其下有多个子菜单(门户、入出转管理、护理记录、三测单等),都分配给了护士角色。 ### 问题核心 1. 菜单 295(住院护士站)类型为 M(目录),点击后侧边栏展开为子菜单列表。 2. 菜单 296(门户)是第一个子菜单(order_num=1),component = `inpatientNurse/inpatientNurseStation/index`(带10个标签的主页面)。 3. 由于 295 是目录类型 M,点击"住院护士站"时系统默认打开第一个子菜单 296(门户), 同时侧边栏会展开显示所有子菜单项(入出转管理、护理记录等)作为独立的侧边栏条目。 4. **用户体验问题**:侧边栏展开后,"住院护士站"变成了一个可展开的目录,用户看到的是子菜单列表而非标签页导航。 门户(菜单296)加载了带标签的主页面,但侧边栏中额外的子菜单条目让用户困惑,以为"只有一个标签"。 ### 结论 根本原因:菜单 295(住院护士站)为目录类型(M),应改为菜单类型(C)并设置 component。 改为 C 后,点击"住院护士站"直接加载 `inpatientNurseStation/index.vue`(带10个功能标签的主页面), 侧边栏不再展开子菜单,用户通过页面内的 el-tabs 切换各功能模块。 ## 修复方案 将菜单 295 的 menu_type 从 'M' 改为 'C',component 设置为 `inpatientNurse/inpatientNurseStation/index`。 ## 修复结果 ### 已执行操作(2026-05-18) 1. `UPDATE hisdev.sys_menu SET menu_type = 'C', component = 'inpatientNurse/inpatientNurseStation/index', update_time = NOW() WHERE menu_id = 295;` - 将住院护士站从目录类型改为菜单类型,设置 component → UPDATE 1 ✅ ### 修复后验证 - 菜单 295:menu_type=C, component=`inpatientNurse/inpatientNurseStation/index` → 直接加载带10个标签的主页面 ✅ - 菜单 296(门户):component=`inpatientNurse/inpatientNurseStation/index` → 同一页面(兼容旧入口)✅ - 菜单 297-2062:各子菜单 component 均指向正确的前端组件 ✅ - 侧边栏"住院护士站"不再展开子菜单,点击即加载标签页主界面 ✅ - 修复结果:✅ 成功,1行数据库改动(menu_id=295 M→C + component 设置)