教师排课
This commit is contained in:
parent
a4c42b946c
commit
ff70a5b4e8
@ -17,7 +17,19 @@ class TeacherScheduleTimeController extends BaseController
|
||||
public function addScheduleTime(Request $request)
|
||||
{
|
||||
$service = new TeacherScheduleTimeService();
|
||||
$res = $service->addFreeTime($request);
|
||||
$res = $service->addScheduleTime($request);
|
||||
return $this->json($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc 获取排期信息
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function getScheduleTime(Request $request)
|
||||
{
|
||||
$service = new TeacherScheduleTimeService();
|
||||
$res = $service->getScheduleTime($request);
|
||||
return $this->json($res);
|
||||
}
|
||||
|
||||
|
@ -28,5 +28,9 @@ class TeacherScheduleTime extends BaseModel
|
||||
{
|
||||
return $this->hasOne(Subject::class, 'id', 'subject_id')->bind(['subject_name','english_name']);
|
||||
}
|
||||
public function subjectArr()
|
||||
{
|
||||
return $this->hasOne(Subject::class, 'id', 'subject_id');
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ class TeacherScheduleTimeService
|
||||
* @param $request
|
||||
* @return array|void
|
||||
*/
|
||||
public function addFreeTime($request)
|
||||
public function addScheduleTime($request)
|
||||
{
|
||||
try {
|
||||
if (empty($request->teacher)) {
|
||||
@ -27,29 +27,6 @@ class TeacherScheduleTimeService
|
||||
if ($teacher->isEmpty()) {
|
||||
throw new Exception('未找到教师信息,设置失败');
|
||||
}
|
||||
|
||||
// $free_time = [
|
||||
// '2024-7-14'=>[
|
||||
// '9:00-10:00',
|
||||
// '10:00-11:00',
|
||||
// '11:00-12:00',
|
||||
// ],
|
||||
// '2024-7-15'=>[
|
||||
// '14:00-15:00',
|
||||
// '15:00-16:00',
|
||||
// '16:00-17:00',
|
||||
// ],
|
||||
// '2024-7-16'=>[
|
||||
// '9:00-10:00',
|
||||
// '10:00-11:00',
|
||||
// '11:00-12:00',
|
||||
// ],
|
||||
// '2024-7-17'=>[
|
||||
// '9:00-10:00',
|
||||
// '10:00-11:00',
|
||||
// '11:00-12:00',
|
||||
// ]
|
||||
// ];
|
||||
$data = $request->post();
|
||||
|
||||
$free_time = json_decode($data['schedule_time'], true);
|
||||
@ -72,6 +49,8 @@ class TeacherScheduleTimeService
|
||||
'date' => $free_date,
|
||||
'time' => $time,
|
||||
'hour' => $hour,
|
||||
'start_time' => date('Y-m-d H:i:s', $firstDate->getTimestamp()),
|
||||
'end_time' => date('Y-m-d H:i:s', $secondDate->getTimestamp()),
|
||||
'month' => date('Y-m', strtotime($free_date)),
|
||||
];
|
||||
//@todo:判断是否已经存在
|
||||
@ -95,4 +74,34 @@ class TeacherScheduleTimeService
|
||||
}
|
||||
}
|
||||
|
||||
public function getScheduleTime($request)
|
||||
{
|
||||
try {
|
||||
if (empty($request->teacher)) {
|
||||
throw new Exception('请教师登陆后再设置');
|
||||
}
|
||||
$teacher = Teacher::where(['id' => $request->teacher->id])->findOrEmpty();
|
||||
|
||||
if ($teacher->isEmpty()) {
|
||||
throw new Exception('未找到教师信息,设置失败');
|
||||
}
|
||||
$data = $request->get();
|
||||
|
||||
$schedule = TeacherScheduleTime::where(['teacher_id'=>$teacher->id, 'date'=>$data['schedule_date']])->select();
|
||||
|
||||
|
||||
return [
|
||||
'code' => ResponseCode::SUCCESS,
|
||||
'data'=>$schedule,
|
||||
'msg' => 'success',
|
||||
];
|
||||
}catch (Exception $e){
|
||||
return [
|
||||
'code' => ResponseCode::FAIL,
|
||||
'msg' => $e->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -70,7 +70,7 @@ class TeacherScheduleTimeController extends Crud
|
||||
|
||||
if ($request->get('id')) {
|
||||
$teacher_free_time = \app\common\model\TeacherScheduleTime::where(['id' => $request->get('id')])->findOrEmpty();
|
||||
$teacher = Teacher::where(['id' => $teacher_free_time->teacher_id])->field('teacher_name,account')->findOrEmpty()->toArray();
|
||||
$teacher = Teacher::where(['id' => $teacher_free_time->teacher_id])->field('id,teacher_name,account')->findOrEmpty()->toArray();
|
||||
}
|
||||
return view('teacher-schedule-time/update', ['teacher' => $teacher]);
|
||||
}
|
||||
@ -107,7 +107,11 @@ class TeacherScheduleTimeController extends Crud
|
||||
public function getScheduleTime(Request $request)
|
||||
{
|
||||
try {
|
||||
$list = \app\common\model\TeacherScheduleTime::where(['teacher_id' => $request->get('id'), 'month' => '2024-07'])
|
||||
$teacher_id = $request->post('id');
|
||||
$start_date = date('Y-m-d H:i:s', strtotime($request->post('start_date')));
|
||||
$end_date = date('Y-m-d 23:59:59', strtotime($request->post('end_date')));
|
||||
$list = \app\common\model\TeacherScheduleTime::where(['teacher_id' => $teacher_id])
|
||||
->whereBetweenTime('start_time', $start_date, $end_date)
|
||||
->with(['subject'])
|
||||
->select()
|
||||
->toArray();
|
||||
|
@ -53,7 +53,9 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否发布</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="is_publish" title="发布|未发布" lay-skin="switch" value="1" { if($schedule_time['is_publish'] == 1)} checked {/if} >
|
||||
<input type="radio" name="is_publish" value="0" title="未发布" {if($schedule_time['is_publish'] == 0)} checked {/if}>
|
||||
<input type="radio" name="is_publish" value="1" title="发布" {if($schedule_time['is_publish'] == 1)} checked {/if}>
|
||||
<!-- <input type="checkbox" name="is_publish" title="发布|未发布" lay-skin="switch" value="1" { if($schedule_time['is_publish'] == 1)} checked {/if} >-->
|
||||
<!-- <input type="text" name="hour" value="{$schedule_time['hour']}" disabled class="layui-input">-->
|
||||
</div>
|
||||
</div>
|
||||
|
@ -71,28 +71,49 @@
|
||||
<div id='wrap' style="display: flex;">
|
||||
<div id='external-events'>
|
||||
<h4>老师信息</h4>
|
||||
<div id='external-events-list'>
|
||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
||||
<div>
|
||||
<div class='fc-event-main'><?= $teacher['teacher_name']?></div>
|
||||
</div>
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 2</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 3</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 4</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 5</div>-->
|
||||
<!-- </div>-->
|
||||
<div style="display: flex;flex-direction: column;">
|
||||
<div style="width: 100px;height: 20px;">
|
||||
<span class="layui-badge-dot layui-bg-danger"></span>
|
||||
<span>未排课</span>
|
||||
</div>
|
||||
<div style="width: 120px;height: 20px;">
|
||||
<span class="layui-badge-dot layui-bg-orange"></span>
|
||||
<span>已排课,未发布</span>
|
||||
</div>
|
||||
<div style="width: 100px;height: 20px;">
|
||||
<span class="layui-badge-dot layui-bg-green"></span>
|
||||
<span>已发布</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id='external-events-list'>
|
||||
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
|
||||
<!-- <span class="layui-badge-dot layui-bg-danger">未排课</span>-->
|
||||
<!-- <span class="layui-badge-dot layui-bg-orange">已排课,未发布</span>-->
|
||||
<!-- <span class="layui-badge-dot layui-bg-green">已发布</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 2</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 3</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 4</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>-->
|
||||
<!-- <div class='fc-event-main'>事件 5</div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
<!-- <p>-->
|
||||
<!-- <input type='checkbox' id='drop-remove'/>-->
|
||||
<!-- <label for='drop-remove'>移动后清除</label>-->
|
||||
<!-- </p>-->
|
||||
<!-- <p>-->
|
||||
<!-- <input type='checkbox' id='drop-remove'/>-->
|
||||
<!-- <label for='drop-remove'>移动后清除</label>-->
|
||||
<!-- </p>-->
|
||||
</div>
|
||||
|
||||
<div id='calendar' style="height: 650px;width: 750px;"></div>
|
||||
@ -197,12 +218,16 @@
|
||||
editable: true,
|
||||
dayMaxEvents: true, // allow "more" link when too many events
|
||||
events: function (info, successCallback, failureCallback) {
|
||||
console.log('12312313')
|
||||
console.log('12312313', info)
|
||||
|
||||
let start_date = info.startStr;
|
||||
let end_date = info.endStr;
|
||||
let teacher_id = "{$teacher['id']}"
|
||||
layui.$.ajax({
|
||||
url: '/app/admin/teacherScheduleTime/getScheduleTime?id=1',
|
||||
url: '/app/admin/teacherScheduleTime/getScheduleTime',
|
||||
type: "POST",
|
||||
dateType: "json",
|
||||
// data: data.field,
|
||||
data: {id: teacher_id, start_date: start_date, end_date: end_date},
|
||||
success: function (res) {
|
||||
console.log(res)
|
||||
if (res.code == 0) {
|
||||
@ -220,8 +245,8 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
eventTextColor :function (obj){
|
||||
console.log('字体颜色',obj)
|
||||
eventTextColor: function (obj) {
|
||||
console.log('字体颜色', obj)
|
||||
},
|
||||
eventMouseEnter: function (info) {
|
||||
console.log('鼠标', info)
|
||||
|
Loading…
x
Reference in New Issue
Block a user