|
|
<!DOCTYPE html>
|
|
|
<html lang="en">
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<title>班级信息管理</title>
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
<meta name="renderer" content="webkit">
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
|
<meta name="viewport"
|
|
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
|
|
<link rel="stylesheet" href="../../static/css/font.css">
|
|
|
<link rel="stylesheet" href="../../static/css/weadmin.css">
|
|
|
<link rel="stylesheet" href="../../lib/ztree/zTreeStyle.css">
|
|
|
<script src="../../lib/jquery-1.12.4.min.js"></script>
|
|
|
<script src="../../lib/ztree/jquery.ztree.core-3.5.min.js"></script>
|
|
|
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
|
|
<!--[if lt IE 9]>
|
|
|
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
|
|
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
|
|
<![endif]-->
|
|
|
<style>
|
|
|
select {
|
|
|
width: 180px;
|
|
|
height: 38px;
|
|
|
line-height: 38px;
|
|
|
border: 1px solid #ccc;
|
|
|
border-radius: 3px;
|
|
|
font-size: 15px;
|
|
|
padding-left: 6px;
|
|
|
color: #666;
|
|
|
}
|
|
|
|
|
|
.inline {
|
|
|
display: inline-block;
|
|
|
vertical-align: top;
|
|
|
}
|
|
|
|
|
|
.layui-table-body {
|
|
|
/*max-height: 400px;*/
|
|
|
overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
ul.ztree {
|
|
|
margin-top: 10px;
|
|
|
border: 1px solid #617775;
|
|
|
background: #f0f6e4;
|
|
|
width: 220px;
|
|
|
height: 360px;
|
|
|
overflow-y: scroll;
|
|
|
overflow-x: auto;
|
|
|
}
|
|
|
|
|
|
ul.log {
|
|
|
border: 1px solid #617775;
|
|
|
background: #f0f6e4;
|
|
|
width: 300px;
|
|
|
height: 170px;
|
|
|
overflow: hidden;
|
|
|
}
|
|
|
|
|
|
ul.log.small {
|
|
|
height: 45px;
|
|
|
}
|
|
|
|
|
|
ul.log li {
|
|
|
color: #666666;
|
|
|
list-style: none;
|
|
|
padding-left: 10px;
|
|
|
}
|
|
|
|
|
|
ul.log li.dark {
|
|
|
background-color: #E3E3E3;
|
|
|
}
|
|
|
.layui-table, .layui-table-view {
|
|
|
margin-top: -10px;
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="weadmin-nav">
|
|
|
<span class="layui-breadcrumb">
|
|
|
<a href="">首页</a>
|
|
|
<a href="">学籍管理子系统</a>
|
|
|
<a><cite>新生班级管理</cite></a>
|
|
|
</span>
|
|
|
<a class="layui-btn layui-btn-sm" style="line-height:1.6em;margin-top:3px;float:right"
|
|
|
href="javascript:location.reload();" title="刷新">
|
|
|
<i class="layui-icon layui-icon-refresh-3" style="line-height:30px"></i></a>
|
|
|
</div>
|
|
|
<div class="weadmin-body">
|
|
|
<div class="layui-form-item inline " id="div1">
|
|
|
<label for="" class="layui-form-label">
|
|
|
入学年份
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_1"></div>
|
|
|
<script type="text/html" id="test1">
|
|
|
<select name="service_type" id="sel1" onchange="changeSelect(1)">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].year%>"><%=data[i].year%>年</option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
<div class="layui-form-item inline " id="div2">
|
|
|
<label for="" class="layui-form-label" style="padding:9px 0;text-align: left;">
|
|
|
人员类型
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_2" style="width:288px"></div>
|
|
|
<script type="text/html" id="test2">
|
|
|
<select name="service_type" id="sel2" style="width:288px" onchange="changeSelect(2)">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].person_type_id%>"><%=data[i].person_type_name%></option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
<div class="layui-form-item inline " id="div3">
|
|
|
<label for="" class="layui-form-label">
|
|
|
专业名称
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_3"></div>
|
|
|
<script type="text/html" id="test3">
|
|
|
<select name="service_type" id="sel3" onchange="changeSelect(3)">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].zhuanye_code%>"><%=data[i].zhuanye_name%></option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
<span id="importAcc" style="float:right">
|
|
|
<div class="layui-btn layui-btn-primary" type="button" id="setViewColumns"
|
|
|
onclick="setViewColumns();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>设置显示
|
|
|
</div>
|
|
|
<div class="layui-btn layui-btn-normal" type="button" id="autoButton" onclick="addOneClass();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>添加班级
|
|
|
</div>
|
|
|
<div class="layui-btn layui-btn-danger" type="button" id="autoButton" onclick="importDBF();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>批量删除
|
|
|
</div>
|
|
|
<div class="layui-btn layui-btn-warm" type="button" id="autoButton" onclick="addAllClass();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>一键分班
|
|
|
</div>
|
|
|
|
|
|
</span>
|
|
|
<div class="layui-form-item">
|
|
|
<table class="layui-table" lay-filter="tableClassList" id="tableClassList"></table>
|
|
|
<script type="text/html" id="barClassList">
|
|
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除班级</a>
|
|
|
</script>
|
|
|
</div>
|
|
|
<div class="layui-form-item">
|
|
|
<label for="" class="layui-form-label" style="width:150px;padding:9px 0;text-align: left;">专业规则人数表:</label>
|
|
|
<table class="layui-table" lay-filter="tableFenBanHuiZong" id="tableFenBanHuiZong"></table>
|
|
|
</div>
|
|
|
<input type="hidden" value="" id="area_id">
|
|
|
<input type="hidden" value="" id="org_type">
|
|
|
</div>
|
|
|
|
|
|
<script src="../../lib/layui/layui.js"></script>
|
|
|
<script src="../../lib/template.js"></script>
|
|
|
<script src="../../lib/base64.js"></script>
|
|
|
<script>
|
|
|
//获取cookie
|
|
|
function getCookie(name) {
|
|
|
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
|
|
|
if (arr = document.cookie.match(reg))
|
|
|
return unescape(arr[2]);
|
|
|
else
|
|
|
return null;
|
|
|
}
|
|
|
layui.extend({
|
|
|
admin: '{/}../../static/js/admin'
|
|
|
});
|
|
|
layui.use(['form', 'jquery', 'laytpl','admin','layer', 'table'], function () {
|
|
|
var form = layui.form,
|
|
|
$ = layui.jquery,
|
|
|
admin = layui.admin,
|
|
|
layer = layui.layer,
|
|
|
table = layui.table;
|
|
|
laytpl = layui.laytpl;
|
|
|
var current_batch_year = null;
|
|
|
var current_person_type_id = null;
|
|
|
var current_zydm = null;
|
|
|
// 绑定入学年份
|
|
|
window.getYearList = function () {
|
|
|
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/xueji/common_getYearList",
|
|
|
success: function (data) {
|
|
|
var html = template.render('test1', data);
|
|
|
document.getElementById('select_1').innerHTML = html;
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
getYearList();
|
|
|
//绑定人员类型
|
|
|
window.getPersonType = function () {
|
|
|
var batch_year=$("#sel1").val();
|
|
|
var person_type_id="";
|
|
|
if (current_batch_year != null) {
|
|
|
batch_year = current_batch_year;
|
|
|
}
|
|
|
if (current_person_type_id != null) {
|
|
|
person_type_id = current_person_type_id;
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/xueji/common_getPersonTypeByYear?batch_year="+batch_year+"&person_type_id="+person_type_id,
|
|
|
success: function (data) {
|
|
|
var html = template.render('test2', data);
|
|
|
document.getElementById('select_2').innerHTML = html;
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
getPersonType();
|
|
|
window.bindZhuanYe = function () {
|
|
|
var batch_year=$("#sel1").val();
|
|
|
var zydm="";
|
|
|
if (current_batch_year != null) {
|
|
|
batch_year = current_batch_year;
|
|
|
}
|
|
|
if (current_zydm != null) {
|
|
|
zydm = current_zydm;
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/xueji/common_getZhuanYeByYear?batch_year="+batch_year+"&zydm="+zydm,
|
|
|
success: function (data) {
|
|
|
var html = template.render('test3', data);
|
|
|
document.getElementById('select_3').innerHTML = html;
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
bindZhuanYe();
|
|
|
|
|
|
|
|
|
|
|
|
//当三个下拉按钮发生改变时
|
|
|
window.changeSelect = function (i) {
|
|
|
if (i == 1) {
|
|
|
getPersonType();
|
|
|
bindZhuanYe();
|
|
|
bindClassTable();
|
|
|
}
|
|
|
if (i == 2) {
|
|
|
bindZhuanYe();
|
|
|
bindClassTable();
|
|
|
}
|
|
|
if (i == 3) {
|
|
|
bindClassTable();
|
|
|
}
|
|
|
}
|
|
|
//设置显示列
|
|
|
window.setViewColumns = function () {
|
|
|
WeAdminShow('正在设置显示列', 'new_class_setViewColumns.html', 600, 330);
|
|
|
};
|
|
|
//绑定上部班级表格
|
|
|
window.bindClassTable = function () {
|
|
|
var batch_year = $("#sel1").val();
|
|
|
var person_type_id = $("#sel2").val();
|
|
|
var zydm = $("#sel3").val();
|
|
|
var cols_base = [[
|
|
|
{type: 'checkbox'},
|
|
|
{field: 'class_id', title: '序号', align: 'center', type: 'numbers', width: 50}
|
|
|
, {field: 'class_name', title: '班级名称', align: 'center'}
|
|
|
, {field: 'class_num', title: '班号', align: 'center', width: 80}
|
|
|
, {field: 'class_code', title: '班级编码', align: 'center', width: 100}
|
|
|
, {field: 'entry_year', title: '入学年份', align: 'center', width: 100}
|
|
|
, {field: 'zhuanye_name', title: '专业名称', align: 'center', width: 100}
|
|
|
, {field: 'stu_count', title: '学生数', align: 'center', width: 100}
|
|
|
, {field: 'person_type_name', title: '学生类别', align: 'center', width: 100}
|
|
|
, {fixed: 'right', title: '操作', toolbar:'#barClassList',align: 'center',width: 180}
|
|
|
]];
|
|
|
//顺序
|
|
|
var cols = [[]];
|
|
|
var cookieData = getCookie("new_showClassColumns");
|
|
|
if (cookieData != null) {
|
|
|
var show_columns = cookieData.split(",");
|
|
|
for (var i = 0; i < show_columns.length; i++) {
|
|
|
for (var j = 0; j < cols_base.length; j++) {
|
|
|
for (var k = 0; k < cols_base[j].length; k++) {
|
|
|
if (cols_base[j][k].field != null) {
|
|
|
if (show_columns[i] === cols_base[j][k].field) {
|
|
|
cols[0].push(cols_base[j][k]);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
for (var j = 0; j < cols_base.length; j++) {
|
|
|
for (var k = 0; k < cols_base[j].length; k++) {
|
|
|
if (cols_base[j][k].field != null) {
|
|
|
cols[0].push(cols_base[j][k]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//增加按钮列
|
|
|
cols[0].push({field: 'stu_count', title: '学生数', align: 'center', width: 100});
|
|
|
cols[0].push({fixed: 'right', title: '操作', toolbar: '#barClassList', align: 'center', width: 180});
|
|
|
var url = '/baseService/xueji/new_getClassList?batch_year=' + batch_year + "&person_type_id=" + person_type_id + "&zydm=" + zydm ;
|
|
|
table.render({
|
|
|
elem: '#tableClassList'
|
|
|
, url: url
|
|
|
/*, where: {
|
|
|
bureau_id: org_id,
|
|
|
stage_id: $("#sel2 option:selected").val(),
|
|
|
entry_year: $("#sel3 option:selected").val(),
|
|
|
parent_id:$("#area_id").val()
|
|
|
}*/
|
|
|
, cols: cols
|
|
|
, page: true
|
|
|
, height: 'full'
|
|
|
, done: function () {
|
|
|
$("[data-field='altas_name']").children().each(function () {
|
|
|
if ($(this).text() == "" || $(this).text() == null) {
|
|
|
$(this).text("--");
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
bindClassTable();
|
|
|
|
|
|
// 绑定下部汇总表格
|
|
|
window.tableFenBanHuiZong = function () {
|
|
|
|
|
|
//年份
|
|
|
var batch_year = $("#sel1").val();
|
|
|
var url = '/baseService/xueji/new_getFenBanHuiZongByYear?batch_year=' + batch_year ;
|
|
|
table.render({
|
|
|
elem: '#tableFenBanHuiZong',
|
|
|
url: url,
|
|
|
cols: [[
|
|
|
{type: 'radio'},
|
|
|
{field: 'id', title: '序号', align: 'center', type: 'numbers', width: 50}
|
|
|
, {field: 'luqu_year', title: '入学年度', align: 'center'}
|
|
|
, {field: 'xqmc', title: '入学学期', align: 'center'}
|
|
|
, {field: 'type_name', title: '招生类别', align: 'center'}
|
|
|
, {field: 'zymc', title: '专业', align: 'center'}
|
|
|
, {field: 'person_type_name', title: '人员类别', align: 'center'}
|
|
|
, {field: 'xz', title: '学制', align: 'center'}
|
|
|
, {field: 'rule_name', title: '教学计划', align: 'center'}
|
|
|
, {field: 'stu_count', title: '人数', align: 'center'}
|
|
|
]]
|
|
|
,
|
|
|
page: false,
|
|
|
height: '160px',
|
|
|
done: function (res, a, b) {
|
|
|
var that = this.elem.next();
|
|
|
res.data.forEach(function (item, index) {
|
|
|
if (item.remain_count < 0) {
|
|
|
that.find(".layui-table-box tbody tr[data-index='" + index + "']").find("td:eq(5)").css("background-color", "#FF5722");
|
|
|
that.find(".layui-table-box tbody tr[data-index='" + index + "']").find("td:eq(6)").css("background-color", "#FF5722");
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//行点击事件
|
|
|
table.on('row(tableFenBanHuiZong)', function (obj) {
|
|
|
obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');//选中行样式
|
|
|
obj.tr.find('input[lay-type="layTableRadio"]').prop("checked", true);
|
|
|
var index = obj.tr.data('index');
|
|
|
var thisData = table.cache.tableFenBanHuiZong;
|
|
|
// //重置数据单选属性
|
|
|
layui.each(thisData, function (i, item) {
|
|
|
if (index === i) {
|
|
|
item.LAY_CHECKED = true;
|
|
|
} else {
|
|
|
delete item.LAY_CHECKED;
|
|
|
}
|
|
|
});
|
|
|
//设置current_type_id
|
|
|
current_batch_year = obj.data['luqu_year'];
|
|
|
current_person_type_id = obj.data['person_type_id'];
|
|
|
current_zydm = obj.data['zydm'];
|
|
|
getYearList();
|
|
|
getPersonType();
|
|
|
bindZhuanYe();
|
|
|
bindClassTable();
|
|
|
form.render('radio');
|
|
|
});
|
|
|
};
|
|
|
tableFenBanHuiZong();
|
|
|
|
|
|
window.addOneClass = function () {
|
|
|
var zhaosheng_type = $("#sel0").val();
|
|
|
var batch_year = $("#sel1").val();
|
|
|
var batch_id = $("#sel2").val();
|
|
|
var person_type_id = $("#sel3").val();
|
|
|
WeAdminShow('添加', './new_class_add.html?zhaosheng_type='+zhaosheng_type+'&batch_year='+batch_year+'&batch_id='+batch_id+'&person_type_id='+person_type_id, 550, 380);
|
|
|
|
|
|
}
|
|
|
window.addAllClass = function () {
|
|
|
alert('添加');
|
|
|
WeAdminShow('添加', './new_class_add.html', 550, 380);
|
|
|
|
|
|
}
|
|
|
window.backList = function () {
|
|
|
window.location.href = "../school/schoolList.html?area_id=" + area_id + "&level=" + level;
|
|
|
}
|
|
|
|
|
|
// 删除班级
|
|
|
function del(ids) {
|
|
|
$.ajax({
|
|
|
type: "POSt",
|
|
|
dataType: "json",
|
|
|
url: "/baseService/class/deleteClass",
|
|
|
data: {
|
|
|
class_ids: ids
|
|
|
},
|
|
|
success: function (data) {
|
|
|
if (data.success) {
|
|
|
layer.msg("删除成功", {icon: 1, time: 2000, shade: 0.1});
|
|
|
reloadtable();
|
|
|
} else {
|
|
|
layer.msg(data.message, {icon: 0, time: 2000, shade: 0.1});
|
|
|
}
|
|
|
|
|
|
},
|
|
|
error: function (data) {
|
|
|
return;
|
|
|
}
|
|
|
})
|
|
|
|
|
|
}
|
|
|
// 一键分班
|
|
|
var active = {
|
|
|
getCheckLength: function () { //获取选中数目}
|
|
|
}
|
|
|
}
|
|
|
// 批量删除班级
|
|
|
var active = {
|
|
|
getCheckLength: function () { //获取选中数目
|
|
|
var checkStatus = table.checkStatus('idTest')
|
|
|
, data = checkStatus.data;
|
|
|
console.log(data);
|
|
|
if (data.length == 0) {
|
|
|
layer.msg("请先选择要删除的班级!", {icon: 5, time: 2000})
|
|
|
} else if (data.length > 0) {
|
|
|
var systemIds = "";
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
if (i == data.length - 1) {
|
|
|
systemIds += data[i].class_id;
|
|
|
} else {
|
|
|
systemIds += data[i].class_id + ",";
|
|
|
}
|
|
|
}
|
|
|
if (data.length == 1) {
|
|
|
layer.confirm('确定删除 ' + data[0].class_name + ' 吗?', {icon: 0}, function (index) {
|
|
|
del(systemIds);
|
|
|
});
|
|
|
} else {
|
|
|
layer.confirm('确定要批量删除' + data.length + '个班级吗?', {icon: 0}, function (index) {
|
|
|
del(systemIds);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
$('.delBtn').on('click', function () {
|
|
|
var type = $(this).data('type');
|
|
|
active[type] ? active[type].call(this) : '';
|
|
|
});
|
|
|
})
|
|
|
</script>
|
|
|
|
|
|
</body>
|
|
|
</html> |