2.3 KiB
2.3 KiB
需求分析 —— 2026-04-18-18-36-43
需求来源
用户提出报告管理列名修正、字段下划线控制、下载功能、右对齐排版修复及默认模板调整等五项改进需求。
需求概述
需求 1:ReportManage 列名"患者号"改为"住院号"
报告管理列表中表头显示为"患者号",但实际数据对应的是住院号字段,需修正列名。
需求 2:TemplateManage 字段管理增加"下划线"控制
在模板管理的字段管理面板中,每个字段增加"打印时显示下划线"单选框,默认勾选。若取消勾选,则该字段在打印输出时不显示底部下划线。需在 FormField 数据结构中增加 hasUnderline 属性,并在打印样式中支持 .no-underline 类。
需求 3:ReportEditor / 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(需求 2:FormField 扩展)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)
需求影响范围
- 报告管理列表展示
- 模板字段配置体系
- 编辑器/模板管理器工具栏交互
- 打印输出样式
- 文件导出功能