Authored by 郭成尧

'分页更改'

... ... @@ -53,7 +53,7 @@ exports.getListData = (params, channel) => {
filters: publicHandler.handleSaleFilterData(result[1].data.filter, params),
opts: publicHandler.handleSaleOptsData(params, result[1].data.total),
totalCount: result[1].data.total,
pager: publicHandler.handleSalePagerData(result[1].data.total, params),
footPager: publicHandler.handlePagerData(result[1].data.total, params),
goods: productProcess.processProductList(result[1].data.product_list)
});
}
... ...
... ... @@ -99,8 +99,6 @@ exports.getOutletsIndexData = (params, channel) => {
finalResult.goodsBoard.sort.nextHref += '#otspool';
}
}
// finalResult.goodsBoard.pager = publicHandler.handleSalePagerData(result[5].data.total, params);
finalResult.goodsBoard.footPager = publicHandler.handlePagerData(result[5].data.total, params);
}
... ... @@ -174,7 +172,7 @@ exports.getOutletsChannelData = (params, channel) => {
channelData.goodsBoard.sort = publicHandler.handleSaleOptsData(params, result[3].data.total);
channelData.goodsBoard.sort.newPage = true;
channelData.goodsBoard.list = productProcess.processProductList(result[3].data.product_list);
channelData.goodsBoard.pager = publicHandler.handleSalePagerData(result[3].data.total, params);
channelData.goodsBoard.footPager = publicHandler.handlePagerData(result[3].data.total, params);
// 添加锚点
if (channelData.goodsBoard.sort.sortType) {
... ...
... ... @@ -198,87 +198,6 @@ const handleBrandCheckedData = (params, origin) => {
};
/**
* 处理分页数据
* @param {[type]} total [description]
* @param {[type]} params [description]
* @return {[type]} [description]
*/
exports.handleSalePagerData = (total, params) => {
// 当前页
let currentPage = parseInt((_.isEmpty(params.page) ? 1 : params.page), 10);
let perPageCount = parseInt((_.isEmpty(params.limit) ? 60 : params.limit), 10);
let totalPage = parseInt(total / perPageCount, 10) + 1;
let dest = '<a href ="' + handleFilterUrl(params, {page: (currentPage)}) +
'" class="cur">' + currentPage + '</a>';
// 先处理大多数情况
if ((currentPage > 2) && (currentPage < (parseInt(total, 10) / perPageCount) - 1)) {
for (let i = 1; i < 3; i++) {
dest = '<a href ="' + handleFilterUrl(params, {page: (currentPage - i)}) + '">' +
(currentPage - i) + '</a> ' + dest + ' <a href ="' +
handleFilterUrl(params, {page: (currentPage + i)}) +
'">' + (currentPage + i) + '</a>';
}
// 处理页码小于2的情况
} else if (currentPage <= 2) {
for (let i = currentPage - 1; i > 0; i--) {
dest = '<a href ="' + handleFilterUrl(params, {page: i}) +
'">' + i + '</a>' + dest;
}
for (let i = currentPage + 1; i < (totalPage < 6 ? totalPage : 6); i++) {
dest += '<a href ="' + handleFilterUrl(params, {page: i}) +
'">' + i + '</a>';
}
// 处理页码大于最大页-2的情况
} else if (currentPage > totalPage - 2) {
for (let i = currentPage + 1; i < totalPage + 1; i++) {
dest += '<a href ="' + handleFilterUrl(params, {page: i}) +
'">' + i + '</a>';
}
for (let i = currentPage - 1; i > (currentPage - 5 > 1 ? currentPage - 5 : 1); i--) {
dest = '<a href ="' + handleFilterUrl(params, {page: i}) +
'">' + i + '</a>' + dest;
}
}
// 处理后省略号的情况
if ((totalPage > 5) && (currentPage < (totalPage - 2))) {
dest += ' ... <a href ="' + handleFilterUrl(params, {page: totalPage}) +
'">' + totalPage + '</a>';
}
// 处理前省略号的情况
if (currentPage > 3) {
dest = '<a href ="' + handleFilterUrl(params, {page: 1}) +
'">1</a> ... ' + dest;
}
// 处理上一页下一页
if (currentPage !== 1) {
dest = '<a href="' + handleFilterUrl(params, {page: currentPage - 1}) +
'"><span class="iconfont">&#xe60e;上一页</span></a>' + dest;
}
if (currentPage !== totalPage) {
dest += '<a href="' + handleFilterUrl(params, {page: currentPage + 1}) +
'"><span class="iconfont">下一页&#xe60c;</span></a>';
}
return dest;
};
/**
* 处理 opts 排序数据
* @param params
* @param total
... ... @@ -445,8 +364,8 @@ exports.handleSaleSortData = (origin, params, extra) => {
leftContent.allSort.list = [];
// 删除 msort misort
delete params.msort;
delete params.misort;
// delete params.msort;
// delete params.misort;
if (extra === 'discount') {
let tempParams = _.cloneDeep(params);
... ... @@ -834,9 +753,10 @@ exports.handlePagerData = (total, params) => {
start: (currentPage ? currentPage - 1 : 0) * perPageCount + 1
};
dest.tip.end = (total < perPageCount) ? total : ((dest.pageCount === parseInt(params.page, 10)) ?
total : parseInt(dest.tip.start, 10) + perPageCount - 1);
let endPageNum = (totalPage === currentPage) ?
total : parseInt(dest.tip.start, 10) + perPageCount - 1;
dest.tip.end = (total < perPageCount) ? total : endPageNum;
dest.pages = _.concat(prevPages, pages, nextPages);
return dest;
... ...