ERP-node/frontend/types/company.ts

53 lines
1.3 KiB
TypeScript

/**
* 회사 관리 관련 타입 정의
*/
// 회사 기본 정보 인터페이스 (DB 테이블 구조 기반)
export interface Company {
company_code: string; // 회사 코드 (varchar 32) - PK
company_name: string; // 회사명 (varchar 64)
writer: string; // 등록자 (varchar 32)
regdate: string; // 등록일시 (timestamp -> ISO string)
status: string; // 상태 (varchar 32)
}
// 회사 등록/수정 폼 데이터
export interface CompanyFormData {
company_name: string; // 등록 시에는 회사명만 필요
}
// 회사 검색 필터
export interface CompanySearchFilter {
company_name?: string; // 회사명으로 검색
status?: string; // 상태로 필터링
}
// 회사 관리 모달 상태
export interface CompanyModalState {
isOpen: boolean;
mode: "create" | "edit"; // 등록 모드 or 수정 모드
selectedCompany: Company | null;
formData: CompanyFormData;
}
// 회사 삭제 다이얼로그 상태
export interface CompanyDeleteState {
isOpen: boolean;
targetCompany: Company | null;
}
// API 응답 타입
export interface CompanyApiResponse {
success: boolean;
message: string;
data?: Company | Company[];
}
// 회사 목록 테이블 컬럼 정의
export interface CompanyTableColumn {
key: keyof Company;
label: string;
sortable?: boolean;
width?: string;
}