业务逻辑,需要知道上次保存的时候表格在第几页,保存的时候保存页数,回显的时候,表格加载,用id拿到onPage,就是保存过的页码,用页码重载分页插件,暂时就想到这一种方法
var analTable = layui.table.render({
id: "analList",
elem: '#analList',
url: "/report/wasteGasBusiness/getAnalysisList",
cols: [[
{type: 'radio'},
{title: '序号', width: '8%', align: "center", templet: "#indexTable"},
{field: 'name', width: '22%', title: '名称', align: "center"},
{field: 'industry', width: '20%', title: '行业名称', align: "center"},
{field: 'wasteProduction', width: '30%', title: '工艺', align: "center"},
{field: 'scale', width: '10%', title: '规模', align: "center"},
{fixed: 'right', title: '操作', width: '10%', align: "center", toolbar: '#toolBar'}
]],
//要传的参数
where:{
pollutionStr:pollutionStr,
analysisId:analysisId,
reportProcessId:reportProcessId,
businessAnalysisEntryId:businessAnalysisEntryId,
},
// post|get
method:'post',
page: true,
even: true,
limit: 10,
limits: [10],
parseData: function (res) { //res 即为原始返回的数据
// console.log(res.data)
if (res.code === 0) {
var data = res.data;
// console.log(data)
return {
"code": res.code, //解析接口状态
"count": res.count, //解析数据长度
"data": data, //解析数据列表
"onPage": res.onPage, // 保存过的页码数,表格加载完之后用这个page重载分页,
};
}
},
done: function (res) {
that.analysisOnPage = res.onPage?res.onPage:analTable.config.page.curr
/**
* 重新设置分页插件,当回显的时候,可能选中的不是第一页的数据,需要用存过的page重载分页,
* 分页事件的时候就不会带着保存过的id请求
* 相当于除了第一次,都用新加载的分页控制表格分页
* */
var elem = analTable.config.page.elem // layui表格生成的分页的容器
layui.laypage.render({
elem: elem
,count: res.count
,limits: [10]
,layout: [ 'prev', 'page', 'next', 'skip','count', 'limit']
,curr: that.analysisOnPage
,next: ''
,prev: ''
,jump: function(obj,first){
if(!first){
// 把表格实例的分页更新
calcuTable.config.page.curr = obj.curr
// 翻页的时候重载表格
layui.table.reload('analList', {
page: {
curr: obj.curr
},
// 重载的时候不带id,就不会拿到onPage,就不会死循环
where: {businessAnalysisEntryId: ''},
});
}
}
});
}
});