Files
Mdeical_Sur_Report/工程分析/测试方案-2026-04-17-10-21-18.md
admin db5df13a05 feat: smart field uniqueness, delete button, bulk export in report manage
- TemplateManage: add uniqueness check for smart fields to prevent duplicate inserts
- Add red circular delete button to smart-field-wrapper (visible on hover via CSS)
- Enhance keydown handler to delete smart fields at block-level boundaries
- Update defaultContent.ts smartField() to include delete-btn
- ReportManage: add per-row checkboxes, select-all, bulk delete
- Add single-report export modal (PDF via printDocument, JSON via Blob)
- Add bulk export actions for PDF and JSON
- Update experience record (#16)
2026-04-17 10:32:07 +08:00

3.0 KiB
Raw Blame History

测试方案 — 模板字段唯一性、删除交互与报告批量导出2026-04-17-10-21-18

一、编译检查

  • 执行 npm run linttsc --noEmit),确保全量 TypeScript 无编译错误。

二、功能验证步骤

测试 1TemplateManage 字段唯一性

  1. 进入【模板管理】,选择一个模板。
  2. 在右侧字段库点击"姓名"patientName),确认成功插入智能字段方框。
  3. 再次点击"姓名",确认弹出提示 "姓名" 已存在,请勿重复插入。,且没有再次插入方框。

测试 2TemplateManage 字段删除(点击删除按钮)

  1. 在模板编辑器中,鼠标悬停在任意智能字段方框上,确认左上角出现红色小圆 ×。
  2. 点击该 ×,确认字段方框被移除,模板内容自动保存。
  3. 刷新页面,确认该字段确实已被删除。

测试 3TemplateManage 字段删除(键盘 Backspace/Delete

  1. 将光标定位在智能字段方框正后方(字段与后续文字之间),按 Backspace确认字段被删除。
  2. 将光标定位在智能字段方框正前方(段落开头,字段前面),按 Delete确认字段被删除。
  3. 尝试在段落中间的其他位置按 Backspace/Delete确认不影响正常文本编辑。

测试 4ReportManage 单报告导出

  1. 进入【报告管理】,确保列表中至少有一份已完成的报告。
  2. 点击某报告操作列的"导出"按钮,弹出导出选项弹窗。
  3. 选择 PDF:确认调用 printDocument 弹出浏览器打印窗口(可选择"另存为 PDF")。
  4. 再次点击"导出",选择 JSON:确认浏览器下载了一个 .json 文件。
  5. 打开该 JSON 文件,确认结构包含 metaid、title、createdAt 等)和 fieldspatientName、hospitalId 等字段值)。

测试 5ReportManage 复选框与批量删除

  1. 在报告列表中,点击多行的左侧复选框,确认 selectedIds 状态更新,顶部出现批量操作栏并显示"已选择 N 项"。
  2. 点击表头全选 Checkbox确认所有行被选中再次点击确认全部取消。
  3. 选中 2 份报告,点击批量操作栏的"批量删除",在确认弹窗中点击"取消",确认报告未被删除。
  4. 再次点击"批量删除"并确认,确认选中的报告从列表和 localStorage 中移除,批量操作栏消失。

测试 6ReportManage 批量导出

  1. 选中 2 份报告,点击"批量导出 JSON",确认下载的 JSON 文件中包含一个数组,数组长度为 2每个元素结构同单报告导出。
  2. 选中 2 份报告,点击"批量导出 PDF",确认弹出浏览器打印窗口,打印内容中两份报告之间有明显的分页(或分页符空白)。

三、预期结果

  • npm run lint 0 错误。
  • 模板字段唯一性校验生效,重复插入被阻止。
  • 模板字段可通过点击 × 或键盘 Backspace/Delete 删除。
  • 报告管理支持单报告 PDF/JSON 导出。
  • 报告管理支持复选框全选、批量删除、批量 PDF/JSON 导出。