Files
2025-08-14 15:45:08 +08:00

486 lines
19 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="../../../component/pear/css/pear.css" />
<style>
.require-star {
position: absolute;
width: 3px;
height: 14px;
background-color: #ea4335;
top: 12px;
right: 8px;
border-radius: 1.5px;
}
.input-width {
max-width: 455px
}
.layui-form-select {
width: 455px;
}
</style>
</head>
<body>
<form class="layui-form" action="">
<div class="mainBox">
<div class="main-container">
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;"><span
class="require-star"></span>教师姓名</label>
<div class="layui-input-block">
<input type="text" id="person_name" name="person_name" lay-verify="required" autocomplete="off"
placeholder="请输入教师姓名" class="layui-input input-width">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;"><span
class="require-star"></span>性别</label>
<div class="layui-input-block">
<input type="radio" name="xb" value="1" title="男">
<input type="radio" name="xb" value="2" title="女">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;"><span
class="require-star"></span>民族</label>
<div class="layui-input-inline" id="mzView"></div>
<script id="mzScript" type="text/html">
<select id="mz" name="mz">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.mz_id}}">{{item.mz_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;"><span
class="require-star"></span>政治面貌</label>
<div class="layui-input-inline" id="zzmmView"></div>
<script id="zzmmScript" type="text/html">
<select id="zzmm" name="zzmm">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.zzmm_id}}">{{item.zzmm_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;"><span
class="require-star"></span>身份证号</label>
<div class="layui-input-block">
<input type="text" id="id_card" lay-verify="required|idCard" name="id_card" autocomplete="off"
placeholder="请输入身份证号" class="layui-input input-width">
</div>
</div>
<!-- <div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">出生日期</label>
<div class="layui-input-block">
<input type="text" id="birthday" name="birthday" lay-verify="required" autocomplete="off"
placeholder="请输入出生日期" class="layui-input input-width">
</div>
</div> -->
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">学历</label>
<div class="layui-input-inline" id="xlView"></div>
<script id="xlScript" type="text/html">
<select id="xl_id" name="xl_id">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.xl_id}}">{{item.xl_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">任教学段</label>
<div class="layui-input-inline" id="xdView"></div>
<script id="xdScript" type="text/html">
<select id="xd" name="stage_id" lay-filter="xd">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.stage_id}}">{{item.stage_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">任教科目</label>
<div class="layui-input-inline" id="techkmView"></div>
<script id="techkmScript" type="text/html">
<select id="subject_id" name="subject_id">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.subject_id}}">{{item.subject_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">任教日期</label>
<div class="layui-input-block">
<input type="text" id="teachday" name="t_teaching_date" autocomplete="off"
placeholder="请输入任教日期" class="layui-input input-width">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">职称</label>
<div class="layui-input-inline" id="zcView"></div>
<script id="zcScript" type="text/html">
<select id="zc_id" name="zc_id">
{{# layui.each(d, function(index, item){ }}
<option value="{{item.zc_id}}">{{item.zc_name}}</option>
{{# }); }}
</select>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">排序号</label>
<div class="layui-input-block">
<input type="text" id="sort_id" name="sort_id" autocomplete="off"
placeholder="请输入排序号" class="layui-input input-width">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px !important;">职务</label>
<div class="layui-input-inline" id="zwfg" style="width: 455px;"></div>
</div>
</div>
</div>
<div class="bottom">
<div class="button-container">
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit="" lay-filter="save">
<i class="layui-icon layui-icon-ok"></i>
提交
</button>
<button type="reset" class="pear-btn pear-btn-sm">
<i class="layui-icon layui-icon-refresh"></i>
重置
</button>
</div>
</div>
</form>
<script src="../../../component/layui/layui.js"></script>
<script src="../../../component/pear/pear.js"></script>
<script src="../../../component/pear/xm-select.js"></script>
<script>
layui.use(['form', 'jquery', 'laytpl', 'laydate'], function () {
var form = layui.form;
var $ = layui.jquery;
var laytpl = layui.laytpl
var laydate = layui.laydate;
var tempKV = {};
var personId = GetQueryString("person_id");
var bureauId = GetQueryString("bureau_id");
var orgId = GetQueryString("org_id");
// 自定义验证
form.verify({
sort: [/^\d{1,5}$/, '只能输入1-5位的数字'],
idCard: [/^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, '身份证号的格式不正确']
});
let loading = layer.load();
// 渲染出生日期
laydate.render({
elem: '#birthday'
});
// 渲染任教日期
laydate.render({
elem: '#teachday'
});
//获取民族下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmMz',
success: function (res) {
var mzSelectTpl = mzScript.innerHTML;
var mzView = document.getElementById('mzView');
laytpl(mzSelectTpl).render(res.data, function (html) {
mzView.innerHTML = html;
});
form.render();
}
});
//获取政治面貌下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmZzmm',
success: function (res) {
var zzmmSelectTpl = zzmmScript.innerHTML;
var zzmmView = document.getElementById('zzmmView');
laytpl(zzmmSelectTpl).render(res.data, function (html) {
zzmmView.innerHTML = html;
});
form.render();
$("#zzmm").val(13);
}
});
//获取学历下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmXl',
success: function (res) {
var xlSelectTpl = xlScript.innerHTML;
var xlView = document.getElementById('xlView');
laytpl(xlSelectTpl).render(res.data, function (html) {
xlView.innerHTML = html;
});
form.render();
}
});
//获取学段下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmStage',
success: function (res) {
var xdSelectTpl = xdScript.innerHTML;
var xdView = document.getElementById('xdView');
laytpl(xdSelectTpl).render(res.data, function (html) {
xdView.innerHTML = html;
});
form.render();
}
});
//学段联动任教学科
function bindTeachKm(xd) {
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmSubject?stage_id=' + xd,
success: function (res) {
var techkmSelectTpl = techkmScript.innerHTML;
var techkmView = document.getElementById('techkmView');
laytpl(techkmSelectTpl).render(res.data, function (html) {
techkmView.innerHTML = html;
});
form.render();
}
});
}
//获取职称下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /dsBase/dm/getDmZc',
success: function (res) {
var zcSelectTpl = zcScript.innerHTML;
var zcView = document.getElementById('zcView');
laytpl(zcSelectTpl).render(res.data, function (html) {
zcView.innerHTML = html;
});
form.render();
}
});
var zwfgSelect = xmSelect.render({
el: '#zwfg',
name: 'zwfg',
autoRow: true,
direction: 'auto',
tree: {
show: true,
expandedKeys: [5],
},
theme: {
color: localStorage.getItem("theme-color-color"),
},
toolbar: {
show: true,
showIcon: true,
},
data: [],
prop: {
value: "id"
}
});
//获取职务下拉框
$.ajax({
type: 'GET',
async: false,
url: '/dsBase/base/getOrgTypePrincipalshipForTreeTable?bureau_id=' + bureauId,
success: function (res) {
modifyObject(res.data);
zwfgSelect.update({
data: [res.data]
});
zwfgSelect.changeExpandedKeys(true);
}
});
//获取人员信息
$.ajax({
type: "GET",
dataType: "json",
url: "/dsBase/teacher/getTeacherInfoByTeacherId?person_id=" + personId,
success: function (res) {
$("#person_name").val(res.person_name);
$("input:radio[name=xb][value=" + res.xb + "]").attr("checked", "true");
$("#mz").val(res.mz);
$("#zzmm").val(res.zzmm);
$("#id_card").val(res.idcard_code);
$("#sort_id").val(res.sort_id);
//$("#birthday").val(res.birthday.split(" ")[0]);
$("#xl_id").val(res.t_xl_id);
$("#xd").val(res.t_stage_id);
bindTeachKm(res.t_stage_id);
$("#subject_id").val(res.t_subject_id);
$("#zc_id").val(res.t_zc_id);
$("#teachday").val(res.t_teaching_date.split(" ")[0]);
var arr = getZwfg(res.t_duty_charge);
zwfgSelect.setValue(arr);
form.render();
}
});
layer.close(loading);
form.on('select(xd)', function (data) {
bindTeachKm(data.value);
});
form.on('submit(save)', function (data) {
data.field['person_id'] = personId;
data.field['org_id'] = orgId;
data.field['t_duty_charge'] = buildDutyChargeParams(data.field['zwfg']);
$.ajax({
url: '/dsBase/teacher/updateTeacher',
data: data.field,
type: 'post',
success: function (result) {
if (result.success) {
layer.msg("编辑成功!", {
icon: 1,
time: 1300
}, function () {
parent.layer.close(parent.layer.getFrameIndex(window.name));
parent.layui.table.reload("data-table");
});
} else {
layer.msg(result.message, {
icon: 2,
time: 2000
});
}
}
});
return false;
});
//构建提交接口t_duty_charge参数
function buildDutyChargeParams(ids) {
var arr = [];
var idArray = ids.split(",");
idArray.forEach(function (id) {
if (id != "") {
var code = tempKV[id];
var obj = {}
if (code.length === 8) {
obj['duties_id'] = parseInt(id);
} else if (code.length === 10) {
var parentCode = code.slice(0, -2);
var parentId = tempKV[parentCode];
obj['duties_id'] = parseInt(parentId);
}
arr.push(obj)
}
});
return JSON.stringify(arr);
}
//$('#id_card').blur(function () {
// $('#birthday').val(convertIdNumberToDate($('#id_card').val()));
//});
//构建职务理KEY,VALUE键值对用来提交数据用
function modifyObject(obj) {
tempKV[obj["id"]] = obj["code"].toString();
tempKV[obj["code"]] = obj["id"].toString();
if (obj.children && obj.children.length > 0) {
obj.children.forEach(function (child) {
modifyObject(child);
});
}
}
function getZwfg(arrObj) {
var arr = [];
arrObj.forEach(function (obj) {
var id = obj['duties_id'];
arr.push(id);
});
return arr;
}
//身份证号转出生日期
function convertIdNumberToDate(idNumber) {
var year = idNumber.substring(6, 10);
var month = idNumber.substring(10, 12);
var day = idNumber.substring(12, 14);
var date = year + "-" + month + "-" + day;
if (date.length != 10) {
date = "";
}
return date;
}
function GetQueryString(name, istop) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (typeof (istop) != "undefined") r = top.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
});
</script>
</body>
</html>