# 个人模型详情缺失展示字段补齐设计文档 ## 1. 背景 个人模型接口返回字段有更新。根据 `doc/上虞对私利率测算_上传字段与展示字段.xlsx` 的 `展示指标` sheet,当前个人详情页仍缺少部分应展示字段,需要补齐页面展示并保证接口链路字段完整。 ## 2. 已确认范围 - 仅处理个人客户详情页 - 仅补齐 `展示指标` sheet 中当前缺失的 6 个字段 - 不调整企业客户页面 - 不新增兼容逻辑、兜底逻辑或额外展示区域 - 保持现有页面结构和分组,按最短路径补齐 ## 3. 缺失字段 经核对,当前页面缺少以下字段: - `loanTerm` 借款期限 - `loanRateHistory` 历史利率 - `minRateProduct` 产品最低利率下限 - `smoothRange` 平滑幅度 - `finalCalculateRate` 最终测算利率 - `referenceRate` 参考利率 其中: - `loanTerm` 属于流程明细字段,来自 `LoanPricingWorkflow` - 其余 5 个字段属于个人模型输出字段,来自 `ModelRetailOutputFields` - 其余 5 个字段同时要求 `model_retail_output_fields` 表具备对应列,否则新流程详情无法完整落库展示 ## 4. 现状分析 ### 4.1 前端现状 个人详情页由两个主要区域组成: - `PersonalWorkflowDetail.vue` 负责流程详情与左侧关键信息 - `ModelOutputDisplay.vue` 负责个人模型输出分组展示 当前页面已覆盖大部分 `展示指标` 字段,但个人详情页“业务信息”中未展示 `loanTerm`,个人模型输出“测算结果”中也未展示 5 个新增利率相关字段。 ### 4.2 后端现状 - `LoanPricingWorkflow` 已包含 `loanTerm` - `ModelRetailOutputFields` 当前未包含 `loanRateHistory`、`minRateProduct`、`smoothRange`、`finalCalculateRate`、`referenceRate` 因此前端目前无法从个人模型输出对象中读取这 5 个字段。 同时,开发库 `model_retail_output_fields` 表当前也未包含这 5 个字段列。如果只补代码而不补表结构,新的个人流程在模型结果入库时将无法完整保存这些字段。 ## 5. 方案对比 ### 方案一:在现有分组内补齐字段 做法: - 在个人详情页“业务信息”区域补 `loanTerm` - 在个人模型输出“测算结果”区域补 5 个新增利率字段 - 后端仅补 `ModelRetailOutputFields` 缺失字段定义 优点: - 改动最小 - 不影响现有页面结构 - 与现有字段分组最贴合 缺点: - 需要同时修改前后端 ### 方案二:单独新增“利率结果扩展”分组 做法: - 新增一个专门的 Tab 或卡片展示 5 个新增利率字段 优点: - 新增字段集中展示 缺点: - 页面改动更大 - 用户认知路径变化 - 不符合本次最短路径要求 ## 6. 设计结论 采用方案一。 实现方式如下: - 后端在 `ModelRetailOutputFields` 中新增 5 个字段定义,保证接口对象具备完整返回结构 - 数据库为 `model_retail_output_fields` 新增 5 个对应列,保证模型输出可正常落库 - 前端在 `PersonalWorkflowDetail.vue` 的“业务信息”中补齐 `loanTerm` - 前端在 `ModelOutputDisplay.vue` 的个人“测算结果”中补齐 `loanRateHistory`、`minRateProduct`、`smoothRange`、`finalCalculateRate`、`referenceRate` ## 7. 验证设计 本次按最小可执行验证: - 后端新增一个实体字段断言测试,先验证缺失字段不存在并失败,再补齐后验证通过 - 前端新增一个源码断言脚本,先验证缺失展示未实现并失败,再补齐后验证通过 - 对开发库执行表结构迁移 - 创建新的个人流程并打开详情页,确认新增字段可在真实页面展示 - 最后执行前端生产构建,确认页面代码可正常打包 ## 8. 非目标 - 不调整企业详情页 - 不修改模型计算逻辑 - 不重构页面布局