fix(WEB): 수주 페이지 필드 매핑 및 제품-부품 트리 구조 개선

- ApiClient 인터페이스: representative → manager_name, contact_person 변경
- transformApiToFrontend: client.representative → client.manager_name 수정
- ApiOrderItem에 floor_code, symbol_code 필드 추가 (제품-부품 매핑)
- ApiOrder에 options 타입 정의 추가
- ApiQuote에 calculation_inputs 타입 정의 추가
- 수주 상세 페이지 제품-부품 트리 구조 UI 개선
This commit is contained in:
2026-01-16 21:59:06 +09:00
committed by hskwon
parent dac1d9bc2b
commit d12618f320
10 changed files with 2043 additions and 164 deletions

View File

@@ -6,7 +6,7 @@
*/
import { formatAmount } from "@/utils/formatAmount";
import { OrderItem } from "@/components/orders";
import { OrderItem } from "../actions";
interface TransactionDocumentProps {
orderNumber: string;
@@ -22,10 +22,10 @@ interface TransactionDocumentProps {
companyBusinessNumber?: string;
companyContact?: string;
companyAddress?: string;
items: OrderItem[];
subtotal: number;
discountRate: number;
totalAmount: number;
items?: OrderItem[];
subtotal?: number;
discountRate?: number;
totalAmount?: number;
}
export function TransactionDocument({
@@ -42,10 +42,10 @@ export function TransactionDocument({
companyBusinessNumber = "123-45-67890",
companyContact = "02-1234-5678",
companyAddress = "서울 강남구 테헤란로 123",
items,
subtotal,
discountRate,
totalAmount,
items = [],
subtotal = 0,
discountRate = 0,
totalAmount = 0,
}: TransactionDocumentProps) {
const discountAmount = Math.round(subtotal * (discountRate / 100));
const afterDiscount = subtotal - discountAmount;