summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-05-23 05:26:26 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-05-23 05:26:26 +0000
commit0547ab2fe1701d84753d0e078bba718a79b07a0c (patch)
tree56e46cfa2e93a43ceaed0a8467ae21e61e9b0ddc /config
parent37c618b94902603701e1fe3df7f76d238285f066 (diff)
(최겸)기술영업 벤더 개발 초안(index 스키마 미포함 상태)
Diffstat (limited to 'config')
-rw-r--r--config/menuConfig.ts12
-rw-r--r--config/techVendorColumnsConfig.ts94
-rw-r--r--config/techVendorItemsColumnsConfig.ts154
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,
+ },
+];