feat: 增加本地测评档案与长期追踪

This commit is contained in:
2026-06-23 00:21:07 +02:00
parent fdfbfa063f
commit c8d5a918cf
19 changed files with 1509 additions and 14 deletions
@@ -5,6 +5,8 @@ import { useScopedI18n } from '@/locales/client';
import { Copy, Download, FileText } from 'lucide-react';
import { toast } from 'sonner';
import { Questionnaire } from '@/types';
import { AssessmentRecord } from '@/lib/assessment-types';
import { recordToMarkdown } from '@/lib/assessment-export';
interface ResultContainerProps {
title: string;
@@ -13,9 +15,11 @@ interface ResultContainerProps {
questionnaire?: Questionnaire;
answers?: string[];
questionnaireResults?: Record<string, string>;
record?: AssessmentRecord;
profileName?: string;
}
export function ResultContainer({ title, id, children, questionnaire, answers, questionnaireResults }: ResultContainerProps) {
export function ResultContainer({ title, id, children, questionnaire, answers, questionnaireResults, record, profileName = '未命名档案' }: ResultContainerProps) {
const t = useScopedI18n(
'component.questionnaire.result.public.resultContainer'
);
@@ -32,6 +36,9 @@ export function ResultContainer({ title, id, children, questionnaire, answers, q
};
const buildResultMarkdown = () => {
if (record) {
return recordToMarkdown(record, profileName);
}
if (!questionnaire || !answers || !questionnaireResults) {
return null;
}
@@ -125,6 +132,9 @@ export function ResultContainer({ title, id, children, questionnaire, answers, q
<Download className="w-4 h-4 mr-2" />
{t('downloadResultData')}
</Button>
<Button asChild className="w-full sm:w-auto">
<Link href="/records"></Link>
</Button>
</div>
</div>
</div>