mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 17:43:47 +00:00
feat: редизайн страницы платежей в админке — поиск, фильтры, статистика
Поиск по инвойсу/клиенту, фильтры по статусу/периоду/методу, карточки статистики, кастомный диапазон дат, обработка ошибок, локализация на 4 языка.
This commit is contained in:
@@ -6,6 +6,14 @@ export interface PaymentsStats {
|
||||
by_method: Record<string, number>;
|
||||
}
|
||||
|
||||
export interface SearchStats {
|
||||
total: number;
|
||||
pending: number;
|
||||
paid: number;
|
||||
cancelled: number;
|
||||
by_method: Record<string, number>;
|
||||
}
|
||||
|
||||
export const adminPaymentsApi = {
|
||||
// Get all pending payments (admin)
|
||||
getPendingPayments: async (params?: {
|
||||
@@ -28,6 +36,39 @@ export const adminPaymentsApi = {
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Search payments with filters
|
||||
searchPayments: async (params?: {
|
||||
search?: string;
|
||||
status_filter?: string;
|
||||
method_filter?: string;
|
||||
period?: string;
|
||||
date_from?: string;
|
||||
date_to?: string;
|
||||
page?: number;
|
||||
per_page?: number;
|
||||
}): Promise<PaginatedResponse<PendingPayment>> => {
|
||||
const response = await apiClient.get<PaginatedResponse<PendingPayment>>(
|
||||
'/cabinet/admin/payments/search',
|
||||
{ params },
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get search statistics with filters
|
||||
getSearchStats: async (params?: {
|
||||
search?: string;
|
||||
status_filter?: string;
|
||||
method_filter?: string;
|
||||
period?: string;
|
||||
date_from?: string;
|
||||
date_to?: string;
|
||||
}): Promise<SearchStats> => {
|
||||
const response = await apiClient.get<SearchStats>('/cabinet/admin/payments/search/stats', {
|
||||
params,
|
||||
});
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get specific payment details
|
||||
getPayment: async (method: string, paymentId: number): Promise<PendingPayment> => {
|
||||
const response = await apiClient.get<PendingPayment>(
|
||||
|
||||
Reference in New Issue
Block a user