完整呈現列印功能
This commit is contained in:
@@ -434,6 +434,14 @@ function AdminResultDetailContent() {
|
||||
let creativeTest = ''
|
||||
let recommendations = ['繼續保持現有的學習節奏,持續提升各方面能力'] // 默認建議
|
||||
|
||||
// 定義默認變數,避免作用域問題
|
||||
let logicScore = 0
|
||||
let creativityScore = 0
|
||||
let balanceScore = 0
|
||||
let logicStatus = '需要加強'
|
||||
let creativityStatus = '需要提升'
|
||||
let balanceStatus = '失衡嚴重'
|
||||
|
||||
if (result.type === 'combined' && result.details) {
|
||||
// 調試:輸出數據結構
|
||||
console.log('Print Data Debug:', {
|
||||
@@ -470,11 +478,30 @@ function AdminResultDetailContent() {
|
||||
const logicLevelData = getScoreLevel(result.details.logicScore || 0, 'logic')
|
||||
const creativeLevelData = getScoreLevel(result.details.creativeScore || 0, 'creative')
|
||||
|
||||
// 使用與 CombinedAnalysis 組件相同的邏輯
|
||||
logicScore = result.details.logicScore || 0
|
||||
creativityScore = result.details.creativeScore || 0
|
||||
balanceScore = ((logicScore + creativityScore) / 2)
|
||||
|
||||
// 獲取能力狀態(與 CombinedAnalysis 組件相同)
|
||||
const getAbilityStatus = (score: number) => {
|
||||
if (score >= 80) return "表現優秀"
|
||||
if (score >= 60) return "表現良好"
|
||||
if (score >= 40) return "需要提升"
|
||||
return "需要加強"
|
||||
}
|
||||
|
||||
// 獲取平衡狀態(與 CombinedAnalysis 組件相同)
|
||||
const getBalanceStatus = (score: number) => {
|
||||
if (score >= 80) return "非常均衡"
|
||||
if (score >= 60) return "相對均衡"
|
||||
if (score >= 40) return "需要平衡"
|
||||
return "失衡嚴重"
|
||||
}
|
||||
|
||||
// 生成發展建議(與 CombinedAnalysis 組件相同的邏輯)
|
||||
const generateRecommendations = () => {
|
||||
const recommendations = []
|
||||
const logicScore = result.details.logicScore || 0
|
||||
const creativityScore = result.details.creativeScore || 0
|
||||
|
||||
if (logicScore < 70) {
|
||||
recommendations.push("建議加強邏輯思維訓練,多做推理題和數學題")
|
||||
@@ -503,7 +530,10 @@ function AdminResultDetailContent() {
|
||||
return recommendations.length > 0 ? recommendations : ["繼續保持現有的學習節奏,持續提升各方面能力"]
|
||||
}
|
||||
|
||||
const recommendations = generateRecommendations()
|
||||
recommendations = generateRecommendations()
|
||||
logicStatus = getAbilityStatus(logicScore)
|
||||
creativityStatus = getAbilityStatus(creativityScore)
|
||||
balanceStatus = getBalanceStatus(balanceScore)
|
||||
|
||||
console.log('Generated recommendations:', recommendations)
|
||||
|
||||
@@ -599,11 +629,15 @@ function AdminResultDetailContent() {
|
||||
body {
|
||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||
margin: 0;
|
||||
padding: 0.5rem;
|
||||
padding: 0.8rem;
|
||||
background: #f8fafc;
|
||||
color: #0f172a;
|
||||
line-height: 1.4;
|
||||
font-size: 0.75rem;
|
||||
line-height: 1.5;
|
||||
font-size: 0.8rem;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header {
|
||||
text-align: center;
|
||||
@@ -1052,10 +1086,10 @@ function AdminResultDetailContent() {
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ability-title">邏輯思維</div>
|
||||
<div class="ability-score logic">${result.details.logicScore || 0}</div>
|
||||
<div class="ability-status">需要加強</div>
|
||||
<div class="ability-score logic">${logicScore}</div>
|
||||
<div class="ability-status">${logicStatus}</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" style="width: ${Math.min((result.details.logicScore || 0) / 100 * 100, 100)}%"></div>
|
||||
<div class="progress-fill" style="width: ${Math.min(logicScore, 100)}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ability-card">
|
||||
@@ -1065,10 +1099,10 @@ function AdminResultDetailContent() {
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ability-title">創意能力</div>
|
||||
<div class="ability-score creative">${result.details.creativeScore || 0}</div>
|
||||
<div class="ability-status">需要提升</div>
|
||||
<div class="ability-score creative">${creativityScore}</div>
|
||||
<div class="ability-status">${creativityStatus}</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" style="width: ${Math.min((result.details.creativeScore || 0) / 100 * 100, 100)}%"></div>
|
||||
<div class="progress-fill" style="width: ${Math.min(creativityScore, 100)}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ability-card">
|
||||
@@ -1078,10 +1112,10 @@ function AdminResultDetailContent() {
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ability-title">能力平衡</div>
|
||||
<div class="ability-score balance">${Math.round(((result.details.logicScore || 0) + (result.details.creativeScore || 0)) / 2)}</div>
|
||||
<div class="ability-status">相對均衡</div>
|
||||
<div class="ability-score balance">${Math.round(balanceScore)}</div>
|
||||
<div class="ability-status">${balanceStatus}</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" style="width: ${Math.min(((result.details.logicScore || 0) + (result.details.creativeScore || 0)) / 2 / 100 * 100, 100)}%"></div>
|
||||
<div class="progress-fill" style="width: ${Math.min(balanceScore, 100)}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user