# 测试方案 — 2026-04-17-23-12-52 ## 测试目标 验证时间字段格式选项补全、报告编辑器 "24h" 脏数据显示修复、以及字段管理编辑面板点击失效问题的修复。 ## 测试环境 - 本地开发服务器:`npm run dev`(端口 3000) - 浏览器:Chrome/Edge - 测试账号:admin / 123456(超级管理员) ## 测试用例 ### TC-1:默认时间格式修正 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 清除 localStorage 中 `formFieldsConfig`,重新登录 | 系统加载默认字段配置 | | 2 | 进入「模板管理」→「字段管理」 | 字段列表正常显示 | | 3 | 点击「手术开始时间」进入编辑模式 | `timeFormat` 输入框显示为 `HH:mm`,而非 `24h` | | 4 | 点击「手术终止时间」进入编辑模式 | 同上,显示 `HH:mm` | ### TC-2:报告编辑器 "24h" 脏数据兼容 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 进入「报告编辑器」新建报告 | 加载默认模板 | | 2 | 在基本信息中填写手术开始时间为 `09:30` | 编辑器中「手术开始时间」smart field 显示 `09:30`,而非 `24h` | | 3 | 填写手术终止时间为 `14:00` | 编辑器中「手术终止时间」smart field 显示 `14:00`,而非 `24h` | | 4 | (进阶)手动将 `formFieldsConfig` 中某 time 字段的 `timeFormat` 改回 `'24h'`,刷新后再新建报告 | 该时间字段仍能正常显示时间值(通过兼容兜底) | ### TC-3:格式选项按类型过滤 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 进入「模板管理」→「字段管理」 | — | | 2 | 点击「手术日期」(date 类型)进入编辑模式,聚焦格式输入框 | datalist 下拉中**只出现日期格式**(如 `YYYY-MM-DD`、`YYYY年MM月DD日`、`MM-DD`、`MM月DD日`),**不出现** `HH:mm`、`hh:mm A` | | 3 | 点击「手术开始时间」(time 类型)进入编辑模式,聚焦格式输入框 | datalist 下拉中**只出现时间格式**(如 `HH:mm`、`hh:mm A`),**不出现** `YYYY-MM-DD` 等日期格式 | | 4 | 新增字段 → category 选「时间」→ type 选「日期」→ 聚焦格式输入框 | 同上,只显示日期格式 | | 5 | type 切换为「时分」→ 聚焦格式输入框 | 只显示时间格式 | ### TC-4:旧脏数据清理 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 在浏览器 DevTools → Application → Local Storage 中,手动将 `customTimeFormats` 设为 `["YYYY-MM-DD", "24h", "12h", "HH:mm"]` | — | | 2 | 刷新页面,进入「模板管理」 | — | | 3 | 聚焦任意时间字段的格式输入框 | datalist 中**不出现** `24h` 和 `12h`,只出现 `YYYY-MM-DD`、`YYYY年MM月DD日`、`HH:mm`、`hh:mm A` 等有效格式 | ### TC-5:字段编辑面板点击与滚动 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 进入「模板管理」→「字段管理」 | — | | 2 | 将页面滚动到底部,使最后一个字段(如「撰写时间」)刚好位于可视区域底部边缘 | — | | 3 | 点击该字段卡片进入编辑模式 | 编辑面板展开后,卡片**自动平滑滚动**到可视区域内,所有输入框和下拉框均可正常点击获取焦点,无需手动滚动 | | 4 | 重复测试中间位置的字段 | 展开后同样能正常点击所有控件 | ### TC-6:类型检查 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 在项目根目录执行 `npm run lint` | `tsc --noEmit` 通过,0 errors | ## 验收标准 - [ ] `npm run lint` 无 TypeScript 编译错误 - [ ] 默认字段 `startTime`/`endTime` 的 `timeFormat` 为 `HH:mm`,不再出现 `24h` - [ ] 报告编辑器中时间字段正常显示时间值,不出现 "24h" 字样 - [ ] date 字段的 format datalist 只显示日期格式,time 字段只显示时间格式 - [ ] localStorage 中旧脏数据 `24h`/`12h` 被自动清理 - [ ] 字段编辑面板展开后自动滚动对齐,底部输入框可正常点击 ## 测试方式 全部使用手工功能验证(项目无单元测试框架)。