다크모드
퇴직정산 페이지 (FE 메인테이너)
독자: FE 메인테이너/AI. 작성: 2026-07-10. 계산 규칙 정본:
../backend/hr-retirement-settlement.md.
라우트·트리
/human-capital/compensation/retirement/general→IndexView→HeaderOrg+MainOrgMainOrg— 기준일(asOf, 가정 퇴직일) 소유 + 시트 배선blocks/DynamicTableOrg—retirementRows(asOf)조망(10명). 이름 클릭(§0-10) → 정산 시트overlays/SheetRetirementArt— 3xl 시트. 퇴직일 date 입력(로컬 재계산 시뮬레이션) + 명세 2표(퇴직금 산정/세액 산정) + [정산서 발급](eligible 게이트)
⚠ 구 Unit CRUD 스캐폴딩은 제거됨(2026-07-10). 급여 페이지가 크로스 임포트하던 Unit 시트 3종은 compensation/payroll/general/overlays/로 소유 이전(빌드 가드 — payroll 실화 시 함께 정리할 것).
소비 컴포저블
| 파일 | 역할 |
|---|---|
useRetirement.js | settlementFor(employeeId, retireDate) 명세 VM / retirementRows(asOf) 조망. 평균임금·통상하한·퇴직금·퇴직소득세(2023~ 환산 구조) |
payrollMock.js | earningsBreakdown(월 임금총액)·basicTax(누진세율 — export 공용) |
contractMock.js | employees(hireDate)·contracts(terminationDate — 퇴사자)·hourlyWage(통상임금) |
documentCenterRepo.js | createRetirementSettlement — 계산 스냅샷을 문서센터에 등록 |
데이터 흐름
조망·시트 전부 파생 computed(저장 없음). 유일한 쓰기 = [정산서 발급] → seam → documentCenterMock.createRetirementSettlement(스냅샷 저장) → 문서센터 목록·프리뷰(retirementSettlementTemplate.js — doc.settlement만 렌더, 재계산 금지).
테스트
src/composables/useRetirement.test.js— 1년 미만 0원·365일 경계·평균임금 92일·통상 하한·환산 단계·조망 10명src/composables/documentCenterMock.test.js— 정산서 스냅샷·비대상 발급 거부- 라이브: 조망→시트→발급→문서센터 프리뷰 9항목 Playwright 실측(2026-07-10)
확장 포인트
상여 가산 = useRetirement의 임금총액 산식만 교체(월 gross×3 자리). DC형 분기 = VM에 planType 추가 후 시트/정산서 분기.