|
|
<!DOCTYPE html>
|
|
|
<html>
|
|
|
<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/layui/css/layui.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;
|
|
|
}
|
|
|
|
|
|
ul.log li {
|
|
|
color: #666666;
|
|
|
list-style: none;
|
|
|
padding-left: 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="div3">
|
|
|
<label for="" class="layui-form-label" style="padding:9px 0;text-align: left;">
|
|
|
入学年份
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_3" style="width: 188px"></div>
|
|
|
<script type="text/html" id="test3">
|
|
|
<select name="service_type" id="sel3" onchange="changeYear()">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].batch_year%>"><%=data[i].batch_year%></option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-form-item inline " id="div4">
|
|
|
<label for="" class="layui-form-label" style="padding:9px 0;text-align: left;">
|
|
|
执行计划
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_4" style="width: 250px"></div>
|
|
|
<script type="text/html" id="test4">
|
|
|
<select name="service_type" id="sel4" onchange="changeRule()" style="width: 240px">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].rule_id%>"><%=data[i].rule_name%></option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-form-item inline " id="div5">
|
|
|
<label for="" class="layui-form-label" style="padding:9px 0;text-align: left;">
|
|
|
开课学期
|
|
|
</label>
|
|
|
<div class="layui-input-inline" id="select_5" style="width: 218px"></div>
|
|
|
<script type="text/html" id="test5">
|
|
|
<select name="service_type" id="sel5" onchange="changeTerm()">
|
|
|
<% for (var i = 0; i < data.length; i ++) { %>
|
|
|
<option value="<%=data[i].xq_id%>"><%=data[i].xqmc%></option>
|
|
|
<% } %>
|
|
|
</select>
|
|
|
</script>
|
|
|
</div>
|
|
|
<div class="layui-form-item inline" style="float:right">
|
|
|
<span id="importAcc">
|
|
|
<div class="layui-btn layui-btn-primary" type="button" id="setViewColumns"
|
|
|
onclick="setViewColumns();">
|
|
|
<span class="layui-icon layui-icon-set"></span>设置显示
|
|
|
</div>
|
|
|
<div class="layui-btn" type="button" id="refreshCourse" onclick="refreshCourse();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>创建&刷新
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-btn layui-btn-normal" type="button" id="isCheck" onclick="isCheck();">
|
|
|
<span class="layui-icon layui-icon-shrink-right"></span>批量审核
|
|
|
</div>
|
|
|
</span>
|
|
|
</div>
|
|
|
<div class="layui-form-item">
|
|
|
<table class="layui-table" lay-filter="idTest" id="idTest"></table>
|
|
|
<script type="text/html" id="barDemo">
|
|
|
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="viewTermCourse">查看&打印学期课程</a>
|
|
|
<!-- <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="exportTerm">导出学期课程</a>-->
|
|
|
</script>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
<script src="../../lib/layui/layui.js"></script>
|
|
|
<script src="../../lib/layuiExtend.js"></script>
|
|
|
<script src="../../lib/JqueryExtend.js"></script>
|
|
|
<script src="../../lib/template.js"></script>
|
|
|
<script src="../../lib/base64.js"></script>
|
|
|
<script>
|
|
|
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;
|
|
|
|
|
|
//设置显示列
|
|
|
window.setViewColumns = function () {
|
|
|
WeAdminShow('正在设置显示列', 'classTermCourseManage_setViewColumns.html', 600, 400);
|
|
|
};
|
|
|
// 绑定指定规则下的班级
|
|
|
window.bindClassList = function () {
|
|
|
var xq_id = $("#sel5").val();
|
|
|
var rule_id = $("#sel4").val();
|
|
|
if (rule_id == null) {
|
|
|
rule_id = -1
|
|
|
}
|
|
|
var url = '/baseService/teachbase/getClassListByRuleId?rule_id=' + rule_id + "&xq_id=" + xq_id;
|
|
|
var cols_base =[[
|
|
|
{field: 'class_id', title: '序号', align: 'center', type: 'numbers', width: 40}
|
|
|
, {field: 'class_name', title: '班级名称', align: 'center'}
|
|
|
, {field: 'class_code', title: '班号', align: 'center', width: 250}
|
|
|
, {field: 'entry_year', title: '入学年份', align: 'center'}
|
|
|
, {field: 'school_length', title: '学制', align: 'center'}
|
|
|
, {
|
|
|
field: 'course_count', title: '课程数量', align: 'center'
|
|
|
}
|
|
|
, {
|
|
|
field: 'is_checked', title: '审核状态', align: 'center', templet: function (d) {
|
|
|
var green_color = '#5fb878';
|
|
|
var yellow_color = '#ff0000';
|
|
|
//五星的颜色
|
|
|
var color = green_color;
|
|
|
var title = "已审核";
|
|
|
//如果未审核通过
|
|
|
if (d.is_checked == 0) {
|
|
|
color = yellow_color;
|
|
|
title = "未审核";
|
|
|
}
|
|
|
var str = '<a href=# title="' + title + '"><i id="check_'
|
|
|
+ d.class_id +
|
|
|
'" class="layui-icon layui-icon-rate-solid" style="font-size: 18px; color: '
|
|
|
+ color
|
|
|
+ ';"></i></a>';
|
|
|
return str;
|
|
|
}
|
|
|
}
|
|
|
]]
|
|
|
var cols = [[{type: 'checkbox', fixed: 'left', align: 'center'}]];
|
|
|
var cookieData = getCookie("classTermCourseManage_showColumns");
|
|
|
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({fixed: 'right', title: '操作', toolbar: '#barDemo', align: 'center', width: 300});
|
|
|
table.render({
|
|
|
elem: '#idTest',
|
|
|
url: url,
|
|
|
cols: cols,
|
|
|
page: false,
|
|
|
height: 'full',
|
|
|
done: function (res, curr, count) {
|
|
|
for (let i = 0; i < res.data.length; i++) {
|
|
|
let is_checked = res.data[i].is_checked; //根据status状态判断,不为0时,禁止勾选
|
|
|
if (is_checked) {
|
|
|
var index = res.data[i]['LAY_TABLE_INDEX'];
|
|
|
$(".layui-table tr[data-index=" + index + "] input[type='checkbox']").prop('disabled', true);
|
|
|
$(".layui-table tr[data-index=" + index + "] input[type='checkbox']").next().addClass('layui-btn-disabled');
|
|
|
$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').prop('name', 'eee');
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
//获取学期
|
|
|
window.getRuleClassTerm = function () {
|
|
|
//哪个专业
|
|
|
var rule_id = $("#sel4").val();
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/teachbase/getTermListByRuleId?rule_id=" + rule_id,
|
|
|
success: function (data) {
|
|
|
var html = template.render('test5', data);
|
|
|
document.getElementById('select_5').innerHTML = html;
|
|
|
//绑定班级
|
|
|
bindClassList();
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
// 绑定教学计划
|
|
|
window.bindRuleList = function () {
|
|
|
var entry_year = $("#sel3").val();
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/teachbase/bindRuleList?entry_year=" + entry_year + "&zhuanye_code=-1&is_checked=1&flag=1",
|
|
|
success: function (data) {
|
|
|
var html = template.render('test4', data);
|
|
|
document.getElementById('select_4').innerHTML = html;
|
|
|
//重新绑定学期
|
|
|
getRuleClassTerm();
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
// 获取年份
|
|
|
window.getYearList = function () {
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/zhaosheng/getYearListHavingBatch?type_id=4",
|
|
|
success: function (data) {
|
|
|
var html = template.render('test3', data);
|
|
|
document.getElementById('select_3').innerHTML = html;
|
|
|
//绑定教学计划
|
|
|
bindRuleList();
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
getYearList();
|
|
|
|
|
|
//变更年份
|
|
|
window.changeYear = function () {
|
|
|
bindRuleList();
|
|
|
};
|
|
|
//变更教学计划
|
|
|
window.changeRule = function () {
|
|
|
getRuleClassTerm();
|
|
|
};
|
|
|
//变更学期
|
|
|
window.changeTerm = function () {
|
|
|
bindClassList();
|
|
|
};
|
|
|
//批量审核
|
|
|
window.isCheck = function () {
|
|
|
//检查有哪些班级被选中
|
|
|
var checkStatus = table.checkStatus('idTest');
|
|
|
var data = checkStatus.data;
|
|
|
if (data.length === 0) {
|
|
|
layer.msg("请先选择要进行审核的班级!", {icon: 2, time: 2000})
|
|
|
return;
|
|
|
} else {
|
|
|
var classIds = "";
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
classIds = classIds + "," + data[i]["class_id"];
|
|
|
}
|
|
|
classIds = classIds.substring(1);
|
|
|
//确认要通过审核?
|
|
|
layer.confirm('执行本操作后,通过审核的班级,指定学期的课程表将不能再次修改,您确定要继续吗?', {
|
|
|
btn: ['确定', '取消']
|
|
|
}, function (index, layero) {
|
|
|
var term_id = $("#sel5").val();
|
|
|
var d = {};
|
|
|
d["term_id"] = term_id;
|
|
|
d["classIds"] = classIds;
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/teachbase/checkClassTermCourse",
|
|
|
data: d,
|
|
|
success: function (data) {
|
|
|
if (data.success) {
|
|
|
//重新绑定班级
|
|
|
bindClassList();
|
|
|
//无法关闭这个消息框
|
|
|
layer.closeAll('dialog'); //加入这个信息点击确定 会关闭这个消息框
|
|
|
layer.msg(data.message, {icon: 1, time: 1000});
|
|
|
} else {
|
|
|
//无法关闭这个消息框
|
|
|
layer.closeAll('dialog'); //加入这个信息点击确定 会关闭这个消息框
|
|
|
layer.msg(data.message, {icon: 2, time: 3000});
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
//关闭图层
|
|
|
//layer.close(index);
|
|
|
}
|
|
|
);
|
|
|
}
|
|
|
};
|
|
|
//编辑与删除
|
|
|
table.on('tool(idTest)', function (obj) {
|
|
|
var data = obj.data;
|
|
|
var class_id = data.class_id;
|
|
|
var term_id = $("#sel5").val();
|
|
|
|
|
|
//查看班级学期课程
|
|
|
if (obj.event === "viewTermCourse") {
|
|
|
WeAdminShow('班级学期课程', './termCourseForClass.html?class_id=' + class_id + "&term_id=" + term_id, window.innerWidth - 100, window.innerHeight - 100);
|
|
|
}
|
|
|
//导出班级学期课程
|
|
|
if (obj.event === "exportTerm") {
|
|
|
// window.location.href = "/baseService/teachbase/exportClassTermCourseExcel?class_id=" + class_id+"&term_id="+term_id;
|
|
|
}
|
|
|
;
|
|
|
});
|
|
|
|
|
|
//刷新&创建
|
|
|
window.refreshCourse = function () {
|
|
|
//哪个专业
|
|
|
var rule_id = $("#sel4").val();
|
|
|
//哪个学期
|
|
|
var term_id = $("#sel5").val();
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/baseService/teachbase/refreshCourse?rule_id=" + rule_id + "&term_id=" + term_id,
|
|
|
success: function (data) {
|
|
|
if (data.success) {
|
|
|
//提示成功完成并刷新班级列表
|
|
|
layer.msg(data.message, {icon: 1}, function () {
|
|
|
//绑定班级
|
|
|
bindClassList();
|
|
|
})
|
|
|
} else {
|
|
|
layer.msg(data.message, {icon: 2}, function () {
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
})
|
|
|
</script>
|
|
|
</body>
|
|
|
</html> |