|
@@ -0,0 +1,289 @@
|
|
|
+<template>
|
|
|
+ <div class="report-page">
|
|
|
+ <!-- 标题部分 -->
|
|
|
+ <div class="page-title">AI思维及学情报告</div>
|
|
|
+
|
|
|
+ <!-- 已玩卡片标签 -->
|
|
|
+ <div class="card-container">
|
|
|
+ <div class="card-header">
|
|
|
+ <div class="section-title">已玩卡片</div>
|
|
|
+ </div>
|
|
|
+ <div class="tags-container">
|
|
|
+ <span class="tag">逻小熊爱文化</span>
|
|
|
+ <span class="tag">逻辑思维提升</span>
|
|
|
+ <span class="tag">数学启蒙</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 数据总览 -->
|
|
|
+ <div class="data-overview">
|
|
|
+ <div class="section-title">数据总览</div>
|
|
|
+ <div class="stats-container">
|
|
|
+ <div class="stat-item">
|
|
|
+ <div class="stat-value">12</div>
|
|
|
+ <div class="stat-label">游戏主题</div>
|
|
|
+ </div>
|
|
|
+ <div class="stat-item">
|
|
|
+ <div class="stat-value">36</div>
|
|
|
+ <div class="stat-label">卡片数量</div>
|
|
|
+ </div>
|
|
|
+ <div class="stat-item">
|
|
|
+ <div class="stat-value">45</div>
|
|
|
+ <div class="stat-label">游戏时长(分钟)</div>
|
|
|
+ </div>
|
|
|
+ <div class="stat-item">
|
|
|
+ <div class="stat-value">85%</div>
|
|
|
+ <div class="stat-label">正确率</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 卡片详情列表 -->
|
|
|
+ <div class="card-details">
|
|
|
+ <div class="section-title">卡片详情</div>
|
|
|
+
|
|
|
+ <!-- 卡片项 -->
|
|
|
+ <div class="card-item">
|
|
|
+ <div class="card-header">
|
|
|
+ <div class="card-title">华夏美食的秘密</div>
|
|
|
+ <div class="card-stats">
|
|
|
+ <span>用时: <strong>6s</strong></span>
|
|
|
+ <span>正确率: <strong>75%</strong></span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 正面游戏统计 -->
|
|
|
+ <div class="game-stats">
|
|
|
+ <div class="game-type">卡正面游戏</div>
|
|
|
+ <div class="game-accuracy">正确 <strong>2/6</strong></div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="card-results">
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 反面游戏统计 -->
|
|
|
+ <div class="game-stats">
|
|
|
+ <div class="game-type">卡反面游戏</div>
|
|
|
+ <div class="game-accuracy">正确 <strong>2/6</strong></div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="card-results">
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item correct">√</div>
|
|
|
+ <div class="result-item wrong">×</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts" setup>
|
|
|
+// 这里可以添加需要的数据和方法
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+@import '@/styles/var.less';
|
|
|
+.report-page {
|
|
|
+ max-width: 800px;
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: 20px;
|
|
|
+ color: #333;
|
|
|
+ font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
|
|
|
+ background-color: @page-color;
|
|
|
+}
|
|
|
+
|
|
|
+.page-title {
|
|
|
+ padding: 8px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ text-align: center;
|
|
|
+ color: @main-color;
|
|
|
+ font-size: 28px;
|
|
|
+ font-weight: 600;
|
|
|
+ position: relative;
|
|
|
+ background-color: #fff;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.section-title {
|
|
|
+ width: 100%;
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #000;
|
|
|
+ font-weight: 600;
|
|
|
+ position: relative;
|
|
|
+ display: inline-block;
|
|
|
+ text-align: left;
|
|
|
+}
|
|
|
+
|
|
|
+// 卡片容器通用样式
|
|
|
+.card-container {
|
|
|
+ margin-top: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+.card-header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 16px;
|
|
|
+ color: #000;
|
|
|
+ border-bottom: 0.5px solid #ebeaea;
|
|
|
+ padding-bottom: 6px;
|
|
|
+}
|
|
|
+
|
|
|
+// 卡片标签样式
|
|
|
+.tags-container {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: 12px;
|
|
|
+ margin: 16px 0;
|
|
|
+ border-radius: 12px;
|
|
|
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
|
+ padding: 16px;
|
|
|
+ background-color: #fff;
|
|
|
+
|
|
|
+ .tag {
|
|
|
+ background-color: #e8f5e9;
|
|
|
+ color: @main-color;
|
|
|
+ padding: 8px 16px;
|
|
|
+ border-radius: 20px;
|
|
|
+ font-size: 14px;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 数据总览样式
|
|
|
+.data-overview {
|
|
|
+
|
|
|
+ .stats-container {
|
|
|
+ background-color: #fff;
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(4, 1fr);
|
|
|
+ gap: 16px;
|
|
|
+ margin-top: 16px;
|
|
|
+ padding: 16px;
|
|
|
+ border-radius: 12px;
|
|
|
+ padding: 16px;
|
|
|
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
|
+ @media (max-width: 768px) {
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ }
|
|
|
+
|
|
|
+ .stat-item {
|
|
|
+ background-color: #f0f8f3;
|
|
|
+ border-radius: 12px;
|
|
|
+ padding: 20px;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ .stat-value {
|
|
|
+ font-size: 24px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: @main-color;
|
|
|
+ margin-bottom: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .stat-label {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 卡片详情样式
|
|
|
+.card-details {
|
|
|
+ margin: 16px 0;
|
|
|
+ .card-item {
|
|
|
+ background-color: #fff;
|
|
|
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
|
+ border-radius: 12px;
|
|
|
+ padding: 16px;
|
|
|
+ margin-top: 16px;
|
|
|
+ margin-bottom: 16px;
|
|
|
+
|
|
|
+ .card-header {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between ;
|
|
|
+ align-items: center ;
|
|
|
+ margin-bottom: 16px;
|
|
|
+
|
|
|
+ .card-title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: @main-color;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-stats {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+ display: flex;
|
|
|
+ gap: 16px;
|
|
|
+
|
|
|
+ strong {
|
|
|
+ color: @main-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-results {
|
|
|
+ display: flex;
|
|
|
+ gap: 12px;
|
|
|
+
|
|
|
+ .result-item {
|
|
|
+ width: 36px;
|
|
|
+ height: 36px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ border-radius: 50%;
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ &.correct {
|
|
|
+ background-color: #e8f5e9;
|
|
|
+ color: @main-color;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.wrong {
|
|
|
+ background-color: #ffebee;
|
|
|
+ color: #e53935;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 游戏统计样式
|
|
|
+.game-stats {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin: 12px 0;
|
|
|
+
|
|
|
+ .game-type {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .game-accuracy {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+
|
|
|
+ strong {
|
|
|
+ color: @main-color;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|