diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-23 05:26:26 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-23 05:26:26 +0000 |
| commit | 0547ab2fe1701d84753d0e078bba718a79b07a0c (patch) | |
| tree | 56e46cfa2e93a43ceaed0a8467ae21e61e9b0ddc /config | |
| parent | 37c618b94902603701e1fe3df7f76d238285f066 (diff) | |
(최겸)기술영업 벤더 개발 초안(index 스키마 미포함 상태)
Diffstat (limited to 'config')
| -rw-r--r-- | config/menuConfig.ts | 12 | ||||
| -rw-r--r-- | config/techVendorColumnsConfig.ts | 94 | ||||
| -rw-r--r-- | config/techVendorItemsColumnsConfig.ts | 154 |
3 files changed, 260 insertions, 0 deletions
diff --git a/config/menuConfig.ts b/config/menuConfig.ts index e182e134..4c37374d 100644 --- a/config/menuConfig.ts +++ b/config/menuConfig.ts @@ -94,6 +94,18 @@ export const mainNav: MenuSection[] = [ { title: "협력업체 관리", items: [ + // { + // title: "협력업체 후보 관리(기술영업)", + // href: "/evcp/tech-vendor-candidates", + // description: "기술영업 협력업체 후보 관리", + // group: "기술영업" + // }, + // { + // title: "협력업체 관리(기술영업)", + // href: "/evcp/tech-vendors", + // description: "기술영업 협력업체 관리", + // group: "기술영업" + // }, { title: "발굴업체 등록 관리", href: "/evcp/vendor-candidates", diff --git a/config/techVendorColumnsConfig.ts b/config/techVendorColumnsConfig.ts new file mode 100644 index 00000000..c4b85b7b --- /dev/null +++ b/config/techVendorColumnsConfig.ts @@ -0,0 +1,94 @@ +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: "taxId",
+ label: "세금 ID",
+ excelHeader: "세금 ID",
+ type: "string",
+ },
+
+ {
+ id: "status",
+ label: "상태",
+ excelHeader: "상태",
+ type: "string",
+ },
+
+ {
+ id: "address",
+ label: "주소",
+ excelHeader: "주소",
+ },
+
+ {
+ id: "country",
+ label: "국가",
+ excelHeader: "국가",
+ },
+
+ {
+ id: "phone",
+ label: "전화번호",
+ excelHeader: "전화번호",
+ },
+
+ {
+ id: "email",
+ label: "이메일",
+ excelHeader: "이메일",
+ },
+
+ {
+ id: "website",
+ label: "웹사이트",
+ excelHeader: "웹사이트",
+ // group: "Metadata",
+ },
+
+];
\ No newline at end of file diff --git a/config/techVendorItemsColumnsConfig.ts b/config/techVendorItemsColumnsConfig.ts new file mode 100644 index 00000000..725fed2c --- /dev/null +++ b/config/techVendorItemsColumnsConfig.ts @@ -0,0 +1,154 @@ +// 공통 컬럼 설정
+export const techVendorItemsColumnsConfig = [
+ {
+ id: "itemCode",
+ label: "아이템 코드",
+ excelHeader: "아이템 코드",
+ type: "string",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+// {
+// id: "itemName",
+// label: "아이템명",
+// excelHeader: "아이템명",
+// type: "string",
+// minWidth: 200,
+// defaultWidth: 250,
+// },
+];
+
+// 조선 타입 컬럼 설정
+export const shipbuildingColumnsConfig = [
+ ...techVendorItemsColumnsConfig,
+ {
+ id: "workType",
+ label: "공종",
+ excelHeader: "공종",
+ type: "string",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "shipTypes",
+ label: "선종",
+ excelHeader: "선종",
+ type: "string",
+ minWidth: 150,
+ defaultWidth: 200,
+ },
+ {
+ id: "itemList",
+ label: "아이템 리스트",
+ excelHeader: "아이템 리스트",
+ type: "string",
+ minWidth: 200,
+ defaultWidth: 300,
+ },
+ {
+ id: "createdAt",
+ label: "생성일",
+ excelHeader: "생성일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "updatedAt",
+ label: "수정일",
+ excelHeader: "수정일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+];
+
+// 해양 TOP 타입 컬럼 설정
+export const offshoreTopColumnsConfig = [
+ ...techVendorItemsColumnsConfig,
+ {
+ id: "workType",
+ label: "공종",
+ excelHeader: "공종",
+ type: "string",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "itemList",
+ label: "아이템 리스트",
+ excelHeader: "아이템 리스트",
+ type: "string",
+ minWidth: 200,
+ defaultWidth: 300,
+ },
+ {
+ id: "subItemList",
+ label: "서브아이템 리스트",
+ excelHeader: "서브아이템 리스트",
+ type: "string",
+ minWidth: 200,
+ defaultWidth: 300,
+ },
+ {
+ id: "createdAt",
+ label: "생성일",
+ excelHeader: "생성일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "updatedAt",
+ label: "수정일",
+ excelHeader: "수정일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+];
+
+// 해양 HULL 타입 컬럼 설정
+export const offshoreHullColumnsConfig = [
+ ...techVendorItemsColumnsConfig,
+ {
+ id: "workType",
+ label: "공종",
+ excelHeader: "공종",
+ type: "string",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "itemList",
+ label: "아이템 리스트",
+ excelHeader: "아이템 리스트",
+ type: "string",
+ minWidth: 200,
+ defaultWidth: 300,
+ },
+ {
+ id: "subItemList",
+ label: "서브아이템 리스트",
+ excelHeader: "서브아이템 리스트",
+ type: "string",
+ minWidth: 200,
+ defaultWidth: 300,
+ },
+ {
+ id: "createdAt",
+ label: "생성일",
+ excelHeader: "생성일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+ {
+ id: "updatedAt",
+ label: "수정일",
+ excelHeader: "수정일",
+ type: "date",
+ minWidth: 120,
+ defaultWidth: 150,
+ },
+];
|
