fix(#619): 请修复 Bug #619:[一般] [住院登记] 已登记病人点击“查看”时,入院日期回显错误(显示为当前系统时间而非实际入院时间)
根因: - 在 `registerForm.vue` 的 `setValue()` 函数中,**没有将 `props.inHospitalInfo?.startTime` 赋值给表单的 `startTime` 字段**。 - 表单初始化时,`startTime` 固定为 `formatDateStr(new Date(), 'YYYY-MM-DD HH:mm:ss')`(当前系统时间) - 点击"查看"时,`inHospitalInfo` 虽然从 API 正确获取了入院日期,但 `setValue()` 并未将此值回填到表单 - 因此弹窗始终显示当前时间,而非实际入院日期 修复: - 修改文件**: `src/views/inHospitalManagement/charge/register/components/registerForm.vue` - 在 `setValue()` 函数中添加了 `startTime` 字段的回显逻辑: - ```javascript - submitForm.startTime = props.inHospitalInfo?.startTime - ? formatDateStr(props.inHospitalInfo.startTime, 'YYYY-MM-DD HH:mm:ss') - : submitForm.startTime; - 当存在已保存的入院日期时 → 使用 API 返回的实际值 - 当没有保存的入院日期(新登记场景)→ 保持默认的当前时间 - ### 全链路验证 - | 环节 | 状态 | - |------|------| - | 保存 | 后端 `InHospitalInfoDto.startTime` 字段已正确存储入院日期 | - | 查询 | API `getInHospitalInfo` 已返回 `startTime` 字段 | - | 回显 | `setValue()` 现正确将 `startTime` 赋值给表单 | - | 编辑/修改 | 已登记状态下日期字段为 `disabled`,不会误改 | - | 其余字段 | 不受影响 |
This commit is contained in:
@@ -616,6 +616,9 @@ function setValue() {
|
||||
submitForm.totalBedsNum = props.inHospitalInfo?.totalBedsNum;
|
||||
submitForm.idleBedsNum = props.inHospitalInfo?.idleBedsNum;
|
||||
submitForm.ambEncounterId = props.inHospitalInfo?.ambEncounterId;
|
||||
submitForm.startTime = props.inHospitalInfo?.startTime
|
||||
? formatDateStr(props.inHospitalInfo.startTime, 'YYYY-MM-DD HH:mm:ss')
|
||||
: submitForm.startTime;
|
||||
submitForm.ambDoctorPractitionerId = props.inHospitalInfo?.ambDoctorPractitionerId;
|
||||
submitForm.ambDoctorPractitionerName = props.inHospitalInfo?.ambDoctorPractitionerName;
|
||||
submitForm.ambDiagnosisName = props.inHospitalInfo?.ambDiagnosisName;
|
||||
|
||||
Reference in New Issue
Block a user