From 63a0a6934b67f42eee594cc753395b07c134d39f Mon Sep 17 00:00:00 2001 From: selfrelease Date: Sun, 16 Aug 2026 14:35:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=9C=80=E4=BD=8E?= =?UTF-8?q?=E5=B7=A5=E8=B5=84=E4=BF=9D=E6=8A=A4tooltip=E6=96=87=E6=A1=88?= =?UTF-8?q?=EF=BC=8C=E6=98=8E=E7=A1=AE=E5=85=8D=E6=89=A3=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?/=E5=85=AC=E7=A7=AF=E9=87=91=E4=B8=8E=E9=A2=9D=E5=A4=96?= =?UTF-8?q?=E8=A1=A5=E9=BD=90=E7=9A=84=E5=8C=BA=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit minWageApplied 包含免扣社保+免扣公积金+额外补齐三部分, 原tooltip统称"补齐"容易误解为额外补了这么多现金。 改为分项显示:免扣社保 ¥X + 免扣公积金 ¥Y + 额外补齐 ¥Z Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- frontend/src/pages/money/BatchTab.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/money/BatchTab.tsx b/frontend/src/pages/money/BatchTab.tsx index 8da375f..11c366d 100644 --- a/frontend/src/pages/money/BatchTab.tsx +++ b/frontend/src/pages/money/BatchTab.tsx @@ -970,7 +970,7 @@ function BatchDetail({ batchId, onBack }: { batchId: string; onBack: () => void )} {batch.entries.some((e: any) => (e.minWageApplied || 0) > 0) && ( - {batch.entries.filter((e: any) => (e.minWageApplied || 0) > 0).length} 名员工已补齐到最低工资标准,递延扣款(社保/公积金/补齐差额)将在次月工资中补扣。 + {batch.entries.filter((e: any) => (e.minWageApplied || 0) > 0).length} 名员工实发已补齐到最低工资标准。免扣的社保/公积金及额外补齐差额已递延,将在次月工资中补扣,请在「递延扣款」列查看明细。 )} {batch.entries.some((e: any) => (e.prevDeferredSocialEmp || 0) + (e.prevDeferredHousingEmp || 0) + (e.prevDeferredMinWage || 0) > 0) && ( @@ -1111,7 +1111,7 @@ function BatchDetail({ batchId, onBack }: { batchId: string; onBack: () => void {renderCell(entry, 'housingEmp')} handleTaxDetailClick(entry.employeeId, entry.employee.name)} title="点击查看个税计算明细">{fmt(entry.tax)} {/* 实发:最低工资保护触发时高亮显示 */} - 0 ? 'text-amber-600' : 'text-safe'}`} title={(entry.minWageApplied || 0) > 0 ? `最低工资保护:补齐 ¥${entry.minWageApplied},递延扣款 ¥${(entry.deferredSocialEmp || 0) + (entry.deferredHousingEmp || 0) + (entry.deferredMinWage || 0)} 将在次月补扣` : ''}> + 0 ? 'text-amber-600' : 'text-safe'}`} title={(entry.minWageApplied || 0) > 0 ? `最低工资保护已触发\n应发 ¥${fmt(entry.totalPay)} → 实发补齐到 ¥${fmt(entry.minWage)}\n免扣社保 ¥${fmt(entry.deferredSocialEmp || 0)} + 免扣公积金 ¥${fmt(entry.deferredHousingEmp || 0)} + 额外补齐 ¥${fmt(entry.deferredMinWage || 0)} = 递延 ¥${fmt((entry.deferredSocialEmp || 0) + (entry.deferredHousingEmp || 0) + (entry.deferredMinWage || 0))}(次月补扣)` : ''}> {fmt(entry.netPay)} {(entry.minWageApplied || 0) > 0 && } @@ -1121,10 +1121,10 @@ function BatchDetail({ batchId, onBack }: { batchId: string; onBack: () => void const deferred = (entry.deferredSocialEmp || 0) + (entry.deferredHousingEmp || 0) + (entry.deferredMinWage || 0) const prevDeferred = (entry.prevDeferredSocialEmp || 0) + (entry.prevDeferredHousingEmp || 0) + (entry.prevDeferredMinWage || 0) if (deferred > 0) { - return 递延 ¥{fmt(deferred)} + return 递延 ¥{fmt(deferred)} } if (prevDeferred > 0) { - return 补扣 ¥{fmt(prevDeferred)} + return 补扣 ¥{fmt(prevDeferred)} } return })()} @@ -1135,7 +1135,7 @@ function BatchDetail({ batchId, onBack }: { batchId: string; onBack: () => void ) : (entry.minWageApplied || 0) > 0 ? ( - + ) : (