다크모드
부과 배분 행렬 셀 드릴다운 — FE 메인테이너
흐름
matrix 셀(<button>) 클릭 → openCell(charge, group) → openDerivation(allocationCellDerivation(allocationBreakdown(charge, axis, code), { axis, entityLabel })) → selectedDerivation 적재 → command="show-modal" commandfor="sheet-derivation-art"로 SheetDerivationArt 스택.
파일
- 데이터:
src/composables/useAllocations.js—allocateDetailed/allocationBreakdown. - 모델:
src/composables/useDerivation.js—allocationCellDerivation(+basisLabelOf). - 렌더:
src/components/billing/_core/console/overlays/SheetDerivationArt.vue—kind:'allocation'분기. - 셀/마운트:
src/components/service-charge/actual/console/charging/allocation-{unit,member,contract}/blocks/DynamicTableOrg.vue(셀 클릭) + 동 폴더MainOrg.vue(시트 마운트).
모델 스키마 (kind:'allocation')
{ title, subtitle, chargeName, basisLabel, lineHeader, principal, totalWeight, lines[], cellTotal, hasResidual, zeroWeight }
lineHeader: 축별 1열 제목(unit→점유자 / member→보유 유닛 / contract→유닛).lines[]:{ label, subLabel, basisQuantity, occupancyDays, monthDays, dayRatio, weight, share, amount, isResidual }.- 라벨: 유닛축=점유자(멤버명) / 멤버축=유닛명 / 계약축=유닛명.
확장 포인트
- 새 축 추가:
allocationBreakdown의 columns/keyOf 분기 + DynamicTableOrg 1개. - chargeBasis 단위 라벨:
useDerivation.basisLabelOf. - 각주 조건:
hasResidual(다중 라인 + 잔차 라인 존재),zeroWeight(가중치 0).
테스트
src/composables/__tests__/useAllocations.spec.js— 도출 합 불변식·3축 합.src/composables/__tests__/useDerivation.spec.js— 모델 shape·각주 조건.