- Add postOpCondition, specimenDescription, pathologySent, frozenPathology to Report type and DEFAULT_FORM_FIELDS - Replace static placeholders in defaultContent.ts with smartField() calls - Auto-merge missing fields from DEFAULT_FORM_FIELDS into existing formFieldsConfig in ReportEditor and TemplateManage
2.4 KiB
2.4 KiB
测试方案 — 模板新增术后字段(2026-04-17-09-57-08)
一、编译检查
- 执行
npm run lint(tsc --noEmit),确保全量 TypeScript 无编译错误。
二、功能验证步骤
测试 1:新用户首次使用(默认模板加载)
- 浏览器 DevTools → Application → Local Storage → 清空本站所有 key。
- 刷新页面,用
admin / 123456登录。 - 进入【模板管理】→ 确认默认模板底部 4 处文本已变为可编辑的智能方框:
- 手术后情况
- 切除标本描述
- 是否送检病理
- 冰冻病理结果
- 点击【新建报告】→ 确认右侧【基本信息】表单出现:
- 手术后情况(下拉单选,默认选项 1 条)
- 切除标本描述(下拉单选,暂无选项,显示"暂无选项")
- 是否送检病理(下拉单选,选项:是 / 否)
- 冰冻病理结果(文本输入框)
- 在表单中修改"是否送检病理"为"否",观察编辑器中对应方框实时变为"否"。
- 在编辑器中直接点击"冰冻病理结果"方框并输入"良性",观察右侧表单实时变为"良性"。
测试 2:老用户字段升级(自动补全)
- DevTools Console 执行:
localStorage.setItem('formFieldsConfig', JSON.stringify([ { key: 'patientName', label: '患者姓名', category: '填空', type: 'text', visibleInForm: true, isSystemLocked: true }, { key: 'hospitalId', label: '住院号', category: '填空', type: 'text', visibleInForm: true, isSystemLocked: true } ])); - 刷新页面,进入【新建报告】。
- 确认右侧表单中除了"患者姓名"、"住院号"外,还自动出现了本次新增的 4 个字段以及其他默认字段(共 18 条)。
- DevTools 中查看
formFieldsConfig,确认 key 列表包含postOpCondition、specimenDescription、pathologySent、frozenPathology。
测试 3:持久化验证
- 在【新建报告】中填写 4 个新字段的值。
- 切换到【报告管理】再返回【新建报告】。
- 确认 4 个新字段的值在表单和编辑器中均被正确恢复。
三、预期结果
npm run lint0 错误。- 新建报告时模板底部 4 处为智能方框,右侧表单出现对应控件。
- 表单 ↔ 编辑器双向同步正常。
- 老用户自动补全字段成功,无数据丢失。
- 路由切换后,4 个新字段的值能被自动保存/恢复。