learning-analysis.blade.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. @props(['analysisData'])
  2. @if(!empty($analysisData))
  3. <div class="bg-white rounded-lg shadow-sm border border-gray-200 p-4">
  4. <div class="flex items-center justify-between mb-3">
  5. <h2 class="text-sm font-semibold text-gray-900">📈 学习分析</h2>
  6. <span class="text-xs text-gray-500">整体掌握度: {{ number_format(($analysisData['overall_mastery'] ?? 0) * 100, 1) }}%</span>
  7. </div>
  8. <!-- 掌握度进度条 -->
  9. <div class="mb-3">
  10. <div class="flex justify-between text-xs text-gray-600 mb-1">
  11. <span>掌握度</span>
  12. <span>{{ number_format(($analysisData['overall_mastery'] ?? 0) * 100, 1) }}%</span>
  13. </div>
  14. <div class="w-full bg-gray-200 rounded-full h-2">
  15. <div class="h-2 rounded-full
  16. {{ ($analysisData['overall_mastery'] ?? 0) < 0.6 ? 'bg-red-400' :
  17. (($analysisData['overall_mastery'] ?? 0) < 0.8 ? 'bg-yellow-400' : 'bg-green-400') }}"
  18. style="width: {{ ($analysisData['overall_mastery'] ?? 0) * 100 }}%"></div>
  19. </div>
  20. </div>
  21. <!-- 知识点列表 -->
  22. @if(isset($analysisData['knowledge_points']) && !empty($analysisData['knowledge_points']))
  23. <div>
  24. <p class="text-xs font-medium text-gray-700 mb-2">知识点掌握情况:</p>
  25. <div class="flex flex-wrap gap-2">
  26. @foreach($analysisData['knowledge_points'] as $kp)
  27. <div class="border rounded px-2 py-1
  28. {{ ($kp['mastery_level'] ?? 0) < 0.6 ? 'border-red-200 bg-red-50' :
  29. (($kp['mastery_level'] ?? 0) < 0.8 ? 'border-yellow-200 bg-yellow-50' :
  30. 'border-green-200 bg-green-50') }}">
  31. <span class="text-xs font-medium text-gray-900">{{ $kp['kp_code'] ?? 'N/A' }}</span>
  32. <span class="text-xs
  33. {{ ($kp['mastery_level'] ?? 0) < 0.6 ? 'text-red-600' :
  34. (($kp['mastery_level'] ?? 0) < 0.8 ? 'text-yellow-600' : 'text-green-600') }}">
  35. {{ number_format(($kp['mastery_level'] ?? 0) * 100, 0) }}%
  36. </span>
  37. </div>
  38. @endforeach
  39. </div>
  40. </div>
  41. @endif
  42. </div>
  43. @endif