test_grading_panel.sh 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #!/bin/bash
  2. # =============================================
  3. # 测试脚本:验证评分面板修复
  4. # =============================================
  5. echo "=========================================="
  6. echo " 验证评分面板修复"
  7. echo "=========================================="
  8. echo ""
  9. # 颜色定义
  10. GREEN='\033[0;32m'
  11. BLUE='\033[0;34m'
  12. NC='\033[0m'
  13. echo -e "${BLUE}步骤 1: 清理缓存${NC}"
  14. echo "执行: php artisan view:clear"
  15. php artisan view:clear
  16. if [ $? -eq 0 ]; then
  17. echo -e "${GREEN}✅ 视图缓存清理成功${NC}"
  18. else
  19. echo "❌ 清理失败"
  20. fi
  21. echo ""
  22. echo -e "${BLUE}步骤 2: 验证文件修改${NC}"
  23. # 检查 GradingPanel.php
  24. if grep -q "public function mount" app/Livewire/UploadExam/GradingPanel.php; then
  25. echo -e "${GREEN}✅ GradingPanel.php - mount() 方法已添加${NC}"
  26. else
  27. echo "❌ GradingPanel.php - mount() 方法未找到"
  28. fi
  29. if grep -q "updatedSelectedPaperId" app/Livewire/UploadExam/GradingPanel.php; then
  30. echo -e "${GREEN}✅ GradingPanel.php - updatedSelectedPaperId() 方法已添加${NC}"
  31. else
  32. echo "❌ GradingPanel.php - updatedSelectedPaperId() 方法未找到"
  33. fi
  34. # 检查视图文件
  35. if grep -q ":selectedPaperId" resources/views/filament/pages/upload-exam-paper.blade.php; then
  36. echo -e "${GREEN}✅ upload-exam-paper.blade.php - selectedPaperId 参数已传递${NC}"
  37. else
  38. echo "❌ upload-exam-paper.blade.php - selectedPaperId 参数未传递"
  39. fi
  40. echo ""
  41. echo -e "${BLUE}步骤 3: 验证数据库数据${NC}"
  42. echo "正在查询吴同学的试卷数据..."
  43. # 使用 tinker 验证数据(如果可用)
  44. php artisan tinker --execute="
  45. \$paper = \App\Models\Paper::where('paper_name', 'like', '%吴%')->latest()->first();
  46. if (\$paper) {
  47. \$count = \$paper->questions()->count();
  48. echo \"✅ 找到试卷: \" . \$paper->paper_name . \"\\n\";
  49. echo \"✅ 题目数量: \" . \$count . \" 道题\\n\";
  50. if (\$count > 0) {
  51. echo \"✅ 数据完整性验证通过\\n\";
  52. } else {
  53. echo \"⚠️ 警告: 试卷存在但没有题目数据\\n\";
  54. }
  55. } else {
  56. echo \"❌ 未找到吴同学的试卷\\n\";
  57. }
  58. " 2>/dev/null
  59. echo ""
  60. echo -e "${BLUE}步骤 4: 手动测试指南${NC}"
  61. echo "请按照以下步骤手动验证修复:"
  62. echo ""
  63. echo "1. 打开浏览器访问: http://fa.test/admin/upload-exam-paper"
  64. echo ""
  65. echo "2. 点击【选择已有试卷评分】按钮"
  66. echo ""
  67. echo "3. 选择老师(例如:默认老师)"
  68. echo ""
  69. echo "4. 选择学生(例如:吴同学)"
  70. echo ""
  71. echo "5. 选择最新的一份试卷"
  72. echo ""
  73. echo "6. 检查评分面板:"
  74. echo " ✅ 应该显示试卷的题目列表"
  75. echo " ❌ 不应显示'暂无题目数据'"
  76. echo ""
  77. echo "7. 验证题目信息:"
  78. echo " - 每道题应显示题目内容"
  79. echo " - 显示题目类型和分值"
  80. echo " - 如果有题库ID,应显示参考答案"
  81. echo ""
  82. echo "=========================================="
  83. echo " 验证完成!"
  84. echo "=========================================="
  85. echo ""
  86. echo "如果仍有问题,请检查:"
  87. echo " 1. Laravel Herd 是否正在运行"
  88. echo " 2. FilamentAdmin 是否可以正常访问"
  89. echo " 3. 查看浏览器开发者工具的控制台错误"
  90. echo " 4. 查看 Laravel 日志: storage/logs/laravel.log"
  91. echo ""