You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

454 lines
18 KiB

2 years ago
<!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" 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="男" checked>
<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 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 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>身份证号</label>
<div class="layui-input-block">
2 years ago
<input type="text" name="id_card" autocomplete="off" placeholder="请输入身份证号"
2 years ago
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="text" name="sort_id" lay-verify="required|sort" 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><span
class="require-star"></span>出生日期</label>
<div class="layui-input-block">
<input type="text" id="laydate-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;"><span
class="require-star"></span>学历</label>
<div class="layui-input-inline" id="xlView"></div>
<script id="xlScript" type="text/html">
<select 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;"><span
class="require-star"></span>学段</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;"><span
class="require-star"></span>任教科目</label>
<div class="layui-input-inline" id="techkmView"></div>
<script id="techkmScript" type="text/html">
<select 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;"><span
class="require-star"></span>职称</label>
<div class="layui-input-inline" id="zcView"></div>
<script id="zcScript" type="text/html">
<select 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;"><span
class="require-star"></span>任教日期</label>
<div class="layui-input-block">
<input type="text" id="laydate-teachday" name="t_teaching_date" 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="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 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: '#laydate-birthday'
});
// 渲染任教日期
laydate.render({
elem: '#laydate-teachday'
});
//获取民族下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /QingLong/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: ' /QingLong/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();
}
});
//获取学历下拉框
$.ajax({
type: 'GET',
async: false,
url: ' /QingLong/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: ' /QingLong/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();
bindTeachKm($("#xd").val());
}
});
//学段联动任教学校
function bindTeachKm(xd) {
$.ajax({
type: 'GET',
async: false,
url: ' /QingLong/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: ' /QingLong/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: '/QingLong/base/getOrgTypePrincipalshipForTreeTable?bureau_id=' + bureauId,
success: function (res) {
1 year ago
modifyObject(res.data);
2 years ago
zwfgSelect.update({
data: [res.data]
});
zwfgSelect.changeExpandedKeys(true);
}
});
layer.close(loading);
form.on('select(xd)', function (data) {
bindTeachKm(data.value);
});
form.on('submit(save)', function (data) {
data.field['org_id'] = orgId;
data.field['t_duty_charge'] = buildDutyChargeParams(data.field['zwfg']);
$.ajax({
url: '/QingLong/teacher/addTeacher',
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);
obj['in_charge_id'] = -1;
} else if (code.length === 10) {
var parentCode = code.slice(0, -2);
var parentId = tempKV[parentCode];
obj['duties_id'] = parseInt(parentId);
obj['in_charge_id'] = parseInt(id);
}
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 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>