diff --git a/src/langs/fa.json b/src/langs/fa.json index 7c9f371..423d65c 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -411,7 +411,8 @@ "EXPIRED": "منقضی شده", "approved": "تایید شده", "APPROVED": "تایید شده", - "pending": "در انتظار" + "pending": "در انتظار", + "since": "از تاریخ" }, "edit": "ویرایش", "transaction": { diff --git a/src/pages/receipts/List.tsx b/src/pages/receipts/List.tsx index 2d4db38..6dfe66b 100644 --- a/src/pages/receipts/List.tsx +++ b/src/pages/receipts/List.tsx @@ -7,12 +7,21 @@ import { useGetInvoices } from './hooks/useReceiptData' import PageLoading from '../../components/PageLoading' import { ReceiptItemType } from './types/ReceiptTypes' import { NumberFormat } from '../../config/func' +import Select from '../../components/Select' +import { useGetCustomers } from '../customer/hooks/useCustomerData' +import Input from '../../components/Input' +import { CustomerItemType } from '../customer/types/CustomerTypes' +import DatePickerComponent from '../../components/DatePicker' const ReceiptsList: FC = () => { const { t } = useTranslation('global') const [activeTab, setActiveTab] = useState<"PENDING" | "PAID" | "CANCELED" | "EXPIRED">('PENDING') - const getInvoices = useGetInvoices(activeTab) + const [customerId, setCustomerId] = useState('') + const [search, setSearch] = useState('') + const [date, setDate] = useState('') + const getInvoices = useGetInvoices(activeTab, customerId, search, date) + const getCustomers = useGetCustomers() return (
@@ -20,6 +29,39 @@ const ReceiptsList: FC = () => { {t('receip.receip_list')}
+
+
+ setSearch(value)} + /> +
+
+
{ +export const useGetInvoices = ( + status: string, + customerId: string, + search: string, + date: string +) => { return useQuery({ - queryKey: ["invoices", status], - queryFn: () => api.getInvoces(status), + queryKey: ["invoices", status, customerId, search, date], + queryFn: () => api.getInvoces(status, customerId, search, date), }); }; diff --git a/src/pages/receipts/service/ReceiptService.ts b/src/pages/receipts/service/ReceiptService.ts index 8ce74a1..6159e72 100644 --- a/src/pages/receipts/service/ReceiptService.ts +++ b/src/pages/receipts/service/ReceiptService.ts @@ -1,8 +1,17 @@ import axios from "../../../config/axios"; import { CreateReceiptType } from "../types/ReceiptTypes"; -export const getInvoces = async (status: string) => { - const { data } = await axios.get(`/invoices?status=${status}`); +export const getInvoces = async ( + status: string, + customerId: string, + search: string, + date: string +) => { + let query = `status=${status}`; + if (customerId) query += `&userId=${customerId}`; + if (search) query += `&q=${search}`; + if (date) query += `&date=${date}`; + const { data } = await axios.get(`/invoices?${query}`); return data; };