# 测试方案 — 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. **完成报告**:点击"完成报告",确认弱提示(签名确认弹窗)逻辑仍然生效。 --- ## 判定标准 全部测试通过后方可认为任务完成。若任何测试失败,需回滚并重新分析根因。