부서 read 기능 구현
This commit is contained in:
69
frontend/types/department.ts
Normal file
69
frontend/types/department.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* 부서 관리 관련 타입 정의
|
||||
*/
|
||||
|
||||
// 부서 정보 (dept_info 테이블 기반)
|
||||
export interface Department {
|
||||
dept_code: string; // 부서 코드
|
||||
dept_name: string; // 부서명
|
||||
company_code: string; // 회사 코드
|
||||
parent_dept_code?: string | null; // 상위 부서 코드
|
||||
sort_order?: number; // 정렬 순서
|
||||
created_at?: string;
|
||||
updated_at?: string;
|
||||
// UI용 추가 필드
|
||||
children?: Department[]; // 하위 부서 목록
|
||||
memberCount?: number; // 부서원 수
|
||||
}
|
||||
|
||||
// 부서원 정보
|
||||
export interface DepartmentMember {
|
||||
user_id: string; // 사용자 ID
|
||||
user_name: string; // 사용자명
|
||||
dept_code: string; // 부서 코드
|
||||
dept_name: string; // 부서명
|
||||
is_primary: boolean; // 주 부서 여부
|
||||
position_name?: string; // 직책명
|
||||
email?: string; // 이메일
|
||||
phone?: string; // 전화번호
|
||||
cell_phone?: string; // 휴대폰
|
||||
}
|
||||
|
||||
// 사용자-부서 매핑 (겸직 지원)
|
||||
export interface UserDepartmentMapping {
|
||||
user_id: string;
|
||||
dept_code: string;
|
||||
is_primary: boolean; // 주 부서 여부
|
||||
created_at?: string;
|
||||
}
|
||||
|
||||
// 부서 등록/수정 폼 데이터
|
||||
export interface DepartmentFormData {
|
||||
dept_name: string; // 부서명 (필수)
|
||||
parent_dept_code?: string | null; // 상위 부서 코드
|
||||
}
|
||||
|
||||
// 부서 트리 노드 (UI용)
|
||||
export interface DepartmentTreeNode {
|
||||
dept_code: string;
|
||||
dept_name: string;
|
||||
parent_dept_code?: string | null;
|
||||
children: DepartmentTreeNode[];
|
||||
memberCount: number;
|
||||
isExpanded: boolean;
|
||||
}
|
||||
|
||||
// 부서 API 응답
|
||||
export interface DepartmentApiResponse {
|
||||
success: boolean;
|
||||
message: string;
|
||||
data?: Department | Department[];
|
||||
}
|
||||
|
||||
// 부서원 API 응답
|
||||
export interface DepartmentMemberApiResponse {
|
||||
success: boolean;
|
||||
message: string;
|
||||
data?: DepartmentMember | DepartmentMember[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user