fastadmin 导出
php 接收数据
set_time_limit(0);@ini_set('memory_limit', -1);$ids = $this->request->post('ids');$filter = $this->request->post('filter');$op = $this->request->post('op');$search = $this->request->post('search');$whereIds = $ids == 'all' ? '1=1' : ['id' => ['in', explode(',', $ids)]];$this->request->get(['search' => $search, 'ids' => $ids, 'filter' => $filter, 'op' => $op]);list($where, $sort, $order, $offset, $limit) = $this->buildparams();//$list = $this->model->where($where)->where($whereIds)->select();
js
$(document).on("click", ".btn-export", function () {var ids = Table.api.selectedids(table);var page = table.bootstrapTable('getData');var all = table.bootstrapTable('getOptions').totalRows;Layer.confirm("请选择导出的选项<form action='" + Fast.api.fixurl("user/export") + "' method='post' target='_blank'><input type='hidden' name='ids' value='' /><input type='hidden' name='filter' ><input type='hidden' name='op'><input type='hidden' name='search'><input type='hidden' name='columns'></form>", {title: '导出数据',btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],success: function (layero, index) {$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");}, yes: function (index, layero) {submitForm(ids.join(","), layero);return false;},btn2: function (index, layero) {var ids = [];$.each(page, function (i, j) {ids.push(j.id);});submitForm(ids.join(","), layero);return false;},btn3: function (index, layero) {submitForm("all", layero);return false;}})});var submitForm = function (ids, layero) {var options = table.bootstrapTable('getOptions');if(ids){var columns = [];$.each(options.columns[0], function (i, j) {if (j.field && !j.checkbox && j.visible && j.field != 'operate') {columns.push(j.field);}});var search = options.queryParams({});$("input[name=search]", layero).val(options.searchText);$("input[name=ids]", layero).val(ids);$("input[name=filter]", layero).val(search.filter);$("input[name=op]", layero).val(search.op);$("input[name=columns]", layero).val(columns.join(','));$("form", layero).submit(); }else{layer.msg('未选中内容', {icon: 5});return false; }}; //导出结束