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) {
//未提交作业的课程
$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');
})->where('student_id', $student->id);
$total = $model->count();
@ -168,22 +168,17 @@ class StudentHomeworkService
} else {
$model = StudentSchedule::order('id desc')
->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');
});
$total = $model->count();
$list = $model->with(['student', 'subject', 'teacher'])
->page($page, $limit)
->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 [
'code' => ResponseCode::SUCCESS,

View File

@ -182,26 +182,30 @@ class SubjectHomeworkService
$data = $request->get();
$subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id']])
->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();
//家庭作业
if(!$subject_homework->homework_file_is_publish){
$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){
$subject_homework->last_homework_feedback_url = '';
}
//课程报告/翻译件
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_is_publish){
//课程文件
if(!$subject_homework->subject_file_version_url){
$subject_homework->subject_file_version_url = '';
}
@ -211,41 +215,24 @@ class SubjectHomeworkService
} else {
$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) {
$subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true);
} else {
$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) {
$subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true);
} else {
$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) {
$subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true);
} else {
$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 [
'code' => ResponseCode::SUCCESS,

View File

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