# 调试指南：查看评分面板问题

## 已添加的调试功能

我已经为 `GradingPanel` 组件添加了详细的日志记录，包括：
- ✅ 开始加载试卷时的参数
- ✅ 查询到的题目数量
- ✅ 题目数据处理过程
- ✅ 异常信息（如果有）

## 测试步骤

### 1. 清空日志
```bash
cd FilamentAdmin
echo "" > storage/logs/laravel.log
```

### 2. 访问页面并选择试卷
1. 打开浏览器，访问：http://fa.test/admin/upload-exam-paper
2. 点击【选择已有试卷评分】
3. 选择老师和学生（吴同学）
4. **选择试卷**（选择最新的一份）

### 3. 查看日志
在另一个终端窗口中，实时监控日志：
```bash
tail -f storage/logs/laravel.log | grep "GradingPanel"
```

或者查看完整日志：
```bash
cat storage/logs/laravel.log | grep "GradingPanel" -A 5 -B 2
```

## 预期日志输出

### 正常情况（题目存在）
```
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 开始加载试卷题目 {"selected_paper_id":"paper_xxx",...}
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 查询到的题目数量 {"paper_id":"paper_xxx","questions_count":6,"is_empty":false}
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 开始处理题目数据
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 题目数据处理完成 {"questions_count":6,"sample_question":{...}}
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 加载完成 {"final_questions_count":6,"paper_id":"paper_xxx"}
```

### 异常情况（有问题）
```
[YYYY-MM-DD HH:MM:SS] WARNING GradingPanel: 题目为空，设置空数据提示
[YYYY-MM-DD HH:MM:SS] INFO GradingPanel: 加载完成 {"final_questions_count":1,"paper_id":"paper_xxx"}
```

或：
```
[YYYY-MM-DD HH:MM:SS] ERROR GradingPanel: 加载试卷题目失败 {"paper_id":"paper_xxx","error":"具体错误信息",...}
```

## 可能的问题和解决方案

### 问题1：日志中没有 GradingPanel 相关记录
**原因**：组件的 `mount()` 或 `updatedSelectedPaperId()` 方法没有被调用
**解决**：
- 检查父视图是否正确传递了 `:selectedPaperId` 参数
- 确认缓存已清理：`php artisan view:clear`

### 问题2：日志显示 `questions_count: 0`
**原因**：数据库查询返回空结果
**解决**：
- 检查试卷ID是否正确
- 验证数据库中是否存在该试卷的题目

### 问题3：日志显示异常
**原因**：代码执行出错
**解决**：
- 查看完整的错误信息和堆栈跟踪
- 根据错误信息修复问题

## 快速验证命令

```bash
# 1. 检查日志中是否有 GradingPanel 记录
grep "GradingPanel" storage/logs/laravel.log | tail -20

# 2. 查看最近的错误
tail -50 storage/logs/laravel.log | grep -A 10 "ERROR"

# 3. 查看所有 GradingPanel 相关的日志
grep "GradingPanel" storage/logs/laravel.log
```

请执行以上测试步骤，然后将日志输出结果发送给我，我会根据日志分析具体问题所在。
