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.

482 lines
20 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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>