|
|
<!DOCTYPE html>
|
|
|
<html lang="en">
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
|
<title>查看统计</title>
|
|
|
<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">
|
|
|
|
|
|
<!-- 让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>
|
|
|
.layui-table, .layui-table-view {
|
|
|
margin-top: 5px;
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="layui-form-item">
|
|
|
<div id="showMessage"></div>
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-form-item">
|
|
|
<table class="layui-table" lay-filter="idTest" id="idTest"></table>
|
|
|
</div>
|
|
|
<script src="../../lib/layui/layui.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', 'admin', 'table', 'laytpl'], function () {
|
|
|
var form = layui.form,
|
|
|
$ = layui.jquery,
|
|
|
admin = layui.admin,
|
|
|
laytpl = layui.laytpl,
|
|
|
table = layui.table;
|
|
|
|
|
|
//获取url传参的办法
|
|
|
window.GetQueryString = function (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;
|
|
|
};
|
|
|
|
|
|
// 绑定科目
|
|
|
window.bindTable = function () {
|
|
|
table.render({
|
|
|
elem: '#idTest'
|
|
|
,
|
|
|
url: '/baseService/zhaosheng/zhaoshengTongJi?batch_id=' + GetQueryString("batch_id")
|
|
|
,
|
|
|
cols: [[
|
|
|
{field: 'zhuanye_jihua_code', title: '序号', align: 'center', type: 'numbers', width: 80}
|
|
|
, {field: 'zhuanye_code', title: '专业代码', align: 'center'}
|
|
|
, {field: 'zhuanye_name', title: '专业名称', align: 'center'}
|
|
|
, {field: 'zhuanye_count', title: '专业人数', align: 'center'}
|
|
|
//, {field: 'zhuanye_jihua_code', title: '专业计划码', align: 'center'}
|
|
|
, {field: 'person_type_name', title: '人员类型', align: 'center'}
|
|
|
, {field: 'person_type_count', title: '人员数量', align: 'center'}
|
|
|
]]
|
|
|
,
|
|
|
page: false
|
|
|
,
|
|
|
done: function (res, curr, count) {
|
|
|
//合并
|
|
|
merge(res);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
bindTable();
|
|
|
//显示总人数
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
dataType: "json",
|
|
|
async: false,
|
|
|
url: "/baseService/zhaosheng/zhaoshengTongJiAllCount?batch_id=" + GetQueryString("batch_id"),
|
|
|
success: function (data) {
|
|
|
$("#showMessage").html("已录取人数合计:"+data.message+"人");
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//合并行
|
|
|
function merge(res) {
|
|
|
var data = res.data;
|
|
|
var mergeIndex = 0;//定位需要添加合并属性的行数
|
|
|
var mark = 1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数
|
|
|
var columsName = ['zhuanye_code', 'zhuanye_name', 'zhuanye_count'];//需要合并的列名称
|
|
|
var columsIndex = [1, 2, 3];//需要合并的列索引值
|
|
|
for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列
|
|
|
var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行
|
|
|
for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
|
|
|
var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
|
|
|
var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
|
|
|
// 合并遵守行一列的限制
|
|
|
if (data[i][columsName[k]] === data[i - 1][columsName[k]] && data[i]['zhuanye_code'] === data[i - 1]['zhuanye_code']) {
|
|
|
//后一行的值与前一行的值做比较,相同就需要合并
|
|
|
mark += 1;
|
|
|
tdPreArr.each(function () {//相同列的第一列增加rowspan属性
|
|
|
$(this).attr("rowspan", mark);
|
|
|
});
|
|
|
tdCurArr.each(function () {//当前行隐藏
|
|
|
$(this).css("display", "none");
|
|
|
});
|
|
|
} else {
|
|
|
mergeIndex = i;
|
|
|
mark = 1;//一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算
|
|
|
}
|
|
|
}
|
|
|
mergeIndex = 0;
|
|
|
mark = 1;
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
</script>
|
|
|
</body>
|
|
|
</html> |