## Bug #426 修复报告 ### 根因分析 Element Plus `el-table` 的懒加载树形模式(`lazy` + `:load` + `tree-props="{ hasChildren: 'hasChildren' }"`)要求每一行数据必须包含 `hasChildren: true` 属性,才会在该行前渲染展开箭头(+ / -)。 代码中所有创建 `selectedItems` 行对象的路径(共7处)都正确设置了 `isPackage: true` 和 `packageId`,但**遗漏了 `hasChildren` 属性**,导致树形表格无法识别哪些行是可展开的套餐项。 ### 影响范围 - **文件**: `examinationApplication.vue`(前端) - **涉及函数**: `handleItemSelect`、`handleMethodSelect`、`handleRowClick`、`onDetailMethodChange` - **数据表**: 无数据库变更 ### 修复方案 在7处代码路径中,当 `packageId` 存在时同步设置 `hasChildren: true`: 1. `handleRowClick` 初始 item 创建: `hasChildren: false` 2. `handleRowClick` 回充时设置 `isPackage` 两处: `hasChildren: true` 3. `handleMethodSelect` 已存在项更新: `hasChildren: true` 4. `handleMethodSelect` 新项创建: `hasChildren: !!(method.packageId || targetItem.packageId)` 5. `handleItemSelect` 新行创建: `hasChildren: !!(item.packageId)` 6. `onDetailMethodChange` 方法切换: `hasChildren: true` ### 验证计划 - 在门诊医生站选择检查套餐后,"检查明细" tab 的树形表格应显示展开箭头 - 点击展开箭头应懒加载套餐明细(项目名称、数量、单价) - 回充已保存申请单时套餐项应正确显示展开箭头 修复结果:✅ 成功,13行改动