request list

This commit is contained in:
hamid zarghami
2026-02-03 15:45:48 +03:30
parent fe99e802bc
commit 8e842d1837
3 changed files with 56 additions and 24 deletions
+7
View File
@@ -9,6 +9,13 @@ export const useGetOrders = () => {
});
};
export const useGetRequests = () => {
return useQuery({
queryKey: ["requests"],
queryFn: api.getRequests,
});
};
export const useGetOrderDetails = (id: string) => {
return useQuery({
queryKey: ["order", id],
+5
View File
@@ -17,6 +17,11 @@ export const getOrders = async () => {
return data;
};
export const getRequests = async () => {
const { data } = await axios.get<OrderResponseType>(`/admin/orders/request`);
return data;
};
export const getOrderDetail = async (id: string) => {
const { data } = await axios.get<OrderDetailResponseType>(
`/admin/orders/${id}`
+44 -24
View File
@@ -1,8 +1,16 @@
import Filters from '@/components/Filters'
import Table from '@/components/Table'
import { type FC } from 'react'
import { useGetRequests } from '../order/hooks/useOrderData'
import moment from 'moment-jalaali'
import { Link } from 'react-router-dom'
import { Paths } from '@/config/Paths'
import { Edit2, Eye, Receipt21 } from 'iconsax-react'
const RequestList: FC = () => {
const { data } = useGetRequests()
return (
<div className='mt-5'>
<h1 className='text-lg font-light'>درخواست ها</h1>
@@ -40,24 +48,37 @@ const RequestList: FC = () => {
<Table
columns={[
{
key: 'id',
key: 'orderNumber',
title: 'شماره',
},
{
key: 'customer',
title: 'مشتری',
render: (item) => {
return (
<div>
{item.user?.firstName ? item.user.firstName + ' ' + item.user?.lastName : item.user?.phone}
</div>
)
}
},
{
key: 'creationDate',
key: 'createdAt',
title: 'تاریخ ایجاد درخواست',
},
{
key: 'lastApprovalDate',
title: 'آخرین مهلت تایید',
render: (item) => {
return (
<div>{moment(item.createdAt).format('jYYYY-jMM-jDD')}</div>
)
}
},
{
key: 'itemCount',
title: 'تعداد اقلام',
render: (item) => {
return (
<div>{item.items.length}</div>
)
}
},
{
key: 'status',
@@ -73,26 +94,25 @@ const RequestList: FC = () => {
{
key: 'actions',
title: '',
render: (item) => {
return (
<div className='flex gap-2 items-center'>
<Link
to={Paths.order.details + item.id}
>
<Eye size={20} color='#8C90A3' />
</Link>
<Link to={Paths.order.edit + item.id}>
<Edit2 size={20} color='#0037FF' />
</Link>
<Receipt21 size={20} color='#FF8000' />
{/* <Setting2 size={20} color='#00B89F' /> */}
</div>
)
}
},
]}
data={[
{
id: 1,
customer: 'مشتری 1',
creationDate: '2024-01-01',
lastApprovalDate: '2024-01-01',
itemCount: 10,
status: 'درحال انتظار',
},
{
id: 2,
customer: 'مشتری 2',
creationDate: '2024-01-01',
lastApprovalDate: '2024-01-01',
itemCount: 10,
status: 'تایید شده',
},
]}
data={data?.data}
/>
</div>
</div>