mirror of https://github.com/layui/layui
优化 table 合计行的导出功能
parent
59d497b808
commit
005586b1f0
|
@ -1301,7 +1301,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||
});
|
||||
});
|
||||
|
||||
that.dataTotal = {};
|
||||
that.dataTotal = []; // 记录合计行结果
|
||||
|
||||
var tds = [];
|
||||
that.eachCols(function(i3, item3){
|
||||
|
@ -1309,12 +1309,16 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||
|
||||
// 合计数据的特定字段
|
||||
var TOTAL_NUMS = totalRowData && totalRowData[item3.field];
|
||||
|
||||
// 合计数据的小数点位数处理
|
||||
var decimals = 'totalRowDecimals' in item3 ? item3.totalRowDecimals : 2;
|
||||
var thisTotalNum = totalNums[field]
|
||||
? parseFloat(totalNums[field] || 0).toFixed(decimals)
|
||||
: '';
|
||||
|
||||
// td 内容
|
||||
// td 显示内容
|
||||
var content = function(){
|
||||
var text = item3.totalRowText || '';
|
||||
var decimals = 'totalRowDecimals' in item3 ? item3.totalRowDecimals : 2;
|
||||
var thisTotalNum = parseFloat(totalNums[field]).toFixed(decimals);
|
||||
var tplData = {
|
||||
LAY_COL: item3
|
||||
};
|
||||
|
@ -1332,6 +1336,13 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||
return TOTAL_NUMS || getContent;
|
||||
}();
|
||||
|
||||
// 合计原始结果
|
||||
var total = TOTAL_NUMS || thisTotalNum || '';
|
||||
item3.field && that.dataTotal.push({
|
||||
field: item3.field,
|
||||
total: $('<div>'+ content +'</div>').text()
|
||||
});
|
||||
|
||||
// td 容器
|
||||
var td = ['<td data-field="'+ field +'" data-key="'+ item3.key +'" '+ function(){
|
||||
var attr = [];
|
||||
|
@ -1368,7 +1379,6 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||
}()
|
||||
,'</div></td>'].join('');
|
||||
|
||||
item3.field && (that.dataTotal[field] = content);
|
||||
tds.push(td);
|
||||
});
|
||||
|
||||
|
@ -2645,14 +2655,14 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||
dataMain.push(vals.join(','));
|
||||
});
|
||||
|
||||
//表合计
|
||||
thatTable && layui.each(thatTable.dataTotal, function(key, value){
|
||||
fieldsIsHide[key] || dataTotal.push(value);
|
||||
// 表合计
|
||||
thatTable && layui.each(thatTable.dataTotal, function(i, o){
|
||||
fieldsIsHide[o.field] || dataTotal.push(o.total + '\t');
|
||||
});
|
||||
|
||||
return dataTitle.join(',') + '\r\n' + dataMain.join('\r\n') + '\r\n' + dataTotal.join(',');
|
||||
}());
|
||||
//return;
|
||||
|
||||
alink.download = (opts.title || config.title || 'table_'+ (config.index || '')) + '.' + type;
|
||||
document.body.appendChild(alink);
|
||||
alink.click();
|
||||
|
|
Loading…
Reference in New Issue