import { TechVendorWithAttachments } from "@/db/schema/techVendors"; /** * 테이블/엑셀에 보여줄 컬럼 한 칸을 어떻게 렌더링할지 결정하는 설정 */ export interface VendorColumnConfig { /** * 기술영업 벤더(TechVendorWithAttachments) 객체의 어느 필드를 표시할지 */ id: keyof TechVendorWithAttachments; /** 화면·엑셀에서 보여줄 컬럼명 */ label: string; /** (선택) 그룹핑/카테고리 */ group?: string; /** (선택) Excel에서의 헤더 */ excelHeader?: string; /** (선택) 데이터 타입(예: date, string, number 등), 포맷 지정용 */ type?: string; } /** * 기술영업 벤더 정보 테이블에서 * 어떤 컬럼들을 어떤 순서로 표시할 것인지 정의. */ export const techVendorColumnsConfig: VendorColumnConfig[] = [ { id: "vendorCode", label: "업체 코드", excelHeader: "업체 코드", }, { id: "vendorName", label: "업체명", excelHeader: "업체명", }, { id: "techVendorType", label: "벤더 타입", excelHeader: "벤더 타입", type: "string", }, { id: "workTypes", label: "공종", excelHeader: "공종", type: "string", }, { id: "taxId", label: "세금 ID", excelHeader: "세금 ID", type: "string", }, { id: "status", label: "상태", excelHeader: "상태", type: "string", }, { id: "address", label: "주소", excelHeader: "주소", }, { id: "country", label: "국가", excelHeader: "국가", }, { id: "countryEng", label: "국가(영문)", excelHeader: "국가(영문)", }, { id: "countryFab", label: "제조국가", excelHeader: "제조국가", }, { id: "phone", label: "전화번호", excelHeader: "전화번호", }, { id: "email", label: "이메일", excelHeader: "이메일", }, { id: "website", label: "웹사이트", excelHeader: "웹사이트", // group: "Metadata", }, // 에이전트 정보 { id: "agentName", label: "에이전트명", excelHeader: "에이전트명", group: "에이전트 정보", }, { id: "agentEmail", label: "에이전트 이메일", excelHeader: "에이전트 이메일", group: "에이전트 정보", }, { id: "agentPhone", label: "에이전트 번호", excelHeader: "에이전트 번호", group: "에이전트 정보", }, // 대표자 정보 { id: "representativeName", label: "대표자명", excelHeader: "대표자명", group: "대표자 정보", }, { id: "representativeEmail", label: "대표자 이메일", excelHeader: "대표자 이메일", group: "대표자 정보", }, { id: "representativePhone", label: "대표자 전화번호", excelHeader: "대표자 전화번호", group: "대표자 정보", }, { id: "representativeBirth", label: "대표자 생년월일", excelHeader: "대표자 생년월일", group: "대표자 정보", }, ];