()
.nullable()
.test('fileSize', 'Ukuran dokumen maksimal 2 MB', (value) => {
if (!value) return true;
- if (typeof value === 'string') return true;
if (value instanceof File) return value.size <= 2 * 1024 * 1024;
- return false;
+ return true;
}),
driver_name: Yup.string().required('Nama sopir wajib diisi!'),
vehicle_plate: Yup.string().required('Plat nomor wajib diisi!'),
@@ -241,7 +240,7 @@ export const getMovementFormInitialValues = (
delivery_cost: d.shipping_cost_total ?? undefined,
delivery_cost_per_item: d.shipping_cost_item ?? undefined,
document_number: d.document_number ?? '',
- document: d.document_path ?? null,
+ document: d.document ?? null,
document_path: d.document_path ?? null,
driver_name: d.driver_name ?? '',
vehicle_plate: d.vehicle_plate ?? '',
diff --git a/src/components/pages/inventory/movement/form/MovementForm.tsx b/src/components/pages/inventory/movement/form/MovementForm.tsx
index ae9b68d9..3c49295e 100644
--- a/src/components/pages/inventory/movement/form/MovementForm.tsx
+++ b/src/components/pages/inventory/movement/form/MovementForm.tsx
@@ -35,6 +35,7 @@ import FileInput from '@/components/input/FileInput';
import CheckboxInput from '@/components/input/CheckboxInput';
import Badge from '@/components/Badge';
import Card from '@/components/Card';
+import { S3_PUBLIC_BASE_URL } from '@/config/constant';
interface MovementFormProps {
type?: 'add' | 'edit' | 'detail';
@@ -55,16 +56,8 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
// ===== FORM HANDLERS =====
const createMovementHandler = useCallback(
- async (payload: CreateMovementPayload, documents: File[] = []) => {
- const formData = new FormData();
- formData.append('data', JSON.stringify(payload));
- documents.forEach((file, index) => {
- formData.append(`documents[${index}]`, file);
- });
-
- const res = await MovementApi.create(
- formData as unknown as CreateMovementPayload
- );
+ async (payload: CreateMovementPayload) => {
+ const res = await MovementApi.createMovement(payload);
if (isResponseError(res)) {
setMovementFormErrorMessage(res.message);
return;
@@ -218,20 +211,23 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
});
const payload: CreateMovementPayload = {
- transfer_reason: values.transfer_reason,
- transfer_date: values.transfer_date,
- source_warehouse_id: values.source_warehouse_id,
- destination_warehouse_id: values.destination_warehouse_id,
- products: values.products.map((p) => ({
- product_id: p.product_id,
- product_qty: parseInt(p.product_qty.toString()) || 0,
- })),
- deliveries: deliveriesPayload,
+ data: {
+ transfer_reason: values.transfer_reason,
+ transfer_date: values.transfer_date,
+ source_warehouse_id: values.source_warehouse_id,
+ destination_warehouse_id: values.destination_warehouse_id,
+ products: values.products.map((p) => ({
+ product_id: p.product_id,
+ product_qty: parseInt(p.product_qty.toString()) || 0,
+ })),
+ deliveries: deliveriesPayload,
+ },
+ documents: documents.length > 0 ? documents : undefined,
};
switch (type) {
case 'add':
- await createMovementHandler(payload, documents);
+ await createMovementHandler(payload);
break;
}
},
@@ -1537,27 +1533,51 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
{type === 'detail' ? (
<>
-
+ {delivery.document_path ? (
+
+ ) : delivery.document &&
+ delivery.document instanceof File === false ? (
+
+ ) : (
+
+ )}
>
) : (
diff --git a/src/components/pages/marketing/detail/MarketingDetail.tsx b/src/components/pages/marketing/detail/MarketingDetail.tsx
index 4c9f1a34..677ea422 100644
--- a/src/components/pages/marketing/detail/MarketingDetail.tsx
+++ b/src/components/pages/marketing/detail/MarketingDetail.tsx
@@ -77,10 +77,6 @@ const MarketingDetail = ({
confirmationModal.openModal();
};
- const deliveryClickHandler = () => {
- deliveryModal.openModal();
- };
-
const deleteClickHandler = () => {
deleteModal.openModal();
};
@@ -135,7 +131,7 @@ const MarketingDetail = ({
{initialValues?.latest_approval?.step_number == 1 && (
<>
- {/*
+
Approve
- */}
-
+
- {/*
+
Reject
- */}
-
+
>
)}
{initialValues?.latest_approval?.step_number != 1 && (
<>
- {/*
- */}
-
+
>
)}
@@ -466,7 +426,7 @@ const MarketingDetail = ({
{initialValues?.latest_approval?.step_number != 3 && (
<>
- {/*
+
Edit
- */}
-
+
>
)}
- {/*
+
- */}
-
+
- {/*
- {JSON.stringify(formik.values)}
-
-
- {JSON.stringify(formik.errors)}
-
*/}
- {/*
+
Hapus