fix(WEB): 매출관리 삭제된 거래처 참조로 인한 Select 크래시 수정
삭제된 거래처(client_id 31,32)를 참조하는 매출 12건에서 API가 client: null을 반환, 빈 vendorName이 Radix Select.Item에 전달되어 페이지 크래시 발생. - transformApiToFrontend: client.name 빈값/공백 방어 강화 - vendorOptions: .filter(Boolean) → trim() 포함 명시적 필터로 변경 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -132,7 +132,7 @@ export function SalesManagement({ initialData, initialPagination }: SalesManagem
|
||||
|
||||
// ===== 거래처 목록 (필터용) =====
|
||||
const vendorOptions = useMemo(() => {
|
||||
const uniqueVendors = [...new Set(salesData.map(d => d.vendorName))].filter(Boolean);
|
||||
const uniqueVendors = [...new Set(salesData.map(d => d.vendorName))].filter(v => v && v.trim() !== '');
|
||||
return uniqueVendors.map(v => ({ value: v, label: v }));
|
||||
}, [salesData]);
|
||||
|
||||
|
||||
@@ -230,7 +230,7 @@ export function transformApiToFrontend(apiData: SaleApiData): SalesRecord {
|
||||
salesNo: apiData.sale_number,
|
||||
salesDate: apiData.sale_date,
|
||||
vendorId: String(apiData.client_id),
|
||||
vendorName: apiData.client?.name || '(거래처 미지정)',
|
||||
vendorName: (apiData.client?.name && apiData.client.name.trim() !== '') ? apiData.client.name : '(거래처 미지정)',
|
||||
salesType: 'other', // API에 없음, 기본값
|
||||
accountSubject: 'other', // API에 없음, 기본값
|
||||
items, // 수주 품목에서 가져옴
|
||||
|
||||
Reference in New Issue
Block a user