|
@@ -13,7 +13,7 @@ import {
|
|
|
Settings,
|
|
Settings,
|
|
|
AlertCircle
|
|
AlertCircle
|
|
|
} from 'lucide-react';
|
|
} from 'lucide-react';
|
|
|
-import { creditBalanceClient } from '../api/creditBalanceClient';
|
|
|
|
|
|
|
+import { creditBalanceClient, creditBalanceClientManager } from '../api/creditBalanceClient';
|
|
|
import type {
|
|
import type {
|
|
|
CreditBalanceDialogProps,
|
|
CreditBalanceDialogProps,
|
|
|
CreditBalanceLogsQueryParams
|
|
CreditBalanceLogsQueryParams
|
|
@@ -98,11 +98,6 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
const queryClient = useQueryClient();
|
|
const queryClient = useQueryClient();
|
|
|
const [activeTab, setActiveTab] = useState('overview');
|
|
const [activeTab, setActiveTab] = useState('overview');
|
|
|
|
|
|
|
|
- // 包装setActiveTab以添加调试日志
|
|
|
|
|
- const wrappedSetActiveTab = (value: string) => {
|
|
|
|
|
- console.debug('CreditBalanceDialog: 切换标签页', { from: activeTab, to: value });
|
|
|
|
|
- setActiveTab(value);
|
|
|
|
|
- };
|
|
|
|
|
const [logsQueryParams, setLogsQueryParams] = useState<CreditBalanceLogsQueryParams>({
|
|
const [logsQueryParams, setLogsQueryParams] = useState<CreditBalanceLogsQueryParams>({
|
|
|
page: 1,
|
|
page: 1,
|
|
|
limit: 10
|
|
limit: 10
|
|
@@ -112,15 +107,11 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
const { data: balanceData, isLoading: isLoadingBalance, refetch: refetchBalance, error: balanceError } = useQuery({
|
|
const { data: balanceData, isLoading: isLoadingBalance, refetch: refetchBalance, error: balanceError } = useQuery({
|
|
|
queryKey: ['credit-balance', userId, tenantId],
|
|
queryKey: ['credit-balance', userId, tenantId],
|
|
|
queryFn: async () => {
|
|
queryFn: async () => {
|
|
|
- console.debug('CreditBalanceDialog: 开始获取信用额度数据', { userId, tenantId });
|
|
|
|
|
- const res = await creditBalanceClient[':userId'].$get({
|
|
|
|
|
|
|
+ const res = await creditBalanceClientManager.get()[':userId'].$get({
|
|
|
param: { userId: userId.toString() }
|
|
param: { userId: userId.toString() }
|
|
|
});
|
|
});
|
|
|
- console.debug('CreditBalanceDialog: API响应状态', res.status);
|
|
|
|
|
if (res.status !== 200) throw new Error('获取信用额度失败');
|
|
if (res.status !== 200) throw new Error('获取信用额度失败');
|
|
|
- const data = await res.json();
|
|
|
|
|
- console.debug('CreditBalanceDialog: 获取到的数据', data);
|
|
|
|
|
- return data;
|
|
|
|
|
|
|
+ return await res.json();
|
|
|
},
|
|
},
|
|
|
enabled: open && !!userId,
|
|
enabled: open && !!userId,
|
|
|
staleTime: 5 * 60 * 1000,
|
|
staleTime: 5 * 60 * 1000,
|
|
@@ -138,7 +129,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
const { data: logsData, isLoading: isLoadingLogs, error: logsError } = useQuery({
|
|
const { data: logsData, isLoading: isLoadingLogs, error: logsError } = useQuery({
|
|
|
queryKey: ['credit-balance-logs', userId, logsQueryParams, tenantId],
|
|
queryKey: ['credit-balance-logs', userId, logsQueryParams, tenantId],
|
|
|
queryFn: async () => {
|
|
queryFn: async () => {
|
|
|
- const res = await creditBalanceClient[':userId'].logs.$get({
|
|
|
|
|
|
|
+ const res = await creditBalanceClientManager.get()[':userId'].logs.$get({
|
|
|
param: { userId: userId.toString() },
|
|
param: { userId: userId.toString() },
|
|
|
query: {
|
|
query: {
|
|
|
page: logsQueryParams.page || 1,
|
|
page: logsQueryParams.page || 1,
|
|
@@ -192,7 +183,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
// 设置额度mutation
|
|
// 设置额度mutation
|
|
|
const setLimitMutation = useMutation({
|
|
const setLimitMutation = useMutation({
|
|
|
mutationFn: async (data: SetLimitFormData) => {
|
|
mutationFn: async (data: SetLimitFormData) => {
|
|
|
- const res = await creditBalanceClient[':userId'].$put({
|
|
|
|
|
|
|
+ const res = await creditBalanceClientManager.get()[':userId'].$put({
|
|
|
param: { userId: userId.toString() },
|
|
param: { userId: userId.toString() },
|
|
|
json: data
|
|
json: data
|
|
|
});
|
|
});
|
|
@@ -212,7 +203,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
// 调整额度mutation
|
|
// 调整额度mutation
|
|
|
const adjustLimitMutation = useMutation({
|
|
const adjustLimitMutation = useMutation({
|
|
|
mutationFn: async (data: AdjustLimitFormData) => {
|
|
mutationFn: async (data: AdjustLimitFormData) => {
|
|
|
- const res = await creditBalanceClient[':userId'].adjust.$post({
|
|
|
|
|
|
|
+ const res = await creditBalanceClientManager.get()[':userId'].adjust.$post({
|
|
|
param: { userId: userId.toString() },
|
|
param: { userId: userId.toString() },
|
|
|
json: data
|
|
json: data
|
|
|
});
|
|
});
|
|
@@ -232,7 +223,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
// 结账恢复额度mutation
|
|
// 结账恢复额度mutation
|
|
|
const checkoutMutation = useMutation({
|
|
const checkoutMutation = useMutation({
|
|
|
mutationFn: async (data: CheckoutFormData) => {
|
|
mutationFn: async (data: CheckoutFormData) => {
|
|
|
- const res = await creditBalanceClient.checkout.$post({
|
|
|
|
|
|
|
+ const res = await creditBalanceClientManager.get().checkout.$post({
|
|
|
json: data
|
|
json: data
|
|
|
});
|
|
});
|
|
|
if (res.status !== 200) throw new Error('结账恢复额度失败');
|
|
if (res.status !== 200) throw new Error('结账恢复额度失败');
|
|
@@ -303,13 +294,6 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
|
|
|
|
|
if (!open) return null;
|
|
if (!open) return null;
|
|
|
|
|
|
|
|
- console.debug('CreditBalanceDialog: 渲染组件', {
|
|
|
|
|
- activeTab,
|
|
|
|
|
- isLoadingBalance,
|
|
|
|
|
- balanceData: !!balanceData,
|
|
|
|
|
- logsData: !!logsData
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
const balance = balanceData;
|
|
const balance = balanceData;
|
|
|
const logs = logsData?.data || [];
|
|
const logs = logsData?.data || [];
|
|
|
const logsPagination = logsData?.pagination;
|
|
const logsPagination = logsData?.pagination;
|
|
@@ -382,7 +366,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
</Card>
|
|
</Card>
|
|
|
|
|
|
|
|
{/* 标签页 */}
|
|
{/* 标签页 */}
|
|
|
- <Tabs value={activeTab} onValueChange={wrappedSetActiveTab}>
|
|
|
|
|
|
|
+ <Tabs value={activeTab} onValueChange={setActiveTab}>
|
|
|
<TabsList className="grid grid-cols-3">
|
|
<TabsList className="grid grid-cols-3">
|
|
|
<TabsTrigger value="overview">额度概览</TabsTrigger>
|
|
<TabsTrigger value="overview">额度概览</TabsTrigger>
|
|
|
<TabsTrigger value="operations">额度操作</TabsTrigger>
|
|
<TabsTrigger value="operations">额度操作</TabsTrigger>
|
|
@@ -513,7 +497,7 @@ export const CreditBalanceDialog: React.FC<CreditBalanceDialogProps> = ({
|
|
|
</CardHeader>
|
|
</CardHeader>
|
|
|
<CardContent>
|
|
<CardContent>
|
|
|
<Form {...setLimitForm}>
|
|
<Form {...setLimitForm}>
|
|
|
- <form onSubmit={setLimitForm.handleSubmit(onSetLimitSubmit, (errors) => console.debug('设置额度表单验证错误:', errors))} className="space-y-4">
|
|
|
|
|
|
|
+ <form onSubmit={setLimitForm.handleSubmit(onSetLimitSubmit)} className="space-y-4">
|
|
|
<FormField
|
|
<FormField
|
|
|
control={setLimitForm.control}
|
|
control={setLimitForm.control}
|
|
|
name="totalLimit"
|
|
name="totalLimit"
|