fix(admin-web): 月度考核只显示用户实际拥有角色的记录

根据 authData.roles 中的角色类型过滤 assessments,
避免显示用户没有的角色(如只有市授权但显示省考核)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-07 23:10:25 -08:00
parent d1e04152dc
commit 1ebfee7228
1 changed files with 22 additions and 15 deletions

View File

@ -713,7 +713,13 @@ export default function UserDetailPage() {
{/* 月度考核记录 */} {/* 月度考核记录 */}
<div className={styles.authTab__assessments}> <div className={styles.authTab__assessments}>
<h3></h3> <h3></h3>
{authData.assessments.length === 0 ? ( {(() => {
// 只显示用户实际拥有角色的考核记录
const userRoleTypes = new Set(authData.roles.map(r => r.roleType));
const filteredAssessments = authData.assessments.filter(
a => userRoleTypes.has(a.roleType)
);
return filteredAssessments.length === 0 ? (
<div className={styles.authTab__empty}></div> <div className={styles.authTab__empty}></div>
) : ( ) : (
<div className={styles.ledgerTable}> <div className={styles.ledgerTable}>
@ -725,7 +731,7 @@ export default function UserDetailPage() {
<div className={styles.ledgerTable__cell}></div> <div className={styles.ledgerTable__cell}></div>
<div className={styles.ledgerTable__cell}></div> <div className={styles.ledgerTable__cell}></div>
</div> </div>
{authData.assessments.map((assessment) => ( {filteredAssessments.map((assessment) => (
<div key={assessment.id} className={styles.ledgerTable__row}> <div key={assessment.id} className={styles.ledgerTable__row}>
<div className={styles.ledgerTable__cell}>{assessment.assessmentMonth}</div> <div className={styles.ledgerTable__cell}>{assessment.assessmentMonth}</div>
<div className={styles.ledgerTable__cell}> <div className={styles.ledgerTable__cell}>
@ -752,7 +758,8 @@ export default function UserDetailPage() {
</div> </div>
))} ))}
</div> </div>
)} );
})()}
</div> </div>
{/* 系统账户流水(如果有) */} {/* 系统账户流水(如果有) */}