列表搜索框
var table = $("#table");
table.on('post-common-search.bs.table', function (event, table)
{
var form = $("form", table.$commonsearch);
$("input[name='user_id']", form).addClass("selectpage").data("source", "user/user/index").data("primaryKey", "id").data("field", "nickname").data("orderBy", "nickname asc").data("pageSize", 6);
Form.events.cxselect(form);
Form.events.selectpage(form);
});
excel 导出
$search = $this->request->post('search');
$ids = $this->request->post('ids');
$filter = $this->request->post('filter');
$op = $this->request->post('op');
$columns = $this->request->post('columns');
$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();
$line = 1;
$list = [];
$this->model
->field($columns)
->where($where)
->where($whereIds)
->select();
var submitForm = function (ids, layero) {
var options = table.bootstrapTable('getOptions');
console.log(options);
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();
};
$(document).on("click", ".btn-export", function () {
var ids = Table.api.selectedids(table);
var page = table.bootstrapTable('getData');
var all = table.bootstrapTable('getOptions').totalRows;
console.log(ids, page, all);
Layer.confirm("请选择导出的选项<form action='" + Fast.api.fixurl("test/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)
{
const ba = $(".layui-layer-btn a", layero)
ba.addClass("layui-layer-btn0");
if (ids.length === 0)
{
ba.eq(0).removeClass("layui-layer-btn0")
}
if (page.length === 0)
{
ba.eq(1).removeClass("layui-layer-btn0")
}
},
btn1: function (index, layero)
{
if (ids.length > 0)
{
submitForm(ids.join(","), layero);
layer.close(index);
}
return false;
},
btn2: function (index, layero)
{
if (page.length === 0)
{
return false
}
var ids = [];
$.each(page, function (i, j)
{
ids.push(j.id);
});
submitForm(ids.join(","), layero);
layer.close(index);
return false;
},
btn3: function (index, layero)
{
submitForm("all", layero);
layer.close(index);
return false;
}
})
});