fix: review.tsx

This commit is contained in:
2026-03-14 00:03:39 +08:00
parent bb543eb350
commit 6407e1610e

View File

@@ -157,14 +157,17 @@ const Review: React.FC = () => {
const [reviewNote, setReviewNote] = useState(''); const [reviewNote, setReviewNote] = useState('');
const [supplementModal, setSupplementModal] = useState<FraudAssessment | null>(null); const [supplementModal, setSupplementModal] = useState<FraudAssessment | null>(null);
const [supplementNote, setSupplementNote] = useState(''); const [supplementNote, setSupplementNote] = useState('');
const [autoRefreshUntil, setAutoRefreshUntil] = useState<number>(0);
const { data: assessData } = useQuery({ const { data: assessData } = useQuery({
queryKey: ['assessments', id], queryKey: ['assessments', id],
queryFn: () => fetchAssessments(id), queryFn: () => fetchAssessments(id),
refetchInterval: () => (Date.now() < autoRefreshUntil ? 2000 : false),
}); });
const { data: suggestionsData, isLoading: suggestionsLoading, isFetching: suggestionsFetching } = useQuery({ const { data: suggestionsData, isLoading: suggestionsLoading, isFetching: suggestionsFetching } = useQuery({
queryKey: ['suggestions', id], queryKey: ['suggestions', id],
queryFn: () => fetchInquirySuggestions(id), queryFn: () => fetchInquirySuggestions(id),
refetchInterval: () => (Date.now() < autoRefreshUntil ? 2000 : false),
}); });
const { data: evidenceImageDetail, isFetching: evidenceImageFetching } = useQuery({ const { data: evidenceImageDetail, isFetching: evidenceImageFetching } = useQuery({
queryKey: ['image-detail', reviewModal?.transaction.evidenceImageId], queryKey: ['image-detail', reviewModal?.transaction.evidenceImageId],
@@ -205,6 +208,9 @@ const Review: React.FC = () => {
type: 'success', type: 'success',
content: res.message || '分析任务已提交', content: res.message || '分析任务已提交',
}); });
// Analysis runs asynchronously in backend; keep polling briefly so
// review results appear without manual page refresh.
setAutoRefreshUntil(Date.now() + 60_000);
qc.invalidateQueries({ queryKey: ['assessments', id] }); qc.invalidateQueries({ queryKey: ['assessments', id] });
qc.invalidateQueries({ queryKey: ['suggestions', id] }); qc.invalidateQueries({ queryKey: ['suggestions', id] });
qc.invalidateQueries({ queryKey: ['transactions', id] }); qc.invalidateQueries({ queryKey: ['transactions', id] });