fix: 修复禅道Bug #330 门诊医生站诊断保存失败问题

- 修改前端日期格式,从ISO格式改为 yyyy/M/d HH:mm:ss 格式
- 添加后端参数校验,防止NPE异常
- 优化前端错误提示,显示后端返回的具体错误信息
This commit is contained in:
2026-04-03 10:58:23 +08:00
parent 22de02f132
commit 8ab8691c17
3 changed files with 36 additions and 5 deletions

View File

@@ -280,6 +280,7 @@ import {
saveDiagnosis,
} from '../api';
import { DIAG_TYPE } from '@/utils/medicalConstants';
import { formatDateStr } from '@/utils';
import diagnosisdialog from '../diagnosis/diagnosisdialog.vue';
import AddDiagnosisDialog from './addDiagnosisDialog.vue';
import diagnosislist from '../diagnosis/diagnosislist.vue';
@@ -628,11 +629,11 @@ async function handleSaveDiagnosis() {
// 开始加载状态,防止重复提交
saveLoading.value = true;
// 保存前按排序号排序,并转换日期格式为ISO字符串
// 保存前按排序号排序,并转换日期格式为后端期望的格式 yyyy/M/d HH:mm:ss
const diagnosisChildList = form.value.diagnosisList.map(item => ({
...item,
onsetDate: item.onsetDate ? new Date(item.onsetDate).toISOString() : null,
diagnosisTime: item.diagnosisTime ? new Date(item.diagnosisTime).toISOString() : null
onsetDate: item.onsetDate ? formatDateStr(item.onsetDate, 'YYYY/M/D HH:mm:ss') : null,
diagnosisTime: item.diagnosisTime ? formatDateStr(item.diagnosisTime, 'YYYY/M/D HH:mm:ss') : null
}));
// 调用保存诊断接口
@@ -657,7 +658,9 @@ async function handleSaveDiagnosis() {
}
} catch (error) {
console.error('保存诊断失败:', error);
proxy.$modal.msgError('保存诊断失败,请稍后重试');
// 显示后端返回的具体错误信息
const errorMsg = error?.response?.data?.msg || error?.message || '保存诊断失败,请稍后重试';
proxy.$modal.msgError(errorMsg);
} finally {
// 结束加载状态
saveLoading.value = false;