# 历史贷款合同单选异常文本修复实施记录 ## 问题 - 历史贷款合同选择弹窗的选择列出现 `{ "cus...` 这类异常文本。 - 原因是 `el-radio` 使用整行对象 `scope.row` 作为 `label`,Element UI 会把对象值渲染到单选文案区域。 ## 修改 - `HistoryContractSelector.vue` 将单选绑定值从整行对象调整为 `selectedContractKey`。 - 新增 `contractRadioValue(row, index)` 生成稳定单选值,优先使用历史贷款合同号。 - 保留 `selectedContract` 单独保存选中行对象,提交时仍向父组件返回完整合同记录。 - 隐藏单选组件内部 label 文案,选择列只展示单选圆点,不展示对象文本。 - `business-type-history-rate.test.js` 增加断言,禁止再出现 `:label="scope.row"`。 ## 验证 - 已执行并通过: - `zsh -lic 'nvm use 14.21.3 >/dev/null && npm --prefix ruoyi-ui run test:business-type-history-rate'` - 已启动后端和前端后使用 in-app browser 真实页面验证: - 打开 `http://localhost:8080/index`。 - 新增个人客户,选择业务种类 `存量转贷`。 - 历史贷款合同选择弹窗正常展示客户内码、历史贷款合同号、历史贷款利率等字段。 - 选择列文本为空,不再出现 `{ "cus...` 或行对象 JSON 文本。 - 验证结果:`hasObjectText=false`。 - 验证结束后已关闭测试弹窗。 - 验证结束后已停止本次启动的前端和后端进程,并确认 `8080`、`63310` 端口无监听。