From 86c13b3ba1cc7e389bb437e900e54e42b899f7bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=B3=E7=BE=BD?= <关羽@gentronhealth.com> Date: Wed, 13 May 2026 17:07:25 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#461:=20[=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E6=89=A7=E8=A1=8C=E7=A7=91=E5=AE=A4?= =?UTF-8?q?=E9=85=8D=E7=BD=AE]=20=E4=BF=9D=E5=AD=98=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=90=8E=EF=BC=8C=E9=A1=B9=E7=9B=AE=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=9B=9E=E6=98=BE=E4=B8=BAID=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E6=98=BE=E7=A4=BA=E6=AD=A3=E7=A1=AE=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:后端通过 @Dict 注解返回 activityDefinitionId_dictText 字段(项目名称), 但前端 getList 仅用 allImplementDepartmentList 的前100条作为 filteredOptions, 当保存的项目不在前100条时 el-select 无法匹配到对应选项,导致显示原始ID而非名称。 修复:在 getList 映射数据时,利用后端返回的 _dictText 字段为每行 filteredOptions 补充缺失选项,确保 el-select 能正确显示项目名称。 Co-Authored-By: Claude Opus 4.7 --- .../views/basicmanage/implementDepartment/index.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue b/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue index 04eb2f81..b6551152 100755 --- a/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue @@ -226,8 +226,18 @@ function getList() { getDiagnosisTreatmentList(queryParams.value).then((res) => { loading.value = false; catagoryList.value = res.data.records.map(record => { - // 为每一行初始化 filteredOptions,确保显示框能正确显示项目名称 const filteredOptions = allImplementDepartmentList.value.slice(0, 100); + // 如果后端返回了_dictText名称但选项列表中不存在该ID(如不在前100条), + // 手动添加以确保 el-select 能正确显示项目名称而非ID码 + if (record.activityDefinitionId_dictText && record.activityDefinitionId) { + const exists = filteredOptions.some(o => o.value === String(record.activityDefinitionId)); + if (!exists) { + filteredOptions.push({ + value: String(record.activityDefinitionId), + label: record.activityDefinitionId_dictText, + }); + } + } return { ...record, loading: false,