feat: unify scoring and chat evidence pages

This commit is contained in:
2026-09-27 17:47:32 +08:00
parent 039e93d0de
commit 83aa0e84a2
21 changed files with 511 additions and 132 deletions
+2 -1
View File
@@ -10,6 +10,7 @@ from sqlalchemy import select
from . import services
from .exports import batch_projects, export_excel, export_project_pdf, project_result
from .knowledge_pages import evidence_links
from .models import (AuditLog, Conversation, CourseVersion, CriterionScore, IndexTask,
PendingAction, Project, RubricVersion, ScoreEvidence, ScoringBatch, Student, SubmissionFile, now)
from .storage import CATEGORIES, scan, secure_path, sha256
@@ -194,7 +195,7 @@ def prepare(db, conversation: Conversation, kind: str, payload: dict, *, teacher
"old_status": score.status, "evidence_warning": score.error or score.missing_evidence,
"evidence": [{"document": db.get(SubmissionFile, item.submission_file_id).relative_path if item.submission_file_id else "课程资料",
"page": item.page, "quote": item.quote,
"url": f"/api/assets/{item.submission_file_id}/{item.page}" if item.image_path else None}
**evidence_links(db, item)}
for item in evidence],
"new_score": payload["score"], "comment": payload["comment"], "reason": payload["reason"]}
elif kind == "export":