Files
his/ANALYSIS.md
2026-05-16 12:19:49 +08:00

1.5 KiB
Raw Blame History

Bug #426 修复报告

根因分析

Element Plus el-table 的懒加载树形模式(lazy + :load + tree-props="{ hasChildren: 'hasChildren' }")要求每一行数据必须包含 hasChildren: true 属性,才会在该行前渲染展开箭头(+ / -)。

代码中所有创建 selectedItems 行对象的路径共7处都正确设置了 isPackage: truepackageId,但遗漏了 hasChildren 属性,导致树形表格无法识别哪些行是可展开的套餐项。

影响范围

  • 文件: examinationApplication.vue(前端)
  • 涉及函数: handleItemSelecthandleMethodSelecthandleRowClickonDetailMethodChange
  • 数据表: 无数据库变更

修复方案

在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行改动