feat: optimize signature workflows and high-frequency queries
This commit is contained in:
@@ -159,19 +159,20 @@ export function AdminReportRecordsPage() {
|
||||
const [error, setError] = useState('');
|
||||
const [page, setPage] = useState(1);
|
||||
const [total, setTotal] = useState(0);
|
||||
const [appliedFilters, setAppliedFilters] = useState({ keyword: '', dateRange: {} as DateRangeValue, reportType: 'all', batchNo: '', operatorKeyword: '', statusAfter: 'all', sourceEntry: 'all' });
|
||||
const pageSize = 10;
|
||||
|
||||
function loadData(targetPage = page) {
|
||||
function loadData(targetPage = page, filters = appliedFilters) {
|
||||
adminApi
|
||||
.listReportRecordsPage({
|
||||
keyword: keyword || undefined,
|
||||
reportType: reportType === 'all' ? undefined : (reportType as 'signature' | 'drainage'),
|
||||
batchNo: batchNo.trim() || undefined,
|
||||
operatorKeyword: operatorKeyword.trim() || undefined,
|
||||
statusAfter: statusAfter === 'all' ? undefined : statusAfter,
|
||||
sourceEntry: sourceEntry === 'all' ? undefined : sourceEntry,
|
||||
createdAtFrom: dateRange.start || undefined,
|
||||
createdAtTo: dateRange.end || undefined,
|
||||
keyword: filters.keyword || undefined,
|
||||
reportType: filters.reportType === 'all' ? undefined : (filters.reportType as 'signature' | 'drainage'),
|
||||
batchNo: filters.batchNo || undefined,
|
||||
operatorKeyword: filters.operatorKeyword || undefined,
|
||||
statusAfter: filters.statusAfter === 'all' ? undefined : filters.statusAfter,
|
||||
sourceEntry: filters.sourceEntry === 'all' ? undefined : filters.sourceEntry,
|
||||
createdAtFrom: filters.dateRange.start || undefined,
|
||||
createdAtTo: filters.dateRange.end || undefined,
|
||||
page: targetPage,
|
||||
pageSize,
|
||||
})
|
||||
@@ -330,8 +331,10 @@ export function AdminReportRecordsPage() {
|
||||
<Button
|
||||
icon={<Search size={16} />}
|
||||
onClick={() => {
|
||||
const filters = { keyword: keyword.trim(), dateRange, reportType, batchNo: batchNo.trim(), operatorKeyword: operatorKeyword.trim(), statusAfter, sourceEntry };
|
||||
setAppliedFilters(filters);
|
||||
if (page !== 1) setPage(1);
|
||||
else loadData(1);
|
||||
else loadData(1, filters);
|
||||
}}
|
||||
>
|
||||
查询
|
||||
@@ -345,6 +348,10 @@ export function AdminReportRecordsPage() {
|
||||
setOperatorKeyword('');
|
||||
setStatusAfter('all');
|
||||
setSourceEntry('all');
|
||||
const filters = { keyword: '', dateRange: {} as DateRangeValue, reportType: 'all', batchNo: '', operatorKeyword: '', statusAfter: 'all', sourceEntry: 'all' };
|
||||
setAppliedFilters(filters);
|
||||
if (page !== 1) setPage(1);
|
||||
else loadData(1, filters);
|
||||
}}
|
||||
variant="ghost"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user