- Fix new field type linkage (remove text option under single/multi/image). - Add system fields: pre/post-op diagnosis, pathology checks, etc. - Replace placeholder text in default template with smart fields. - Accordion grouping and inline option editing in field management. - Add image field type, asset library with logo preloading. - Image source picker modal in ReportEditor (local/signature/asset). - Editor-to-sidebar highlight and scroll navigation on smart field click.
82 lines
4.0 KiB
Markdown
82 lines
4.0 KiB
Markdown
# 测试方案 — 2026-04-17-18-38-47
|
||
|
||
## 测试目标
|
||
|
||
验证 7 项需求全部正确实现,且不影响现有报告编辑、保存、打印等核心流程。
|
||
|
||
---
|
||
|
||
## 测试步骤
|
||
|
||
### 1. 编译检查
|
||
```bash
|
||
npm run lint
|
||
```
|
||
- **预期**:`tsc --noEmit` 通过,0 errors。
|
||
|
||
---
|
||
|
||
### 2. 默认模板与字段初始化(需求 2)
|
||
1. 清空浏览器 `localStorage`(或打开无痕窗口),重新登录进入 `/template-manage`。
|
||
2. 检查默认模板内容:
|
||
- "术前诊断"、"术后诊断"、"手术后情况"、"切除标本描述"、"是否送病理检查"、"冰冻病理结果"、"手术者签名"、"医院Logo" 均显示为可交互的智能字段/图片占位符,不再显示灰色静态文字。
|
||
3. 进入右侧"字段管理"Tab,确认新增的系统字段(术前诊断、术后诊断…)已存在且带默认选项。
|
||
|
||
---
|
||
|
||
### 3. 新增字段表单联动(需求 1)
|
||
1. 在"字段管理 → 新增字段"中:
|
||
- 选择分类"单选",确认类型下拉只有"下拉单选"。
|
||
- 选择分类"多选",确认类型下拉只有"标签多选"。
|
||
- 选择分类"图片",确认类型下拉只有"图片"。
|
||
- 选择分类"填空",确认类型下拉只有"文本"。
|
||
|
||
---
|
||
|
||
### 4. 字段管理折叠与编辑(需求 3、5)
|
||
1. 在"字段管理"Tab 中,确认字段按"填空/单选/多选/时间/图片"分组折叠显示。
|
||
2. 点击某一分组标题,确认该组展开/收起状态切换。
|
||
3. 点击"术前诊断"字段行,确认进入编辑模式,出现选项输入框。
|
||
4. 在选项输入框中追加一个选项(如"急性胆囊炎"),点击保存,确认字段列表刷新。
|
||
5. 刷新页面,确认修改后的选项仍然保留(已持久化到 `localStorage`)。
|
||
6. 确认系统锁定字段没有"删除"按钮,但非系统字段仍有"删除"按钮。
|
||
|
||
---
|
||
|
||
### 5. 素材管理与图片字段(需求 4)
|
||
1. 在"字段管理"中确认存在"素材库"区域,默认已包含"医院Logo"素材(由 `/logo_square.png` 自动转换而来)。
|
||
2. 点击素材库"上传图片",选择一张本地图片,确认上传后素材列表新增一项。
|
||
3. 在"插入字段"Tab 中,点击"医院Logo"插入到编辑器,确认插入的是图片占位符。
|
||
4. 切换到 `/report-editor`(新建报告),确认模板顶部 Logo 显示为图片占位符。
|
||
5. 点击该 Logo 占位符,确认弹出"图片来源选择器"弹窗。
|
||
6. 在弹窗中分别测试:
|
||
- 选择"本地上传"并上传新图,确认占位符被替换为新图。
|
||
- 删除后重新点击,选择"系统素材"中的医院 Logo,确认替换为 Logo。
|
||
- 删除后重新点击,选择"我的签名"(需确保当前用户已上传签名),确认替换为签名图。
|
||
|
||
---
|
||
|
||
### 6. 编辑器与侧边栏双向联动(需求 6、7)
|
||
1. 在 `/template-manage` 中,切换到"插入字段"Tab。
|
||
2. 点击编辑器正文中的"术前诊断"智能字段,确认右侧"插入字段"中"术前诊断"按钮出现高亮边框,并自动滚动到可视区域。
|
||
3. 切换到"字段管理"Tab,点击编辑器正文中的"手术名称"智能字段,确认:
|
||
- 右侧"手术名称"字段卡片出现高亮边框;
|
||
- 若该字段所在分组原本被折叠,则自动展开;
|
||
- 自动滚动到可视区域。
|
||
4. 点击编辑器空白处,确认高亮消失(`activeFieldKey` 重置为 null)。
|
||
|
||
---
|
||
|
||
### 7. 回归测试
|
||
1. **保存模板**:修改模板后点击"保存模板",刷新页面,内容不丢失。
|
||
2. **打印预览**:点击打印预览,确认所有智能字段、图片占位符渲染正常。
|
||
3. **撤销重做**:删除一个字段后按 `Ctrl+Z`,确认字段恢复。
|
||
4. **报告编辑**:在 `/report-editor` 中填写表单,确认双向同步(表单 → 正文、正文 → 表单)仍然正常。
|
||
5. **完成报告**:点击"完成报告",确认弱提示(签名确认弹窗)逻辑仍然生效。
|
||
|
||
---
|
||
|
||
## 判定标准
|
||
|
||
全部测试通过后方可认为任务完成。若任何测试失败,需回滚并重新分析根因。
|