mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 23:35:45 +00:00
refactor(FE-208): add edit functionality and modal for Penerimaan Barang in PurchaseOrderDetail
This commit is contained in:
@@ -393,7 +393,9 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
<form onSubmit={formik.handleSubmit} className='w-full flex flex-col gap-6'>
|
<form onSubmit={formik.handleSubmit} className='w-full flex flex-col gap-6'>
|
||||||
<div className='w-full'>
|
<div className='w-full'>
|
||||||
<h2 className='text-lg font-semibold mb-4'>
|
<h2 className='text-lg font-semibold mb-4'>
|
||||||
Konfirmasi Penerimaan Produk
|
{type === 'add'
|
||||||
|
? 'Konfirmasi Penerimaan Produk'
|
||||||
|
: 'Edit Penerimaan Produk'}
|
||||||
</h2>
|
</h2>
|
||||||
<div className='overflow-x-auto'>
|
<div className='overflow-x-auto'>
|
||||||
<table className='table'>
|
<table className='table'>
|
||||||
|
|||||||
@@ -54,6 +54,22 @@ const ItemPembelianDropdown = ({ onEdit }: { onEdit: () => void }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const PenerimaanBarangDropdown = ({ onEdit }: { onEdit: () => void }) => {
|
||||||
|
return (
|
||||||
|
<RowOptionsMenuWrapper type='dropdown'>
|
||||||
|
<Button
|
||||||
|
onClick={onEdit}
|
||||||
|
variant='ghost'
|
||||||
|
color='warning'
|
||||||
|
className='justify-start text-sm'
|
||||||
|
>
|
||||||
|
<Icon icon='material-symbols:edit-outline' width={16} height={16} />
|
||||||
|
Edit
|
||||||
|
</Button>
|
||||||
|
</RowOptionsMenuWrapper>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
interface PurchaseOrderDetailProps {
|
interface PurchaseOrderDetailProps {
|
||||||
type?: 'detail' | 'edit';
|
type?: 'detail' | 'edit';
|
||||||
data?: Purchase;
|
data?: Purchase;
|
||||||
@@ -325,6 +341,7 @@ const PurchaseOrderDetail = ({
|
|||||||
const staffApprovalModal = useModal();
|
const staffApprovalModal = useModal();
|
||||||
const acceptApprovalModal = useModal();
|
const acceptApprovalModal = useModal();
|
||||||
const editModal = useModal();
|
const editModal = useModal();
|
||||||
|
const penerimaanBarangModal = useModal();
|
||||||
|
|
||||||
// ===== STATIC DATA =====
|
// ===== STATIC DATA =====
|
||||||
const purchaseData = data || dummyPurchaseData;
|
const purchaseData = data || dummyPurchaseData;
|
||||||
@@ -801,9 +818,14 @@ const PurchaseOrderDetail = ({
|
|||||||
>
|
>
|
||||||
{/* Detail Penerimaan Barang Section */}
|
{/* Detail Penerimaan Barang Section */}
|
||||||
<div className='my-8'>
|
<div className='my-8'>
|
||||||
<h3 className='text-lg font-semibold text-gray-800 mb-4 pb-2 border-b border-gray-200'>
|
<div className='flex items-center justify-between mb-4 pb-2 border-b border-gray-200'>
|
||||||
Informasi Penerimaan Barang
|
<h3 className='text-lg font-semibold text-gray-800'>
|
||||||
</h3>
|
Informasi Penerimaan Barang
|
||||||
|
</h3>
|
||||||
|
<RowDropdownOptions isLast2Rows>
|
||||||
|
<PenerimaanBarangDropdown onEdit={penerimaanBarangModal.openModal} />
|
||||||
|
</RowDropdownOptions>
|
||||||
|
</div>
|
||||||
<div className='rounded-lg border border-gray-200 overflow-hidden'>
|
<div className='rounded-lg border border-gray-200 overflow-hidden'>
|
||||||
<div className='overflow-x-auto'>
|
<div className='overflow-x-auto'>
|
||||||
<Table<PurchaseItem>
|
<Table<PurchaseItem>
|
||||||
@@ -896,6 +918,21 @@ const PurchaseOrderDetail = ({
|
|||||||
onCancel={editModal.closeModal}
|
onCancel={editModal.closeModal}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
|
{/* Penerimaan Barang Modal */}
|
||||||
|
<Modal
|
||||||
|
ref={penerimaanBarangModal.ref}
|
||||||
|
closeOnBackdrop
|
||||||
|
className={{
|
||||||
|
modalBox: 'w-full max-w-screen-2xl max-h-[90vh] overflow-y-auto',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PurchaseOrderAcceptApprovalForm
|
||||||
|
type='edit'
|
||||||
|
initialValues={purchaseData}
|
||||||
|
onCancel={penerimaanBarangModal.closeModal}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user