103 lines
5.2 KiB
Markdown
103 lines
5.2 KiB
Markdown
# 测试方案 — 2026-04-16-22-23-02
|
||
|
||
## 测试目标
|
||
|
||
验证 `TemplateManage` 端字段库插入功能、智能占位控件的保护特性,以及 `ReportEditor` 端富文本与基本信息表单之间的双向数据绑定是否稳定可靠。
|
||
|
||
## 测试环境
|
||
|
||
- 浏览器:Chrome / Edge
|
||
- 前置条件:已登录系统(建议使用 `admin` 超级管理员账号)
|
||
- 测试页面:`/template-manage`、`/report-editor`
|
||
|
||
---
|
||
|
||
## 测试用例设计
|
||
|
||
### 用例 1:模板管理端 — 字段库插入与标签锁定
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 1.1 | 进入 `/template-manage` | 页面正常加载,右侧出现"表单字段库"卡片 |
|
||
| 1.2 | 将光标定位到编辑器任意位置,点击字段库中的「姓名」按钮 | 编辑器中插入一个带有"姓名:"标签和空方格的控件 |
|
||
| 1.3 | 尝试用鼠标单独选中"姓名:"标签并删除 | **无法单独删除或修改**标签文本,只能整体选中或删除整个控件 |
|
||
| 1.4 | 点击空方格并输入"张三" | 方格内正常显示"张三",光标不跳动 |
|
||
| 1.5 | 再次点击「住院号」按钮插入第二个控件 | 两个控件在编辑器中并存,互不干扰 |
|
||
|
||
### 用例 2:报告编辑端 — 富文本 → 表单单向联动
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 2.1 | 进入 `/report-editor`(新建报告),确保模板已包含至少一个智能占位控件(如"姓名") | 编辑器加载默认模板,智能控件正确渲染 |
|
||
| 2.2 | 点击"姓名"方格,输入"李四" | 右侧【基本信息】表单的"患者姓名"字段**自动同步为"李四"** |
|
||
| 2.3 | 继续输入,追加"先生" | 表单字段同步更新为"李四先生",输入过程光标稳定不跳 |
|
||
| 2.4 | 删除方格内部分文字(如删去"先生") | 表单字段同步回退为"李四" |
|
||
|
||
### 用例 3:报告编辑端 — 表单 → 富文本单向联动
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 3.1 | 在右侧【基本信息】表单的"患者姓名"字段中输入"王五" | 编辑器内"姓名"方格的内容**自动同步为"王五"** |
|
||
| 3.2 | 清空表单中的"患者姓名" | 编辑器内方格内容同步清空,但方格本身保留 |
|
||
| 3.3 | 修改"住院号"表单字段 | 仅对应"住院号"方格更新,其他控件不受影响 |
|
||
|
||
### 用例 4:双向联动并发编辑 — 光标防跳动
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 4.1 | 在方格内快速连续输入一段长文本 | 光标始终位于输入末尾,**不会出现跳到行首或方格外**的现象 |
|
||
| 4.2 | 同时通过右侧表单修改同一字段的值 | 若当前焦点在方格内,表单修改不应打断当前输入;失焦后方格内容正确更新 |
|
||
|
||
### 用例 5:数组类型字段同步
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 5.1 | 在模板中插入「手术者」控件 | 控件正常插入,标签锁定 |
|
||
| 5.2 | 在右侧表单中选择多个手术者(如"张医生"、"李医生") | 编辑器内"手术者"方格显示为"张医生, 李医生" |
|
||
| 5.3 | 在右侧表单中取消部分选择 | 方格内容同步更新,逗号分隔格式保持正确 |
|
||
|
||
### 用例 6:打印样式适配
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 6.1 | 在编辑器中填充若干智能控件 | 编辑态下方格带有浅灰色边框和圆角 |
|
||
| 6.2 | 点击"打印"按钮或进入打印预览 | 打印预览中,方格边框消失,变为黑色下划线填空风格 |
|
||
|
||
### 用例 7:路由切换与草稿保存
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 7.1 | 在 `/report-editor` 中编辑报告,填写带有智能控件的内容 | — |
|
||
| 7.2 | 切换到 `/report-manage`,再返回 `/report-editor` | 编辑器内容、基本信息表单值、智能控件内的数据**全部完整保留** |
|
||
| 7.3 | 检查 localStorage draft | `reportEditorDraft_{username}` 中 HTML 包含完整的 `data-bind` 属性 |
|
||
|
||
### 用例 8:老模板兼容性
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 8.1 | 打开一个未使用智能控件的老模板(纯文本占位符) | 报告编辑器正常加载,无报错 |
|
||
| 8.2 | 在老模板中正常编辑文字 | 文字编辑和表单保存功能不受影响 |
|
||
|
||
---
|
||
|
||
## 验收标准
|
||
|
||
- [ ] `TemplateManage` 右侧正确显示字段库面板,点击可插入控件。
|
||
- [ ] 插入控件的 Label 不可单独编辑或删除,Value 方格可正常输入。
|
||
- [ ] `ReportEditor` 中方格输入时,右侧表单字段实时同步更新。
|
||
- [ ] 右侧表单字段修改时,编辑器内对应方格实时同步更新。
|
||
- [ ] 快速输入过程中光标稳定,无跳动或焦点丢失。
|
||
- [ ] 数组字段(手术者/助手)在方格中正确显示为逗号分隔字符串。
|
||
- [ ] 打印预览中方格样式变为下划线风格,符合 A4 报告规范。
|
||
- [ ] 路由切换后,智能控件内的数据不丢失。
|
||
- [ ] 老模板无智能控件时,现有编辑功能不受影响。
|
||
- [ ] `npm run lint` 类型检查通过,无编译错误。
|
||
|
||
## 测试方式
|
||
|
||
手工浏览器验证为主,结合 DevTools 观察 DOM 结构和 `data-bind` 属性。
|
||
|
||
---
|
||
|
||
**⚠️ 请审核以上测试方案,确认无误后回复「确认」或提出修改意见,我将进入最终执行阶段。**
|