diff --git a/frontend/admin-web/src/app/(dashboard)/users/[id]/page.tsx b/frontend/admin-web/src/app/(dashboard)/users/[id]/page.tsx
index df2d9f66..d7c6d304 100644
--- a/frontend/admin-web/src/app/(dashboard)/users/[id]/page.tsx
+++ b/frontend/admin-web/src/app/(dashboard)/users/[id]/page.tsx
@@ -714,15 +714,21 @@ export default function UserDetailPage() {
月度考核记录
{(() => {
- // 只显示用户实际拥有且未撤销角色的考核记录
- const activeRoleTypes = new Set(
+ // 只显示用户实际拥有且未撤销角色的考核记录(按 authorization_id 匹配)
+ const activeRoleIds = new Set(
authData.roles
.filter(r => r.status !== 'REVOKED')
- .map(r => r.roleType)
+ .map(r => r.id)
);
const filteredAssessments = authData.assessments.filter(
- a => activeRoleTypes.has(a.roleType)
+ a => activeRoleIds.has(a.authorizationId)
);
+
+ // 创建角色ID到区域名称的映射,用于显示角色的区域信息
+ const roleIdToRegion = new Map(
+ authData.roles.map(r => [r.id, r.regionName])
+ );
+
return filteredAssessments.length === 0 ? (
暂无考核记录
) : (
@@ -730,6 +736,7 @@ export default function UserDetailPage() {
考核月份
角色
+
区域
月度目标/完成
累计目标/完成
结果
@@ -741,6 +748,9 @@ export default function UserDetailPage() {
{roleTypeLabels[assessment.roleType] || assessment.roleType}
+
+ {roleIdToRegion.get(assessment.authorizationId) || getRegionName(assessment.regionCode)}
+
{formatNumber(assessment.monthlyCompleted)} / {formatNumber(assessment.monthlyTarget)}