Files
sam-react-prod/claudedocs/guides/[QA-2026-01-21] mobile-infinity-scroll-inspection.md
유병철 835c06ce94 feat(WEB): 입력 컴포넌트 공통화 및 UI 개선
- 숫자/통화/전화번호/사업자번호 등 특수 입력 컴포넌트 추가
- MobileCard 컴포넌트 통합 (ListMobileCard 제거)
- IntegratedListTemplateV2 페이지네이션 버그 수정 (NaN 이슈)
- IntegratedDetailTemplate 타이틀 중복 수정
- 문서 시스템 컴포넌트 추가
- 헤더 벨 아이콘 포커스 스타일 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:56:17 +09:00

11 KiB

모바일 인피니티 스크롤 검수 계획서

검수 개요

  • 검수 일자: 2026-01-21
  • 검수 대상: IntegratedListTemplateV2 기반 리스트 페이지의 모바일 인피니티 스크롤
  • 검수 환경: Chrome DevTools MCP (모바일 뷰포트 390x844)

검수 항목

기본 기능 체크리스트

# 항목 설명
1 초기 로드 페이지 로드 시 최대 20개 항목 표시
2 진행률 표시 "N / M" 형식으로 현재/전체 개수 표시
3 더 보기 버튼 데이터 > 20개일 때만 "더 보기" 버튼 표시
4 데이터 누적 "더 보기" 클릭 시 기존 데이터 유지 + 새 데이터 추가
5 완료 메시지 전체 로드 완료 시 "모든 항목을 불러왔습니다 (N개)"
6 탭 변경 리셋 탭 변경 시 누적 데이터 리셋
7 콘솔 에러 에러/경고 없음

전체 검수 결과 요약

검수 완료 페이지 (2026-01-21) - 총 43개

도메인 페이지 URL 데이터 수 상태
생산 품목관리 /production/screen-production 10,429개 FULL TEST
생산 작업지시 /production/work-orders 2개 완료 메시지
생산 작업실적 /production/work-results 0개 빈 상태
영업 단가관리 /sales/pricing-management 100개 FULL TEST
영업 견적관리 /sales/quote-management 4개 완료 메시지
영업 수주관리 /sales/order-management-sales 2개 완료 메시지
영업 매출처관리 /sales/client-management-sales-admin 5개 완료 메시지
품질 품질검사 /quality/inspections 0개 빈 상태
자재 재고현황 /material/stock-status 0개 빈 상태
자재 입고관리 /material/receiving-management 0개 빈 상태
기준정보 공정관리 /master-data/process-management 1개 완료 메시지
회계 거래처관리 /accounting/vendors 5개 완료 메시지
회계 입금관리 /accounting/deposits 60개 더 보기 버튼
회계 출금관리 /accounting/withdrawals 60개 수정 후 정상
회계 어음관리 /accounting/bills 16개 완료 메시지
회계 매출관리 /accounting/sales 83개 FULL TEST
회계 매입관리 /accounting/purchase 70개 더 보기 버튼
회계 예상경비 /accounting/expected-expenses 3개 완료 메시지
회계 은행거래조회 /accounting/bank-transactions 0개 빈 상태
회계 카드거래조회 /accounting/card-transactions 0개 빈 상태
회계 거래처원장 /accounting/vendor-ledger 5개 완료 메시지
건설 현장관리 /construction/order/site-management 0개 빈 상태
건설 발주관리 /construction/order/order-management 2개 완료 메시지
건설 구조검토 /construction/order/structure-review 0개 빈 상태
건설 품목관리 /construction/order/base-info/items 4개 완료 메시지
건설 입찰관리 /construction/project/bidding 0개 빈 상태
건설 견적관리(입찰) /construction/project/bidding/estimates 0개 빈 상태
건설 협력사관리 /construction/project/bidding/partners 5개 완료 메시지
건설 계약관리 /construction/project/contract 0개 빈 상태
건설 프로젝트관리 /construction/project/management 12개 캘린더+리스트
건설 시공관리 /construction/project/construction-management 11개 완료 메시지
건설 이슈관리 /construction/project/issue-management 55개 더 보기 버튼
건설 근로자현황 /construction/project/worker-status 30개 더 보기 버튼
건설 유틸리티관리 /construction/project/utility-management 50개 더 보기 버튼
건설 기성관리 /construction/billing/progress-billing-management 50개 더 보기 버튼
설정 계정관리 /settings/accounts 6개 완료 메시지
설정 팝업관리 /settings/popup-management 9개 완료 메시지
출고 출하관리 /outbound/shipments 0개 빈 상태

