提高开发效率-分页查询


-------------------------controller---------------------------------------------------------
@RequestMapping(value = "/giftList", method = RequestMethod.GET)
public Protocol> giftList(String _appId, GiftRaffleIn giftRaffleIn) {
    ParamsValid valid = new ParamsValid();
    valid.validAppId(_appId);
    if (!valid.isValid()) {
        return valid.showInValidMessage();
    }
    try {
        return giftRaffleRecordService.giftList(giftRaffleIn);
    } catch (Exception ex) {
        logger.error("GiftRaffleRecordController.giftList获取奖品列表出错", ex);
        return new Protocol(1, "获取奖品列表出错");
    }
}

 -----------------------列表分页service-------------------------------------------------------
logger.warn("SubjectService.getAllSubjectType入参: " + JSON.toJSONString(subjectTypeIn));
int count = subjectTypeMapper.getAllSubjectTypeCount(subjectTypeIn);
if (count < 1) {
    logger.warn("SubjectService.getAllSubjectType专题列表分页查询无结果");
    return new Protocol(new ProtocolPager(), 0, "查询无结果");
}
List subjectTypeList = subjectTypeMapper.getAllSubjectType(subjectTypeIn);
ProtocolPager protocolPager = new ProtocolPager(
        subjectTypeList,subjectTypeIn.getPageSize(),subjectTypeIn.getPageIndex(),count);
return new Protocol<>(protocolPager, 0, "");
-----------------------分页mapper.xml----------------------------------------------------------------------------------------------------

 

页面js分页实现:如果页数大于6,则大于3页的页数用...来展示,显示前3页后3页,如果不足6页则正常显示

loadStatisTable: function (pageIndex) {
    $.ajax({
        url: '/datastatis/dealerorder/getDealerOrderDataList',
        dataType: 'json',
        type: 'get',
        data: {
            pageIndex: pageIndex,
            pageSize: pageSize,
            reportDateStart: reportDateStart,
            reportDateEnd: reportDateEnd,
            dealerId: dealerId
        },
        success: function (data) {
            if (data == null || data.list == null) {
                $('.ics_table_v1').empty().append(template('defaultStatisTableTemplate', {
                    Data: data
                }));
                zhwx.dealer.loadStatisTableNum(1, 1, 0);
                return;
            }
            if (data) {
                $('.ics_table_v1').empty().append(template('statisTableTemplate', {
                    Data: data
                }));
                zhwx.dealer.loadStatisTableNum(data.pagecount, data.pageindex, data.rowcount);
            }
        },
        error: function (data) {
            $('.ics_table_v1').empty().append(template('defaultStatisTableTemplate', {
                Data: data
            }));
        }
    });
},
loadPreOrNextPage: function (obj, pageCount) {
    var currentPage = $(".ics_page_v1 .current").html();
    if ($(obj).hasClass("page-prev")) {
        if (currentPage != 1) {
            zhwx.dealer.loadStatisTable(parseInt(currentPage) - 1);
        }
    } else {
        if (currentPage != pageCount) {
            zhwx.dealer.loadStatisTable(parseInt(currentPage) + 1);
        }
    }
},
loadJumpPage: function (pageCount) {
    var pageNumber = $("#pageNumber").val();
    if (pageNumber !== '' && pageNumber !== null && pageNumber !== undefined && pageNumber > 0 && pageNumber <= pageCount) {
        zhwx.dealer.loadStatisTable(pageNumber);
    }
},
loadStatisTableNum: function (pageCount, pageIndex, rowcount) {
    var pageNumHtml = "" + rowcount + "";
    pageNumHtml += "";
    if (pageCount < 6) {
        for (var i = 1; i < pageCount + 1; i++) {
            if (pageIndex == i) {
                pageNumHtml += "" + i + "";
            } else {
                pageNumHtml += "" + i + "";
            }
        }
    } else if (pageIndex < 3 || pageIndex > pageCount - 2) {
        var hadDraw = false;
        for (var i = 1; i < pageCount + 1; i++) {
            if (i < 3 || i > pageCount - 2) {
                if (pageIndex == i) {
                    if (pageIndex == 2) {
                        pageNumHtml += "" + i + "";
                        pageNumHtml += "" + (i + 1) + "";
                    } else if (pageIndex == pageCount - 1) {
                        pageNumHtml += "" + (i - 1) + "";
                        pageNumHtml += "" + i + "";
                    } else {
                        pageNumHtml += "" + i + "";
                    }
                } else {
                    pageNumHtml += "" + i + "";
                }
            } else if (!hadDraw) {
                pageNumHtml += "...";
                hadDraw = true;
            }
        }
    } else {
        var hadDraw = false;
        for (var i = 1; i < pageCount + 1; i++) {
            if (i < 3 || i > pageCount - 2 || (i > pageIndex - 2 && i < pageIndex + 2)) {
                if (pageIndex == i) {
                    pageNumHtml += "" + i + "";
                } else {
                    pageNumHtml += "" + i + "";
                }
                hadDraw = false;
            } else if (!hadDraw) {
                pageNumHtml += "...";
                hadDraw = true;
            }
        }
    }
    pageNumHtml += "";
    pageNumHtml += "跳转";
    pageNumHtml += "";
    pageNumHtml += "";
    pageNumHtml += "GO";
    $(".ics_page_v1").html(pageNumHtml);
    if (pageCount == 1) {
        $(".page-prev").addClass("page-disabled");
        $(".page-next").addClass("page-disabled");
    } else if (pageIndex == 1) {
        $(".page-prev").addClass("page-disabled");
        $(".page-next").removeClass("page-disabled");
    } else if (pageIndex == pageCount) {
        $(".page-next").addClass("page-disabled");
        $(".page-prev").removeClass("page-disabled");
    } else {
        $(".page-prev").removeClass("page-disabled");
        $(".page-next").removeClass("page-disabled");
    }
},

效果图
 

!-- 表格 -->
        
报表 导出
日期 顾问
<#--40--> <#----> <#--1 2--> <#--3 4 5--> <#-- <#--... 999--> <#----> <#--跳转--> <#----> <#----> <#--GO-->

你可能感兴趣的:(分页查询)