一、基础使用方法封装;
<script type="text/javascript" src="/layui/lay/excel.js"></script>// 注释 ds 为数组数据;
function exopt(ds) {
console.log(ds);
ds.unshift({
id:'ID',
order_sn:'订单编号',
wholesaler_truename:'客户姓名',
wholesaler_mobile:'客户手机号',
wholesaler_name:'客户单位名',
pay_status_name:'支付方式',
total_fee:'订单金额',
status_name: '订单状态',
created_time:'提交时间'
});
excel.exportExcel({
sheet1: ds
}, '订单列表.xlsx', 'xlsx');
}
二、常用请求直接封装导出使用;
/**
* url :请求地址;
* param1,param2,...:请求参数;
**/
function layExport(url,param1,param2,...){
var params={};
params.param1=param1;
params.param2=param2;//...
$.get(url, params, function (res) {
var datas = eval('(' + res + ')');
var data = datas.data;
var t=['商品','规格','单位','仓库',"可售库存","实际库存",'成本均价(¥)',"安全库存","库存上限","库存下限"];
var v=[];
for(var i=0;i<data.length;i++){
var s=[
data[i].title,
data[i].skus_name,
data[i].sunit_name,
data[i].warehouse_name,
data[i].stock_sale,
data[i].stock,data[i].price,
data[i].stock_safe,
data[i].stock_max,
data[i].stock_min
];
v.push(s);
}
// table.exportFile(t,data,'库存现状表.xlsx', 'xlsx');
table.exportFile(t,v,'库存现状表.xls','xls');
});
}
三、结合表格管理导出使用;
<!-- html部分 -->
<table id="userList" lay-filter="userList"></table>
<script type="text/html" id="exportBar">
<button class="layui-btn layui-btn-sm"
style="float: right; margin-left: 0px; margin-right: 0px; margin-bottom: 0px; margin-top: 5px;"
lay-event="exportNow">
数据导出
</button>
</script>
<script>
layui.use(["form", "layer", "table", "laytpl", "laydate"], function () {
var form = layui.form,
layer = layui.layer,
// layer = parent.layer === undefined ? layui.layer : top.layer,
$ = layui.jquery,
laytpl = layui.laytpl,
laydate = layui.laydate,
table = layui.table;
//内容表格
table.render({
elem: "#userList",
id:"userList",
url: "/api/purchase/idetail",
where: wheres,
toolbar: "#exportBar",
defaultToolbar: [],
// totalRow: true,
cols: [[
{type: "numbers", title: 'ID',align: "center"},
{title: "商品",width: 232,unresize: true,height: "80px",align: "center",
templet: function (d) {
return (
'<div class="clearfix"><img width="60" class="left" height="60" src="' +
d.item_cover +
'" /> <div class="left tbitem-title">' +
d.item_title +
"</div></div>"
);
}
},
{field: "skus_name",title: "规格",align: "center",totalRow: true},
{field: "sunit_name",title: "单位",width: 60,align: "center",totalRow: true},
{field: "total",title: "采购数量",minWidth: 100,align: "center"},
{field: "price",title: "进货价(元)",minWidth: 100,align: "center"},
{field: "ruku_total",title: "入库数量",minWidth: 100,align: "center"},
{field: "total_fee",title: "金额(元)",minWidth: 100, align: "center"},
{field: "supplier_name", title: "供应商", minWidth: 80, align: "center" },
{field: "status",title: "订单状态", minWidth: 80,align: "center",
templet:function (d) {
var name='';
if(d.status==0){
name='未审核';
}else if(d.status==1){
name='待入库';
}else if(d.status==2){
name='已入库';
}
return name;
}
},
{field: "purchase_sn", title: "采购单号",minWidth: 200,align: "center"}
]],
page: true,
done: function (res, curr, count) {
// 供应商数
$("#supplier_amount").text(res.supplier);
// 采购金额
// $("#total_money").text((res.money).toFixed(2));
$("#total_money").text(res.money);
// 商品数
$("#total_goods").text(res.total);
// 采购订单数
$("#total_purchase").text(res.sn);
}
});
// 数据导出
table.on('toolbar(userList)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'exportNow':
var getURL = "/api/purchase/excel";
var params = {}; //请求参数;
params['start'] = $("input[name='start']").val();
params['end'] = $("input[name='end']").val();
params['status'] = $("select[name='status']").val();
params['warehouse_id'] = $("select[name='warehouse_id']").val();
params['supplier_id'] = $("input[name='supplier_id']").val();
params['buyer_id'] = $("input[name='buyer_id']").val();
params['title'] = $("input[name='title']").val();
$.get(getURL, params, function (res) {
console.log(params);
var datas = eval('(' + res + ')');
var datalist = datas.data;
// table.exportFile('userList', datalist, 'xls');
table.exportFile('userList', datalist,'导出明细表.xls', 'xls');
});
break;
}
});
});
</script>