feat(WEB): 회계/HR/생산/품질 탭 복원 및 대시보드·검색 개선
- 회계 모듈 탭 UI 복원 (대손/은행거래/청구/입금/예상경비/상품권/매입/매출/세금계산서/거래처원장/거래처/출금) - HR 모듈 탭 복원 (근태/급여/휴가) - 대시보드 type2/3/4 페이지 개선 - CEO 대시보드 섹션 로딩 최적화 - 품목 마스터데이터 관리 탭 기능 강화 - 생산 작업자화면/작업지시 개선 - 품질 검사 생성/상세 화면 보완 - 건설 견적/현장관리 상세 개선 - UniversalListPage 기능 확장 - E2E 잔여 버그 핸드오프 문서 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useEffect, useMemo } from 'react';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { PageLayout } from '@/components/organisms/PageLayout';
|
||||
import { PageHeader } from '@/components/organisms/PageHeader';
|
||||
import { useItemMaster } from '@/contexts/ItemMasterContext';
|
||||
@@ -18,22 +19,52 @@ import { Button } from '@/components/ui/button';
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
|
||||
// 다이얼로그 컴포넌트 import
|
||||
import { TabManagementDialogs } from './ItemMasterDataManagement/dialogs/TabManagementDialogs';
|
||||
import { OptionDialog } from './ItemMasterDataManagement/dialogs/OptionDialog';
|
||||
import { ColumnManageDialog } from './ItemMasterDataManagement/dialogs/ColumnManageDialog';
|
||||
import { PathEditDialog } from './ItemMasterDataManagement/dialogs/PathEditDialog';
|
||||
import { PageDialog } from './ItemMasterDataManagement/dialogs/PageDialog';
|
||||
import { SectionDialog } from './ItemMasterDataManagement/dialogs/SectionDialog';
|
||||
import { FieldDialog } from './ItemMasterDataManagement/dialogs/FieldDialog';
|
||||
import { FieldDrawer } from './ItemMasterDataManagement/dialogs/FieldDrawer';
|
||||
import { ColumnDialog } from './ItemMasterDataManagement/dialogs/ColumnDialog';
|
||||
import { MasterFieldDialog } from './ItemMasterDataManagement/dialogs/MasterFieldDialog';
|
||||
import { SectionTemplateDialog } from './ItemMasterDataManagement/dialogs/SectionTemplateDialog';
|
||||
import { TemplateFieldDialog } from './ItemMasterDataManagement/dialogs/TemplateFieldDialog';
|
||||
import { LoadTemplateDialog } from './ItemMasterDataManagement/dialogs/LoadTemplateDialog';
|
||||
import { ImportSectionDialog } from './ItemMasterDataManagement/dialogs/ImportSectionDialog';
|
||||
import { ImportFieldDialog } from './ItemMasterDataManagement/dialogs/ImportFieldDialog';
|
||||
// 다이얼로그 컴포넌트 - lazy load (사용자 클릭 시에만 로드)
|
||||
const TabManagementDialogs = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/TabManagementDialogs').then(mod => ({ default: mod.TabManagementDialogs })),
|
||||
);
|
||||
const OptionDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/OptionDialog').then(mod => ({ default: mod.OptionDialog })),
|
||||
);
|
||||
const ColumnManageDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/ColumnManageDialog').then(mod => ({ default: mod.ColumnManageDialog })),
|
||||
);
|
||||
const PathEditDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/PathEditDialog').then(mod => ({ default: mod.PathEditDialog })),
|
||||
);
|
||||
const PageDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/PageDialog').then(mod => ({ default: mod.PageDialog })),
|
||||
);
|
||||
const SectionDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/SectionDialog').then(mod => ({ default: mod.SectionDialog })),
|
||||
);
|
||||
const FieldDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/FieldDialog').then(mod => ({ default: mod.FieldDialog })),
|
||||
);
|
||||
const FieldDrawer = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/FieldDrawer').then(mod => ({ default: mod.FieldDrawer })),
|
||||
);
|
||||
const ColumnDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/ColumnDialog').then(mod => ({ default: mod.ColumnDialog })),
|
||||
);
|
||||
const MasterFieldDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/MasterFieldDialog').then(mod => ({ default: mod.MasterFieldDialog })),
|
||||
);
|
||||
const SectionTemplateDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/SectionTemplateDialog').then(mod => ({ default: mod.SectionTemplateDialog })),
|
||||
);
|
||||
const TemplateFieldDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/TemplateFieldDialog').then(mod => ({ default: mod.TemplateFieldDialog })),
|
||||
);
|
||||
const LoadTemplateDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/LoadTemplateDialog').then(mod => ({ default: mod.LoadTemplateDialog })),
|
||||
);
|
||||
const ImportSectionDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/ImportSectionDialog').then(mod => ({ default: mod.ImportSectionDialog })),
|
||||
);
|
||||
const ImportFieldDialog = dynamic(
|
||||
() => import('./ItemMasterDataManagement/dialogs/ImportFieldDialog').then(mod => ({ default: mod.ImportFieldDialog })),
|
||||
);
|
||||
|
||||
// 커스텀 훅 import
|
||||
import {
|
||||
|
||||
Reference in New Issue
Block a user