라우트 미설정 페이지 (7개)

도메인 페이지 URL 상태
회계 대손관리 /accounting/bad-debt ⚠️ 라우트 없음
설정 결제내역 /settings/payment-history ⚠️ 라우트 없음
고객센터 문의관리 /customer-center/inquiry-management ⚠️ 라우트 없음
고객센터 공지관리 /customer-center/notice-management ⚠️ 라우트 없음
고객센터 이벤트관리 /customer-center/event-management ⚠️ 라우트 없음
건설 단가관리 /construction/order/base-info/pricing ⚠️ API 오류
건설 노임관리 /construction/order/base-info/labor ⚠️ API 오류

FULL TEST 결과

1. 품목관리 (/production/screen-production) - 10,429개

# 항목 결과 비고
1 초기 로드 20개 표시
2 진행률 표시 "20 / 10,429"
3 더 보기 버튼 정상 표시
4 데이터 누적 40개로 증가
5 완료 메시지 - 미테스트 (데이터 많음)
6 탭 변경 리셋 "제품" 탭 → "20 / 2,018"로 리셋
7 콘솔 에러 에러 없음

2. 단가관리 (/sales/pricing-management) - 100개

# 항목 결과 비고
1 초기 로드 20개 표시
2 진행률 표시 "20 / 100"
3 더 보기 버튼 정상 표시
4 데이터 누적 20→80개 증가 (3회 클릭)
5 완료 메시지 "모든 항목을 불러왔습니다 (100개)"
6 탭 변경 리셋 - 탭 없음
7 콘솔 에러 에러 없음

3. 매출관리 (/accounting/sales) - 83개

# 항목 결과 비고
1 초기 로드 20개 표시
2 진행률 표시 "20 / 83"
3 더 보기 버튼 정상 표시
4 데이터 누적 20→60개 증가
5 완료 메시지 - 미완료 테스트
6 탭 변경 리셋 - 탭 없음
7 콘솔 에러 에러 없음

발견 및 수정된 이슈

# 페이지 이슈 심각도 상태
1 출금관리 tableFooter 함수 전달 에러 Medium 수정 완료

수정 내용: 출금관리 tableFooter 에러

에러 메시지:

Functions are not valid as a React child.
<tfoot>{WithdrawalManagement.useMemo[config]}</tfoot>

원인: tableFooter를 함수로 전달했는데 IntegratedListTemplateV2는 ReactNode를 예상

수정 파일: src/components/accounting/WithdrawalManagement/index.tsx

수정 내용:

  1. tableTotals useMemo 추가 (합계 계산)
  2. tableFooter를 함수에서 ReactNode로 변경
  3. config useMemo dependencies에 tableTotals 추가

검수 결론

테스트 환경 요약

  • 대용량 데이터: 품목관리 (10,429개), 단가관리 (100개), 매출관리 (83개)
  • 중규모 데이터 (더 보기 버튼 테스트): 입금/출금/매입 (60-70개), 이슈관리(55), 유틸리티관리(50), 기성관리(50), 근로자현황(30)
  • 소규모 데이터: 거래처(5), 견적(4), 작업지시(2), 어음(16), 예상경비(3), 거래처원장(5), 프로젝트(12), 시공관리(11), 팝업(9), 계정(6), 협력사(5)
  • 빈 데이터: 작업실적, 품질검사, 재고현황, 입고관리, 은행거래, 카드거래, 현장관리, 출하관리, 구조검토, 입찰관리, 견적관리(입찰), 계약관리

