From 152b0b5024c4daf881e021daf4fdb0906f983c21 Mon Sep 17 00:00:00 2001 From: freedakgmail Date: Mon, 17 Aug 2026 20:27:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8E=E7=AB=AF=E5=AF=B9=E9=9D=9E?= =?UTF-8?q?=E5=8A=B3=E5=8A=A8=E5=90=88=E5=90=8C=E7=B1=BB=E5=9E=8B=20social?= =?UTF-8?q?InsBase/housingFundBase=20=E8=BF=94=E5=9B=9E=20null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不再在数据源头返回社保基数和公积金基数,而非前端隐藏 --- backend/src/routes/roster.routes.ts | 12 ++++++++++-- frontend/src/pages/Roster.tsx | 6 +----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/backend/src/routes/roster.routes.ts b/backend/src/routes/roster.routes.ts index aef715d..441779d 100644 --- a/backend/src/routes/roster.routes.ts +++ b/backend/src/routes/roster.routes.ts @@ -222,8 +222,16 @@ router.get('/', authMiddleware, async (req: AuthRequest, res, next) => { monthlySalary: safeDecrypt(e.monthlySalary), baseSalary: e.baseSalary ? safeDecrypt(e.baseSalary) : null, performanceSalary: e.performanceSalary ? safeDecrypt(e.performanceSalary) : null, - socialInsBase: e.socialInsBase, - housingFundBase: e.housingFundBase, + socialInsBase: (() => { + const ct = latestContract?.contractType + if (!ct || ['LABOR', 'INTERNSHIP', 'PARTTIME', 'OUTSOURCING', 'UNSIGNED'].includes(ct)) return null + return e.socialInsBase + })(), + housingFundBase: (() => { + const ct = latestContract?.contractType + if (!ct || ['LABOR', 'INTERNSHIP', 'PARTTIME', 'OUTSOURCING', 'UNSIGNED'].includes(ct)) return null + return e.housingFundBase + })(), socialInsCalc: (() => { const contractType = latestContract?.contractType // 劳务协议、实习协议、兼职协议、业务外包等非劳动合同不缴纳社保 diff --git a/frontend/src/pages/Roster.tsx b/frontend/src/pages/Roster.tsx index c934f03..b41544c 100644 --- a/frontend/src/pages/Roster.tsx +++ b/frontend/src/pages/Roster.tsx @@ -917,11 +917,7 @@ export default function Roster() { })()} } {colVisible('socialInsBase') && - {(() => { - const ct = e.latestContract?.contractType - if (!ct || ['LABOR', 'INTERNSHIP', 'PARTTIME', 'OUTSOURCING', 'UNSIGNED'].includes(ct)) return - return e.socialInsBase ? e.socialInsBase.toLocaleString() : - })()} + {e.socialInsBase ? e.socialInsBase.toLocaleString() : } } {colVisible('socialInsAmount') && {(() => {