生产管理系统 - 修改form组件
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
'use client';
|
||||
|
||||
import { useMemo, useState, useCallback } from 'react';
|
||||
import { useMemo, useState, useCallback, useEffect ,useRef} from 'react';
|
||||
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from '@/components/ui/dialog';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
import { ScrollArea } from '@/components/ui/scroll-area';
|
||||
@@ -223,7 +223,6 @@ export default function AuditHistoryPage() {
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
// 简化的状态管理 - 只需要存储数据和加载状态
|
||||
const [records, setRecords] = useState<AuditLogData[]>([]);
|
||||
const [pagination, setPagination] = useState({
|
||||
@@ -280,14 +279,6 @@ export default function AuditHistoryPage() {
|
||||
const transformedData = response.data.map(transformAuditLogData);
|
||||
|
||||
setRecords(transformedData);
|
||||
setPagination({
|
||||
page: response.page,
|
||||
size: response.size,
|
||||
total: response.total,
|
||||
totalPages: response.total_pages,
|
||||
hasNext: response.has_next,
|
||||
hasPrev: response.has_prev,
|
||||
});
|
||||
} catch (err) {
|
||||
const errorMessage = err instanceof Error ? err.message : '加载审核历史失败';
|
||||
setError(errorMessage);
|
||||
@@ -295,8 +286,15 @@ export default function AuditHistoryPage() {
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, []); // 移除所有依赖,使用参数传递状态变化
|
||||
}, [searchFilters, pagination]); // 添加依赖以保持函数引用最新
|
||||
|
||||
const didFetchRef = useRef(false)
|
||||
|
||||
useEffect(() => {
|
||||
if (didFetchRef.current) return
|
||||
didFetchRef.current = true
|
||||
loadAuditHistory()
|
||||
}, [])
|
||||
// 事件处理器
|
||||
const handleSearch = useCallback((filters: Record<string, string>) => {
|
||||
setSearchFilters(filters);
|
||||
@@ -315,18 +313,6 @@ export default function AuditHistoryPage() {
|
||||
});
|
||||
}, [loadAuditHistory, pagination.size]);
|
||||
|
||||
// 统一的数据重载函数 - 避免重复代码
|
||||
const reloadData = useCallback(() => {
|
||||
const reloadParams = {
|
||||
filters: searchFilters,
|
||||
pagination: {
|
||||
page: pagination.page,
|
||||
size: pagination.size
|
||||
}
|
||||
};
|
||||
loadAuditHistory(reloadParams);
|
||||
}, [loadAuditHistory, searchFilters, pagination]);
|
||||
|
||||
const handlePageChange = useCallback((page: number) => {
|
||||
setPagination(prev => ({ ...prev, page }));
|
||||
loadAuditHistory({
|
||||
@@ -334,7 +320,6 @@ export default function AuditHistoryPage() {
|
||||
pagination: { page, size: pagination.size }
|
||||
});
|
||||
}, [loadAuditHistory, searchFilters, pagination.size]);
|
||||
|
||||
const handleSizeChange = useCallback((size: number) => {
|
||||
setPagination(prev => ({ ...prev, size, page: 1 }));
|
||||
loadAuditHistory({
|
||||
|
||||
Reference in New Issue
Block a user