78 lines
4.0 KiB
Markdown
78 lines
4.0 KiB
Markdown
# 测试方案 — 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` 被自动清理
|
||
- [ ] 字段编辑面板展开后自动滚动对齐,底部输入框可正常点击
|
||
|
||
## 测试方式
|
||
|
||
全部使用手工功能验证(项目无单元测试框架)。
|