diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue index d6afa69aa..6ac8cb6a7 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue @@ -1318,7 +1318,11 @@ async function show(diagnosisData) { // 系统关联信息 encounterId: patientInfo.encounterId || '', // 就诊ID patientId: patientInfo.patientId || '', // 患者ID - diagnosisId: diagnosisData?.conditionId || diagnosisData?.definitionId || '', // 诊断ID + diagnosisId: (diagnosisData?.conditionId != null && diagnosisData?.conditionId !== '') + ? diagnosisData.conditionId + : (diagnosisData?.definitionId != null && diagnosisData?.definitionId !== '') + ? diagnosisData.definitionId + : '', // 诊断ID }; // 更新selectedDiseases数组 @@ -1373,7 +1377,7 @@ async function buildSubmitData() { const submitData = { cardNo: formData.cardNo, visitId: props.patientInfo?.encounterId || formData.encounterId || null, - diagId: formData.diagnosisId || null, + diagId: formData.diagnosisId ? Number(formData.diagnosisId) : null, patId: formData.patientId || null, idType: 1, // 默认身份证 idNo: formData.idNo, @@ -1539,6 +1543,12 @@ async function handleSubmit() { return; } + // 检查诊断ID是否有效(后端 @NotNull 校验要求) + if (!form.value.diagnosisId) { + proxy.$modal.msgError('诊断信息不完整,请重新选择诊断后重试'); + return; + } + // 开始加载状态,防止重复提交 submitLoading.value = true;