修正簡體字

This commit is contained in:
2025-09-28 20:42:05 +08:00
parent 18a6583c6b
commit 337a0edb6e
6 changed files with 109 additions and 115 deletions

View File

@@ -369,14 +369,8 @@ export default function HomePage() {
<div className="flex flex-col md:flex-row justify-between items-center gap-4"> <div className="flex flex-col md:flex-row justify-between items-center gap-4">
{/* 左側內容 */} {/* 左側內容 */}
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<div className="w-8 h-8 rounded-lg overflow-hidden flex items-center justify-center"> <div className="w-10 h-10 bg-primary rounded-lg flex items-center justify-center">
<Image <Users className="w-6 h-6 text-primary-foreground" />
src="/solution.png"
alt="HR 評估系統 Logo"
width={32}
height={32}
className="object-contain"
/>
</div> </div>
<div> <div>
<span className="text-lg font-semibold">HR </span> <span className="text-lg font-semibold">HR </span>

View File

@@ -44,9 +44,9 @@ export default function CombinedResultsPage() {
<div className="min-h-screen bg-background flex items-center justify-center"> <div className="min-h-screen bg-background flex items-center justify-center">
<Card className="w-full max-w-md"> <Card className="w-full max-w-md">
<CardContent className="text-center py-8"> <CardContent className="text-center py-8">
<p className="text-muted-foreground mb-4"></p> <p className="text-muted-foreground mb-4"></p>
<Button asChild> <Button asChild>
<Link href="/tests/combined"></Link> <Link href="/tests/combined"></Link>
</Button> </Button>
</CardContent> </CardContent>
</Card> </Card>
@@ -74,9 +74,9 @@ export default function CombinedResultsPage() {
<BarChart3 className="w-6 h-6 text-white" /> <BarChart3 className="w-6 h-6 text-white" />
</div> </div>
<div> <div>
<h1 className="text-xl font-bold text-foreground"></h1> <h1 className="text-xl font-bold text-foreground"></h1>
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
{new Date(results.completedAt).toLocaleString("zh-CN")} {new Date(results.completedAt).toLocaleString("zh-TW")}
</p> </p>
</div> </div>
</div> </div>
@@ -91,7 +91,7 @@ export default function CombinedResultsPage() {
<div className="w-32 h-32 bg-gradient-to-r from-primary to-accent rounded-full flex items-center justify-center mx-auto mb-4"> <div className="w-32 h-32 bg-gradient-to-r from-primary to-accent rounded-full flex items-center justify-center mx-auto mb-4">
<span className="text-4xl font-bold text-white">{results.overallScore}</span> <span className="text-4xl font-bold text-white">{results.overallScore}</span>
</div> </div>
<CardTitle className="text-4xl mb-2"></CardTitle> <CardTitle className="text-4xl mb-2"></CardTitle>
<div className="flex items-center justify-center gap-2 mb-4"> <div className="flex items-center justify-center gap-2 mb-4">
<Badge className="bg-gradient-to-r from-primary to-accent text-white text-xl px-6 py-2"> <Badge className="bg-gradient-to-r from-primary to-accent text-white text-xl px-6 py-2">
{results.level} {results.level}
@@ -106,13 +106,13 @@ export default function CombinedResultsPage() {
<div className={`text-3xl font-bold mb-2 ${getScoreColor(results.logicScore)}`}> <div className={`text-3xl font-bold mb-2 ${getScoreColor(results.logicScore)}`}>
{results.logicScore} {results.logicScore}
</div> </div>
<div className="text-sm text-muted-foreground"></div> <div className="text-sm text-muted-foreground"></div>
</div> </div>
<div className="text-center"> <div className="text-center">
<div className={`text-3xl font-bold mb-2 ${getScoreColor(results.creativityScore)}`}> <div className={`text-3xl font-bold mb-2 ${getScoreColor(results.creativityScore)}`}>
{results.creativityScore} {results.creativityScore}
</div> </div>
<div className="text-sm text-muted-foreground"></div> <div className="text-sm text-muted-foreground"></div>
</div> </div>
<div className="text-center"> <div className="text-center">
<div className={`text-3xl font-bold mb-2 ${getScoreColor(results.breakdown.balance)}`}> <div className={`text-3xl font-bold mb-2 ${getScoreColor(results.breakdown.balance)}`}>
@@ -131,7 +131,7 @@ export default function CombinedResultsPage() {
<CardHeader> <CardHeader>
<CardTitle className="flex items-center gap-2"> <CardTitle className="flex items-center gap-2">
<Brain className="w-5 h-5 text-primary" /> <Brain className="w-5 h-5 text-primary" />
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
@@ -146,11 +146,11 @@ export default function CombinedResultsPage() {
<div className="grid grid-cols-2 gap-4 text-sm"> <div className="grid grid-cols-2 gap-4 text-sm">
<div className="text-center p-3 bg-muted/50 rounded"> <div className="text-center p-3 bg-muted/50 rounded">
<div className="font-bold text-green-600">{results.logicCorrect}</div> <div className="font-bold text-green-600">{results.logicCorrect}</div>
<div className="text-muted-foreground"></div> <div className="text-muted-foreground"></div>
</div> </div>
<div className="text-center p-3 bg-muted/50 rounded"> <div className="text-center p-3 bg-muted/50 rounded">
<div className="font-bold text-primary">10</div> <div className="font-bold text-primary">10</div>
<div className="text-muted-foreground"></div> <div className="text-muted-foreground"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -162,7 +162,7 @@ export default function CombinedResultsPage() {
<CardHeader> <CardHeader>
<CardTitle className="flex items-center gap-2"> <CardTitle className="flex items-center gap-2">
<Lightbulb className="w-5 h-5 text-accent" /> <Lightbulb className="w-5 h-5 text-accent" />
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
@@ -177,11 +177,11 @@ export default function CombinedResultsPage() {
<div className="grid grid-cols-2 gap-4 text-sm"> <div className="grid grid-cols-2 gap-4 text-sm">
<div className="text-center p-3 bg-muted/50 rounded"> <div className="text-center p-3 bg-muted/50 rounded">
<div className="font-bold text-accent">{results.creativityTotal}</div> <div className="font-bold text-accent">{results.creativityTotal}</div>
<div className="text-muted-foreground"></div> <div className="text-muted-foreground"></div>
</div> </div>
<div className="text-center p-3 bg-muted/50 rounded"> <div className="text-center p-3 bg-muted/50 rounded">
<div className="font-bold text-primary">{results.creativityMaxScore}</div> <div className="font-bold text-primary">{results.creativityMaxScore}</div>
<div className="text-muted-foreground"></div> <div className="text-muted-foreground">滿</div>
</div> </div>
</div> </div>
</div> </div>
@@ -201,28 +201,28 @@ export default function CombinedResultsPage() {
<div className="grid grid-cols-1 md:grid-cols-3 gap-6"> <div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div className="text-center p-6 border rounded-lg"> <div className="text-center p-6 border rounded-lg">
<Brain className="w-12 h-12 text-primary mx-auto mb-4" /> <Brain className="w-12 h-12 text-primary mx-auto mb-4" />
<h3 className="font-semibold mb-2"></h3> <h3 className="font-semibold mb-2"></h3>
<div className={`text-2xl font-bold mb-2 ${getScoreColor(results.logicScore)}`}> <div className={`text-2xl font-bold mb-2 ${getScoreColor(results.logicScore)}`}>
{results.logicScore} {results.logicScore}
</div> </div>
<Progress value={results.logicScore} className="h-2 mb-2" /> <Progress value={results.logicScore} className="h-2 mb-2" />
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
{results.logicScore >= 80 ? "表现优秀" : results.logicScore >= 60 ? "表良好" : "需要提升"} {results.logicScore >= 80 ? "表現優秀" : results.logicScore >= 60 ? "表良好" : "需要提升"}
</p> </p>
</div> </div>
<div className="text-center p-6 border rounded-lg"> <div className="text-center p-6 border rounded-lg">
<Lightbulb className="w-12 h-12 text-accent mx-auto mb-4" /> <Lightbulb className="w-12 h-12 text-accent mx-auto mb-4" />
<h3 className="font-semibold mb-2"></h3> <h3 className="font-semibold mb-2"></h3>
<div className={`text-2xl font-bold mb-2 ${getScoreColor(results.creativityScore)}`}> <div className={`text-2xl font-bold mb-2 ${getScoreColor(results.creativityScore)}`}>
{results.creativityScore} {results.creativityScore}
</div> </div>
<Progress value={results.creativityScore} className="h-2 mb-2" /> <Progress value={results.creativityScore} className="h-2 mb-2" />
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
{results.creativityScore >= 80 {results.creativityScore >= 80
? "表现优秀" ? "表現優秀"
: results.creativityScore >= 60 : results.creativityScore >= 60
? "表良好" ? "表良好"
: "需要提升"} : "需要提升"}
</p> </p>
</div> </div>
@@ -238,8 +238,8 @@ export default function CombinedResultsPage() {
{results.breakdown.balance >= 80 {results.breakdown.balance >= 80
? "非常均衡" ? "非常均衡"
: results.breakdown.balance >= 60 : results.breakdown.balance >= 60
? "相均衡" ? "相均衡"
: "展不均"} : "展不均"}
</p> </p>
</div> </div>
</div> </div>
@@ -252,7 +252,7 @@ export default function CombinedResultsPage() {
<CardHeader> <CardHeader>
<CardTitle className="flex items-center gap-2"> <CardTitle className="flex items-center gap-2">
<Award className="w-5 h-5" /> <Award className="w-5 h-5" />
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
@@ -275,17 +275,17 @@ export default function CombinedResultsPage() {
<Button asChild size="lg"> <Button asChild size="lg">
<Link href="/"> <Link href="/">
<Home className="w-4 h-4 mr-2" /> <Home className="w-4 h-4 mr-2" />
</Link> </Link>
</Button> </Button>
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/tests/combined"> <Link href="/tests/combined">
<RotateCcw className="w-4 h-4 mr-2" /> <RotateCcw className="w-4 h-4 mr-2" />
</Link> </Link>
</Button> </Button>
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/results"></Link> <Link href="/results"></Link>
</Button> </Button>
</div> </div>
</div> </div>

View File

@@ -33,9 +33,9 @@ export default function CreativeResultsPage() {
<div className="min-h-screen bg-background flex items-center justify-center"> <div className="min-h-screen bg-background flex items-center justify-center">
<Card className="w-full max-w-md"> <Card className="w-full max-w-md">
<CardContent className="text-center py-8"> <CardContent className="text-center py-8">
<p className="text-muted-foreground mb-4"></p> <p className="text-muted-foreground mb-4"></p>
<Button asChild> <Button asChild>
<Link href="/tests/creative"></Link> <Link href="/tests/creative"></Link>
</Button> </Button>
</CardContent> </CardContent>
</Card> </Card>
@@ -44,21 +44,21 @@ export default function CreativeResultsPage() {
} }
const getCreativityLevel = (score: number) => { const getCreativityLevel = (score: number) => {
if (score >= 85) return { level: "极具创意", color: "bg-purple-500", description: "有卓越的新思和想力" } if (score >= 85) return { level: "極具創意", color: "bg-purple-500", description: "有卓越的新思和想力" }
if (score >= 75) return { level: "很有意", color: "bg-blue-500", description: "具备较强的创造性思能力" } if (score >= 75) return { level: "很有意", color: "bg-blue-500", description: "具備較強的創造性思能力" }
if (score >= 65) return { level: "有一定意", color: "bg-green-500", description: "具有一定的创新潜力" } if (score >= 65) return { level: "有一定意", color: "bg-green-500", description: "具有一定的創新潛力" }
if (score >= 50) return { level: "意一般", color: "bg-yellow-500", description: "造性思有待提升" } if (score >= 50) return { level: "意一般", color: "bg-yellow-500", description: "造性思有待提升" }
return { level: "缺乏意", color: "bg-red-500", description: "需要培养创新思能力" } return { level: "缺乏意", color: "bg-red-500", description: "需要培養創新思能力" }
} }
const creativityLevel = getCreativityLevel(results.score) const creativityLevel = getCreativityLevel(results.score)
// Calculate category scores // Calculate category scores
const categoryScores = { const categoryScores = {
innovation: { total: 0, count: 0, name: "新能力" }, innovation: { total: 0, count: 0, name: "新能力" },
imagination: { total: 0, count: 0, name: "想力" }, imagination: { total: 0, count: 0, name: "想力" },
flexibility: { total: 0, count: 0, name: "活性" }, flexibility: { total: 0, count: 0, name: "活性" },
originality: { total: 0, count: 0, name: "原性" }, originality: { total: 0, count: 0, name: "原性" },
} }
creativeQuestions.forEach((question, index) => { creativeQuestions.forEach((question, index) => {
@@ -86,9 +86,9 @@ export default function CreativeResultsPage() {
<Lightbulb className="w-6 h-6 text-accent-foreground" /> <Lightbulb className="w-6 h-6 text-accent-foreground" />
</div> </div>
<div> <div>
<h1 className="text-xl font-bold text-foreground"></h1> <h1 className="text-xl font-bold text-foreground"></h1>
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
{new Date(results.completedAt).toLocaleString("zh-CN")} {new Date(results.completedAt).toLocaleString("zh-TW")}
</p> </p>
</div> </div>
</div> </div>
@@ -105,7 +105,7 @@ export default function CreativeResultsPage() {
> >
<span className="text-3xl font-bold text-white">{results.score}</span> <span className="text-3xl font-bold text-white">{results.score}</span>
</div> </div>
<CardTitle className="text-3xl mb-2"></CardTitle> <CardTitle className="text-3xl mb-2"></CardTitle>
<div className="flex items-center justify-center gap-2 mb-4"> <div className="flex items-center justify-center gap-2 mb-4">
<Badge variant="secondary" className="text-lg px-4 py-1"> <Badge variant="secondary" className="text-lg px-4 py-1">
{creativityLevel.level} {creativityLevel.level}
@@ -139,7 +139,7 @@ export default function CreativeResultsPage() {
<CardHeader> <CardHeader>
<CardTitle className="flex items-center gap-2"> <CardTitle className="flex items-center gap-2">
<TrendingUp className="w-5 h-5" /> <TrendingUp className="w-5 h-5" />
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
@@ -163,20 +163,20 @@ export default function CreativeResultsPage() {
{/* Detailed Feedback */} {/* Detailed Feedback */}
<Card> <Card>
<CardHeader> <CardHeader>
<CardTitle></CardTitle> <CardTitle></CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
<div className="space-y-4"> <div className="space-y-4">
<div className="p-4 bg-muted/50 rounded-lg"> <div className="p-4 bg-muted/50 rounded-lg">
<h3 className="font-medium mb-2"></h3> <h3 className="font-medium mb-2"></h3>
<p className="text-sm text-muted-foreground leading-relaxed"> <p className="text-sm text-muted-foreground leading-relaxed">
"{creativityLevel.level}" {creativityLevel.level}
{results.score >= 75 && {results.score >= 75 &&
"您具出色的新思能力,善于从不同角度思考问题,能够产生独特的想法和解方案。"} "您具出色的新思能力,善於從不同角度思考問題,能夠產生獨特的想法和解方案。"}
{results.score >= 50 && {results.score >= 50 &&
results.score < 75 && results.score < 75 &&
"您具有一定的造性思维潜力,建议多参与创新活,培养发散性思。"} "您具有一定的造性思維潛力,建議多參與創新活,培養發散性思。"}
{results.score < 50 && "建您多接触创新思维训练,培好奇心和探索精神,提升造性解决问题的能力。"} {results.score < 50 && "建您多接觸創新思維訓練,培好奇心和探索精神,提升造性解決問題的能力。"}
</p> </p>
</div> </div>
@@ -189,9 +189,9 @@ export default function CreativeResultsPage() {
<span className="text-sm font-medium">{category.score}%</span> <span className="text-sm font-medium">{category.score}%</span>
</div> </div>
<p className="text-xs text-muted-foreground"> <p className="text-xs text-muted-foreground">
{category.score >= 80 && "表现优秀,继续保持"} {category.score >= 80 && "表現優秀,繼續保持"}
{category.score >= 60 && category.score < 80 && "表良好,有提升空"} {category.score >= 60 && category.score < 80 && "表良好,有提升空"}
{category.score < 60 && "需要重提升"} {category.score < 60 && "需要重提升"}
</p> </p>
</div> </div>
))} ))}
@@ -211,11 +211,11 @@ export default function CreativeResultsPage() {
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/tests/creative"> <Link href="/tests/creative">
<RotateCcw className="w-4 h-4 mr-2" /> <RotateCcw className="w-4 h-4 mr-2" />
</Link> </Link>
</Button> </Button>
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/tests/logic"></Link> <Link href="/tests/logic"></Link>
</Button> </Button>
</div> </div>
</div> </div>

View File

@@ -33,9 +33,9 @@ export default function LogicResultsPage() {
<div className="min-h-screen bg-background flex items-center justify-center"> <div className="min-h-screen bg-background flex items-center justify-center">
<Card className="w-full max-w-md"> <Card className="w-full max-w-md">
<CardContent className="text-center py-8"> <CardContent className="text-center py-8">
<p className="text-muted-foreground mb-4"></p> <p className="text-muted-foreground mb-4"></p>
<Button asChild> <Button asChild>
<Link href="/tests/logic"></Link> <Link href="/tests/logic"></Link>
</Button> </Button>
</CardContent> </CardContent>
</Card> </Card>
@@ -44,11 +44,11 @@ export default function LogicResultsPage() {
} }
const getScoreLevel = (score: number) => { const getScoreLevel = (score: number) => {
if (score >= 90) return { level: "秀", color: "bg-green-500", description: "逻辑思维能力出色" } if (score >= 90) return { level: "秀", color: "bg-green-500", description: "邏輯思維能力出色" }
if (score >= 80) return { level: "良好", color: "bg-blue-500", description: "逻辑思维能力较强" } if (score >= 80) return { level: "良好", color: "bg-blue-500", description: "邏輯思維能力較強" }
if (score >= 70) return { level: "中等", color: "bg-yellow-500", description: "逻辑思维能力一般" } if (score >= 70) return { level: "中等", color: "bg-yellow-500", description: "邏輯思維能力一般" }
if (score >= 60) return { level: "及格", color: "bg-orange-500", description: "逻辑思维能力需要提升" } if (score >= 60) return { level: "及格", color: "bg-orange-500", description: "邏輯思維能力需要提升" }
return { level: "不及格", color: "bg-red-500", description: "逻辑思维能力有待加" } return { level: "不及格", color: "bg-red-500", description: "邏輯思維能力有待加" }
} }
const scoreLevel = getScoreLevel(results.score) const scoreLevel = getScoreLevel(results.score)
@@ -63,9 +63,9 @@ export default function LogicResultsPage() {
<Brain className="w-6 h-6 text-primary-foreground" /> <Brain className="w-6 h-6 text-primary-foreground" />
</div> </div>
<div> <div>
<h1 className="text-xl font-bold text-foreground"></h1> <h1 className="text-xl font-bold text-foreground"></h1>
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
{new Date(results.completedAt).toLocaleString("zh-CN")} {new Date(results.completedAt).toLocaleString("zh-TW")}
</p> </p>
</div> </div>
</div> </div>
@@ -82,7 +82,7 @@ export default function LogicResultsPage() {
> >
<span className="text-3xl font-bold text-white">{results.score}</span> <span className="text-3xl font-bold text-white">{results.score}</span>
</div> </div>
<CardTitle className="text-3xl mb-2"></CardTitle> <CardTitle className="text-3xl mb-2"></CardTitle>
<div className="flex items-center justify-center gap-2 mb-4"> <div className="flex items-center justify-center gap-2 mb-4">
<Badge variant="secondary" className="text-lg px-4 py-1"> <Badge variant="secondary" className="text-lg px-4 py-1">
{scoreLevel.level} {scoreLevel.level}
@@ -94,17 +94,17 @@ export default function LogicResultsPage() {
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> <div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
<div className="text-center"> <div className="text-center">
<div className="text-2xl font-bold text-green-600 mb-1">{results.correctAnswers}</div> <div className="text-2xl font-bold text-green-600 mb-1">{results.correctAnswers}</div>
<div className="text-sm text-muted-foreground"></div> <div className="text-sm text-muted-foreground"></div>
</div> </div>
<div className="text-center"> <div className="text-center">
<div className="text-2xl font-bold text-primary mb-1">{results.totalQuestions}</div> <div className="text-2xl font-bold text-primary mb-1">{results.totalQuestions}</div>
<div className="text-sm text-muted-foreground"></div> <div className="text-sm text-muted-foreground"></div>
</div> </div>
<div className="text-center"> <div className="text-center">
<div className="text-2xl font-bold text-accent mb-1"> <div className="text-2xl font-bold text-accent mb-1">
{Math.round((results.correctAnswers / results.totalQuestions) * 100)}% {Math.round((results.correctAnswers / results.totalQuestions) * 100)}%
</div> </div>
<div className="text-sm text-muted-foreground"></div> <div className="text-sm text-muted-foreground"></div>
</div> </div>
</div> </div>
<Progress value={results.score} className="h-3 mb-4" /> <Progress value={results.score} className="h-3 mb-4" />
@@ -114,7 +114,7 @@ export default function LogicResultsPage() {
{/* Detailed Results */} {/* Detailed Results */}
<Card> <Card>
<CardHeader> <CardHeader>
<CardTitle></CardTitle> <CardTitle></CardTitle>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
<div className="space-y-6"> <div className="space-y-6">
@@ -136,7 +136,7 @@ export default function LogicResultsPage() {
</div> </div>
<div className="flex-1"> <div className="flex-1">
<h3 className="font-medium mb-2 text-balance"> <h3 className="font-medium mb-2 text-balance">
{index + 1}{question.question} {index + 1}{question.question}
</h3> </h3>
<div className="space-y-2 text-sm"> <div className="space-y-2 text-sm">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
@@ -147,7 +147,7 @@ export default function LogicResultsPage() {
</div> </div>
{!isCorrect && ( {!isCorrect && (
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<span className="text-muted-foreground"></span> <span className="text-muted-foreground"></span>
<Badge variant="outline" className="border-green-500 text-green-700"> <Badge variant="outline" className="border-green-500 text-green-700">
{correctOption?.text} {correctOption?.text}
</Badge> </Badge>
@@ -174,17 +174,17 @@ export default function LogicResultsPage() {
<Button asChild size="lg"> <Button asChild size="lg">
<Link href="/"> <Link href="/">
<Home className="w-4 h-4 mr-2" /> <Home className="w-4 h-4 mr-2" />
</Link> </Link>
</Button> </Button>
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/tests/logic"> <Link href="/tests/logic">
<RotateCcw className="w-4 h-4 mr-2" /> <RotateCcw className="w-4 h-4 mr-2" />
</Link> </Link>
</Button> </Button>
<Button asChild variant="outline" size="lg"> <Button asChild variant="outline" size="lg">
<Link href="/tests/creative"></Link> <Link href="/tests/creative"></Link>
</Button> </Button>
</div> </div>
</div> </div>

View File

@@ -86,11 +86,11 @@ export default function CreativeTestPage() {
const hasAnswer = answers[currentQuestion] !== undefined const hasAnswer = answers[currentQuestion] !== undefined
const scaleOptions = [ const scaleOptions = [
{ value: "5", label: "我最符合", color: "text-green-600" }, { value: "5", label: "我最符合", color: "text-green-600", bgColor: "bg-green-50" },
{ value: "4", label: "比符合", color: "text-green-500" }, { value: "4", label: "比符合", color: "text-green-500", bgColor: "bg-green-50" },
{ value: "3", label: "一般", color: "text-yellow-500" }, { value: "3", label: "一般", color: "text-yellow-500", bgColor: "bg-yellow-50" },
{ value: "2", label: "不太符合", color: "text-orange-500" }, { value: "2", label: "不太符合", color: "text-orange-500", bgColor: "bg-orange-50" },
{ value: "1", label: "我不符", color: "text-red-500" }, { value: "1", label: "我不符", color: "text-red-500", bgColor: "bg-red-50" },
] ]
return ( return (
@@ -116,7 +116,7 @@ export default function CreativeTestPage() {
{scaleOptions.map((option) => ( {scaleOptions.map((option) => (
<div <div
key={option.value} key={option.value}
className="flex items-center space-x-4 p-4 rounded-lg border hover:bg-muted/50 transition-colors" className={`flex items-center space-x-4 p-4 rounded-lg border ${option.bgColor} hover:bg-muted/50 transition-colors`}
> >
<RadioGroupItem value={option.value} id={`option-${option.value}`} /> <RadioGroupItem value={option.value} id={`option-${option.value}`} />
<Label <Label

View File

@@ -11,9 +11,9 @@ export function calculateLogicScore(correctAnswers: number, totalQuestions: numb
if (score >= 90) { if (score >= 90) {
return { return {
score, score,
level: "秀", level: "秀",
color: "bg-green-500", color: "bg-green-500",
description: "逻辑思维能力出色,具卓越的分析和推理能力", description: "邏輯思維能力出色,具卓越的分析和推理能力",
} }
} }
if (score >= 80) { if (score >= 80) {
@@ -21,7 +21,7 @@ export function calculateLogicScore(correctAnswers: number, totalQuestions: numb
score, score,
level: "良好", level: "良好",
color: "bg-blue-500", color: "bg-blue-500",
description: "逻辑思维能力较强,能有效分析和解决问题", description: "邏輯思維能力較強,能有效分析和解決問題",
} }
} }
if (score >= 70) { if (score >= 70) {
@@ -29,7 +29,7 @@ export function calculateLogicScore(correctAnswers: number, totalQuestions: numb
score, score,
level: "中等", level: "中等",
color: "bg-yellow-500", color: "bg-yellow-500",
description: "逻辑思维能力一般,有一定的分析能力", description: "邏輯思維能力一般,有一定的分析能力",
} }
} }
if (score >= 60) { if (score >= 60) {
@@ -37,14 +37,14 @@ export function calculateLogicScore(correctAnswers: number, totalQuestions: numb
score, score,
level: "及格", level: "及格",
color: "bg-orange-500", color: "bg-orange-500",
description: "逻辑思维能力需要提升,建议加强训练", description: "邏輯思維能力需要提升,建議加強訓練",
} }
} }
return { return {
score, score,
level: "不及格", level: "不及格",
color: "bg-red-500", color: "bg-red-500",
description: "逻辑思维能力有待加,需要系统性训练", description: "邏輯思維能力有待加,需要系統性訓練",
} }
} }
@@ -54,40 +54,40 @@ export function calculateCreativityScore(totalScore: number, maxScore: number):
if (score >= 85) { if (score >= 85) {
return { return {
score, score,
level: "极具创意", level: "極具創意",
color: "bg-purple-500", color: "bg-purple-500",
description: "有卓越的新思和想力,能够产生独特的解方案", description: "有卓越的新思和想力,能夠產生獨特的解方案",
} }
} }
if (score >= 75) { if (score >= 75) {
return { return {
score, score,
level: "很有意", level: "很有意",
color: "bg-blue-500", color: "bg-blue-500",
description: "具备较强的创造性思能力,善于创新", description: "具備較強的創造性思能力,善於創新",
} }
} }
if (score >= 65) { if (score >= 65) {
return { return {
score, score,
level: "有一定意", level: "有一定意",
color: "bg-green-500", color: "bg-green-500",
description: "具有一定的创新潜力,可以一步培", description: "具有一定的創新潛力,可以一步培",
} }
} }
if (score >= 50) { if (score >= 50) {
return { return {
score, score,
level: "意一般", level: "意一般",
color: "bg-yellow-500", color: "bg-yellow-500",
description: "造性思有待提升,建议多参与创新活", description: "造性思有待提升,建議多參與創新活",
} }
} }
return { return {
score, score,
level: "缺乏意", level: "缺乏意",
color: "bg-red-500", color: "bg-red-500",
description: "需要培养创新思能力,建接受意思维训练", description: "需要培養創新思能力,建接受意思維訓練",
} }
} }
@@ -105,12 +105,12 @@ export function calculateCombinedScore(
balance: number balance: number
} }
} { } {
// 合分数:逻辑40% + 意40% + 平衡性20% // 合分數:邏輯40% + 意40% + 平衡性20%
const logicWeight = 0.4 const logicWeight = 0.4
const creativityWeight = 0.4 const creativityWeight = 0.4
const balanceWeight = 0.2 const balanceWeight = 0.2
// 算平衡性分数(两项分数越接近,平衡性越高) // 算平衡性分數(兩項分數越接近,平衡性越高)
const scoreDiff = Math.abs(logicScore - creativityScore) const scoreDiff = Math.abs(logicScore - creativityScore)
const balanceScore = Math.max(0, 100 - scoreDiff * 2) const balanceScore = Math.max(0, 100 - scoreDiff * 2)
@@ -125,23 +125,23 @@ export function calculateCombinedScore(
if (overallScore >= 90) { if (overallScore >= 90) {
level = "卓越" level = "卓越"
color = "bg-gradient-to-r from-purple-500 to-blue-500" color = "bg-gradient-to-r from-purple-500 to-blue-500"
description = "合能力卓越,逻辑思维与创意能力重,是理想的合型人才" description = "合能力卓越,邏輯思維與創意能力重,是理想的合型人才"
} else if (overallScore >= 80) { } else if (overallScore >= 80) {
level = "秀" level = "秀"
color = "bg-gradient-to-r from-blue-500 to-green-500" color = "bg-gradient-to-r from-blue-500 to-green-500"
description = "合能力秀,在逻辑思维和创意能力方面都有良好表" description = "合能力秀,在邏輯思維和創意能力方面都有良好表"
} else if (overallScore >= 70) { } else if (overallScore >= 70) {
level = "良好" level = "良好"
color = "bg-gradient-to-r from-green-500 to-yellow-500" color = "bg-gradient-to-r from-green-500 to-yellow-500"
description = "合能力良好,具一定的逻辑思维和创意能力" description = "合能力良好,具一定的邏輯思維和創意能力"
} else if (overallScore >= 60) { } else if (overallScore >= 60) {
level = "中等" level = "中等"
color = "bg-gradient-to-r from-yellow-500 to-orange-500" color = "bg-gradient-to-r from-yellow-500 to-orange-500"
description = "合能力中等,建议针对性提升薄弱环节" description = "合能力中等,建議針對性提升薄弱環節"
} else { } else {
level = "待提升" level = "待提升"
color = "bg-gradient-to-r from-orange-500 to-red-500" color = "bg-gradient-to-r from-orange-500 to-red-500"
description = "合能力有待提升,建议系统性训练逻辑思维和创意能力" description = "合能力有待提升,建議系統性訓練邏輯思維和創意能力"
} }
return { return {
@@ -161,27 +161,27 @@ export function getRecommendations(logicScore: number, creativityScore: number):
const recommendations: string[] = [] const recommendations: string[] = []
if (logicScore < 70) { if (logicScore < 70) {
recommendations.push("建议加强逻辑思维训练,多做推理题和数学题") recommendations.push("建議加強邏輯思維訓練,多做推理題和數學題")
recommendations.push("学习系统性思方法,如思维导图、流程等") recommendations.push("學習系統性思方法,如思維導圖、流程等")
} }
if (creativityScore < 70) { if (creativityScore < 70) {
recommendations.push("建议参与更多意活,如头脑风暴、设计思维工作坊") recommendations.push("建議參與更多意活,如頭腦風暴、設計思維工作坊")
recommendations.push("培好奇心,多接不同域的知识和经验") recommendations.push("培好奇心,多接不同域的知識和經驗")
} }
const scoreDiff = Math.abs(logicScore - creativityScore) const scoreDiff = Math.abs(logicScore - creativityScore)
if (scoreDiff > 20) { if (scoreDiff > 20) {
if (logicScore > creativityScore) { if (logicScore > creativityScore) {
recommendations.push("您的逻辑思维较强,建平衡发展创意能力") recommendations.push("您的邏輯思維較強,建平衡發展創意能力")
} else { } else {
recommendations.push("您的意能力较强,建平衡发展逻辑思维") recommendations.push("您的意能力較強,建平衡發展邏輯思維")
} }
} }
if (logicScore >= 80 && creativityScore >= 80) { if (logicScore >= 80 && creativityScore >= 80) {
recommendations.push("您具备优秀的合能力,建议承担更多挑性工作") recommendations.push("您具備優秀的合能力,建議承擔更多挑性工作")
recommendations.push("可以考虑担任需要新和分析重的领导角色") recommendations.push("可以考慮擔任需要新和分析重的領導角色")
} }
return recommendations return recommendations