diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-02 00:45:49 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-02 00:45:49 +0000 |
| commit | 2acf5f8966a40c1c9a97680c8dc263ee3f1ad3d1 (patch) | |
| tree | f406b5c86f563347c7fd088a85fd1a82284dc5ff /config | |
| parent | 6a9ca20deddcdcbe8495cf5a73ec7ea5f53f9b55 (diff) | |
(대표님/최겸) 20250702 변경사항 업데이트
Diffstat (limited to 'config')
| -rw-r--r-- | config/dashboard-table.ts | 96 | ||||
| -rw-r--r-- | config/menuConfig.ts | 7 | ||||
| -rw-r--r-- | config/partners-dashboard-table.ts | 49 |
3 files changed, 151 insertions, 1 deletions
diff --git a/config/dashboard-table.ts b/config/dashboard-table.ts new file mode 100644 index 00000000..ae74645c --- /dev/null +++ b/config/dashboard-table.ts @@ -0,0 +1,96 @@ +import { TableConfig } from "@/types/dashboard"; + +export const DASHBOARD_TABLES: TableConfig[] = [ + { + tableName: 'b_rfqs', + displayName: '검토용 견적', + domain: 'procurement', + statusField: 'status', + statusMapping: { + 'DRAFT': 'pending', + 'Doc. Received': 'in_progress', + 'PIC Assigned': 'in_progress', + 'Doc. Confirmed': 'in_progress', + 'Init. RFQ Sent': 'in_progress', + 'Init. RFQ Answered': 'in_progress', + 'TBE started': 'in_progress', + 'TBE finished': 'in_progress', + 'Final RFQ Sent': 'in_progress', + 'Quotation Received': 'in_progress', + 'Vendor Selected': 'completed' + }, + userFields: { + creator: 'created_by', + updater: 'updated_by', + // assignee: 'sent_by' + } + }, + { + tableName: 'procurement_rfqs', + displayName: '발주용 견적', + domain: 'procurement', + statusField: 'status', + statusMapping: { + 'RFQ Created': 'pending', + 'RFQ Vendor Assignned': 'in_progress', + 'RFQ Sent': 'in_progress', + 'Quotation Analysis': 'in_progress', + 'PO Transfer': 'completed', + 'PO Create': 'completed' + }, + userFields: { + creator: 'sent_by', + updater: 'updated_by', + // assignee: 'sent_by' + } + }, + { + tableName: 'evaluation_targets', + displayName: '협력업체 평가대상 관리', + domain: 'procurement', + statusField: 'status', + statusMapping: { + 'PENDING': 'pending', + 'EXCLUDED': 'completed', + 'CONFIRMED': 'completed' + }, + userFields: { + creator: 'confirmed_by', + // updater: 'updated_by', + // assignee: 'confirmed_by' + } + }, + + { + tableName: 'tech_sales_rfqs', + displayName: '기술영업 RFQ', + domain: 'sales', + statusField: 'status', + statusMapping: { + 'RFQ Created': 'pending', + 'RFQ Vendor Assignned': 'in_progress', + 'RFQ Sent': 'in_progress', + 'Quotation Analysist': 'in_progress', + 'Closed': 'completed' + }, + userFields: { + creator: 'created_by', + updater: 'updated_by', + // assignee: 'confirmed_by' + } + }, + + + ]; + + + export const getTablesByDomain = (domain: string): TableConfig[] => { + if (domain === 'evcp') { + return DASHBOARD_TABLES; // 모든 테이블 반환 + } + return DASHBOARD_TABLES.filter(table => table.domain === domain); + }; + + export const getAllDomains = (): string[] => { + return [...new Set(DASHBOARD_TABLES.map(table => table.domain))]; + };
\ No newline at end of file diff --git a/config/menuConfig.ts b/config/menuConfig.ts index d9b272e1..3471284d 100644 --- a/config/menuConfig.ts +++ b/config/menuConfig.ts @@ -344,7 +344,12 @@ export const mainNav: MenuSection[] = [ { title: "인포메이션 관리", href: "/evcp/information", - group: "정보시스템" + group: "메뉴" + }, + { + title: "공지사항 관리", + href: "/evcp/notice", + group: "메뉴" }, { title: "메뉴 리스트", diff --git a/config/partners-dashboard-table.ts b/config/partners-dashboard-table.ts new file mode 100644 index 00000000..c7b38d5e --- /dev/null +++ b/config/partners-dashboard-table.ts @@ -0,0 +1,49 @@ +import { TableConfig } from "@/types/dashboard"; + +// Partners 전용 테이블 설정 +export const PARTNERS_DASHBOARD_TABLES: TableConfig[] = [ + { + tableName: 'evaluation_submissions', + displayName: 'Evaluation Submissions', + domain: 'partners', + statusField: 'submission_status', + statusMapping: { + 'draft': 'pending', + 'submitted': 'completed' + }, + userFields: { + creator: 'created_by', + updater: 'updated_by' + }, + // Partners 전용: vendorId 필터링 설정 + additionalFilters: { + // 이 필드는 서비스에서 동적으로 설정됨 + } + }, + { + tableName: 'vendor_attachment_responses', + displayName: 'RFQ Sumbmissions', + domain: 'partners', + statusField: 'response_status', + statusMapping: { + 'NOT_RESPONDED': 'pending', + 'REVISION_REQUESTED': 'in_progress', + 'WAIVED': 'completed', + 'RESPONDED': 'completed' + }, + userFields: { + creator: 'contract_manager', + updater: 'last_updated_by' + } + } + // 다른 파트너 관련 테이블들... + ]; + + export const getPartnerTablesByDomain = (domain: string): TableConfig[] => { + return PARTNERS_DASHBOARD_TABLES.filter(table => table.domain === domain); + }; + + export const getAllPartnerDomains = (): string[] => { + return [...new Set(PARTNERS_DASHBOARD_TABLES.map(table => table.domain))]; + }; +
\ No newline at end of file |
