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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user