diff --git a/src/pages/order/Print.tsx b/src/pages/order/Print.tsx index f292146..0991f1f 100644 --- a/src/pages/order/Print.tsx +++ b/src/pages/order/Print.tsx @@ -2,7 +2,7 @@ import { type FC } from 'react' import { useParams, useNavigate } from 'react-router-dom' import { useFormik } from 'formik' import { useGetSections } from '../print/hooks/usePrintData' -import { useSubmitOrderPrint } from './hooks/useOrderData' +import { useGetOrderPrint, useSubmitOrderPrint } from './hooks/useOrderData' import type { OrderPrintFormType } from './types/Types' import ManageForms from '../print/components/ManageForms' import Button from '@/components/Button' @@ -15,11 +15,13 @@ const OrderPrint: FC = () => { const navigate = useNavigate() const { data } = useGetSections() const { isPending, mutate } = useSubmitOrderPrint() + const { data: print } = useGetOrderPrint(orderId!) const formik = useFormik({ initialValues: { - fields: [] + fields: print?.data?.fileds ?? [] }, + enableReinitialize: true, onSubmit: (values) => { if (!orderId) return mutate( diff --git a/src/pages/order/hooks/useOrderData.ts b/src/pages/order/hooks/useOrderData.ts index e442fc2..f8fa409 100644 --- a/src/pages/order/hooks/useOrderData.ts +++ b/src/pages/order/hooks/useOrderData.ts @@ -113,3 +113,11 @@ export const useSubmitOrderPrint = () => { }) => api.submitOrderPrint(orderId, params), }); }; + +export const useGetOrderPrint = (orderId: string) => { + return useQuery({ + queryKey: ["order-print", orderId], + queryFn: () => api.getOrderPrint(orderId), + enabled: !!orderId, + }); +}; diff --git a/src/pages/order/service/OrderService.ts b/src/pages/order/service/OrderService.ts index c93c5a9..d462ee2 100644 --- a/src/pages/order/service/OrderService.ts +++ b/src/pages/order/service/OrderService.ts @@ -7,6 +7,7 @@ import type { OrderItemResponseType, OrderListResponseType, OrderPrintFormType, + OrderPrintResponseType, TicketsResponseType, } from "../types/Types"; import type { @@ -99,3 +100,12 @@ export const submitOrderPrint = async ( const { data } = await axios.post(`/admin/orders/${orderId}/print`, params); return data; }; + +export const getOrderPrint = async ( + orderId: string, +): Promise => { + const { data } = await axios.get( + `/admin/orders/${orderId}/print`, + ); + return data; +}; diff --git a/src/pages/order/types/Types.ts b/src/pages/order/types/Types.ts index 18fbbb8..1fc8202 100644 --- a/src/pages/order/types/Types.ts +++ b/src/pages/order/types/Types.ts @@ -216,3 +216,13 @@ export type OrderPrintFieldType = { export type OrderPrintFormType = { fields: OrderPrintFieldType[]; }; + +export type OrderPrintDataType = { + id: string; + createdAt: string; + deletedAt: string | null; + fileds: OrderPrintFieldType[]; + order: string; +}; + +export type OrderPrintResponseType = BaseResponse;