- Add signature?: string to User type and 'signature' to FieldType - Add surgeonSignature field to DEFAULT_FORM_FIELDS (category: 图片) - UserManage: add canvas-based image compression (max 500px) and signature upload UI - TemplateManage: add hover highlight on field buttons via direct DOM style manipulation - TemplateManage: add '图片' category to field library for surgeonSignature insertion - ReportEditor: auto-fill surgeonSignature with currentUser.signature image or placeholder text - index.css & print.ts: add .report-signature-img styling (height 2.4em, vertical-align middle) - Update experience record (#18)
50 lines
2.9 KiB
Markdown
50 lines
2.9 KiB
Markdown
# 测试方案 — 字段悬浮高亮、电子签上传与手术者签名联动(2026-04-17-11-34-24)
|
||
|
||
## 一、编译检查
|
||
|
||
- 执行 `npm run lint`(`tsc --noEmit`),确保全量 TypeScript 无编译错误。
|
||
|
||
## 二、功能验证步骤
|
||
|
||
### 测试 1:TemplateManage 字段悬浮高亮
|
||
1. 进入【模板管理】,选择默认模板。
|
||
2. 将鼠标悬浮在右侧字段库中的"姓名"按钮上(不点击)。
|
||
3. 观察编辑器中"姓名"对应的智能字段方框,确认出现蓝色外发光/背景变浅蓝色高亮。
|
||
4. 鼠标移开"姓名"按钮,确认高亮效果消失,字段框恢复原样。
|
||
5. 尝试悬浮其他字段按钮(如"手术名称"、"手术日期"),确认高亮定位准确。
|
||
|
||
### 测试 2:UserManage 电子签上传与压缩
|
||
1. 进入【用户管理】,点击任意医生用户的"编辑"按钮。
|
||
2. 在编辑弹窗中找到"电子签名"区域,点击"上传签名"。
|
||
3. 选择一张大于 500×500 像素的本地图片(如 1200×800 的 PNG/JPG)。
|
||
4. 确认上传后预览图显示正常,且图片已被等比例压缩(宽或高最大不超过 500px)。
|
||
5. 点击"保存用户",刷新页面后再次编辑该用户,确认签名图片仍然保留。
|
||
6. 点击"清除签名",确认预览图消失;保存后刷新,确认签名已清除。
|
||
|
||
### 测试 3:TemplateManage 新增"手术者签名"字段
|
||
1. 进入【模板管理】,查看右侧【插入字段】面板。
|
||
2. 确认分类列表中新增"图片"分类,下方有"手术者签名"按钮。
|
||
3. 点击"手术者签名"按钮,确认模板中插入一个智能字段方框(`data-bind="surgeonSignature"`)。
|
||
4. 再次点击"手术者签名",确认弹出"已存在,请勿重复插入"的提示。
|
||
|
||
### 测试 4:ReportEditor 签名自动填充
|
||
1. 确保当前登录用户(如 admin)已通过测试 2 上传了电子签。
|
||
2. 进入【新建报告】或编辑已有报告,观察模板中的"手术者签名"方框。
|
||
3. 确认方框中自动显示了当前登录用户的签名图片(高度约 2 行文字)。
|
||
4. 在 UserManage 中清除当前用户的签名,返回 ReportEditor 刷新页面。
|
||
5. 确认"手术者签名"方框显示文本"【请上传电子签】"。
|
||
|
||
### 测试 5:签名图片排版与打印效果
|
||
1. 在 ReportEditor 中确认签名图片与周围文字行高协调,没有明显撑大段落间距。
|
||
2. 点击报告页面的"打印"按钮,在浏览器打印预览中观察签名图片。
|
||
3. 确认打印输出中签名图片高度仍然保持约 2 行文字,排版正常。
|
||
|
||
## 三、预期结果
|
||
|
||
- `npm run lint` 0 错误。
|
||
- TemplateManage 悬浮高亮响应迅速,定位准确。
|
||
- UserManage 电子签上传、压缩、清除、持久化均正常。
|
||
- TemplateManage 可插入"手术者签名"字段,且唯一性校验生效。
|
||
- ReportEditor 能自动根据当前用户签名状态填充图片或提示文本。
|
||
- 签名图片在编辑态和打印态均保持约 2 行文字高度,排版美观。
|