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 { useState, type FC } from 'react'
import { TabMyRequestsEnum } from './enum/OrderEnum'
import { TabMyOrdersEnum } from './enum/OrderEnum'
import Filters from '@/components/Filters'
import { Eye } from 'iconsax-react'
import Table from '@/components/Table'
@@ -11,8 +11,8 @@ import { Paths } from '@/config/Paths'
const MyOrders: FC = () => {
const [page, setPage] = useState<number>(1)
const [activeTab, setActiveTab] = useState<TabMyRequestsEnum>(
TabMyRequestsEnum.ALL,
const [activeTab, setActiveTab] = useState<TabMyOrdersEnum>(
TabMyOrdersEnum.ALL,
)
const { data } = useGetMyOrders(page, activeTab)
@@ -23,13 +23,13 @@ const MyOrders: FC = () => {
<div className="mt-10">
<Tabs
items={[
{ label: 'همه', value: TabMyRequestsEnum.ALL },
{ label: 'در حال انجام', value: TabMyRequestsEnum.IN_PROGRESS },
{ label: 'تکمیل داده شده', value: TabMyRequestsEnum.DELIVERED },
{ label: 'کنسل شده', value: TabMyRequestsEnum.CANCELLED },
{ label: 'همه', value: TabMyOrdersEnum.ALL },
{ label: 'در حال انجام', value: TabMyOrdersEnum.IN_PROGRESS },
{ label: 'تکمیل داده شده', value: TabMyOrdersEnum.DELIVERED },
{ label: 'کنسل شده', value: TabMyOrdersEnum.CANCELLED },
]}
activeTab={activeTab}
onTabChange={(tab) => setActiveTab(tab as TabMyRequestsEnum)}
onTabChange={(tab) => setActiveTab(tab as TabMyOrdersEnum)}
/>
</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> = {
[RequestStatusEnum.CREATED]: 'ایجاد شده',
[RequestStatusEnum.INVOICED]: 'فاکتور شده',
[RequestStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'در انتظار تایید فاکتور',
[RequestStatusEnum.DESIGN_INITIATED]: 'شروع طراحی',
[RequestStatusEnum.DESIGN_FINISHED]: 'طراحی تمام شده',
[RequestStatusEnum.DESIGN_REVISION]: 'بازنگری طراحی',
[RequestStatusEnum.READY_TO_PRINTING]: 'آماده چاپ',
[RequestStatusEnum.IN_PRINTING]: 'در حال چاپ',
[RequestStatusEnum.AFTER_PRINT_COVER]: 'پس از چاپ جلد',
[RequestStatusEnum.AFTER_PRINT_CARTONING]: 'کارتن‌سازی',
[RequestStatusEnum.AFTER_PRINT_BOXING]: 'بسته‌بندی',
[RequestStatusEnum.READY_FOR_DELIVERY]: 'آماده ارسال',
[RequestStatusEnum.DELIVERED]: 'تحویل شده',
[RequestStatusEnum.FINISHED]: 'پایان یافته',
[RequestStatusEnum.CANCELED]: 'لغو شده',
[OrderStatusEnum.CREATED]: 'ایجاد شده',
[OrderStatusEnum.INVOICED]: 'فاکتور شده',
[OrderStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'در انتظار تایید فاکتور',
[OrderStatusEnum.DESIGN_INITIATED]: 'شروع طراحی',
[OrderStatusEnum.DESIGN_FINISHED]: 'طراحی تمام شده',
[OrderStatusEnum.DESIGN_REVISION]: 'بازنگری طراحی',
[OrderStatusEnum.READY_TO_PRINTING]: 'آماده چاپ',
[OrderStatusEnum.IN_PRINTING]: 'در حال چاپ',
[OrderStatusEnum.AFTER_PRINT_COVER]: 'پس از چاپ جلد',
[OrderStatusEnum.AFTER_PRINT_CARTONING]: 'کارتن‌سازی',
[OrderStatusEnum.AFTER_PRINT_BOXING]: 'بسته‌بندی',
[OrderStatusEnum.READY_FOR_DELIVERY]: 'آماده ارسال',
[OrderStatusEnum.DELIVERED]: 'تحویل شده',
[OrderStatusEnum.FINISHED]: 'پایان یافته',
[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 * as api from "../service/OrderService";
import type { TabMyRequestsEnum } from "../enum/OrderEnum";
import type { TabMyOrdersEnum } from "../enum/OrderEnum";
import type { AddTicketType } from "../type/Types";
export const useGetMyOrders = (
page: number = 1,
statuses: TabMyRequestsEnum,
statuses: TabMyOrdersEnum,
) => {
return useQuery({
queryKey: ["my-orders", page, statuses],
+16 -16
View File
@@ -6,29 +6,29 @@ import type {
OrderStatsResponseType,
TicketsResponseType,
} from "../type/Types";
import { RequestStatusEnum, TabMyRequestsEnum } from "../enum/OrderEnum";
import { OrderStatusEnum, TabMyOrdersEnum } from "../enum/OrderEnum";
export const getMyOrders = async (
page: number = 1,
active: TabMyRequestsEnum,
active: TabMyOrdersEnum,
) => {
const statuses =
active === TabMyRequestsEnum.IN_PROGRESS
active === TabMyOrdersEnum.IN_PROGRESS
? [
RequestStatusEnum.DESIGN_FINISHED,
RequestStatusEnum.DESIGN_INITIATED,
RequestStatusEnum.DESIGN_REVISION,
RequestStatusEnum.IN_PRINTING,
RequestStatusEnum.AFTER_PRINT_BOXING,
RequestStatusEnum.AFTER_PRINT_CARTONING,
RequestStatusEnum.AFTER_PRINT_COVER,
RequestStatusEnum.READY_FOR_DELIVERY,
RequestStatusEnum.READY_TO_PRINTING,
OrderStatusEnum.DESIGN_FINISHED,
OrderStatusEnum.DESIGN_INITIATED,
OrderStatusEnum.DESIGN_REVISION,
OrderStatusEnum.IN_PRINTING,
OrderStatusEnum.AFTER_PRINT_BOXING,
OrderStatusEnum.AFTER_PRINT_CARTONING,
OrderStatusEnum.AFTER_PRINT_COVER,
OrderStatusEnum.READY_FOR_DELIVERY,
OrderStatusEnum.READY_TO_PRINTING,
]
: active === TabMyRequestsEnum.CANCELLED
? [RequestStatusEnum.CANCELED]
: active === TabMyRequestsEnum.DELIVERED
? [RequestStatusEnum.DELIVERED]
: active === TabMyOrdersEnum.CANCELLED
? [OrderStatusEnum.CANCELED]
: active === TabMyOrdersEnum.DELIVERED
? [OrderStatusEnum.DELIVERED]
: undefined;
let query = `?page=${page}`;