78 lines
1.9 KiB
TypeScript
78 lines
1.9 KiB
TypeScript
|
|
/**
|
||
|
|
* 사용자 관리 관련 타입 정의
|
||
|
|
*/
|
||
|
|
|
||
|
|
// 사용자 정보 인터페이스 (프론트엔드 친화적 camelCase)
|
||
|
|
export interface User {
|
||
|
|
sabun: string; // 사번
|
||
|
|
user_id: string; // 사용자 ID
|
||
|
|
user_name: string; // 사용자명
|
||
|
|
user_name_eng?: string; // 영문명
|
||
|
|
user_name_cn?: string; // 중문명
|
||
|
|
company_name?: string; // 회사명
|
||
|
|
dept_code: string; // 부서 코드
|
||
|
|
dept_name: string; // 부서명
|
||
|
|
position_code?: string; // 직책 코드
|
||
|
|
position_name: string; // 직책
|
||
|
|
email: string; // 이메일
|
||
|
|
tel: string; // 전화번호
|
||
|
|
cell_phone: string; // 휴대폰
|
||
|
|
user_type?: string; // 사용자 유형 코드
|
||
|
|
user_type_name: string; // 사용자 유형명
|
||
|
|
regdate: string; // 등록일 (YYYY-MM-DD)
|
||
|
|
regdate_org?: string; // 원본 등록일
|
||
|
|
status: string; // 상태 (active, inactive)
|
||
|
|
data_type?: string; // 데이터 타입
|
||
|
|
enddate?: string; // 퇴사일
|
||
|
|
rnum?: number; // 행 번호
|
||
|
|
}
|
||
|
|
|
||
|
|
// 사용자 검색 필터
|
||
|
|
export interface UserSearchFilter {
|
||
|
|
searchType?:
|
||
|
|
| "all"
|
||
|
|
| "sabun"
|
||
|
|
| "company_name"
|
||
|
|
| "dept_name"
|
||
|
|
| "position_name"
|
||
|
|
| "user_id"
|
||
|
|
| "user_name"
|
||
|
|
| "tel"
|
||
|
|
| "email"; // 검색 대상
|
||
|
|
searchValue?: string; // 검색어
|
||
|
|
}
|
||
|
|
|
||
|
|
// 사용자 목록 테이블 컬럼 정의
|
||
|
|
export interface UserTableColumn {
|
||
|
|
key: string;
|
||
|
|
label: string;
|
||
|
|
sortable?: boolean;
|
||
|
|
width?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 사용자 등록/수정 폼 데이터
|
||
|
|
export interface UserFormData {
|
||
|
|
user_id: string;
|
||
|
|
user_name: string;
|
||
|
|
dept_code: string;
|
||
|
|
dept_name: string;
|
||
|
|
position_name: string;
|
||
|
|
email: string;
|
||
|
|
tel: string;
|
||
|
|
cell_phone: string;
|
||
|
|
user_type_name: string;
|
||
|
|
status: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 사용자 상태 상수
|
||
|
|
export const USER_STATUS = {
|
||
|
|
ACTIVE: "active",
|
||
|
|
INACTIVE: "inactive",
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
// 사용자 상태 라벨
|
||
|
|
export const USER_STATUS_LABELS = {
|
||
|
|
[USER_STATUS.ACTIVE]: "활성",
|
||
|
|
[USER_STATUS.INACTIVE]: "비활성",
|
||
|
|
} as const;
|