优化后台教师新增、更新

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

View File

@ -13,63 +13,68 @@
<div class="mainBox"> <div class="mainBox">
<div class="main-container mr-5"> <div class="main-container mr-5">
<div class="layui-form-item"> <div class="layui-form-item">
<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="text" name="account" value="" required lay-verify="required" class="layui-input"> <input type="text" name="account" value="" required lay-verify="required" class="layui-input">
</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="password" value="" class="layui-input"> <input type="text" name="password" value="" class="layui-input">
</div> </div>
</div> </div>
<!-- <div class="layui-form-item">--> <!-- <div class="layui-form-item">-->
<!-- <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="text" name="slat" value="" required lay-verify="required" class="layui-input">--> <!-- <input type="text" name="slat" value="" required lay-verify="required" class="layui-input">-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<div class="layui-form-item"> <div class="layui-form-item">
<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="text" name="teacher_name" value="" required lay-verify="required" class="layui-input"> <input type="text" name="teacher_name" value="" required lay-verify="required" class="layui-input">
</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="number" name="age" value="0" class="layui-input">--> <!-- <input type="number" name="age" value="0" class="layui-input">-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- <div class="layui-form-item">--> <!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">Openid</label>--> <!-- <label class="layui-form-label">Openid</label>-->
<!-- <div class="layui-input-block">--> <!-- <div class="layui-input-block">-->
<!-- <input type="text" name="openid" value="" class="layui-input">--> <!-- <input type="text" name="openid" value="" class="layui-input">-->
<!-- </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="" 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> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">时差</label> <label class="layui-form-label required">时差</label>
<div class="layui-input-block"> <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>
</div> </div>
</div> </div>
</div> </div>
@ -84,21 +89,32 @@
</button> </button>
</div> </div>
</div> </div>
</form> </form>
<script src="/app/admin/component/layui/layui.js?v=2.8.12"></script> <script src="/app/admin/component/layui/layui.js?v=2.8.12"></script>
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/component/jsoneditor/jsoneditor.js"></script> <script src="/app/admin/component/jsoneditor/jsoneditor.js"></script>
<script src="/app/admin/admin/js/permission.js"></script> <script src="/app/admin/admin/js/permission.js"></script>
<script> <script>
// 相关接口 // 相关接口
const INSERT_API = "/app/admin/teacher/insert"; const INSERT_API = "/app/admin/teacher/insert";
//提交事件 //提交事件
layui.use(["form", "popup"], function () { 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({ layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"], phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],

View File

@ -59,18 +59,24 @@
<!-- </div>--> <!-- </div>-->
<div class="layui-form-item"> <div class="layui-form-item">
<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="text" name="time_zone" value="" required lay-verify="required" class="layui-input">--> <select lay-search="" name="time_zone_id" required lay-verify="required" lay-filter="selectTimezone">
<select lay-search="" name="time_zone_id" required lay-verify="required">
<option value="">请选择或搜索时区</option> <option value="">请选择或搜索时区</option>
{foreach $time_zone as $item} {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} {/foreach}
</select> </select>
</div> </div>
</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>
</div> </div>
@ -102,6 +108,17 @@
// 获取数据库记录 // 获取数据库记录
layui.use(["form", "util", "popup"], function () { layui.use(["form", "util", "popup"], function () {
let $ = layui.$; 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({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: "json", dataType: "json",