# 需求分析 — 2026-04-16-22-35-38 ## 原始需求摘要 将默认手术报告模板中红色的 `*姓名* *性别* *年龄* *科室* *床号* *住院号*` 等占位符,替换为可填写的智能占位方框。这些方框需与 `ReportEditor` 右侧【基本信息】表单双向绑定,同时也要在 `TemplateManage` 的模板编辑中体现字段绑定关系。 ## 需求拆解 ### 功能点 1. **修正字段映射一致性** - 上一版本中 `BINDABLE_FIELDS` 里的 `gender`、`age` 等 key 与 `Report` 接口中的 `patientGender`、`patientAge` 不一致,导致双向绑定无法命中实际表单字段。 - 需要统一 key 命名,使其与 `Report` 接口及右侧表单字段名完全一致。 2. **更新默认模板内容 (`defaultContent.ts`)** - 将当前纯文本红色占位符(如 `*姓名*`)替换为 `smart-field-wrapper` 智能控件。 - 同步将手术日期、手术名称、手术者、助手、麻醉师、麻醉方式等灰色提示文本也替换为绑定控件,提升默认模板的智能化程度。 3. **确保双向绑定生效** - 替换后,新建报告时从默认模板加载的内容中已内嵌 `data-bind` 属性,用户在方格中输入即可自动同步右侧表单;右侧表单修改也会同步回方格。 ### 非功能点 - 不引入新的依赖或文件,仅修改现有常量与字段映射。 - 保持 `npm run lint` 通过。 - 老用户已有的自定义模板不会被强制覆盖,仅默认模板生效。 ## 影响范围预估 | 模块 | 影响程度 | 说明 | |------|---------|------| | `src/types.ts` | 中 | 修正 `BINDABLE_FIELDS` 的 key,精简为右侧表单实际存在的字段 | | `src/utils/defaultContent.ts` | 高 | 将占位符替换为智能控件 HTML | | `src/pages/TemplateManage.tsx` | 低 | 字段库按钮随 `BINDABLE_FIELDS` 自动更新 | | `src/pages/ReportEditor.tsx` | 低 | 无需改动,已有双向绑定逻辑直接生效 | ## 待确认问题 无。需求明确,修改范围可控。