quick-stats.blade.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. @props(['recordData'])
  2. <div class="grid grid-cols-2 md:grid-cols-4 gap-3">
  3. <div class="bg-white rounded-lg shadow-sm border border-gray-200 p-3">
  4. <p class="text-xs text-gray-500">总题目</p>
  5. <p class="text-lg font-bold text-gray-900">{{ $recordData['total_questions'] ?? 0 }}</p>
  6. </div>
  7. @php
  8. // 已答题:排除"未作答",但包含空答案(OCR中的空白选项也是有效答题)
  9. $answeredCount = collect($recordData['questions'] ?? [])
  10. ->filter(fn($q) => ($q['student_answer'] ?? '未作答') !== '未作答')
  11. ->count();
  12. $correctCount = collect($recordData['questions'] ?? [])
  13. ->filter(fn($q) => $q['is_correct'] ?? false)
  14. ->count();
  15. // 错误:已答题中减去正确的就是错误的
  16. $wrongCount = $answeredCount - $correctCount;
  17. @endphp
  18. <div class="bg-white rounded-lg shadow-sm border border-gray-200 p-3">
  19. <p class="text-xs text-gray-500">已答题</p>
  20. <p class="text-lg font-bold text-green-600">{{ $answeredCount }}</p>
  21. </div>
  22. <div class="bg-white rounded-lg shadow-sm border border-gray-200 p-3">
  23. <p class="text-xs text-gray-500">正确</p>
  24. <p class="text-lg font-bold text-green-600">{{ $correctCount }}</p>
  25. </div>
  26. <div class="bg-white rounded-lg shadow-sm border border-gray-200 p-3">
  27. <p class="text-xs text-gray-500">错误</p>
  28. <p class="text-lg font-bold text-red-600">{{ $wrongCount }}</p>
  29. </div>
  30. </div>