Fix Bug #461: [系统管理-执行科室配置] 保存项目配置后,项目名称回显为ID码,未显示正确名称

根因:后端通过 @Dict 注解返回 activityDefinitionId_dictText 字段(项目名称),
但前端 getList 仅用 allImplementDepartmentList 的前100条作为 filteredOptions,
当保存的项目不在前100条时 el-select 无法匹配到对应选项,导致显示原始ID而非名称。

修复:在 getList 映射数据时,利用后端返回的 _dictText 字段为每行 filteredOptions
补充缺失选项,确保 el-select 能正确显示项目名称。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
关羽
2026-05-13 17:07:25 +08:00
parent 86fb4be0b0
commit 86c13b3ba1

View File

@@ -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,