2.3 KiB
2.3 KiB
管理师补充反馈接口问题诊断
问题描述
管理师端点击"修改补充反馈"时,提示"工单不存在"(400错误)
控制台日志分析
1. 加载反馈列表
GET /api/growth-record/daily/list?page=1&size=10&type=teacher&recordType=daily
Response: {code: 200, message: "success", data: {...}}
✅ 列表加载成功
2. 提交补充反馈
PUT /api/manager/feedback/teacher/{id}
Request Body: {supplement: "111", recordType: "daily"}
Response: {code: 400, message: "工单不存在", data: null}
❌ 提交失败
问题分析
可能原因1:接口路径不匹配
- 列表接口:
/api/growth-record/daily/list(成长记录) - 更新接口:
/api/manager/feedback/teacher/{id}(反馈)
问题:这两个接口操作的是不同的数据表
growth-record→growth_record表feedback→ 可能是feedback或work_order表
可能原因2:ID类型混淆
传递的ID是 growth_record 表的ID,但后端接口可能在用这个ID查找 work_order 表,导致找不到工单。
可能原因3:后端接口实现问题
后端的 PUT /api/manager/feedback/teacher/{id} 接口可能:
- 先用ID查找工单(work_order表)
- 但传入的ID是成长记录ID(growth_record表)
- 所以查不到工单,返回"工单不存在"
解决方案
方案1:修改前端接口调用(推荐)
使用正确的成长记录更新接口:
// 当前(错误)
managerApi.updateTeacherFeedback(id, {supplement, recordType})
// 应该改为
managerApi.updateGrowthRecord(id, {supplement, recordType})
对应的API定义:
updateGrowthRecord(id, params) {
return request.put(`/api/growth-record/${id}`, params)
}
方案2:修改后端接口
让 /api/manager/feedback/teacher/{id} 接口支持成长记录ID
方案3:传递工单ID
在调用接口时,传递 workOrderId 而不是 growth_record.id
建议
采用方案1,因为:
- 前端已经在使用
growth-record接口加载数据 - 应该使用对应的更新接口保持一致性
- 不需要修改后端逻辑
下一步
- 检查
managerApi中是否有updateGrowthRecord方法 - 如果没有,需要添加该方法
- 修改
feedback.vue中的submitEdit方法,调用正确的接口