Files
Mdeical_Sur_Report/工程分析/需求分析-2026-04-18-18-36-43.md

40 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析 —— 2026-04-18-18-36-43
## 需求来源
用户提出报告管理列名修正、字段下划线控制、下载功能、右对齐排版修复及默认模板调整等五项改进需求。
## 需求概述
### 需求 1ReportManage 列名"患者号"改为"住院号"
报告管理列表中表头显示为"患者号",但实际数据对应的是住院号字段,需修正列名。
### 需求 2TemplateManage 字段管理增加"下划线"控制
在模板管理的字段管理面板中,每个字段增加"打印时显示下划线"单选框,默认勾选。若取消勾选,则该字段在打印输出时不显示底部下划线。需在 `FormField` 数据结构中增加 `hasUnderline` 属性,并在打印样式中支持 `.no-underline` 类。
### 需求 3ReportEditor / TemplateManage 新增下载按钮
在报告编辑器和模板管理页面的打印按钮旁新增"下载"按钮,点击弹出模态框,支持导出 PDF 和 JSON
- PDF复用现有 `printDocument()`,传入自定义文件名
- JSON通过 `Blob` + `URL.createObjectURL` 实现下载
- 默认文件名格式:`图文报告-{手术名称}-{患者}-{住院号}-{下载时间}.pdf/.json`
### 需求 4修复右对齐时签名与图片框分离
当编辑器中设置右对齐时,"手术者签名:"文字与 `class="image-placeholder"` 图片框被拆分为两行。根本原因是 `display: inline-flex` 在右对齐布局下容易触发换行。需将运行时插入的占位符以及默认模板中的占位符 `display` 属性从 `inline-flex` 改为 `inline-block`,并配合 `line-height` 垂直居中。
### 需求 5默认模板手术者签名右对齐
`defaultContent.ts` 中「手术者签名」行默认设为 `text-align: right`,并应用需求 4 中的 `inline-block` 修复。
## 涉及文件
- `src/pages/ReportManage.tsx`(需求 1
- `src/types.ts`(需求 2FormField 扩展)
- `src/utils/print.ts`(需求 2、3打印样式 + 文件名支持)
- `src/pages/TemplateManage.tsx`(需求 2、3、4
- `src/pages/ReportEditor.tsx`(需求 3、4
- `src/utils/defaultContent.ts`(需求 4、5
## 需求影响范围
- 报告管理列表展示
- 模板字段配置体系
- 编辑器/模板管理器工具栏交互
- 打印输出样式
- 文件导出功能