//隐藏掉code列
hideHeaderCol();
//存放需要计算合计的汇总行集合
var area = [];
$("#yourMind").find("tbody tr").each(function (i) {
var _tr = $(this);
//通过指定标识,查找需要求和的汇总列数据
if (_tr.children('td').eq(0).text().indexOf("_") > 0) {
//样式设置
_tr.children('td').css("font-weight", "bold");
_tr.children('td').eq(1).css("text-align", "left");
//获取汇总行的tr
area.push(_tr);
}
});
//遍历需要计算合计的汇总行数据tr
for (let i = 0; i < area.length; i++) {
//通过汇总行的标识,获取其下的子客户的tr
var areaName = area[i].children('td').eq(0).text().split("_")[0];
//当前合计行的td
var tds = area[i].children('td');
var total = 0;
//当前合并行下的子行,通过name属性
var trArr = $(".children_" + areaName);
//遍历汇总行的所有td列
//防止数组下标越界
for (let j = 0; j < tds.length - 2; j++) {
//从第二列开始,
var index = j + 2;
//遍历到当前列的时候,累计其下客户的当前列的值,做累加和
for (let k = 0; k < trArr.length; k++) {
var tr = trArr[k].children;
//此处获取值得方式,或许在某种场景下不可用
total += Number(tr[index].textContent != "" ? tr[index].textContent : 0);
}
//将累加结果赋值到当前汇总行的对应的td中
tds.eq(index).text(total * 1 == 0 ? "" : total.toFixed(2));
total = 0;
}
}
function hideHeaderCol() {
$(".trSs th:nth-child(1)").hide();
$(".trTSs th:nth-child(1)").hide();
$("#tMain tbody tr td:nth-child(1)").hide();
}