From 624a2a794bb8e57c3e4bf4adef243c959ab7bfc3 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Tue, 13 May 2025 03:02:44 +0000 Subject: (대표님) 메뉴바 변경 및 rfq 조선 컬럼 설정 추가 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/menuConfig.ts | 2 - config/vendorRfqShipColumnsConfig.ts | 141 +++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 config/vendorRfqShipColumnsConfig.ts diff --git a/config/menuConfig.ts b/config/menuConfig.ts index 32af0776..0a445526 100644 --- a/config/menuConfig.ts +++ b/config/menuConfig.ts @@ -319,8 +319,6 @@ export const mainNavVendor: MenuSection[] = [ ]; - - export const additionalNavVendor: MenuItem[] = [ { diff --git a/config/vendorRfqShipColumnsConfig.ts b/config/vendorRfqShipColumnsConfig.ts new file mode 100644 index 00000000..7cd62c96 --- /dev/null +++ b/config/vendorRfqShipColumnsConfig.ts @@ -0,0 +1,141 @@ +export interface RfqShipVendorRow { + /** 주요 식별 정보 */ + id: number + vendorId: number + rfqId: number + + /** Vendor 기본정보 */ + vendorName: string + vendorCode: string | null + vendorStatus: string | null + + /** 프로젝트 정보 */ + projectId: number | null + projectCode: string | null + projectName: string | null + + /** RFQ 정보 */ + rfqCode: string | null + rfqDescription: string | null + + /** CBE 응답 정보 */ + commercialResponseStatus: string | null + totalPrice: number | null + currency: string | null + paymentTerms: string | null + incoterms: string | null + deliveryPeriod: string | null + warrantyPeriod: string | null + validityPeriod: string | null + commercialNotes: string | null + respondedAt: Date | null + + /** 첨부파일 개수 */ + attachmentCount: number | null + commercialAttachmentCount: number | null + + /** 댓글 목록 */ + comments: Array<{ + id: number + commentText: string + vendorId?: number + createdAt: Date + commentedBy?: number + }> +} + +export interface RfqShipColumnConfig { + /** 객체의 어느 필드를 표시할지 */ + id: keyof RfqShipVendorRow; + + /** 화면에서 보여줄 컬럼명 */ + label: string; + + /** (선택) 그룹핑/카테고리 */ + group?: string; + + /** (선택) Excel에서의 헤더 */ + excelHeader?: string; + + /** (선택) 데이터 타입(예: date, string, number 등), 포맷 지정용 */ + type?: string; +} + +/** + * 프로젝트 정보, 벤더 정보, CBE 정보가 결합된 컬럼 구성 + */ +export const rfqShipColumnsConfig: RfqShipColumnConfig[] = [ + // 프로젝트 정보 + { + id: "projectCode", + label: "Project Code", + excelHeader: "Project Code", + group: "Project Info", + }, + { + id: "projectName", + label: "Project Name", + excelHeader: "Project Name", + group: "Project Info", + }, + { + id: "rfqCode", + label: "RFQ Code", + excelHeader: "RFQ Code", + group: "Project Info", + }, + + // 벤더 정보 + { + id: "vendorName", + label: "Vendor Name", + excelHeader: "Vendor Name", + group: "Vendor Info", + }, + { + id: "vendorCode", + label: "Vendor Code", + excelHeader: "Vendor Code", + group: "Vendor Info", + }, + + // 상업 응답 정보 + { + id: "commercialResponseStatus", + label: "Status", + excelHeader: "Status", + group: "Commercial Response", + type: "text", + }, + { + id: "totalPrice", + label: "Total Price", + excelHeader: "Total Price", + group: "Commercial Response", + type: "number", + }, + { + id: "currency", + label: "Currency", + excelHeader: "Currency", + group: "Commercial Response", + }, + { + id: "paymentTerms", + label: "Payment Terms", + excelHeader: "Payment Terms", + group: "Commercial Response", + }, + { + id: "incoterms", + label: "Incoterms", + excelHeader: "Incoterms", + group: "Commercial Response", + }, + { + id: "deliveryPeriod", + label: "Delivery Period", + excelHeader: "Delivery Period", + group: "Commercial Response", + } +] \ No newline at end of file -- cgit v1.2.3