Files
sam-react-prod/claudedocs/archive/sessions/[NEXT-2025-12-30] partner-management-session-context.md
유병철 07374c826c refactor(WEB): claudedocs 재정리 및 AuthContext/Zustand/유틸 코드 개선
- claudedocs 폴더 구조 재정리: archive/sessions, guides/migration·mobile·universal-list, refactoring 분류
- 오래된 세션 컨텍스트/체크리스트 문서 정리 (아카이브 이동 또는 삭제)
- AuthContext → authStore(Zustand) 전환 시작, RootProvider 간소화
- GenericCRUDDialog 공통 다이얼로그 컴포넌트 추가
- PermissionDialog 삭제 → GenericCRUDDialog로 대체
- RankDialog/TitleDialog GenericCRUDDialog 기반으로 리팩토링
- toast-utils.ts 삭제 (미사용)
- fileDownload.ts 개선, excel-download.ts 정리
- menuStore/themeStore Zustand 셀렉터 최적화
- useColumnSettings/useTableColumnStore 기능 보강
- 세금계산서/견적/작업자화면/결재 등 소규모 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:17:13 +09:00

4.2 KiB

주일 거래처 관리 세션 컨텍스트

Last Updated: 2025-12-30

세션 요약 (2025-12-30)

완료된 작업

  • 거래처 리스트 필터 위치 수정 (테이블 위로 이동)
  • 거래처 폼 컴포넌트 생성 (PartnerForm.tsx)
  • 등록 페이지 생성 (/new/page.tsx)
  • 상세 페이지 생성 (/[id]/page.tsx)
  • 수정 페이지 생성 (/[id]/edit/page.tsx)
  • types.ts 확장 (전체 필드 추가)
  • actions.ts CRUD 함수 추가

다음 세션 TODO

  • 회사 정보 + 신용/거래 정보 섹션 합치기 (스크린샷 기준으로 하나의 섹션)
  • 실제 API 연동

참고 사항

  • 스크린샷에서 "회사 정보"와 "신용/거래 정보"가 하나의 Card 섹션으로 되어 있음
  • 현재 코드는 별도 섹션으로 분리됨 → 합쳐야 함

완료된 작업 (전체)

1. 프로젝트 구조 설정

  • claudedocs/juil/ 문서 폴더 생성
  • [REF] juil-project-structure.md 프로젝트 구조 가이드 작성
  • _index.md 문서 맵에 juil 섹션 추가

2. 거래처 관리 리스트 페이지

  • 페이지: src/app/[locale]/(protected)/juil/project/bidding/partners/page.tsx
  • 컴포넌트: src/components/business/juil/partners/PartnerListClient.tsx
  • 타입: src/components/business/juil/partners/types.ts
  • 액션: src/components/business/juil/partners/actions.ts (목업 데이터)
  • 인덱스: src/components/business/juil/partners/index.ts
  • 레이아웃 수정: 필터를 테이블 위로 이동, 등록 버튼 상단 배치

3. 거래처 등록/상세/수정 페이지

  • 폼 컴포넌트: src/components/business/juil/partners/PartnerForm.tsx
  • 등록 페이지: src/app/[locale]/(protected)/juil/project/bidding/partners/new/page.tsx
  • 상세 페이지: src/app/[locale]/(protected)/juil/project/bidding/partners/[id]/page.tsx
  • 수정 페이지: src/app/[locale]/(protected)/juil/project/bidding/partners/[id]/edit/page.tsx

4. 구현된 기능

리스트 페이지

  • 통계 카드 (전체 거래처 / 미등록)
  • 검색 (거래처명, 번호, 대표자, 담당자)
  • 탭 필터 (전체 / 신규)
  • 테이블 위 필터: 총 N건 | 전체 ▾ | 최신순 ▾
  • 테이블 컬럼: 체크박스, 번호, 거래처번호, 구분, 거래처명, 대표자, 담당자, 전화번호, 매출 결제일, 악성채권, 작업
  • 행 선택 시 수정/삭제 버튼 표시
  • 일괄 삭제 다이얼로그
  • 페이지네이션
  • 모바일 카드 뷰

폼 페이지 (등록/상세/수정 공통)

  • 기본 정보: 사업자등록번호, 거래처코드, 거래처명, 대표자명, 거래처유형, 업태, 업종
  • 연락처 정보: 주소 (우편번호 찾기 DAUM), 전화번호, 모바일, 팩스, 이메일
  • 담당자 정보: 담당자명, 담당자 전화, 시스템 관리자
  • 회사 정보: 회사 로고 (BLOB 업로드), 매출 결제일, 신용등급, 거래등급, 세금계산서 이메일
  • 추가 정보: 미수금, 연체 (토글), 악성채권 (토글)
  • 메모: 추가/삭제 기능
  • 필요 서류: 파일 업로드 (드래그 앤 드롭)

모드별 버튼 분기

  • 등록: 취소 | 저장
  • 수정: 삭제 | 수정
  • 상세: 목록가기 | 수정

테스트 URL

페이지 URL 상태
거래처 관리 (리스트) /ko/juil/project/bidding/partners 완료
거래처 등록 /ko/juil/project/bidding/partners/new 완료
거래처 상세 /ko/juil/project/bidding/partners/1 완료
거래처 수정 /ko/juil/project/bidding/partners/1/edit 완료

디렉토리 구조

src/
├── app/[locale]/(protected)/juil/
│   └── project/bidding/partners/
│       ├── page.tsx              ✅
│       ├── new/page.tsx          ✅
│       └── [id]/
│           ├── page.tsx          ✅
│           └── edit/page.tsx     ✅
│
└── components/business/juil/partners/
    ├── index.ts                  ✅
    ├── types.ts                  ✅
    ├── actions.ts                ✅ (목업)
    ├── PartnerListClient.tsx     ✅
    └── PartnerForm.tsx           ✅ (섹션 수정 필요)