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