fix 教师排课添加课程、学生
This commit is contained in:
parent
1ce0da01c6
commit
a2eafa699f
@ -350,7 +350,7 @@ class TeacherFreeTimeController extends Crud
|
||||
];
|
||||
|
||||
//获取已排课时间
|
||||
$teacher_schedule_time = TeacherScheduleTime::where(['free_time_id' => $free_time_id])->select()->toArray();
|
||||
$teacher_schedule_time = TeacherScheduleTime::where(['free_time_id' => $free_time_id])->with(['oneStudentSchedule'])->select()->toArray();
|
||||
|
||||
|
||||
// $student_schedule = StudentSchedule::where(['teacher_schedule_time_id' => $free_time_id])->select()->toArray();
|
||||
|
@ -165,7 +165,14 @@ class TeacherScheduleTimeController extends Crud
|
||||
}
|
||||
}
|
||||
|
||||
\app\common\model\TeacherScheduleTime::where(['free_time_id' => $free_time->id])->select()->delete();
|
||||
if (isset($data['teacher_schedule_id'])) {
|
||||
$teacher_schedule_id = array_filter($data['teacher_schedule_id']);
|
||||
if ($teacher_schedule_id) {
|
||||
$res = \app\common\model\TeacherScheduleTime::where(['free_time_id' => $free_time->id])->whereNotIn('id', $teacher_schedule_id)->select()->delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach ($data['schedule_time'] as $index => $item) {
|
||||
$time_period = explode(' - ', $item);
|
||||
$en_time_period = explode(' - ', $data['schedule_en_time'][$index]);
|
||||
@ -182,7 +189,9 @@ class TeacherScheduleTimeController extends Crud
|
||||
$hour = round($h + $m, 2);
|
||||
$time = trim($time_period[0]) . ' - ' . trim($time_period[1]);
|
||||
|
||||
\app\common\model\TeacherScheduleTime::create([
|
||||
if (isset($data['teacher_schedule_id']) && $data['teacher_schedule_id'][$index]) {
|
||||
$teacher_schedule_time = \app\common\model\TeacherScheduleTime::where(['id' => $data['teacher_schedule_id'][$index]])->findOrEmpty();
|
||||
$teacher_schedule_time->save([
|
||||
'teacher_id' => $free_time->teacher_id,
|
||||
'date' => $free_time->date,
|
||||
'time' => $time,
|
||||
@ -195,6 +204,66 @@ class TeacherScheduleTimeController extends Crud
|
||||
'month' => $free_time->month,
|
||||
'free_time_id' => $free_time->id,
|
||||
]);
|
||||
} else {
|
||||
$teacher_schedule_time = \app\common\model\TeacherScheduleTime::create([
|
||||
'teacher_id' => $free_time->teacher_id,
|
||||
'date' => $free_time->date,
|
||||
'time' => $time,
|
||||
'en_time' => $data['schedule_en_time'][$index],
|
||||
'hour' => $hour,
|
||||
'start_time' => $start_time,
|
||||
'end_time' => $end_time,
|
||||
'en_start_time' => $en_start_time,
|
||||
'en_end_time' => $en_end_time,
|
||||
'month' => $free_time->month,
|
||||
'free_time_id' => $free_time->id,
|
||||
]);
|
||||
}
|
||||
|
||||
//更新学生排课
|
||||
$student_schedule = StudentSchedule::where(['teacher_schedule_time_id' => $teacher_schedule_time->id])->findOrEmpty();
|
||||
$student_name = '';
|
||||
if($data['student_id'][$index]){
|
||||
$student = Student::where(['id' => $data['student_id'][$index]])->findOrEmpty();
|
||||
if(!$student->isEmpty()){
|
||||
$student_name = $student->student_name;
|
||||
}
|
||||
}
|
||||
if ($student_schedule->isEmpty()) {
|
||||
StudentSchedule::create([
|
||||
'student_id' => $data['student_id'][$index],
|
||||
'student_name' => $student_name,
|
||||
'teacher_schedule_time_id' => $teacher_schedule_time->id,
|
||||
'teacher_id' => $free_time->teacher_id,
|
||||
'subject_id' => $data['subject_id'][$index],
|
||||
'date' => $free_time->date,
|
||||
'time' => $time,
|
||||
'en_time' => $data['schedule_en_time'][$index],
|
||||
'hour' => $hour,
|
||||
'start_time' => $start_time,
|
||||
'end_time' => $end_time,
|
||||
'en_start_time' => $en_start_time,
|
||||
'en_end_time' => $en_end_time,
|
||||
'month' => $free_time->month,
|
||||
]);
|
||||
} else {
|
||||
$student_schedule->save([
|
||||
'student_id' => $data['student_id'][$index],
|
||||
'student_name' => $student_name,
|
||||
'teacher_schedule_time_id' => $teacher_schedule_time->id,
|
||||
'teacher_id' => $free_time->teacher_id,
|
||||
'subject_id' => $data['subject_id'][$index],
|
||||
'date' => $free_time->date,
|
||||
'time' => $time,
|
||||
'en_time' => $data['schedule_en_time'][$index],
|
||||
'hour' => $hour,
|
||||
'start_time' => $start_time,
|
||||
'end_time' => $end_time,
|
||||
'en_start_time' => $en_start_time,
|
||||
'en_end_time' => $en_end_time,
|
||||
'month' => $free_time->month,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return json([
|
||||
|
@ -186,7 +186,7 @@
|
||||
title: "教师空闲时间排课",
|
||||
shade: 0.1,
|
||||
maxmin: true,
|
||||
area: ["750px", "650px"],
|
||||
area: ["950px", "650px"],
|
||||
content: "/app/admin/teacherFreeTime/freeTimeSetting?free_time_id=" + free_time_id
|
||||
});
|
||||
// if (confirm('您确定要删除此事件吗?')) {
|
||||
|
@ -107,19 +107,38 @@
|
||||
{else /}
|
||||
{foreach $teacher_schedule_time as $index=>$item}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">本地时间</label>
|
||||
<input type="hidden" name="teacher_schedule_id[{$index+1}]" value="{$item['id']}">
|
||||
<label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -17px;">本地时间</label>
|
||||
<div class="layui-input-inline" style="width: 120px;">
|
||||
<input type="text" name="schedule_en_time[{$index+1}]" lay-verify="required"
|
||||
value="{$item['en_time']}" placeholder="请选择排课时间" curNum='{$index+1}'
|
||||
autocomplete="off" class="layui-input time">
|
||||
</div>
|
||||
<label class="layui-form-label">中国时间</label>
|
||||
<label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -17px;">中国时间</label>
|
||||
<div class="layui-input-inline" style="width: 120px;">
|
||||
<input type="text" name="schedule_time[{$index+1}]" lay-verify="required"
|
||||
value="{$item['time']}" placeholder="请选择排课时间" curNum='{$index+1}'
|
||||
autocomplete="off" readonly class="layui-input schedule_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="margin-left: 50px;padding-top: 10px;width: 90px">
|
||||
<label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -40px;">课程</label>
|
||||
<div class="layui-input-inline" style="width: 120px;">
|
||||
<select lay-search="" name="subject_id[{$index+1}]" required lay-verify="required" lay-filter="selectTimezone">
|
||||
<option value="">请选择或搜索课程</option>
|
||||
{foreach $project as $subject_item}
|
||||
<option value="{$subject_item['id']}" {if isset($item['oneStudentSchedule']) && !empty($item['oneStudentSchedule']) && ($item['oneStudentSchedule']['subject_id'] == $subject_item['id'])} selected {/if}>{$subject_item['english_name']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -40px;">学生</label>
|
||||
<div class="layui-input-inline" style="width: 120px;">
|
||||
<select lay-search="{caseSensitive:false, fuzzy: false}" name="student_id[{$index+1}]" required lay-verify="required" lay-filter="selectTimezone">
|
||||
<option value="">请选择或搜索学生</option>
|
||||
{foreach $student as $student_item}
|
||||
<option value="{$student_item['id']}" {if isset($item['oneStudentSchedule']) && !empty($item['oneStudentSchedule']) && ($item['oneStudentSchedule']['student_id'] == $student_item['id'])} selected {/if}>{$student_item['student_name']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="padding-top: 10px;width: 90px">
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-bg-green add-schedule-time"
|
||||
lay-event="remove" permission="app.admin.teacher.delete">添加
|
||||
</button>
|
||||
@ -200,30 +219,40 @@
|
||||
var maxNum = $('#schedule_free_time').find('.time:last').attr('curNum');
|
||||
maxNum = Number(maxNum) + 1;
|
||||
|
||||
// var htmlStr = '<div class="layui-form-item">\n' +
|
||||
// ' <div class="layui-input-inline" style="width: 250px;">\n' +
|
||||
// ' <input type="text" name="schedule_time[' + maxNum + ']" lay-verify="required" placeholder="请选择排课时间" curNum="' + maxNum + '" autocomplete="off" class="layui-input time">\n' +
|
||||
// ' </div>\n' +
|
||||
// ' <div class="layui-input-inline" style="margin-left: 50px;padding-top: 10px;">\n' +
|
||||
// ' <button type="button" class="layui-btn layui-btn-xs layui-bg-green add-schedule-time" lay-event="remove" permission="app.admin.teacher.delete">添加</button>\n' +
|
||||
// ' <button type="button" class="layui-btn layui-btn-xs layui-bg-red remove-schedule-time" lay-event="remove" permission="app.admin.teacher.delete">删除</button>\n' +
|
||||
// ' </div>\n' +
|
||||
// '</div>';
|
||||
|
||||
var htmlStr = '<div class="layui-form-item">\n' +
|
||||
' <label class="layui-form-label">本地时间</label>\n' +
|
||||
' <input type="hidden" name="teacher_schedule_id[' + maxNum + ']" value="">' +
|
||||
' <label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -17px;">本地时间</label>\n' +
|
||||
' <div class="layui-input-inline" style="width: 120px;">\n' +
|
||||
' <input type="text" name="schedule_en_time[' + maxNum + ']" lay-verify="required"\n' +
|
||||
' placeholder="请选择排课时间"\n' +
|
||||
' curNum="' + maxNum + '" autocomplete="off" class="layui-input time">\n' +
|
||||
' </div>\n' +
|
||||
' <label class="layui-form-label">中国时间</label>\n' +
|
||||
' <label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -17px;">中国时间</label>\n' +
|
||||
' <div class="layui-input-inline" style="width: 120px;">\n' +
|
||||
' <input type="text" name="schedule_time[' + maxNum + ']" lay-verify="required"\n' +
|
||||
' value="" placeholder="请选择排课时间" curNum="' + maxNum + '"\n' +
|
||||
' autocomplete="off" readonly class="layui-input schedule_time">\n' +
|
||||
' </div>\n' +
|
||||
' <div class="layui-input-inline" style="margin-left: 50px;padding-top: 10px;width: 90px">\n' +
|
||||
' <label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -40px;">课程</label>\n' +
|
||||
' <div class="layui-input-inline" style="width: 120px;">\n' +
|
||||
' <select lay-search="" name="subject_id[' + maxNum + ']" required lay-verify="required" lay-filter="selectTimezone">\n' +
|
||||
' <option value="">请选择或搜索课程</option>\n' +
|
||||
' {foreach $project as $item}\n' +
|
||||
' <option value="{$item[\'id\']}">{$item[\'english_name\']}</option>\n' +
|
||||
' {/foreach}\n' +
|
||||
' </select>\n' +
|
||||
' </div>\n' +
|
||||
' <label class="layui-form-label" style="width: 50px;font-size: 12px;margin-left: -40px;">学生</label>\n' +
|
||||
' <div class="layui-input-inline" style="width: 120px;">\n' +
|
||||
' <select lay-search="{caseSensitive:false, fuzzy: false}" name="student_id[' + maxNum + ']" required lay-verify="required" lay-filter="selectTimezone">\n' +
|
||||
' <option value="">请选择或搜索学生</option>\n' +
|
||||
' {foreach $student as $item}\n' +
|
||||
' <option value="{$item[\'id\']}">{$item[\'student_name\']}</option>\n' +
|
||||
' {/foreach}\n' +
|
||||
' </select>\n' +
|
||||
' </div>' +
|
||||
' <div class="layui-input-inline" style="padding-top: 10px;width: 90px">\n' +
|
||||
' <button type="button" class="layui-btn layui-btn-xs layui-bg-green add-schedule-time"\n' +
|
||||
' lay-event="remove" permission="app.admin.teacher.delete">添加\n' +
|
||||
' </button>\n' +
|
||||
@ -257,6 +286,8 @@
|
||||
$(this.elem).parent().parent().children().find('.schedule_time').val(start_time + ' - ' + end_time)
|
||||
}
|
||||
});
|
||||
|
||||
form.render();
|
||||
})
|
||||
|
||||
// 删除时间
|
||||
|
Loading…
x
Reference in New Issue
Block a user