# 测试方案 — 撤销栈修复、字段删除交互优化与签名字段闭环(2026-04-17-12-34-56) ## 一、编译检查 - 执行 `npm run lint`(`tsc --noEmit`),确保全量 TypeScript 无编译错误。 ## 二、功能验证步骤 ### 测试 1:TemplateManage 撤销功能恢复 1. 进入【模板管理】,选择默认模板。 2. 点击某智能字段(如"手术日期")右上角的红色 × 删除该字段。 3. 点击编辑器工具栏的"撤销"按钮(↶)。 4. 确认被删除的字段重新出现,撤销功能正常。 ### 测试 2:TemplateManage 插入字段不强制换行 1. 在模板编辑器中,将光标定位到一行文字中间(如"手术名称:"后面)。 2. 点击右侧字段库插入"手术日期"。 3. 确认"手术日期"字段框紧跟在光标位置,没有跳到下一行。 4. 再次插入"手术者签名",确认同样保持在当前行。 ### 测试 3:TemplateManage Backspace/Delete 精准删除 1. 将光标定位在某智能字段框**正后方**,按 Backspace。 2. 确认仅该字段被删除,前面和后面的文本不受影响。 3. 将光标定位在某智能字段框**正前方**,按 Delete。 4. 确认仅该字段被删除,其他文本完好无损。 5. 删除后点击"撤销",确认字段恢复。 ### 测试 4:签名图片尺寸约束 1. 进入【用户管理】,给当前登录用户上传一张较大的电子签图片。 2. 进入【新建报告】,在右侧【基本信息】中将"手术者签名确认"选择为"已签字"。 3. 观察模板中的签名图片,确认其宽度不超过 120px,高度不超过 40px,且等比例缩放未变形。 ### 测试 5:签名字段显隐与表单联动 1. 进入【模板管理】,查看右侧【字段管理】,确认"手术者签名"和"手术者签名确认"字段存在且可切换"显示/隐藏"。 2. 进入【新建报告】,确认右侧【基本信息】表单中出现了"手术者签名确认"下拉框(默认"未签字")。 3. 选择"未签字",确认模板中的签名方框显示"【未签字】"。 4. 选择"已签字",确认模板中的签名方框显示签名图片。 5. 在 UserManage 中清除当前用户签名,返回 ReportEditor 将"手术者签名确认"选为"已签字"。 6. 确认签名方框显示"【请上传电子签】"。 ### 测试 6:完成报告签名校验提示 1. 确保模板中存在"手术者签名"字段,且 ReportEditor 中"手术者签名确认"为"未签字"。 2. 点击"完成报告",确认弹出提示:"模板中包含【手术者签名】字段,但您在基本信息中未选择'已签字'。是否继续完成报告?" 3. 点击"取消",确认报告未被保存,停留在编辑页。 4. 将"手术者签名确认"改为"已签字",清除当前用户的电子签图片。 5. 再次点击"完成报告",确认弹出提示:"您选择了'已签字',但您的账号尚未上传电子签名图片。报告中将不显示签名图片,是否继续完成?" 6. 点击"确定",确认报告正常保存并跳转至报告管理页。 ## 三、预期结果 - `npm run lint` 0 错误。 - TemplateManage 中删除字段后撤销正常。 - 插入字段不强制换行;Backspace/Delete 精准删除单个字段。 - 签名图片受 120×40px 约束,等比例缩放。 - 表单联动正常:已签字→显示图片,未签字→显示"【未签字】",无签名图→显示"【请上传电子签】"。 - 完成报告时签名异常给出弱阻断提示,用户可取消或继续。