feat(WEB): 부실채권, 재고, 입고, 수주 UI 개선
- BadDebtCollection 액션/타입 리팩토링 - ReceivingProcessDialog 입고처리 개선 - StockStatusList 재고현황 UI 개선 - OrderSalesDetailView 수주 상세 수정 - UniversalListPage 범용 리스트 개선 - production-order 페이지 수정
This commit is contained in:
@@ -71,6 +71,10 @@ export function UniversalListPage<T>({
|
||||
// 모바일 인피니티 스크롤 로딩 상태 (서버 사이드 페이지네이션 시)
|
||||
const [isMobileLoading, setIsMobileLoading] = useState(false);
|
||||
|
||||
// 서버 사이드 페이지네이션 상태 (API에서 반환하는 값)
|
||||
const [serverTotalCount, setServerTotalCount] = useState<number>(initialTotalCount || 0);
|
||||
const [serverTotalPages, setServerTotalPages] = useState<number>(1);
|
||||
|
||||
// ===== ID 추출 헬퍼 =====
|
||||
const getItemId = useCallback(
|
||||
(item: T): string => {
|
||||
@@ -125,8 +129,12 @@ export function UniversalListPage<T>({
|
||||
}, [config.clientSideFiltering, filteredData, currentPage, itemsPerPage, rawData]);
|
||||
|
||||
// 총 개수 및 페이지 수
|
||||
const totalCount = config.clientSideFiltering ? filteredData.length : rawData.length;
|
||||
const totalPages = Math.ceil(totalCount / itemsPerPage);
|
||||
// 서버 사이드 페이지네이션: API에서 반환한 값 사용
|
||||
// 클라이언트 사이드 페이지네이션: 로컬 데이터 길이 사용
|
||||
const totalCount = config.clientSideFiltering ? filteredData.length : serverTotalCount;
|
||||
const totalPages = config.clientSideFiltering
|
||||
? Math.ceil(totalCount / itemsPerPage)
|
||||
: serverTotalPages;
|
||||
|
||||
// 표시할 데이터
|
||||
const displayData = config.clientSideFiltering ? paginatedData : rawData;
|
||||
@@ -171,6 +179,15 @@ export function UniversalListPage<T>({
|
||||
|
||||
if (result.success && result.data) {
|
||||
setRawData(result.data);
|
||||
// 서버 사이드 페이지네이션: API에서 반환한 totalCount, totalPages 저장
|
||||
if (!config.clientSideFiltering) {
|
||||
if (typeof result.totalCount === 'number') {
|
||||
setServerTotalCount(result.totalCount);
|
||||
}
|
||||
if (typeof result.totalPages === 'number') {
|
||||
setServerTotalPages(result.totalPages);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
toast.error(result.error || '데이터를 불러오는데 실패했습니다.');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user