layui.define(function(exports) {
//tablePlus在原来的table模块的基础上实现了批量数据导出功能,实现defaultToolbar中筛选列记忆功能
var table = layui.table;
var form = layui.form;
var MOD_NAME='tablePlus';
var tablePlus=$.extend({},table);
tablePlus._render = tablePlus.render;
tablePlus.excel = function(total,options){
//console.log(options);
let _page = parseInt(total/options.excel_limit);
let page = total%options.excel_limit>0?(_page+1):_page;
let pageHtml='
';
for (i = 1; i <= page; i++) {
pageHtml += '
'+i+'';
}
pageHtml+='
';
layer.open({
type: 1,
title: '导出数据',
area:['580px','240px'],
content: pageHtml,
success:function(res){
let tableWhere = JSON.parse(JSON.stringify(options.where));
tableWhere.limit=options.excel_limit;
$('#exportPage').on('click','a',function(){
tableWhere.page=$(this).data('page');
let msg = layer.msg('正在导出数据...', {time:3000});
$.ajax({
url: options.url,
data: tableWhere,
success:function(res){
table.exportFile(options.id, res.data,'csv');
setTimeout(function(){
layer.msg('导出完成');
},2000)
}
});
})
}
});
}
//重写渲染方法
tablePlus.render=function(params){
if(params.excel_limit === undefined){
params.excel_limit = 10000;
}
if(params.cols_save === undefined){
params.cols_save = false;
}
if(params.limit === undefined){
params.limit = 20;
}
if(params.page === undefined){
params.page = true;
}
if(params.cellMinWidth === undefined){
params.cellMinWidth = 80;
}
if(params.help === undefined){
params.help = '无帮助说明';
}
let defaultToolbar = [
'filter',
{
name: 'exports',
onClick: function(obj) {
// 当前示例配置项
let options = obj.config;
let total = obj.data.length;
// 弹出面板
obj.openPanel({
list: [ // 列表
'