diff --git a/app/components/reviews/ReviewPointsList.tsx b/app/components/reviews/ReviewPointsList.tsx
index d6f7766..14e7577 100644
--- a/app/components/reviews/ReviewPointsList.tsx
+++ b/app/components/reviews/ReviewPointsList.tsx
@@ -690,7 +690,10 @@ export function ReviewPointsList({
const successToShow = successCount || statsToUse.success;
const warningToShow = warningCount || statsToUse.warning;
const errorToShow = errorCount || statsToUse.error;
- const notApplicableToShow = statsToUse.notApplicable || 0;
+ const notApplicableCount = reviewPoints.filter(
+ point => point.status === 'notApplicable' || point.status === 'not_applicable'
+ ).length;
+ const notApplicableToShow = notApplicableCount || statsToUse.notApplicable || 0;
return (
diff --git a/app/routes/reviews.tsx b/app/routes/reviews.tsx
index 1e50eda..0e64d6f 100644
--- a/app/routes/reviews.tsx
+++ b/app/routes/reviews.tsx
@@ -230,10 +230,36 @@ export async function loader({ request }: LoaderFunctionArgs) {
// 先获取文档基本信息(统一接口不返回文档内容)
const reviewData = await getReviewPoints_fromApi(id, request);
+ // 合并已评查的 reviewPoints + 未涉及的评查点
+ const existingPoints = ('data' in reviewData && !('error' in reviewData)) ? reviewData.data : [];
+ const notApplicablePoints = (unifiedData.results || [])
+ .filter((r: any) => r.result_type === 'not_applicable')
+ .map((r: any) => ({
+ id: `na-${r.evaluation_point_id}`,
+ documentId: id,
+ pointId: r.evaluation_point_id,
+ editAuditStatusId: '',
+ editAuditStatus: '',
+ editAuditStatusMessage: '',
+ title: '该评查点未涉及',
+ pointName: r.name || '',
+ groupName: '',
+ status: 'notApplicable',
+ content: {},
+ contentPage: {},
+ suggestion: r.ai_suggestion || '该评查点未涉及',
+ result: null,
+ score: r.score || 0,
+ finalScore: null,
+ machineScore: 0,
+ postAction: '',
+ }));
+ const allReviewPoints = [...existingPoints, ...notApplicablePoints];
+
return Response.json({
previousRoute: previousRoute,
document: ('document' in reviewData && !('error' in reviewData)) ? reviewData.document : null,
- reviewPoints: ('data' in reviewData && !('error' in reviewData)) ? reviewData.data : unifiedData.results,
+ reviewPoints: allReviewPoints,
reviewInfo: { reviewTime: unifiedData.evaluated_at, reviewModel: 'GraphRAG', ruleGroup: '', result: '', issueCount: unifiedData.summary?.total_points || 0 },
statistics: {
total: unifiedData.summary?.total_points || 0,