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

48 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试方案 — 模板字段唯一性、删除交互与报告批量导出2026-04-17-10-21-18
## 一、编译检查
- 执行 `npm run lint``tsc --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 文件,确认结构包含 `meta`id、title、createdAt 等)和 `fields`patientName、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 导出。