mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 23:35:45 +00:00
feat(FE-212): add rawDataApprovals prop to PurchaseOrderStaffApprovalForm for improved approval data handling
This commit is contained in:
@@ -9,13 +9,10 @@ import useSWR from 'swr';
|
|||||||
import Button from '@/components/Button';
|
import Button from '@/components/Button';
|
||||||
import TextInput from '@/components/input/TextInput';
|
import TextInput from '@/components/input/TextInput';
|
||||||
import NumberInput from '@/components/input/NumberInput';
|
import NumberInput from '@/components/input/NumberInput';
|
||||||
import SelectInput, {
|
import SelectInput, { OptionType } from '@/components/input/SelectInput';
|
||||||
OptionType,
|
|
||||||
useSelect,
|
|
||||||
} from '@/components/input/SelectInput';
|
|
||||||
import ConfirmationModal from '@/components/modal/ConfirmationModal';
|
import ConfirmationModal from '@/components/modal/ConfirmationModal';
|
||||||
import { useModal } from '@/components/Modal';
|
import { useModal } from '@/components/Modal';
|
||||||
import { WarehouseApi, SupplierApi } from '@/services/api/master-data';
|
import { SupplierApi } from '@/services/api/master-data';
|
||||||
import { SupplierProducts } from '@/types/api/master-data/supplier';
|
import { SupplierProducts } from '@/types/api/master-data/supplier';
|
||||||
import { isResponseSuccess } from '@/lib/api-helper';
|
import { isResponseSuccess } from '@/lib/api-helper';
|
||||||
|
|
||||||
@@ -32,8 +29,8 @@ import {
|
|||||||
UpdateStaffApprovalRequestPayload,
|
UpdateStaffApprovalRequestPayload,
|
||||||
Purchase,
|
Purchase,
|
||||||
} from '@/types/api/purchase/purchase';
|
} from '@/types/api/purchase/purchase';
|
||||||
|
import { BaseApproval, BaseGroupedApproval } from '@/types/api/api-general';
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
import { useApprovalSteps } from '@/components/pages/ApprovalSteps';
|
|
||||||
|
|
||||||
interface PurchaseOrderStaffApprovalFormProps {
|
interface PurchaseOrderStaffApprovalFormProps {
|
||||||
type?: 'add' | 'edit';
|
type?: 'add' | 'edit';
|
||||||
@@ -42,6 +39,7 @@ interface PurchaseOrderStaffApprovalFormProps {
|
|||||||
refreshApprovals?: () => void;
|
refreshApprovals?: () => void;
|
||||||
onModalClose?: () => void;
|
onModalClose?: () => void;
|
||||||
onRefetchData?: () => void;
|
onRefetchData?: () => void;
|
||||||
|
rawDataApprovals?: BaseApproval[] | BaseGroupedApproval[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const PurchaseOrderStaffApprovalForm = ({
|
const PurchaseOrderStaffApprovalForm = ({
|
||||||
@@ -51,18 +49,8 @@ const PurchaseOrderStaffApprovalForm = ({
|
|||||||
refreshApprovals,
|
refreshApprovals,
|
||||||
onModalClose,
|
onModalClose,
|
||||||
onRefetchData,
|
onRefetchData,
|
||||||
|
rawDataApprovals,
|
||||||
}: PurchaseOrderStaffApprovalFormProps) => {
|
}: PurchaseOrderStaffApprovalFormProps) => {
|
||||||
const { rawDataApprovals } = useApprovalSteps({
|
|
||||||
latestApproval: initialValues?.approval,
|
|
||||||
approvalLines: [],
|
|
||||||
moduleName: 'PURCHASES',
|
|
||||||
moduleId: initialValues?.id?.toString() ?? '',
|
|
||||||
params: {
|
|
||||||
limit: 100,
|
|
||||||
group_step_number: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const type = useMemo(() => {
|
const type = useMemo(() => {
|
||||||
if (propType && (propType === 'add' || propType === 'edit')) {
|
if (propType && (propType === 'add' || propType === 'edit')) {
|
||||||
return propType;
|
return propType;
|
||||||
@@ -76,8 +64,7 @@ const PurchaseOrderStaffApprovalForm = ({
|
|||||||
const hasOnlyInitialStep =
|
const hasOnlyInitialStep =
|
||||||
rawDataApprovals.length === 1 &&
|
rawDataApprovals.length === 1 &&
|
||||||
firstApproval?.step_number === 1 &&
|
firstApproval?.step_number === 1 &&
|
||||||
'action' in firstApproval &&
|
('action' in firstApproval ? firstApproval.action === 'CREATED' : false);
|
||||||
firstApproval.action === 'CREATED';
|
|
||||||
|
|
||||||
return hasOnlyInitialStep ? 'add' : 'edit';
|
return hasOnlyInitialStep ? 'add' : 'edit';
|
||||||
}, [rawDataApprovals, propType]);
|
}, [rawDataApprovals, propType]);
|
||||||
|
|||||||
@@ -954,6 +954,7 @@ const PurchaseOrderDetail = ({
|
|||||||
refreshApprovals={refreshApprovals}
|
refreshApprovals={refreshApprovals}
|
||||||
onModalClose={staffApprovalModal.closeModal}
|
onModalClose={staffApprovalModal.closeModal}
|
||||||
onRefetchData={refetchData}
|
onRefetchData={refetchData}
|
||||||
|
rawDataApprovals={rawDataApprovals}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
@@ -990,6 +991,7 @@ const PurchaseOrderDetail = ({
|
|||||||
refreshApprovals={refreshApprovals}
|
refreshApprovals={refreshApprovals}
|
||||||
onModalClose={editModal.closeModal}
|
onModalClose={editModal.closeModal}
|
||||||
onRefetchData={refetchData}
|
onRefetchData={refetchData}
|
||||||
|
rawDataApprovals={rawDataApprovals}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user