费用管理内容优化-初步

This commit is contained in:
Cheng Zhou
2026-01-13 16:49:55 +08:00
parent 0c7c03069a
commit 1db36f40b0
43 changed files with 5229 additions and 26 deletions
+45
View File
@@ -0,0 +1,45 @@
import { apiDelete, apiGet, apiPatch, apiPost } from "./axios";
import type { FeeApiResponse } from "../types/api";
export interface SpecialExpensePayload {
project_id: string;
center_id?: string | null;
category: string;
amount: number;
happen_date?: string | null;
description?: string | null;
is_paid?: boolean;
paid_date?: string | null;
is_verified?: boolean;
verified_date?: string | null;
}
export interface SpecialExpenseUpdatePayload {
center_id?: string | null;
category?: string;
amount?: number;
happen_date?: string | null;
description?: string | null;
is_paid?: boolean;
paid_date?: string | null;
is_verified?: boolean;
verified_date?: string | null;
}
export const listSpecialExpenses = (params: {
projectId: string;
centerId?: string;
category?: string;
dateFrom?: string;
dateTo?: string;
}) => apiGet<FeeApiResponse<any[]>>("/api/v1/fees/special", { params });
export const getSpecialExpense = (expenseId: string) => apiGet<FeeApiResponse<any>>(`/api/v1/fees/special/${expenseId}`);
export const createSpecialExpense = (payload: SpecialExpensePayload) =>
apiPost<FeeApiResponse<any>>("/api/v1/fees/special", payload);
export const updateSpecialExpense = (expenseId: string, payload: SpecialExpenseUpdatePayload) =>
apiPatch<FeeApiResponse<any>>(`/api/v1/fees/special/${expenseId}`, payload);
export const deleteSpecialExpense = (expenseId: string) => apiDelete(`/api/v1/fees/special/${expenseId}`);