diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue index 0223451b0..6d72c6bef 100755 --- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue +++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue @@ -767,6 +767,16 @@ function handleAddDiagnosis() { proxy.$refs.formRef.validate((valid, fields) => { console.log('表单验证结果:', valid, '错误字段:', fields); + // 再次检查是否有未保存的诊断(防止 validate 异步回调的竞态条件) + const hasUnsavedNow = (form.value.diagnosisList || []).some( + (item) => !item.conditionId && !item.encounterDiagnosisId + ); + if (!valid || hasUnsavedNow) { + if (hasUnsavedNow) { + proxy.$modal.msgWarning('请保存当前诊断'); + } + return; + } addDiagnosisItem(); }); }