fix 空闲时间添加教师时区数据

This commit is contained in:
Dai 2025-05-07 10:56:00 +08:00
parent b868dd0a87
commit c61727dff2
6 changed files with 27 additions and 5 deletions

View File

@ -29,9 +29,7 @@ class TeacherFreeTime extends BaseModel
{ {
return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind([ return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind([
'teacher_name', 'teacher_name',
'teacher_account' => "account", 'teacher_account' => "account"
'time_zone_name',
'time_zone_offset'
]); ]);
} }

View File

@ -70,6 +70,9 @@ class TeacherFreeTimeService
'en_start_time' => date('Y-m-d H:i:s', $enFirstDate->getTimestamp()), 'en_start_time' => date('Y-m-d H:i:s', $enFirstDate->getTimestamp()),
'en_end_time' => date('Y-m-d H:i:s', $enSecondDate->getTimestamp()), 'en_end_time' => date('Y-m-d H:i:s', $enSecondDate->getTimestamp()),
'month' => date('Y-m', strtotime($free_date)), 'month' => date('Y-m', strtotime($free_date)),
'time_zone_id' => $teacher['time_zone_id'],
'time_zone_name' => $teacher['time_zone_name'],
'time_zone_offset' => $teacher['time_zone_offset'],
]; ];
//判断是否已经存在 //判断是否已经存在

View File

@ -96,12 +96,20 @@ class TeacherFreeTimeController extends Crud
$postData = $request->post(); $postData = $request->post();
try { try {
$teacher = Teacher::where(['id'=> $request->post('teacher_id')])->findOrEmpty();
if($teacher->isEmpty()){
throw new Exception('未找到教师信息');
}
$teacher_free_time = \app\common\model\TeacherFreeTime::where([ $teacher_free_time = \app\common\model\TeacherFreeTime::where([
'teacher_id' => $postData['teacher_id'], 'teacher_id' => $postData['teacher_id'],
'date' => $postData['date'], 'date' => $postData['date'],
'month' => $postData['month'], 'month' => $postData['month'],
'time' => $postData['time'], 'time' => $postData['time'],
'en_time' => $postData['en_time'], 'en_time' => $postData['en_time'],
'time_zone_id' => $teacher['time_zone_id'],
'time_zone_name' => $teacher['time_zone_name'],
'time_zone_offset' => $teacher['time_zone_offset'],
]) ])
->findOrEmpty(); ->findOrEmpty();
if (!$teacher_free_time->isEmpty()) { if (!$teacher_free_time->isEmpty()) {
@ -115,6 +123,8 @@ class TeacherFreeTimeController extends Crud
$enFirstDate = new DateTime($postData['date'] . ' ' . trim($en_time_period[0])); $enFirstDate = new DateTime($postData['date'] . ' ' . trim($en_time_period[0]));
$enSecondDate = new DateTime($postData['date'] . ' ' . trim($en_time_period[1])); $enSecondDate = new DateTime($postData['date'] . ' ' . trim($en_time_period[1]));
\app\common\model\TeacherFreeTime::create([ \app\common\model\TeacherFreeTime::create([
'teacher_id' => $request->post('teacher_id'), 'teacher_id' => $request->post('teacher_id'),
'date' => $request->post('date'), 'date' => $request->post('date'),
@ -126,6 +136,9 @@ class TeacherFreeTimeController extends Crud
'end_time' => date('Y-m-d H:i:s', $secondDate->getTimestamp()), 'end_time' => date('Y-m-d H:i:s', $secondDate->getTimestamp()),
'en_start_time' => date('Y-m-d H:i:s', $enFirstDate->getTimestamp()), 'en_start_time' => date('Y-m-d H:i:s', $enFirstDate->getTimestamp()),
'en_end_time' => date('Y-m-d H:i:s', $enSecondDate->getTimestamp()), 'en_end_time' => date('Y-m-d H:i:s', $enSecondDate->getTimestamp()),
'time_zone_id' => $teacher['time_zone_id'],
'time_zone_name' => $teacher['time_zone_name'],
'time_zone_offset' => $teacher['time_zone_offset'],
]); ]);
return json([ return json([

View File

@ -170,6 +170,12 @@
field: "end_time", field: "end_time",
hide: true, hide: true,
},{ },{
title: "时区",align: "center",
field: "time_zone_name",
},{
title: "时差",align: "center",
field: "time_zone_offset",
},{
title: "课程id",align: "center", title: "课程id",align: "center",
field: "subject_id", field: "subject_id",
hide: true, hide: true,

View File

@ -19,7 +19,7 @@
<label class="layui-form-label required">教师</label> <label class="layui-form-label required">教师</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="hidden" name="id" value="{$teacher_free_time['id']}" class="layui-input"> <input type="hidden" name="id" value="{$teacher_free_time['id']}" class="layui-input">
<select lay-search="" name="teacher_id" required lay-verify="required" lay-filter="selectTeacher"> <select lay-search="" name="teacher_id" required lay-verify="required" lay-filter="selectTeacher" disabled>
<option value="">请选择或搜索</option> <option value="">请选择或搜索</option>
{foreach $teacher as $item} {foreach $teacher as $item}
<option value="{$item['id']}" {if $teacher_free_time['teacher_id'] == $item['id']} selected {/if}>{$item['teacher_name']}</option> <option value="{$item['id']}" {if $teacher_free_time['teacher_id'] == $item['id']} selected {/if}>{$item['teacher_name']}</option>

View File

@ -24,11 +24,12 @@
</div> </div>
</div> </div>
<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="text" name="time_zone_name" value="{$free_time['time_zone_name']}" disabled <input type="text" name="time_zone_name" value="{$free_time['time_zone_name']}" disabled
class="layui-input"> class="layui-input">
</div> </div>
<span style="font-size: 12px;margin-left: 110px;color: chocolate;">此时区为教师添加空闲时的时区</span>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">时区时差</label> <label class="layui-form-label">时区时差</label>
@ -36,6 +37,7 @@
<input type="text" name="time_zone_offset" value="{$free_time['time_zone_offset']}" disabled <input type="text" name="time_zone_offset" value="{$free_time['time_zone_offset']}" disabled
class="layui-input"> class="layui-input">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">