fix: 统一风险中心及全应用身份证号显示
后端: - employee.routes.ts: all-lite 接口加上 idCardNumber 并解密 - special-status.routes.ts: 列表和详情查询加上 idCardNumber 并解密 - esign.routes.ts: 列表/pending/detail/remind 接口加上 idCardNumber 并解密 - risk.service.ts: getMonthlyCalendar 所有事件加上 employeeIdCardNumber - termination.service.ts: batchTerminatePreview 加上 employeeIdCardNumber - employee.routes.ts: preview-renew 加上 employeeIdCardNumber 前端: - Roster.tsx: 批量续签/解聘预检结果加上身份证号 - SpecialStatus.tsx: 列表/下拉/删除确认加上身份证号 - Calendar.tsx: 日历事件姓名后显示身份证号 - ESign.tsx: 签署列表/详情/员工列表/提醒弹窗/下拉加上身份证号 - CommercialInsuranceTab.tsx: 参保选择列表加上身份证号 - OvertimeTab.tsx: 导入预览加上身份证号
This commit is contained in:
@@ -263,7 +263,12 @@ export default function ESign() {
|
||||
</div>
|
||||
{r.remark && <div className="text-xs text-gray-400 mt-0.5">{r.remark}</div>}
|
||||
</td>
|
||||
<td className="py-2 px-3">{r.employee?.name || '—'}</td>
|
||||
<td className="py-2 px-3">
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<span>{r.employee?.name || '—'}</span>
|
||||
{r.employee?.idCardNumber && <span className="text-gray-400 text-[11px] font-mono">{r.employee.idCardNumber}</span>}
|
||||
</div>
|
||||
</td>
|
||||
<td className="py-2 px-3 text-gray-500">{r.employee?.department || '—'}</td>
|
||||
<td className="py-2 px-3">
|
||||
<span className={`px-1.5 py-0.5 rounded text-xs ${(SIGN_METHOD_CONFIG[r.signMethod] || SIGN_METHOD_CONFIG.ELECTRONIC).color}`}>
|
||||
@@ -334,7 +339,7 @@ export default function ESign() {
|
||||
>
|
||||
<option value="">请选择员工</option>
|
||||
{rosterData.map((emp: any) => (
|
||||
<option key={emp.id} value={emp.id}>{emp.name} - {emp.department}</option>
|
||||
<option key={emp.id} value={emp.id}>{emp.name}{emp.idCardNumber ? `(${emp.idCardNumber})` : ''} - {emp.department}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
@@ -496,7 +501,7 @@ function PaperSignModal({ onClose, onSuccess, initialEmployeeId, initialScene, i
|
||||
>
|
||||
<option value="">请选择员工</option>
|
||||
{rosterData.map((emp: any) => (
|
||||
<option key={emp.id} value={emp.id}>{emp.name} - {emp.department}</option>
|
||||
<option key={emp.id} value={emp.id}>{emp.name}{emp.idCardNumber ? `(${emp.idCardNumber})` : ''} - {emp.department}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
@@ -654,7 +659,7 @@ function ESignDetail({ id, onBack }: { id: string; onBack: () => void }) {
|
||||
{(SIGN_METHOD_CONFIG[detail.signMethod] || SIGN_METHOD_CONFIG.ELECTRONIC).label}
|
||||
</span>
|
||||
</div>
|
||||
<div className="text-xs text-gray-400 mt-0.5">签署人:{detail.employee?.name} · {detail.employee?.department}</div>
|
||||
<div className="text-xs text-gray-400 mt-0.5">签署人:{detail.employee?.name} · {detail.employee?.department}{detail.employee?.idCardNumber && <span className="ml-1 font-mono">{detail.employee.idCardNumber}</span>}</div>
|
||||
</div>
|
||||
<span className={`inline-flex items-center gap-1 px-2.5 py-1 rounded text-xs ${statusCfg.color}`}>
|
||||
{statusCfg.icon}{statusCfg.label}
|
||||
@@ -868,6 +873,7 @@ function PendingTab({ pendingList, loading, onRemind, remindLoading, remindData,
|
||||
<User className="w-3.5 h-3.5 text-primary" />
|
||||
</div>
|
||||
<span className="font-medium">{emp.name}</span>
|
||||
{emp.idCardNumber && <span className="text-xs text-gray-400 font-mono ml-1">{emp.idCardNumber}</span>}
|
||||
</div>
|
||||
</td>
|
||||
<td className="py-2 px-3 text-gray-500">{emp.department || '—'}</td>
|
||||
@@ -993,7 +999,7 @@ function PendingTab({ pendingList, loading, onRemind, remindLoading, remindData,
|
||||
<QRCodeSVG value={remindData.url} size={200} level="M" />
|
||||
</div>
|
||||
<p className="mt-3 text-xs text-gray-600 text-center">
|
||||
员工 <span className="font-medium">{remindData.employeeName}</span> 扫码后自动登录员工端签署页面
|
||||
员工 <span className="font-medium">{remindData.employeeName}</span>{remindData.employeeIdCardNumber && <span className="font-mono text-gray-500 ml-1">{remindData.employeeIdCardNumber}</span>} 扫码后自动登录员工端签署页面
|
||||
</p>
|
||||
<p className="mt-1 text-xs text-gray-400">链接 24 小时内有效</p>
|
||||
<div className="mt-3 w-full">
|
||||
|
||||
Reference in New Issue
Block a user