fix: 课程作业bug

This commit is contained in:
Dai 2025-01-15 22:38:18 +08:00
parent 9c733dba91
commit 825dbb9c75
3 changed files with 27 additions and 45 deletions

View File

@ -157,7 +157,7 @@ class StudentHomeworkService
if ($data['status'] == 0) { if ($data['status'] == 0) {
//未提交作业的课程 //未提交作业的课程
$model = StudentSchedule::order('id desc')->where(['is_publish' => 1])->where('id', 'not in', function ($query) use ($student) { $model = StudentSchedule::order('id desc')->where(['is_publish' => 1])->where('teacher_schedule_time_id', 'not in', function ($query) use ($student) {
$query->table('wa_student_homework')->where('student_id', $student->id)->field('teacher_schedule_time_id'); $query->table('wa_student_homework')->where('student_id', $student->id)->field('teacher_schedule_time_id');
})->where('student_id', $student->id); })->where('student_id', $student->id);
$total = $model->count(); $total = $model->count();
@ -168,22 +168,17 @@ class StudentHomeworkService
} else { } else {
$model = StudentSchedule::order('id desc') $model = StudentSchedule::order('id desc')
->where(['student_id' => $student->id, 'is_publish' => 1]) ->where(['student_id' => $student->id, 'is_publish' => 1])
->where('id', 'in', function ($query) use ($student) { ->where('teacher_schedule_time_id', 'in', function ($query) use ($student) {
$query->table('wa_student_homework')->where('student_id', $student->id)->field('teacher_schedule_time_id'); $query->table('wa_student_homework')->where('student_id', $student->id)->field('teacher_schedule_time_id');
}); });
$total = $model->count(); $total = $model->count();
$list = $model->with(['student', 'subject', 'teacher']) $list = $model->with(['student', 'subject', 'teacher'])
->page($page, $limit) ->page($page, $limit)
->select()->toArray(); ->select()->toArray();
} }
foreach ($list as &$item) {
if ($item['feedback_file_url']) {
$item['feedback_file_url'] = json_decode($item['feedback_file_url'], true);
} else {
$item['feedback_file_url'] = [];
}
}
return [ return [
'code' => ResponseCode::SUCCESS, 'code' => ResponseCode::SUCCESS,

View File

@ -182,26 +182,30 @@ class SubjectHomeworkService
$data = $request->get(); $data = $request->get();
$subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id']]) $subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id']])
->with(['teacher', 'subject']) ->with(['teacher', 'subject'])
->withoutField('homework_version_file_url,homework_version_is_publish,last_homework_feedback_version_url,subject_file_version_url,subject_file_version_is_publish')
->findOrEmpty(); ->findOrEmpty();
//家庭作业
if(!$subject_homework->homework_file_is_publish){ if(!$subject_homework->homework_file_is_publish){
$subject_homework->homework_file_url = ''; $subject_homework->homework_file_url = '';
} }
if(!$subject_homework->homework_version_is_publish){ //上次作业
$subject_homework->homework_version_file_url = '';
}
if(!$subject_homework->last_homework_feedback_is_publish){ if(!$subject_homework->last_homework_feedback_is_publish){
$subject_homework->last_homework_feedback_url = ''; $subject_homework->last_homework_feedback_url = '';
} }
//课程报告/翻译件
if(!$subject_homework->subject_report_version_is_publish){ if(!$subject_homework->subject_report_version_is_publish){
$subject_homework->subject_report_version_url = ''; $subject_homework->subject_report_url = '';
}else{
if($subject_homework->subject_report_version_url){
//翻译件不为空,取翻译件值
$subject_homework->subject_report_url = $subject_homework->subject_report_version_url;
}
} }
if(!$subject_homework->subject_report_version_is_publish){ //课程文件
$subject_homework->subject_report_version_url = ''; if(!$subject_homework->subject_file_version_url){
}
if(!$subject_homework->subject_file_version_is_publish){
$subject_homework->subject_file_version_url = ''; $subject_homework->subject_file_version_url = '';
} }
@ -211,41 +215,24 @@ class SubjectHomeworkService
} else { } else {
$subject_homework->homework_file_url = []; $subject_homework->homework_file_url = [];
} }
if ($subject_homework->homework_version_file_url) {
$subject_homework->homework_version_file_url = json_decode($subject_homework->homework_version_file_url, true);
} else {
$subject_homework->homework_version_file_url = [];
}
if ($subject_homework->last_homework_feedback_url) { if ($subject_homework->last_homework_feedback_url) {
$subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true); $subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true);
} else { } else {
$subject_homework->last_homework_feedback_url = []; $subject_homework->last_homework_feedback_url = [];
} }
if ($subject_homework->last_homework_feedback_version_url) {
$subject_homework->last_homework_feedback_version_url = json_decode($subject_homework->last_homework_feedback_version_url, true);
} else {
$subject_homework->last_homework_feedback_version_url = [];
}
if ($subject_homework->subject_report_url) { if ($subject_homework->subject_report_url) {
$subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true); $subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true);
} else { } else {
$subject_homework->subject_report_url = []; $subject_homework->subject_report_url = [];
} }
if ($subject_homework->subject_report_version_url) {
$subject_homework->subject_report_version_url = json_decode($subject_homework->subject_report_version_url, true);
} else {
$subject_homework->subject_report_version_url = [];
}
if ($subject_homework->subject_file_url) { if ($subject_homework->subject_file_url) {
$subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true); $subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true);
} else { } else {
$subject_homework->subject_file_url = []; $subject_homework->subject_file_url = [];
} }
if ($subject_homework->subject_file_version_url) {
$subject_homework->subject_file_version_url = json_decode($subject_homework->subject_file_version_url, true);
} else {
$subject_homework->subject_file_version_url = [];
}
return [ return [
'code' => ResponseCode::SUCCESS, 'code' => ResponseCode::SUCCESS,

View File

@ -366,10 +366,10 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">是否发布</label> <label class="layui-form-label">是否发布</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="checkbox" id="subject_file_version_is_publish" <input type="checkbox" id="subject_file_url_is_publish"
lay-filter="subject_file_version_is_publish" lay-skin="switch"/> lay-filter="subject_file_url_is_publish" lay-skin="switch"/>
<input type="text" style="display:none" name="subject_file_version_is_publish" <input type="text" style="display:none" name="subject_file_url_is_publish"
value="{$subject_homework['subject_file_version_is_publish']}"/> value="{$subject_homework['subject_file_url_is_publish']}"/>
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -767,10 +767,10 @@
}) })
// 字段 是否发布 is_publish // 字段 是否发布 is_publish
layui.use(["form"], function () { layui.use(["form"], function () {
layui.$("#subject_file_version_is_publish").attr("checked", layui.$('input[name="subject_file_version_is_publish"]').val() != 0); layui.$("#subject_file_url_is_publish").attr("checked", layui.$('input[name="subject_file_url_is_publish"]').val() != 0);
layui.form.render(); layui.form.render();
layui.form.on("switch(subject_file_version_is_publish)", function (data) { layui.form.on("switch(subject_file_url_is_publish)", function (data) {
layui.$('input[name="subject_file_version_is_publish"]').val(this.checked ? 1 : 0); layui.$('input[name="subject_file_url_is_publish"]').val(this.checked ? 1 : 0);
}); });
}) })