This commit is contained in:
hamid zarghami
2026-02-23 14:16:48 +03:30
parent a03e82a296
commit 3c92e55927
5 changed files with 66 additions and 43 deletions
+8 -8
View File
@@ -1,6 +1,6 @@
import Tabs from '@/components/Tabs' import Tabs from '@/components/Tabs'
import { useState, type FC } from 'react' import { useState, type FC } from 'react'
import { TabMyRequestsEnum } from './enum/OrderEnum' import { TabMyOrdersEnum } from './enum/OrderEnum'
import Filters from '@/components/Filters' import Filters from '@/components/Filters'
import { Eye } from 'iconsax-react' import { Eye } from 'iconsax-react'
import Table from '@/components/Table' import Table from '@/components/Table'
@@ -11,8 +11,8 @@ import { Paths } from '@/config/Paths'
const MyOrders: FC = () => { const MyOrders: FC = () => {
const [page, setPage] = useState<number>(1) const [page, setPage] = useState<number>(1)
const [activeTab, setActiveTab] = useState<TabMyRequestsEnum>( const [activeTab, setActiveTab] = useState<TabMyOrdersEnum>(
TabMyRequestsEnum.ALL, TabMyOrdersEnum.ALL,
) )
const { data } = useGetMyOrders(page, activeTab) const { data } = useGetMyOrders(page, activeTab)
@@ -23,13 +23,13 @@ const MyOrders: FC = () => {
<div className="mt-10"> <div className="mt-10">
<Tabs <Tabs
items={[ items={[
{ label: 'همه', value: TabMyRequestsEnum.ALL }, { label: 'همه', value: TabMyOrdersEnum.ALL },
{ label: 'در حال انجام', value: TabMyRequestsEnum.IN_PROGRESS }, { label: 'در حال انجام', value: TabMyOrdersEnum.IN_PROGRESS },
{ label: 'تکمیل داده شده', value: TabMyRequestsEnum.DELIVERED }, { label: 'تکمیل داده شده', value: TabMyOrdersEnum.DELIVERED },
{ label: 'کنسل شده', value: TabMyRequestsEnum.CANCELLED }, { label: 'کنسل شده', value: TabMyOrdersEnum.CANCELLED },
]} ]}
activeTab={activeTab} activeTab={activeTab}
onTabChange={(tab) => setActiveTab(tab as TabMyRequestsEnum)} onTabChange={(tab) => setActiveTab(tab as TabMyOrdersEnum)}
/> />
</div> </div>
+16 -16
View File
@@ -1,19 +1,19 @@
import { RequestStatusEnum } from '../enum/OrderEnum' import { OrderStatusEnum } from '../enum/OrderEnum'
export const orderStatusLabels: Record<string, string> = { export const orderStatusLabels: Record<string, string> = {
[RequestStatusEnum.CREATED]: 'ایجاد شده', [OrderStatusEnum.CREATED]: 'ایجاد شده',
[RequestStatusEnum.INVOICED]: 'فاکتور شده', [OrderStatusEnum.INVOICED]: 'فاکتور شده',
[RequestStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'در انتظار تایید فاکتور', [OrderStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'در انتظار تایید فاکتور',
[RequestStatusEnum.DESIGN_INITIATED]: 'شروع طراحی', [OrderStatusEnum.DESIGN_INITIATED]: 'شروع طراحی',
[RequestStatusEnum.DESIGN_FINISHED]: 'طراحی تمام شده', [OrderStatusEnum.DESIGN_FINISHED]: 'طراحی تمام شده',
[RequestStatusEnum.DESIGN_REVISION]: 'بازنگری طراحی', [OrderStatusEnum.DESIGN_REVISION]: 'بازنگری طراحی',
[RequestStatusEnum.READY_TO_PRINTING]: 'آماده چاپ', [OrderStatusEnum.READY_TO_PRINTING]: 'آماده چاپ',
[RequestStatusEnum.IN_PRINTING]: 'در حال چاپ', [OrderStatusEnum.IN_PRINTING]: 'در حال چاپ',
[RequestStatusEnum.AFTER_PRINT_COVER]: 'پس از چاپ جلد', [OrderStatusEnum.AFTER_PRINT_COVER]: 'پس از چاپ جلد',
[RequestStatusEnum.AFTER_PRINT_CARTONING]: 'کارتن‌سازی', [OrderStatusEnum.AFTER_PRINT_CARTONING]: 'کارتن‌سازی',
[RequestStatusEnum.AFTER_PRINT_BOXING]: 'بسته‌بندی', [OrderStatusEnum.AFTER_PRINT_BOXING]: 'بسته‌بندی',
[RequestStatusEnum.READY_FOR_DELIVERY]: 'آماده ارسال', [OrderStatusEnum.READY_FOR_DELIVERY]: 'آماده ارسال',
[RequestStatusEnum.DELIVERED]: 'تحویل شده', [OrderStatusEnum.DELIVERED]: 'تحویل شده',
[RequestStatusEnum.FINISHED]: 'پایان یافته', [OrderStatusEnum.FINISHED]: 'پایان یافته',
[RequestStatusEnum.CANCELED]: 'لغو شده', [OrderStatusEnum.CANCELED]: 'لغو شده',
} }
+24 -1
View File
@@ -1 +1,24 @@
export { TabMyRequestsEnum, RequestStatusEnum } from '@/pages/request/enum/RequestEnum' export const enum TabMyOrdersEnum {
ALL = 'all',
IN_PROGRESS = 'in_progress',
DELIVERED = 'delivered',
CANCELLED = 'cancelled',
}
export enum OrderStatusEnum {
CREATED = 'created',
INVOICED = 'invoiced',
WAITING_to_CONFIRM_INVOICE = 'waiting_to_confirm_invoice',
DESIGN_INITIATED = 'design_initiated',
DESIGN_FINISHED = 'design_finished',
DESIGN_REVISION = 'design_revision',
READY_TO_PRINTING = 'ready_to_printing',
IN_PRINTING = 'in_printing',
AFTER_PRINT_COVER = 'after_print_cover',
AFTER_PRINT_CARTONING = 'after_print_cartoning',
AFTER_PRINT_BOXING = 'after_print_boxing',
READY_FOR_DELIVERY = 'ready_for_delivery',
DELIVERED = 'delivered',
FINISHED = 'finished',
CANCELED = 'canceled',
}
+2 -2
View File
@@ -1,11 +1,11 @@
import { useMutation, useQuery } from "@tanstack/react-query"; import { useMutation, useQuery } from "@tanstack/react-query";
import * as api from "../service/OrderService"; import * as api from "../service/OrderService";
import type { TabMyRequestsEnum } from "../enum/OrderEnum"; import type { TabMyOrdersEnum } from "../enum/OrderEnum";
import type { AddTicketType } from "../type/Types"; import type { AddTicketType } from "../type/Types";
export const useGetMyOrders = ( export const useGetMyOrders = (
page: number = 1, page: number = 1,
statuses: TabMyRequestsEnum, statuses: TabMyOrdersEnum,
) => { ) => {
return useQuery({ return useQuery({
queryKey: ["my-orders", page, statuses], queryKey: ["my-orders", page, statuses],
+16 -16
View File
@@ -6,29 +6,29 @@ import type {
OrderStatsResponseType, OrderStatsResponseType,
TicketsResponseType, TicketsResponseType,
} from "../type/Types"; } from "../type/Types";
import { RequestStatusEnum, TabMyRequestsEnum } from "../enum/OrderEnum"; import { OrderStatusEnum, TabMyOrdersEnum } from "../enum/OrderEnum";
export const getMyOrders = async ( export const getMyOrders = async (
page: number = 1, page: number = 1,
active: TabMyRequestsEnum, active: TabMyOrdersEnum,
) => { ) => {
const statuses = const statuses =
active === TabMyRequestsEnum.IN_PROGRESS active === TabMyOrdersEnum.IN_PROGRESS
? [ ? [
RequestStatusEnum.DESIGN_FINISHED, OrderStatusEnum.DESIGN_FINISHED,
RequestStatusEnum.DESIGN_INITIATED, OrderStatusEnum.DESIGN_INITIATED,
RequestStatusEnum.DESIGN_REVISION, OrderStatusEnum.DESIGN_REVISION,
RequestStatusEnum.IN_PRINTING, OrderStatusEnum.IN_PRINTING,
RequestStatusEnum.AFTER_PRINT_BOXING, OrderStatusEnum.AFTER_PRINT_BOXING,
RequestStatusEnum.AFTER_PRINT_CARTONING, OrderStatusEnum.AFTER_PRINT_CARTONING,
RequestStatusEnum.AFTER_PRINT_COVER, OrderStatusEnum.AFTER_PRINT_COVER,
RequestStatusEnum.READY_FOR_DELIVERY, OrderStatusEnum.READY_FOR_DELIVERY,
RequestStatusEnum.READY_TO_PRINTING, OrderStatusEnum.READY_TO_PRINTING,
] ]
: active === TabMyRequestsEnum.CANCELLED : active === TabMyOrdersEnum.CANCELLED
? [RequestStatusEnum.CANCELED] ? [OrderStatusEnum.CANCELED]
: active === TabMyRequestsEnum.DELIVERED : active === TabMyOrdersEnum.DELIVERED
? [RequestStatusEnum.DELIVERED] ? [OrderStatusEnum.DELIVERED]
: undefined; : undefined;
let query = `?page=${page}`; let query = `?page=${page}`;