From 09353c11ca3ca4623150bb6de4fcce89d75f6b76 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Mon, 18 May 2026 15:07:05 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#545:=20[=E9=97=A8=E8=AF=8A?= =?UTF-8?q?=E5=8C=BB=E7=94=9F=E7=AB=99-=E8=AF=8A=E6=96=AD-=E6=8A=A5?= =?UTF-8?q?=E5=8D=A1]=20=E9=95=BF=E6=95=88=E8=AF=8A=E6=96=AD=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E8=AE=BE=E7=BD=AE=E4=BF=9D=E5=AD=98=E5=B0=B1=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=20=E2=80=94=20=E6=A0=B9=E5=9B=A0=EF=BC=9A1)=20?= =?UTF-8?q?=E5=90=8E=E7=AB=AFgetEncounterDiagnosis=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=B7=B2=E8=A1=A5=E5=85=85longTermFlag=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E4=BD=86=E5=89=8D=E7=AB=AFgetList()=E6=9C=AA=E5=81=9A=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=BD=AC=E6=8D=A2=EF=BC=8CuseDict('long=5Fterm=5Fflag?= =?UTF-8?q?')=E8=BF=94=E5=9B=9E=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E5=80=BC=E8=80=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=95=B4=E6=95=B0=E5=AF=BC=E8=87=B4el-select=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E5=A4=B1=E8=B4=A5=E4=B8=8B=E6=8B=89=E6=A1=86=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=EF=BC=9B2)=20=E5=86=97=E4=BD=99=E7=9A=84=E5=A4=87?= =?UTF-8?q?=E4=BB=BD=E6=81=A2=E5=A4=8D=E9=80=BB=E8=BE=91=E5=BA=94=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=EF=BC=9B=E4=BF=AE=E5=A4=8D=EF=BC=9A1)=20getList()?= =?UTF-8?q?=E4=B8=AD=E6=96=B0=E5=A2=9ElongTermFlag=E8=BD=AC=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E5=A4=84=E7=90=86(String(item.longTermFlag))?= =?UTF-8?q?=EF=BC=8C=E4=BF=9D=E8=AF=81=E4=B8=8EuseDict=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E5=80=BC=E7=B1=BB=E5=9E=8B=E4=B8=80=E8=87=B4=EF=BC=9B2)=20?= =?UTF-8?q?=E7=A7=BB=E9=99=A4handleSaveDiagnosis=E4=B8=AD=E5=B7=B2?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E9=9C=80=E8=A6=81=E7=9A=84longTermFlagBackup?= =?UTF-8?q?/=E6=81=A2=E5=A4=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- .../components/diagnosis/diagnosis.vue | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue index 3eb4828cf..33fdbe8a7 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue @@ -354,6 +354,11 @@ async function getList() { if (!item.classification) { item.classification = '西医'; } + // 转换 longTermFlag 为字符串,以匹配 useDict 返回的字典值类型(字符串) + // 避免 el-select 因类型不匹配(整数 1 vs 字符串 "1")导致下拉框清空 + if (item.longTermFlag != null) { + item.longTermFlag = String(item.longTermFlag); + } // 如果ybNo(诊断编码)符合传染病编码格式,添加到selectedDiseases if (item.ybNo && /^(01|02|03)/.test(item.ybNo)) { item.selectedDiseases = [item.ybNo]; @@ -636,8 +641,6 @@ async function handleSaveDiagnosis() { saveLoading.value = true; // 保存前按排序号排序,并转换日期格式为后端期望的格式 yyyy/M/d HH:mm:ss - // 同时保留 longTermFlag 供 getList 刷新后恢复(后端 getEncounterDiagnosis 不返回此字段) - const longTermFlagBackup = form.value.diagnosisList.map(item => item.longTermFlag); const diagnosisChildList = form.value.diagnosisList.map(item => ({ ...item, onsetDate: item.onsetDate ? formatDateStr(item.onsetDate, 'YYYY/M/D HH:mm:ss') : null, @@ -654,12 +657,6 @@ async function handleSaveDiagnosis() { if (res.code === 200) { // 刷新树和列表数据(等待列表数据加载完成,确保获取到reportTypeCode) await getList(); - // 恢复 longTermFlag(后端查询接口不返回此字段,需从本地备份恢复) - form.value.diagnosisList.forEach((item, index) => { - if (longTermFlagBackup[index] !== undefined) { - item.longTermFlag = longTermFlagBackup[index]; - } - }); getTree(); emits('diagnosisSave', false); proxy.$modal.msgSuccess('诊断已保存并按排序号排序');