function paging(options) {
|
loading($("#"+options["id"]));
|
//默认参数
|
var defaults = {"curr": 1,"class":"display_form common_list_table","style":""};
|
//获取调用控件ID
|
var opts = $.extend({}, defaults, options);
|
opts["table_id"] = opts["id"]+"_layer_table";
|
opts["page_id"] = opts["id"]+"_layer_page";
|
//删除页面已存在的容器
|
$("#" + opts["table_id"]).remove();
|
$("#" + opts["page_id"]).remove();
|
//追加table容器
|
$("#" + opts["id"]).append('<table class="'+opts["class"]+'" style="'+opts["style"]+'" id="'+opts["table_id"]+'"></table>');
|
//追加分页容器
|
$("#" + opts["table_id"]).after('<div id="'+opts["page_id"]+'"></div>');
|
//追加th
|
if(("columns" in options) && options.columns.length>0){
|
var $tr = $("<tr class='title'></tr>");
|
$.each(options.columns, function (i,item) {
|
var $th = $("<td></td>");
|
//标题
|
if("title" in item){
|
$th.html(item["title"]);
|
}
|
|
//样式
|
if("class" in item){
|
$th.addClass(item["class"]);
|
}
|
|
//宽度
|
if("width" in item){
|
$th.attr("width",item["width"]);
|
}
|
|
$tr.append($th);
|
});
|
$("#"+opts["table_id"]).append($tr);
|
}
|
|
//调用异步分页
|
asynchronous_page(opts);
|
}
|
|
function asynchronous_page(opts) {
|
var param = $.extend({}, {page: opts.curr || 1, pageSize: opts.pageSize}, opts.param || {});
|
|
$.post(opts.url, param, function (res) {
|
//清空上一页数据
|
$("#"+opts["table_id"]).find("tr:gt(0)").remove();
|
//分页内容组装
|
if(("content" in res) && res.content.length>0){
|
$.each(res.content, function (i,data) {
|
var $tr = $("<tr></tr>");
|
$.each(opts.columns, function (j,item) {
|
|
var $td = $("<td></td>");
|
|
if("class" in item){//td class
|
$td.addClass(item["class"])
|
}
|
if("customize" in item){//自定义td内容
|
var index = ((opts["curr"]-1) * opts.pageSize) + i ;
|
$td.html(item.customize(index ,data));
|
}else {
|
if("field" in item){
|
$td.text(data[item.field]);
|
}
|
}
|
$tr.append($td);
|
});
|
$("#"+opts["table_id"]).append($tr);
|
});
|
}else {
|
var $tr = $('<tr><td style="text-align: center;" colspan="'+opts.columns.length+'">暂无数据</td></tr>');
|
$("#"+opts["table_id"]).append($tr);
|
}
|
|
$("#"+opts["table_id"]).append($tr);
|
|
|
|
//显示分页
|
laypage({
|
cont: opts["page_id"], //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div>
|
pages: res.totalPages, //通过后台拿到的总页数
|
curr: opts.curr || 1, //当前页
|
skip:true,
|
jump: function (obj, first) { //触发分页后的回调
|
if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr
|
opts["curr"] = obj.curr;
|
asynchronous_page(opts);
|
}
|
}
|
});
|
loaded($("#"+opts.id));
|
},'json');
|
|
|
}
|