mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-21 13:55:45 +00:00
refactor(FE-212): add DeletePurchaseRequestItemPayload and implement PurchaseDeleteItemsService
This commit is contained in:
@@ -102,17 +102,17 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
// ===== SUBMISSION HANDLERS =====
|
||||
const createAcceptApprovalHandler = useCallback(
|
||||
async (payload: CreateAcceptApprovalRequestPayload) => {
|
||||
const purchaseRequisitionId = searchParams.get('purchaseId')
|
||||
const purchaseRequestId = searchParams.get('purchaseId')
|
||||
? parseInt(searchParams.get('purchaseId')!)
|
||||
: initialValues?.id || 1;
|
||||
|
||||
if (!purchaseRequisitionId) {
|
||||
setPurchaseOrderFormErrorMessage('Purchase Requisition ID is required');
|
||||
if (!purchaseRequestId) {
|
||||
setPurchaseOrderFormErrorMessage('Purchase Request ID is required');
|
||||
return;
|
||||
}
|
||||
|
||||
const res = await AcceptApprovalApi.acceptApproval(
|
||||
purchaseRequisitionId,
|
||||
purchaseRequestId,
|
||||
payload
|
||||
);
|
||||
|
||||
|
||||
@@ -81,6 +81,10 @@ export type PurchaseAcceptApprovalItemSchema = {
|
||||
transport_total: number | string;
|
||||
};
|
||||
|
||||
export type PurchaseDeleteItemsSchema = {
|
||||
item_ids: number[];
|
||||
};
|
||||
|
||||
const PurchaseStaffApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseStaffApprovalItemSchema> =
|
||||
Yup.object({
|
||||
purchase_item: Yup.object({
|
||||
@@ -249,6 +253,20 @@ export const PurchaseRequestStaffApprovalFormSchema: Yup.ObjectSchema<PurchaseRe
|
||||
.typeError('Item pembelian wajib diisi!'),
|
||||
});
|
||||
|
||||
export const PurchaseDeleteItemsSchema: Yup.ObjectSchema<PurchaseDeleteItemsSchema> =
|
||||
Yup.object({
|
||||
item_ids: Yup.array()
|
||||
.of(
|
||||
Yup.number()
|
||||
.min(1, 'Item ID tidak valid!')
|
||||
.required('Item ID tidak valid!')
|
||||
.typeError('Item ID tidak valid!')
|
||||
)
|
||||
.min(1, 'Minimal harus ada 1 item yang dihapus!')
|
||||
.required('Item yang dihapus wajib diisi!')
|
||||
.typeError('Item yang dihapus wajib diisi!'),
|
||||
});
|
||||
|
||||
export const PurchaseRequestStaffApprovalFormInitialValues: PurchaseRequestStaffApprovalFormSchemaType =
|
||||
{
|
||||
notes: '',
|
||||
@@ -368,3 +386,11 @@ export const PurchaseRequestAcceptApprovalFormDefaultValues = (
|
||||
export type PurchaseRequestAcceptApprovalFormValues = Yup.InferType<
|
||||
typeof PurchaseRequestAcceptApprovalFormSchema
|
||||
>;
|
||||
|
||||
export const PurchaseDeleteItemsInitialValues: PurchaseDeleteItemsSchema = {
|
||||
item_ids: [],
|
||||
};
|
||||
|
||||
export type PurchaseDeleteItemsFormValues = Yup.InferType<
|
||||
typeof PurchaseDeleteItemsSchema
|
||||
>;
|
||||
|
||||
@@ -79,17 +79,17 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
// ===== SUBMISSION HANDLERS =====
|
||||
const createStaffApprovalHandler = useCallback(
|
||||
async (payload: CreateStaffApprovalRequestPayload) => {
|
||||
const purchaseRequisitionId = searchParams.get('purchaseId')
|
||||
const purchaseRequestId = searchParams.get('purchaseId')
|
||||
? parseInt(searchParams.get('purchaseId')!)
|
||||
: initialValues?.id || 1;
|
||||
|
||||
if (!purchaseRequisitionId) {
|
||||
setPurchaseOrderFormErrorMessage('Purchase Requisition ID is required');
|
||||
if (!purchaseRequestId) {
|
||||
setPurchaseOrderFormErrorMessage('Purchase Request ID is required');
|
||||
return;
|
||||
}
|
||||
|
||||
const res = await StaffApprovalApi.createStaffApproval(
|
||||
purchaseRequisitionId,
|
||||
purchaseRequestId,
|
||||
payload
|
||||
);
|
||||
|
||||
|
||||
@@ -318,17 +318,17 @@ const PurchaseOrderDetail = ({
|
||||
// ===== SUBMISSION HANDLER =====
|
||||
const createManagerApprovalHandler = useCallback(
|
||||
async (payload: CreateManagerApprovalRequestPayload) => {
|
||||
const purchaseRequisitionId = searchParams.get('purchaseId')
|
||||
const purchaseRequestId = searchParams.get('purchaseId')
|
||||
? parseInt(searchParams.get('purchaseId')!)
|
||||
: purchaseData?.id || 1;
|
||||
|
||||
if (!purchaseRequisitionId) {
|
||||
toast.error('Purchase Requisition ID is required');
|
||||
if (!purchaseRequestId) {
|
||||
toast.error('Purchase Request ID is required');
|
||||
return;
|
||||
}
|
||||
|
||||
const res = await ManagerApprovalApi.createManagerApproval(
|
||||
purchaseRequisitionId,
|
||||
purchaseRequestId,
|
||||
payload
|
||||
);
|
||||
|
||||
@@ -377,6 +377,10 @@ const PurchaseOrderDetail = ({
|
||||
};
|
||||
|
||||
const purchaseOrderColumns: ColumnDef<PurchaseItem>[] = [
|
||||
{
|
||||
header: 'No',
|
||||
cell: (props) => props.row.index + 1,
|
||||
},
|
||||
{
|
||||
accessorKey: 'product.name',
|
||||
header: 'Produk',
|
||||
|
||||
Reference in New Issue
Block a user