feat(WEB): 부실채권, 재고, 입고, 수주 UI 개선
- BadDebtCollection 액션/타입 리팩토링 - ReceivingProcessDialog 입고처리 개선 - StockStatusList 재고현황 UI 개선 - OrderSalesDetailView 수주 상세 수정 - UniversalListPage 범용 리스트 개선 - production-order 페이지 수정
This commit is contained in:
@@ -350,7 +350,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
|
||||
<InfoItem label="수주일자" value={order.orderDate} />
|
||||
<InfoItem label="출고예정일" value={order.expectedShipDate || "미정"} />
|
||||
<InfoItem label="납품요청일" value={order.deliveryRequestDate} />
|
||||
<InfoItem label="배송방식" value={order.deliveryMethod} />
|
||||
<InfoItem label="배송방식" value={order.deliveryMethodLabel} />
|
||||
<InfoItem label="운임비용" value={order.shippingCost} />
|
||||
<InfoItem label="수신(반장/업체)" value={order.receiver} />
|
||||
<InfoItem label="수신처 연락처" value={order.receiverContact} />
|
||||
@@ -485,7 +485,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
|
||||
managerContact: order.contact,
|
||||
deliveryRequestDate: order.deliveryRequestDate,
|
||||
expectedShipDate: order.expectedShipDate,
|
||||
deliveryMethod: order.deliveryMethod,
|
||||
deliveryMethod: order.deliveryMethodLabel,
|
||||
address: order.address,
|
||||
items: order.items,
|
||||
subtotal: order.subtotal,
|
||||
|
||||
@@ -26,6 +26,7 @@ interface ApiOrder {
|
||||
discount_amount: number;
|
||||
delivery_date: string | null;
|
||||
delivery_method_code: string | null;
|
||||
delivery_method_label?: string; // API에서 조회한 배송방식 라벨
|
||||
received_at: string | null;
|
||||
memo: string | null;
|
||||
remarks: string | null;
|
||||
@@ -219,6 +220,7 @@ export interface Order {
|
||||
statusCode: string; // 원본 status_code
|
||||
expectedShipDate?: string; // delivery_date
|
||||
deliveryMethod?: string; // delivery_method_code
|
||||
deliveryMethodLabel?: string; // 배송방식 라벨 (API에서 조회)
|
||||
amount: number; // total_amount
|
||||
supplyAmount: number;
|
||||
taxAmount: number;
|
||||
@@ -334,6 +336,7 @@ export interface CreateProductionOrderData {
|
||||
processIds?: number[]; // 공정별 다중 작업지시 생성용
|
||||
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
||||
assigneeId?: number;
|
||||
assigneeIds?: number[]; // 다중 담당자 선택용
|
||||
teamId?: number;
|
||||
scheduledDate?: string;
|
||||
memo?: string;
|
||||
@@ -444,6 +447,7 @@ function transformApiToFrontend(apiData: ApiOrder): Order {
|
||||
statusCode: apiData.status_code,
|
||||
expectedShipDate: apiData.delivery_date ?? undefined,
|
||||
deliveryMethod: apiData.delivery_method_code ?? undefined,
|
||||
deliveryMethodLabel: apiData.delivery_method_label ?? apiData.delivery_method_code ?? undefined,
|
||||
amount: apiData.total_amount,
|
||||
supplyAmount: apiData.supply_amount,
|
||||
taxAmount: apiData.tax_amount,
|
||||
@@ -1046,7 +1050,12 @@ export async function createProductionOrder(
|
||||
apiData.process_id = data.processId;
|
||||
}
|
||||
if (data?.priority) apiData.priority = data.priority;
|
||||
if (data?.assigneeId) apiData.assignee_id = data.assigneeId;
|
||||
// 다중 담당자 ID (우선) 또는 단일 담당자 ID
|
||||
if (data?.assigneeIds && data.assigneeIds.length > 0) {
|
||||
apiData.assignee_ids = data.assigneeIds;
|
||||
} else if (data?.assigneeId) {
|
||||
apiData.assignee_id = data.assigneeId;
|
||||
}
|
||||
if (data?.teamId) apiData.team_id = data.teamId;
|
||||
if (data?.scheduledDate) apiData.scheduled_date = data.scheduledDate;
|
||||
if (data?.memo) apiData.memo = data.memo;
|
||||
|
||||
Reference in New Issue
Block a user