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)}