fix(#618): 请修复 Bug #618:[一般] [住院护士站-入科] “入科选床”弹窗中入科时间默认获取逻辑错误(获取了入院时间而非当前时间)
根因:
- 修改文件**:`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` 构建通过 ✅
修复:
- 修改相关代码文件
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user