235 lines
10 KiB
Plaintext
235 lines
10 KiB
Plaintext
|
|
<%@ page language="java" pageEncoding="UTF-8"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
|||
|
|
<style type="text/css">
|
|||
|
|
.select2-container .select2-selection--single{
|
|||
|
|
height:34px;
|
|||
|
|
line-height: 34px;
|
|||
|
|
}
|
|||
|
|
.select2-selection__arrow{
|
|||
|
|
margin-top:3px;
|
|||
|
|
}
|
|||
|
|
td{
|
|||
|
|
text-align:center;
|
|||
|
|
min-width: 100px;
|
|||
|
|
height: 40px;
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
|
|||
|
|
var calcTotal=function(table,column){//合计,表格对象,对哪一列进行合计,第一列从0开始
|
|||
|
|
|
|||
|
|
var trs=table.getElementsByTagName('tr');
|
|||
|
|
|
|||
|
|
var start=3,//忽略第一行的表头
|
|||
|
|
end=trs.length-3;//忽略最后合计的一行
|
|||
|
|
|
|||
|
|
var total=0;
|
|||
|
|
var max=0;
|
|||
|
|
var min=0;
|
|||
|
|
|
|||
|
|
for(var i=start;i<end;i++){
|
|||
|
|
var td=trs[i].getElementsByTagName('td')[column];
|
|||
|
|
var num = td.innerHTML.replace(/,/g,'');
|
|||
|
|
|
|||
|
|
var t=parseFloat(num);
|
|||
|
|
if(t)total+=t;
|
|||
|
|
if(t>max)max=t;
|
|||
|
|
if(t<min)min=t;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
trs[trs.length-3].getElementsByTagName('td')[column].innerHTML=max;
|
|||
|
|
trs[trs.length-2].getElementsByTagName('td')[column].innerHTML=min;
|
|||
|
|
trs[trs.length-1].getElementsByTagName('td')[column].innerHTML=Math.round(total/12);
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
calcTotal(document.getElementById('table'),1);
|
|||
|
|
|
|||
|
|
$(function() {
|
|||
|
|
var table = document.getElementById('table');
|
|||
|
|
var trs = table.getElementsByTagName('tr');
|
|||
|
|
var tds = trs[trs.length-1].getElementsByTagName('td');
|
|||
|
|
|
|||
|
|
for (var i = 1; i < tds.length; i++) {
|
|||
|
|
calcTotal(document.getElementById('table'),i);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<table border="2" cellspacing="0" cellpadding="8" style="table-layout:fixed;">
|
|||
|
|
<!--标题-->
|
|||
|
|
<!-- <caption>学生成绩表</caption> -->
|
|||
|
|
<!--表格头部-->
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<!--表格的列标题-->
|
|||
|
|
<td rowspan="2">日期</td>
|
|||
|
|
<c:forEach items="${list}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<td colspan="${fn:length(efficiencyStatisticsBig.childList)+1}">${efficiencyStatisticsBig.name}</td>
|
|||
|
|
</c:forEach>
|
|||
|
|
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<c:forEach items="${list}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td>${efficiencyStatisticsSmall.name}</td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td>合计</td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<!--表格主体-->
|
|||
|
|
<tbody>
|
|||
|
|
<!--内容居中对齐-->
|
|||
|
|
<tr>
|
|||
|
|
<td>${year}</td>
|
|||
|
|
<c:forEach items="${list}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>一月</td>
|
|||
|
|
<c:forEach items="${list1}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>二月</td>
|
|||
|
|
<c:forEach items="${list2}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>三月</td>
|
|||
|
|
<c:forEach items="${list3}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>四月</td>
|
|||
|
|
<c:forEach items="${list4}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>五月</td>
|
|||
|
|
<c:forEach items="${list5}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>六月</td>
|
|||
|
|
<c:forEach items="${list6}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>七月</td>
|
|||
|
|
<c:forEach items="${list7}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>八月</td>
|
|||
|
|
<c:forEach items="${list8}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>九月</td>
|
|||
|
|
<c:forEach items="${list9}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>十月</td>
|
|||
|
|
<c:forEach items="${list10}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>十一月</td>
|
|||
|
|
<c:forEach items="${list11}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>十二月</td>
|
|||
|
|
<c:forEach items="${list12}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsSmall.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td><fmt:formatNumber value="${efficiencyStatisticsBig.sum}" type="number" maxFractionDigits="0"/></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
<!--表格脚部-->
|
|||
|
|
<tfoot>
|
|||
|
|
<tr>
|
|||
|
|
<td>最大值</td>
|
|||
|
|
<c:forEach items="${list12}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>最小值</td>
|
|||
|
|
<c:forEach items="${list12}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>平均值</td>
|
|||
|
|
<c:forEach items="${list12}" var ="efficiencyStatisticsBig" varStatus="status">
|
|||
|
|
<c:forEach items="${efficiencyStatisticsBig.childList}" var ="efficiencyStatisticsSmall" varStatus="status1">
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
<td></td>
|
|||
|
|
</c:forEach>
|
|||
|
|
</tr>
|
|||
|
|
</tfoot>
|
|||
|
|
</table>
|