From 8054cb31be5055c61fd703aa02d1ea52cdf38554 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Fri, 29 May 2026 01:01:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(#619):=20=E8=AF=B7=E4=BF=AE=E5=A4=8D=20Bug?= =?UTF-8?q?=20#619=EF=BC=9A[=E4=B8=80=E8=88=AC]=20[=E4=BD=8F=E9=99=A2?= =?UTF-8?q?=E7=99=BB=E8=AE=B0]=20=E5=B7=B2=E7=99=BB=E8=AE=B0=E7=97=85?= =?UTF-8?q?=E4=BA=BA=E7=82=B9=E5=87=BB=E2=80=9C=E6=9F=A5=E7=9C=8B=E2=80=9D?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=85=A5=E9=99=A2=E6=97=A5=E6=9C=9F=E5=9B=9E?= =?UTF-8?q?=E6=98=BE=E9=94=99=E8=AF=AF=EF=BC=88=E6=98=BE=E7=A4=BA=E4=B8=BA?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=B3=BB=E7=BB=9F=E6=97=B6=E9=97=B4=E8=80=8C?= =?UTF-8?q?=E9=9D=9E=E5=AE=9E=E9=99=85=E5=85=A5=E9=99=A2=E6=97=B6=E9=97=B4?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: - 在 `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`,不会误改 | - | 其余字段 | 不受影响 | --- .../charge/register/components/registerForm.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue b/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue index 8c5962589..781de8941 100755 --- a/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue +++ b/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue @@ -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;