# 测试方案 — 2026-04-17-21-32-27 ## 测试目标 验证时间/日期字段的格式配置、默认值策略、以及模板底部「撰写时间」动态字段的正确性。 ## 测试环境 - 本地开发服务器:`npm run dev`(端口 3000) - 浏览器:Chrome/Edge - 测试账号:admin / 123456(超级管理员) ## 测试用例 ### TC-1:TemplateManage 新增时间字段配置 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 登录 admin,进入「模板管理」 | | 2 | 点击「新增字段」,category 选「时间」,type 选「日期」 | 下方出现「默认值」select(手动选择/当前时间)和「显示格式」select(YYYY-MM-DD / YYYY年MM月DD日) | | 3 | 默认值选「当前时间」,格式选「YYYY年MM月DD日」,填写标签「出院日期」,点击「添加字段」 | 字段列表中出现「出院日期」,category 显示「时间 · date」 | | 4 | 新增字段 category 选「时间」,type 选「时分」 | 显示格式 select 出现「24小时制 / 12小时制」 | ### TC-2:TemplateManage 编辑已有时间字段配置 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 在字段列表中点击「手术日期」 | 进入编辑模式 | | 2 | 修改显示格式为「YYYY年MM月DD日」,保存 | 字段信息更新 | | 3 | 点击「手术开始时间」 | 编辑模式中出现 24h/12h 选项 | ### TC-3:ReportEditor 日期格式同步到富文本 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 新建报告,加载默认模板 | 基本信息中出现「撰写时间」字段 | | 2 | 在 TemplateManage 中将「手术日期」格式设为「YYYY年MM月DD日」 | — | | 3 | 回到 ReportEditor,手术日期选「2026-04-17」 | 编辑器中「手术日期」smart field 显示为「2026年04月17日」 | | 4 | 将格式改回「YYYY-MM-DD」 | 编辑器中显示为「2026-04-17」 | ### TC-4:ReportEditor 时间 12h/24h 格式 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 在 TemplateManage 中将「手术开始时间」格式设为「12小时制」 | | 2 | 在 ReportEditor 中选择 09:30 AM | 编辑器中显示「09:30 上午」 | | 3 | 切换为 02:30 PM | 编辑器中显示「02:30 下午」;reportData.startHour = "14" | | 4 | 将格式改回「24小时制」 | 表单变为 hour(00-23)+minute;编辑器显示「14:30」 | ### TC-5:自动填充当前时间 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 确保「撰写时间」的 timeDefault 为「当前时间」 | — | | 2 | 新建报告 | 「撰写时间」字段自动填充为当天日期(如 2026-04-17) | | 3 | 确保「手术开始时间」的 timeDefault 为「当前时间」 | — | | 4 | 新建报告 | 「手术开始时间」自动填充为当前时分 | | 5 | 编辑已有报告(已有值的报告) | 已有值不被覆盖 | ### TC-6:模板底部「撰写时间」 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 新建报告,加载默认模板 | 模板底部出现「撰写时间:2026年04月17日」(或当天日期) | | 2 | 在基本信息中修改「撰写时间」 | 编辑器底部同步更新 | | 3 | 预览/打印报告 | 底部显示正确的撰写时间 | ### TC-7:通用 time 字段(非 startTime/endTime) | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 在 TemplateManage 新增一个 time 字段「麻醉开始时间」 | | 2 | 在 ReportEditor 中新建报告 | 基本信息中出现「麻醉开始时间」,可正常选择时分 | | 3 | 选择 08:15 | 编辑器中对应 smart field 显示「08:15」(24h)或「08:15 上午」(12h) | ### TC-8:向后兼容 | 步骤 | 操作 | 预期结果 | |------|------|---------| | 1 | 清除 localStorage 中 `formFieldsConfig`,重新登录 | 系统加载默认字段,所有时间字段正常工作 | | 2 | 不配置 timeFormat/timeDefault 的自定义字段 | 按默认行为工作(date 显示 YYYY-MM-DD,time 显示 24h) | ## 验收标准 - [ ] `npm run lint` 无 TypeScript 编译错误 - [ ] TemplateManage 中时间字段可正常新增、编辑、保存配置 - [ ] ReportEditor 中 date 字段可根据格式正确显示在富文本中 - [ ] ReportEditor 中 time 字段 12h/24h 切换正常,存储值正确 - [ ] 自动填充当前时间仅在值为空时触发 - [ ] 模板底部「撰写时间」动态显示且可编辑 - [ ] 通用 time 字段有表单渲染并能正确同步到富文本 - [ ] 现有报告和历史数据不受本次改动影响 ## 测试方式 全部使用手工功能验证(项目无单元测试框架)。