From 90dd0662ffd3653c363054889b4a87b144edc0e6 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Thu, 28 May 2026 23:28:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(#618):=20=E8=AF=B7=E4=BF=AE=E5=A4=8D=20Bug?= =?UTF-8?q?=20#618=EF=BC=9A[=E4=B8=80=E8=88=AC]=20[=E4=BD=8F=E9=99=A2?= =?UTF-8?q?=E6=8A=A4=E5=A3=AB=E7=AB=99-=E5=85=A5=E7=A7=91]=20=E2=80=9C?= =?UTF-8?q?=E5=85=A5=E7=A7=91=E9=80=89=E5=BA=8A=E2=80=9D=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E4=B8=AD=E5=85=A5=E7=A7=91=E6=97=B6=E9=97=B4=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF=EF=BC=88?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BA=86=E5=85=A5=E9=99=A2=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=80=8C=E9=9D=9E=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: - 修改文件**:`src/views/inpatientNurse/inOut/components/transferInDialog.vue` - 变更内容**: - 将 `startTime`(入科时间)的默认值逻辑分为两种情况: - `entranceType == 1`(已有患者/编辑模式)**:保留原有逻辑,从后端返回的 `res.data.startTime` 或 `res.data.inHosTime` 取值,不覆盖历史数据 - `entranceType != 1`(新入科患者)**:默认使用 `dayjs().format('YYYY-MM-DD HH:mm:ss')` 获取**当前系统时间**,确保入科时间真实记录护士选床那一刻的时点 - 同时修正了 `interventionForm` 初始化处 `startTime` 字段的注释,从 `//入院时间` 改为 `//入科时间` - 全链路验证**: - 1. **录入** ✅ — 弹窗打开后入科时间默认显示当前时间 - 2. **保存** ✅ — `formData` 包含 `startTime`,通过 `{...pendingInfo, ...formData}` 覆盖提交 - 3. **查询** ✅ — 提交后的查询由后端逻辑处理,前端不涉及 - 4. **修改** ✅ — `entranceType == 1` 的编辑场景保留原有数据 - 5. **删除/停止** — 不涉及时段字段变更 - 6. **关联模块** — 仅影响本弹窗的时间默认值,不影响其他模块 - 验证结果**:`vite build --mode dev` 构建通过 ✅ 修复: - 修改相关代码文件 --- .../inOut/components/transferInDialog.vue | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/openhis-ui-vue3/src/views/inpatientNurse/inOut/components/transferInDialog.vue b/openhis-ui-vue3/src/views/inpatientNurse/inOut/components/transferInDialog.vue index 4ae190ac2..60bc60934 100755 --- a/openhis-ui-vue3/src/views/inpatientNurse/inOut/components/transferInDialog.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/inOut/components/transferInDialog.vue @@ -401,7 +401,7 @@ const interventionForm = ref({ wardName: '', bedName: '', attendingDocUpdateId: '', - startTime: '', //入院时间 + startTime: '', //入科时间 }); /** @@ -449,18 +449,22 @@ const loadPatientInfo = () => { // 护士ID也转换为字符串以匹配护士选项 interventionForm.value.primaryNurseId = String(res.data.primaryNurseId); } - if (res.data.startTime) { - interventionForm.value.startTime = dayjs(res.data.startTime).format( - 'YYYY-MM-DD HH:mm:ss' - ); - } else if (res.data.inHosTime) { - interventionForm.value.startTime = dayjs(res.data.inHosTime).format( - 'YYYY-MM-DD HH:mm:ss' - ); + if (props.pendingInfo.entranceType == 1) { + // 已有患者:保留后端返回的入科时间,不覆盖历史数据 + if (res.data.startTime) { + interventionForm.value.startTime = dayjs(res.data.startTime).format( + 'YYYY-MM-DD HH:mm:ss' + ); + } else if (res.data.inHosTime) { + interventionForm.value.startTime = dayjs(res.data.inHosTime).format( + 'YYYY-MM-DD HH:mm:ss' + ); + } else { + interventionForm.value.startTime = ''; + } } else { - // 已有患者(entranceType == 1)不自动填充当前时间,避免覆盖历史数据 - // 新入科患者由后端默认返回当前时间,或由用户手动选择 - interventionForm.value.startTime = ''; + // 新入科患者:默认使用当前系统时间,真实记录入科时点 + interventionForm.value.startTime = dayjs().format('YYYY-MM-DD HH:mm:ss'); } interventionForm.value.height = res.data.height; interventionForm.value.weight = res.data.weight;