fix: 员工端身份证号显示兼容旧登录——从 home/overview 获取 fallback

- EmployeeHome.tsx: 使用 overview.employeeIdCardNumber 作为 fallback
- PortalLayout.tsx: 获取 overview 数据作为 idCardNumber fallback
- 两者都会在获取到后同步更新 localStorage,避免重复请求
This commit is contained in:
freedakgmail
2026-08-18 07:57:54 +08:00
parent 39fb4fc739
commit 5db53ed591
2 changed files with 27 additions and 3 deletions
+11 -2
View File
@@ -54,15 +54,24 @@ export default function EmployeeHome() {
const announcements = overview?.announcements || []
const attendanceSummary = overview?.attendance
// 如果 localStorage 中没有 idCardNumber,但 overview 返回了,则更新 localStorage
const idCardNumber = employee.idCardNumber || overview?.employeeIdCardNumber
if (idCardNumber && !employee.idCardNumber) {
try {
const updated = { ...employee, idCardNumber }
localStorage.setItem('portalEmployee', JSON.stringify(updated))
} catch {}
}
return (
<div className="space-y-4">
{/* 欢迎卡片 */}
<Card className="bg-gradient-to-br from-indigo-600 to-indigo-700 text-white border-0">
<div className="flex items-center justify-between">
<div>
<h1 className="text-lg font-bold">{employee.name || '同事'}</h1>
<h1 className="text-lg font-bold">{employee.name || overview?.employeeName || '同事'}</h1>
<p className="text-sm text-indigo-100 mt-1">{employee.department || ''} · {employee.position || ''}</p>
{employee.idCardNumber && <p className="text-xs text-indigo-200 mt-0.5 font-mono">{employee.idCardNumber}</p>}
{idCardNumber && <p className="text-xs text-indigo-200 mt-0.5 font-mono">{idCardNumber}</p>}
</div>
<div className="text-right">
<div className="text-xs text-indigo-100"></div>