优化后台教师新增、更新

This commit is contained in:
Dai 2024-08-08 16:35:39 +08:00
parent 07c84d8129
commit 1c277f3665
3 changed files with 64 additions and 22 deletions

View File

@ -62,6 +62,7 @@ class TeacherController extends Crud
try {
$request_data = $request->post();
$salt = random_str(16);
if (empty($request_data['password'])) {
$password = 'YD' . $request_data['account'] . '123';
@ -69,13 +70,18 @@ class TeacherController extends Crud
$password = $request_data['password'];
}
$password = md5($password . $salt);
$timezone = TimeZone::where(['id' => $request_data['time_zone_id']])->findOrEmpty();
$data = [
'account' => $request_data['account'],
'password' => $password,
'slat' => $salt,
'teacher_name' => $request_data['teacher_name'],
'time_zone_name' => $request_data['time_zone_name'],
'time_zone' => $request_data['time_zone'],
'time_zone_id' =>$timezone->id,
'time_zone_name' => $timezone->name,
'time_zone_abbr' => $timezone->abbr,
'time_zone_offset' => $timezone->offset,
];
$res = \app\common\model\Teacher::create($data);
if (!$res) {
@ -96,7 +102,10 @@ class TeacherController extends Crud
return parent::insert($data);
}
return view('teacher/insert');
$timezone = TimeZone::order('id asc')->select()->toArray();
return view('teacher/insert', ['timezone' => $timezone]);
}
/**

View File

@ -59,14 +59,19 @@
<div class="layui-form-item">
<label class="layui-form-label">时区名称</label>
<div class="layui-input-block">
<input type="text" name="time_zone_name" value="" class="layui-input">
<select lay-search="" name="time_zone_id" required lay-verify="required" lay-filter="selectTimezone">
<option value="">请选择或搜索</option>
{foreach $timezone as $item}
<option value="{$item['id']}" timezone-offset="{$item['offset']}">{$item['name']}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">时差</label>
<label class="layui-form-label required">时差</label>
<div class="layui-input-block">
<input type="text" name="time_zone" value="" class="layui-input">
<input type="text" name="time_zone_offset" id="time_zone_offset" value="" required lay-verify="required" readonly class="layui-input">
</div>
</div>
@ -99,6 +104,17 @@
//提交事件
layui.use(["form", "popup"], function () {
layui.form.on('select(selectTimezone)', function(data){
var elem = data.elem; // 获得 select 原始 DOM 对象
var value = data.value; // 获得被选中的值
var othis = data.othis; // 获得 select 元素被替换后的 jQuery 对象
let offset = layui.$(elem).find("option:selected").attr("timezone-offset");
layui.$('#time_zone_offset').val(offset);
});
// 字段验证允许为空
layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],

View File

@ -59,18 +59,24 @@
<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label required"></label>
<label class="layui-form-label required"></label>
<div class="layui-input-block">
<!-- <input type="text" name="time_zone" value="" required lay-verify="required" class="layui-input">-->
<select lay-search="" name="time_zone_id" required lay-verify="required">
<select lay-search="" name="time_zone_id" required lay-verify="required" lay-filter="selectTimezone">
<option value="">请选择或搜索时区</option>
{foreach $time_zone as $item}
<option value="{$item['id']}" {if $teacher['time_zone_id'] == $item['id']}selected{/if}>{$item['name']}</option>
<option value="{$item['id']}" timezone-offset="{$item['offset']}" {if $teacher['time_zone_id'] == $item['id']}selected{/if}>{$item['name']}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">时差</label>
<div class="layui-input-block">
<input type="text" name="time_zone_offset" id="time_zone_offset" value="{$teacher['time_zone_offset']}" required lay-verify="required" readonly class="layui-input">
</div>
</div>
</div>
</div>
@ -102,6 +108,17 @@
// 获取数据库记录
layui.use(["form", "util", "popup"], function () {
let $ = layui.$;
layui.form.on('select(selectTimezone)', function(data){
var elem = data.elem; // 获得 select 原始 DOM 对象
var value = data.value; // 获得被选中的值
var othis = data.othis; // 获得 select 元素被替换后的 jQuery 对象
let offset = layui.$(elem).find("option:selected").attr("timezone-offset");
layui.$('#time_zone_offset').val(offset);
});
$.ajax({
url: SELECT_API,
dataType: "json",