diff --git a/frontend/src/pages/Roster.tsx b/frontend/src/pages/Roster.tsx index 97e5439..0bf5d40 100644 --- a/frontend/src/pages/Roster.tsx +++ b/frontend/src/pages/Roster.tsx @@ -674,23 +674,25 @@ export default function Roster() { {employees.map((e: any) => ( setSelectedId(e.id)} > - ev.stopPropagation()}> + ev.stopPropagation()}> toggleSelect(e.id)} /> - -
{e.name}
-
{ - ev.stopPropagation() - if (e.idCardNumber) { - copyToClipboard(e.idCardNumber, '已复制证件号码') - } - }}>{e.idCardMasked || '—'}
+ +
+ {e.name} + { + ev.stopPropagation() + if (e.idCardNumber) { + copyToClipboard(e.idCardNumber, '已复制证件号码') + } + }}>{e.idCardMasked || '—'} +
- {colVisible('department') && {e.department}} - {colVisible('status') && + {colVisible('department') && {e.department}} + {colVisible('status') && )} } - {colVisible('hireDate') && {e.hireDate?.toString().slice(0, 10)}} - + {colVisible('hireDate') && {e.hireDate?.toString().slice(0, 10)}} + {e.hasTermination && e.latestTerminationDate && e.latestTerminationStatus !== 'CANCELLED' && e.latestTerminationStatus !== 'COMPLETED' ? ( {e.latestTerminationDate.toString().slice(0, 10)} @@ -719,10 +721,10 @@ export default function Roster() { )} - {colVisible('position') && {e.position || '—'}} - {colVisible('phone') && {e.phone || '—'}} - {colVisible('gender') && {e.gender || '—'}} - {colVisible('contractType') && + {colVisible('position') && {e.position || '—'}} + {colVisible('phone') && {e.phone || '—'}} + {colVisible('gender') && {e.gender || '—'}} + {colVisible('contractType') && {(() => { const typeConfig: Record = { FIXED: { label: '劳动合同-固定期', style: 'bg-blue-50 text-blue-700 border border-blue-200' }, @@ -739,7 +741,7 @@ export default function Roster() { return {cfg.label} })()} } - {colVisible('contractStatus') && + {colVisible('contractStatus') && {(() => { const tagStyles: Record = { expired: 'bg-red-50 text-danger', @@ -764,7 +766,7 @@ export default function Roster() { return {text} })()} } - {colVisible('contractExpiry') && + {colVisible('contractExpiry') && {(() => { const endDate = e.latestContract?.endDate if (!endDate) { @@ -784,7 +786,7 @@ export default function Roster() { return {dateStr} })()} } - {colVisible('socialStatus') && + {colVisible('socialStatus') && {(() => { const status = e.socialInsuranceStatus if (!status) return @@ -798,12 +800,12 @@ export default function Roster() { return {c.label} })()} } - {colVisible('socialInsBase') && + {colVisible('socialInsBase') && {e.socialInsBase ? e.socialInsBase.toLocaleString() : } } - {colVisible('socialInsAmount') && + {colVisible('socialInsAmount') && {(() => { - if (!e.socialInsCalc && !e.housingFundCalc) return + if (!e.socialInsCalc && !e.housingFundCalc) return const socialEmp = e.socialInsCalc?.socialEmp || 0 const socialOrg = e.socialInsCalc?.socialOrg || 0 const housingEmp = e.housingFundCalc?.housingEmp || 0 @@ -811,14 +813,14 @@ export default function Roster() { const totalEmp = socialEmp + housingEmp const totalOrg = socialOrg + housingOrg return ( -
- 个人: {totalEmp.toFixed(2)} - 企业: {totalOrg.toFixed(2)} +
+ 个人 {totalEmp.toFixed(2)} + 企业 {totalOrg.toFixed(2)}
) })()} } - {colVisible('records') && + {colVisible('records') &&
{(() => { const items = [ @@ -839,10 +841,10 @@ export default function Roster() { })()}
} - + {e.status === 'ACTIVE' && (!e.hasTermination || e.latestTerminationStatus === 'CANCELLED' || e.latestTerminationStatus === 'COMPLETED') && ( -
-
+
+
-
+