feat(FE-166-169): Slicing UI Penjualan Form dan Client side validation

This commit is contained in:
randy-ar
2025-11-06 13:45:52 +07:00
parent d8637923bd
commit 158971d904
13 changed files with 1344 additions and 152 deletions
+24 -6
View File
@@ -4,7 +4,8 @@ import {
BaseMetadata,
CreatedUser,
} from '@/types/api/api-general';
import { ProductWarehouse } from '../inventory/product-warehouse';
import { ProductWarehouse } from '@/types/api/inventory/product-warehouse';
import { Kandang } from '@/types/api/master-data/kandang';
export type BaseMarketing = {
id: number;
@@ -17,14 +18,14 @@ export type BaseMarketing = {
notes: string;
grand_total: number;
approval: BaseApproval;
marketing_products?: MarketingProducts[];
marketing_products?: MarketingProduct[];
};
export type MarketingProducts = {
export type MarketingProduct = {
id: number;
qty: number;
unit_price: number;
avg_weigth: number;
avg_weight: number;
total_weight: number;
total_price: number;
product_warehouse: ProductWarehouse;
@@ -35,7 +36,7 @@ export type MarketingDeliveryProducts = {
id: number;
qty: number;
unit_price: number;
avg_weigth: number;
avg_weight: number;
total_weight: number;
total_price: number;
delivery_date: string;
@@ -48,6 +49,23 @@ export type CreateMarketingPayload = {
customer_id: number;
date: string;
notes: string;
marketing_products: CreateMarketingProductPayload[];
};
export type UpdateMarketingPayload = CreateMarketingPayload;
export type CreateMarketingProductPayload = {
id?: number;
vehicle_number: string;
kandang_id: string | number | undefined;
kandang: Kandang | undefined;
product_warehouse_id: string | number | undefined;
product_warehouse: ProductWarehouse | undefined;
unit_price: string | number | undefined;
total_weight: string | number | undefined;
qty: string | number | undefined;
uom: string | undefined;
avg_weight: string | number | undefined;
total_price: string | number | undefined;
delivery_date?: string | null;
};
export type UpdateMarketingProductPayload = CreateMarketingProductPayload;