fix: TypeScript 타입 오류 수정 및 설정 페이지 추가

- BOMItem Omit 타입 시그니처 통일 (useTemplateManagement, SectionsTab, ItemMasterContext)
- HeadersInit → Record<string, string> 타입 변경
- Zustand useShallow 마이그레이션 (zustand/react/shallow)
- DataTable, ListPageTemplate 제네릭 타입 제약 추가
- 설정 관리 페이지 추가 (직급, 직책, 휴가정책, 근무일정, 권한)
- HR 관리 페이지 추가 (급여, 휴가)
- 단가관리 페이지 리팩토링

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
byeongcheolryu
2025-12-09 18:07:47 +09:00
parent 48dbba0e5f
commit ded0bc2439
98 changed files with 10608 additions and 1204 deletions

View File

@@ -26,7 +26,7 @@ export interface ClientApiResponse {
business_no: string | null;
business_type: string | null;
business_item: string | null;
is_active: "Y" | "N";
is_active: boolean;
created_at: string;
updated_at: string;
// 2차 추가 필드 (백엔드 완료 시 활성화)
@@ -195,7 +195,7 @@ export function transformClientFromApi(api: ClientApiResponse): Client {
businessType: api.business_type || "",
businessItem: api.business_item || "",
registeredDate: api.created_at ? api.created_at.split(" ")[0] : "",
status: api.is_active === "Y" ? "활성" : "비활성",
status: api.is_active ? "활성" : "비활성",
groupId: api.client_group_id ? String(api.client_group_id) : null,
// 2차 추가 필드
clientType: api.client_type || "매입",
@@ -234,7 +234,7 @@ export function transformClientToApiCreate(form: ClientFormData): Record<string,
business_type: form.businessType || null,
business_item: form.businessItem || null,
client_group_id: form.groupId ? Number(form.groupId) : null,
is_active: form.isActive ? "Y" : "N",
is_active: form.isActive,
// 2차 추가 필드
client_type: form.clientType,
mobile: form.mobile || null,
@@ -271,7 +271,7 @@ export function transformClientToApiUpdate(form: ClientFormData): Record<string,
business_type: form.businessType || null,
business_item: form.businessItem || null,
client_group_id: form.groupId ? Number(form.groupId) : null,
is_active: form.isActive ? "Y" : "N",
is_active: form.isActive,
// 2차 추가 필드
client_type: form.clientType,
mobile: form.mobile || null,