feat: [공통] Sidebar, 대시보드 훅, 유틸 개선
- Sidebar 레이아웃 개선 - useCEODashboard 최적화, useDashboardFetch 훅 신규 - amount, status-config 유틸 개선 - dashboard transformers 개선 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -74,16 +74,6 @@ export function transformPurchaseDetailResponse(api: PurchaseDashboardDetailApiR
|
||||
],
|
||||
defaultValue: 'all',
|
||||
},
|
||||
{
|
||||
key: 'sortOrder',
|
||||
options: [
|
||||
{ value: 'latest', label: '최신순' },
|
||||
{ value: 'oldest', label: '등록순' },
|
||||
{ value: 'amountDesc', label: '금액 높은순' },
|
||||
{ value: 'amountAsc', label: '금액 낮은순' },
|
||||
],
|
||||
defaultValue: 'latest',
|
||||
},
|
||||
],
|
||||
showTotal: true,
|
||||
totalLabel: '합계',
|
||||
@@ -165,16 +155,6 @@ export function transformCardDetailResponse(api: CardDashboardDetailApiResponse)
|
||||
],
|
||||
defaultValue: 'all',
|
||||
},
|
||||
{
|
||||
key: 'sortOrder',
|
||||
options: [
|
||||
{ value: 'latest', label: '최신순' },
|
||||
{ value: 'oldest', label: '등록순' },
|
||||
{ value: 'amountDesc', label: '금액 높은순' },
|
||||
{ value: 'amountAsc', label: '금액 낮은순' },
|
||||
],
|
||||
defaultValue: 'latest',
|
||||
},
|
||||
],
|
||||
showTotal: true,
|
||||
totalLabel: '합계',
|
||||
@@ -264,16 +244,6 @@ export function transformBillDetailResponse(api: BillDashboardDetailApiResponse)
|
||||
],
|
||||
defaultValue: 'all',
|
||||
},
|
||||
{
|
||||
key: 'sortOrder',
|
||||
options: [
|
||||
{ value: 'latest', label: '최신순' },
|
||||
{ value: 'oldest', label: '등록순' },
|
||||
{ value: 'amountDesc', label: '금액 높은순' },
|
||||
{ value: 'amountAsc', label: '금액 낮은순' },
|
||||
],
|
||||
defaultValue: 'latest',
|
||||
},
|
||||
],
|
||||
showTotal: true,
|
||||
totalLabel: '합계',
|
||||
@@ -398,16 +368,6 @@ export function transformExpectedExpenseDetailResponse(
|
||||
options: vendorOptions,
|
||||
defaultValue: 'all',
|
||||
},
|
||||
{
|
||||
key: 'sortOrder',
|
||||
options: [
|
||||
{ value: 'latest', label: '최신순' },
|
||||
{ value: 'oldest', label: '등록순' },
|
||||
{ value: 'amountDesc', label: '금액 높은순' },
|
||||
{ value: 'amountAsc', label: '금액 낮은순' },
|
||||
],
|
||||
defaultValue: 'latest',
|
||||
},
|
||||
],
|
||||
showTotal: true,
|
||||
totalLabel: '합계',
|
||||
|
||||
@@ -161,6 +161,11 @@ export function transformWelfareDetailResponse(api: WelfareDetailApiResponse): D
|
||||
|
||||
return {
|
||||
title: '복리후생비 상세',
|
||||
dateFilter: {
|
||||
enabled: true,
|
||||
defaultPreset: '당월',
|
||||
showSearch: true,
|
||||
},
|
||||
summaryCards: [
|
||||
// 1행: 당해년도 기준
|
||||
{ label: '당해년도 복리후생비 계정', value: summary.annual_account, unit: '원' },
|
||||
@@ -224,16 +229,6 @@ export function transformWelfareDetailResponse(api: WelfareDetailApiResponse): D
|
||||
],
|
||||
defaultValue: 'all',
|
||||
},
|
||||
{
|
||||
key: 'sortOrder',
|
||||
options: [
|
||||
{ value: 'latest', label: '최신순' },
|
||||
{ value: 'oldest', label: '등록순' },
|
||||
{ value: 'amountDesc', label: '금액 높은순' },
|
||||
{ value: 'amountAsc', label: '금액 낮은순' },
|
||||
],
|
||||
defaultValue: 'latest',
|
||||
},
|
||||
],
|
||||
showTotal: true,
|
||||
totalLabel: '합계',
|
||||
|
||||
@@ -94,6 +94,19 @@ export function formatAmountManwon(amount: number): string {
|
||||
return `${manwon.toLocaleString("ko-KR")}만원`;
|
||||
}
|
||||
|
||||
/**
|
||||
* 차트 축 레이블용 축약 포맷
|
||||
*
|
||||
* - 1억 이상: "1.5억"
|
||||
* - 1만 이상: "5320만"
|
||||
* - 1만 미만: "5,000"
|
||||
*/
|
||||
export function formatCompactAmount(value: number): string {
|
||||
if (value >= 100000000) return `${(value / 100000000).toFixed(1)}억`;
|
||||
if (value >= 10000) return `${(value / 10000).toFixed(0)}만`;
|
||||
return value.toLocaleString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 한국식 금액 축약 포맷
|
||||
*
|
||||
|
||||
@@ -324,8 +324,7 @@ export const RECEIVING_STATUS_CONFIG = createStatusConfig({
|
||||
export const BAD_DEBT_COLLECTION_STATUS_CONFIG = createStatusConfig({
|
||||
collecting: { label: '추심중', style: 'border-orange-300 text-orange-600 bg-orange-50' },
|
||||
legalAction: { label: '법적조치', style: 'border-red-300 text-red-600 bg-red-50' },
|
||||
recovered: { label: '회수완료', style: 'border-green-300 text-green-600 bg-green-50' },
|
||||
badDebt: { label: '대손처리', style: 'border-gray-300 text-gray-600 bg-gray-50' },
|
||||
collectionEnd: { label: '추심종료', style: 'border-green-300 text-green-600 bg-green-50' },
|
||||
}, { includeAll: true });
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user