Layui 相关文件下载地址 :https://www.layui.com/
就不写其他文字啦,直接上代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Layui</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, maximum-scale=1">
<link rel="stylesheet" href="css/layui.css" media="all">
<!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
<style>
@media screen and (min-width: 1920px){
.layui-container {
width: 1920px;
}
}
</style>
</head>
<body>
<div class="layui-container">
<div class="demoTable">
搜索ID:
<div class="layui-inline">
<input class="layui-input" name="id" id="demoReload" autocomplete="off">
</div>
<button class="layui-btn" data-type="reload">搜索</button>
</div>
<div id="table_shows">
<table id="tongji_table" class="layui-table" lay-data="tongji_table">
</table>
</div>
</div>
<script src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="layui.js" charset="utf-8"></script>
<script type="text/javascript" >
layui.use(['table'], function () {
var table=layui.table;
table.render({
elem:'#tongji_table',
where : {
//传值 startDate : startDate,
},
response:{statesName:'code',statusCode:0},
//defaultToolbar: ['filter‘,‘print'] ,//这里在右边显示
//toolbar: 'default',
request:{pageName:'pageNumber',limitName:'pageSize'},
height:650,totalRow:true,page:false,limit:100,limits:[100,120,150,200],
url: 'demo.json', //数据接口
id:'tongji_table',
cols:[
[
{field:"name",colspan:"10",title:"xxxxx社区 ",align:"left"},
{field:"name",colspan:"10",title:"统计日期:2020年01月01日-2020年12月04日 ",templet: '#dateTimeTpl',align:"right"}
],
[
{field:"institution",rowspan:"2",title:"站点",align:"center",totalRowText:'合计'},
{field:'doctor',rowspan:"2",title:"家庭医生团队",align:"center"},
{field:'hasCheck2',rowspan:"2",title:"体检总数",align:"center",totalRow: true},
{field:'hasCheck', rowspan:"2",title:"2020年签约履约数",align:"center",totalRow: true},
{colspan:"4",title:"老年人签约管理",align:"center"},
{colspan:"4",title:"高血压签约管理",align:"center"},
{colspan:"4",title:"糖尿病签约管理",align:"center"},
{colspan:"4",title:"其他人群签约管理",align:"center"},
],
[
{field:'oldYearCheck',rowspan:"2",title:"健康年检数",align:"center",totalRow: true},
{field:'oldAssessment',rowspan:"2",title:"为签约居民进行健康评估(人)",align:"center",totalRow: true},
{field:'oldPlan',rowspan:"2",title:"根据评估结果制定针对性健康管理方案 (人)",align:"center",totalRow: true},
{field:'oldTrack',rowspan:"2",title:"根据方案实施健康管理并跟踪效果(人)",align:"center",totalRow: true},
{field:'diabetesYearCheck',rowspan:"2",title:"健康年检数",align:"center",totalRow: true},
{field:'diabetesAssessment',rowspan:"2",title:"为签约居民进行健康评估(人)",align:"center",totalRow: true},
{field:'diabetesPlan',rowspan:"2",title:"根据评估结果制定针对性健康管理方案(人)",align:"center",totalRow: true},
{field:'diabetesTrack',rowspan:"2",title:"根据方案实施健康管理并跟踪效果(人)",align:"center",totalRow: true},
{field:'hypertensionYearCheck',rowspan:"2",title:"健康年检数",align:"center",totalRow: true},
{field:'hypertensionAssessment',rowspan:"2",title:"为签约居民进行健康评估(人)",align:"center",totalRow: true},
{field:'hypertensionPlan',rowspan:"2",title:"根据评估结果制定针对性健康管理方案(人)",align:"center",totalRow: true},
{field:'hypertensionTrack',rowspan:"2",title:"根据方案实施健康管理并跟踪效果(人)",align:"center",totalRow: true},
{field:'otherCheck',rowspan:"2",title:"就诊体检检数",align:"center",totalRow: true},
{field:'otherAssessment',rowspan:"2",title:"为签约居民进行健康评估(人)",align:"center",totalRow: true},
{field:'otherPlan',rowspan:"2",title:"根据评估结果制定针对性健康管理方案(人)",align:"center",totalRow: true},
{field:'otherTrack',rowspan:"2",title:"根据方案实施健康管理并跟踪效果(人)",align:"center",totalRow: true},
]]
,done: function (res) {
merge(res);
fnGetTotalDiv();
}
});
});
/**
* @ 此方式适用于列的单元格合并
*/
function merge(res) {
var data = res.data;
var mergeIndex = 0;//定位需要添加合并属性的行数
var mark = 1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数
var columsName = ['institution'];//需要合并的列名称['']
var columsIndex = [0];//需要合并的列索引值
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]] && (k === 0 || (k != 0 && data[i][columsName[k-1]] === data[i-1][columsName[k-1]]))) { //后一行的值与前一行的值做比较,相同就需要合并
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;
}
};
/**
* 删除合计行的小数点
*
*/
function fnGetTotalDiv() {
var divArr = $(".layui-table-total div.layui-table-cell");
$.each(divArr,function (index,item) {
var _div = $(item);
var content = _div.html();
content = content.replace(".00","");
_div.html(content);
});
};
</script>
<script type="text/html" id="dateTimeTpl">
<span id="">统计日期:2020年01月01日-2020年12月04日</span>
</script>
</body>
</html>
json 文件
demo.json
{
"code": 0
,"msg": ""
,"data":[{
"institution": "裕源卫生团队",
"doctor": "李敏枝",
"hasCheck": 230,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "fz服务站",
"doctor": "陈xx",
"hasCheck": 448,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "zyteam团队",
"doctor": "zhang汉",
"hasCheck": 420,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "zyteam团队",
"doctor": "xpy",
"hasCheck": 498,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "fu卫生团队",
"doctor": "周ws",
"hasCheck": 275,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "fuan卫生团队",
"doctor": "ss游",
"hasCheck": 0,
"hasCheck2": 1,
"oldYearCheck": 1,
"oldAssessment": 1,
"oldPlan": 1,
"oldTrack": 1,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "da卫生团队",
"doctor": "周xxx",
"hasCheck": 296,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "da卫生团队",
"doctor": "潘xx",
"hasCheck": 513,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "guanddi卫生团队",
"doctor": "区xxx",
"hasCheck": 470,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "zhang社区卫生站",
"doctor": "admin",
"hasCheck": 0,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}, {
"institution": "zhang社区卫生站",
"doctor": "网络管理员",
"hasCheck": 0,
"hasCheck2": 0,
"oldYearCheck": 0,
"oldAssessment": 0,
"oldPlan": 0,
"oldTrack": 0,
"diabetesYearCheck": 0,
"diabetesAssessment": 0,
"diabetesPlan": 0,
"diabetesTrack": 0,
"hypertensionYearCheck": 0,
"hypertensionAssessment": 0,
"hypertensionPlan": 0,
"hypertensionTrack": 0,
"otherCheck": 0,
"otherAssessment": 0,
"otherPlan": 0,
"otherTrack": 0
}]
}