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

2.3 KiB
Raw Blame History

需求分析 —— 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

需求影响范围

  • 报告管理列表展示
  • 模板字段配置体系
  • 编辑器/模板管理器工具栏交互
  • 打印输出样式
  • 文件导出功能