검증 완료 항목 (43개 페이지)

  1. 서버 사이드 페이지네이션: "더 보기" 버튼 정상 동작 (8개 페이지 확인)
  2. 데이터 누적: 페이지 데이터 유지 + 새 데이터 추가
  3. 탭 변경 리셋: 탭 변경 시 누적 데이터 초기화
  4. 완료 메시지: "모든 항목을 불러왔습니다 (N개)" 정상 표시 (23개 페이지)
  5. 빈 상태 처리: "검색 결과가 없습니다" 정상 표시 (12개 페이지)
  6. 콘솔 에러: 대부분 페이지 에러 없음

미완료/이슈 항목 (7개 페이지)

  1. ⚠️ 라우트 미설정: 5개 페이지 (bad-debt, payment-history, inquiry, notice, event)
  2. ⚠️ API 오류: 2개 페이지 (pricing, labor - 백엔드 이슈)
  3. ⚠️ 콘솔 경고: 1개 페이지 (base-info/items - NaN children 속성, 저심각도)

수정된 파일

  • IntegratedListTemplateV2.tsx: isServerSidePagination 로직 추가, 탭 변경 useEffect 수정
  • WithdrawalManagement/index.tsx: tableFooter 함수→ReactNode 변환, tableTotals useMemo 추가

검수 진행 로그

[2026-01-21 AM] 초기 검수 시작
[2026-01-21 AM] 품목관리 - FULL TEST 완료 (10,429개)
[2026-01-21 AM] 거래처관리, 견적관리, 작업지시 - 완료 메시지 검수 완료
[2026-01-21 AM] 빈 데이터 페이지 검수 완료

[2026-01-21 PM] 전체 페이지 재검수 시작
[2026-01-21 PM] 자재관리 - 재고현황, 입고관리 검수 완료 (0건)
[2026-01-21 PM] 생산관리 - 작업실적 검수 완료 (0건)
[2026-01-21 PM] 영업/품질 - 단가관리 FULL TEST, 품질검사 검수 완료
[2026-01-21 PM] 기준정보 - 공정관리 검수 완료 (1건)
[2026-01-21 PM] 회계 페이지 검수 (10개+)
  - 입금관리: 60건 ✅
  - 출금관리: 60건, tableFooter 에러 발견 → 수정 완료 ✅
  - 어음관리: 16건 ✅
  - 매출관리: 83건 FULL TEST ✅
  - 매입관리: 70건 ✅
  - 예상경비: 3건 ✅
  - 은행거래조회: 0건 ✅
  - 카드거래조회: 0건 ✅
  - 거래처원장: 5건 ✅
[2026-01-21 PM] 건설/출고 - 현장관리, 출하관리 검수 완료 (0건)
[2026-01-21 PM] 전체 검수 완료 - 발견된 이슈 1건 수정 완료

[2026-01-21 PM2] 전체 IntegratedListTemplateV2 페이지 재검수 (50개 파일)
[2026-01-21 PM2] 건설 도메인 전체 검수 (16개 컴포넌트)
  - 현장관리, 발주관리, 구조검토: ✅
  - 품목관리: 4건 ✅ (NaN 경고 - 저심각도)
  - 단가관리, 노임관리: ⚠️ API 오류 (백엔드)
  - 입찰관리, 견적관리, 협력사관리: ✅
  - 계약관리, 프로젝트관리: ✅
  - 시공관리: 11건 ✅
  - 이슈관리: 55건, 더 보기 버튼 정상 ✅
  - 근로자현황: 30건, 더 보기 버튼 정상 ✅
  - 유틸리티관리: 50건, 더 보기 버튼 정상 ✅
  - 기성관리: 50건, 더 보기 버튼 정상 ✅
[2026-01-21 PM2] 영업 추가 검수
  - 수주관리: 2건 ✅
  - 매출처관리: 5건 ✅
[2026-01-21 PM2] 설정/고객센터 검수
  - 계정관리: 6건 ✅
  - 팝업관리: 9건 ✅
  - 결제내역: ⚠️ 라우트 없음
  - 문의관리, 공지관리, 이벤트관리: ⚠️ 라우트 없음
[2026-01-21 PM2] 전체 검수 완료 - 43개 정상, 7개 미완료/이슈