mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +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 TextInput from '@/components/input/TextInput';
|
||||
import NumberInput from '@/components/input/NumberInput';
|
||||
import SelectInput, {
|
||||
OptionType,
|
||||
useSelect,
|
||||
} from '@/components/input/SelectInput';
|
||||
import SelectInput, { OptionType } from '@/components/input/SelectInput';
|
||||
import ConfirmationModal from '@/components/modal/ConfirmationModal';
|
||||
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 { isResponseSuccess } from '@/lib/api-helper';
|
||||
|
||||
@@ -32,8 +29,8 @@ import {
|
||||
UpdateStaffApprovalRequestPayload,
|
||||
Purchase,
|
||||
} from '@/types/api/purchase/purchase';
|
||||
import { BaseApproval, BaseGroupedApproval } from '@/types/api/api-general';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { useApprovalSteps } from '@/components/pages/ApprovalSteps';
|
||||
|
||||
interface PurchaseOrderStaffApprovalFormProps {
|
||||
type?: 'add' | 'edit';
|
||||
@@ -42,6 +39,7 @@ interface PurchaseOrderStaffApprovalFormProps {
|
||||
refreshApprovals?: () => void;
|
||||
onModalClose?: () => void;
|
||||
onRefetchData?: () => void;
|
||||
rawDataApprovals?: BaseApproval[] | BaseGroupedApproval[];
|
||||
}
|
||||
|
||||
const PurchaseOrderStaffApprovalForm = ({
|
||||
@@ -51,18 +49,8 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
refreshApprovals,
|
||||
onModalClose,
|
||||
onRefetchData,
|
||||
rawDataApprovals,
|
||||
}: PurchaseOrderStaffApprovalFormProps) => {
|
||||
const { rawDataApprovals } = useApprovalSteps({
|
||||
latestApproval: initialValues?.approval,
|
||||
approvalLines: [],
|
||||
moduleName: 'PURCHASES',
|
||||
moduleId: initialValues?.id?.toString() ?? '',
|
||||
params: {
|
||||
limit: 100,
|
||||
group_step_number: true,
|
||||
},
|
||||
});
|
||||
|
||||
const type = useMemo(() => {
|
||||
if (propType && (propType === 'add' || propType === 'edit')) {
|
||||
return propType;
|
||||
@@ -76,8 +64,7 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
const hasOnlyInitialStep =
|
||||
rawDataApprovals.length === 1 &&
|
||||
firstApproval?.step_number === 1 &&
|
||||
'action' in firstApproval &&
|
||||
firstApproval.action === 'CREATED';
|
||||
('action' in firstApproval ? firstApproval.action === 'CREATED' : false);
|
||||
|
||||
return hasOnlyInitialStep ? 'add' : 'edit';
|
||||
}, [rawDataApprovals, propType]);
|
||||
|
||||
@@ -954,6 +954,7 @@ const PurchaseOrderDetail = ({
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={staffApprovalModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
rawDataApprovals={rawDataApprovals}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -990,6 +991,7 @@ const PurchaseOrderDetail = ({
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={editModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
rawDataApprovals={rawDataApprovals}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user