|
|
var $ = require('jquery'),
|
|
|
Handlebars = require('yoho.handlebars'),
|
|
|
ellipsis = require('mlellipsis'),
|
|
|
loading = require('../plugin/loading'),
|
|
|
tip = require('../plugin/tip');
|
|
|
|
|
|
var page = 1,
|
|
|
canGetCoupon = true,
|
|
|
isGetData;
|
|
|
|
|
|
var conponTmpl = Handlebars.compile($('#tmpl-coupon').html()),
|
|
|
conponNotAvaliableTmpl = Handlebars.compile($('#tmpl-coupon-not-avaliable').html());
|
|
|
|
|
|
ellipsis.init();
|
|
|
|
|
|
function getCouponDate() {
|
|
|
if (!canGetCoupon) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (isGetData) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
loading.showLoadingMask();
|
|
|
page += 1;
|
|
|
isGetData = true;
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/home/couponData',
|
|
|
dataType: 'html',
|
|
|
data: {
|
|
|
statuss: status,
|
|
|
page: page
|
|
|
}
|
|
|
}).then(function(coupons) {
|
|
|
var notAvailableCoupons = [];
|
|
|
|
|
|
// 后端需要返回一个 coupons 列表,如下
|
|
|
// notAvailable 表示不可用的优惠券
|
|
|
coupons = [{
|
|
|
money: '99',
|
|
|
coupon_name: '满XX-减去吴悠右腿有益于有2222',
|
|
|
couponValidity: '20150129-20150430',
|
|
|
coupon_id: '22222'
|
|
|
}, {
|
|
|
money: '99',
|
|
|
coupon_name: '满XX-减去吴悠右腿有益于有2222',
|
|
|
couponValidity: '20150129-20150430',
|
|
|
coupon_id: '2222233'
|
|
|
}, {
|
|
|
money: '99',
|
|
|
coupon_name: 'NONO满XX-减去吴悠右腿有益于有2222',
|
|
|
couponValidity: '20150129-20150430',
|
|
|
coupon_id: '2222233',
|
|
|
notAvailable: 1
|
|
|
}];
|
|
|
|
|
|
// coupons 是个列表,如果不是列表,可能是服务器错误,这次翻页加载不算
|
|
|
if (!$.isArray(coupons)) {
|
|
|
page--;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 每页10张,当不足10张时,说明已经加载完
|
|
|
if (coupons.length < 10) {
|
|
|
canGetCoupon = false;
|
|
|
}
|
|
|
|
|
|
// 第一页张数为 0 ,显示优惠券为空
|
|
|
if (!coupons.length && page === 2) {
|
|
|
$('.select-coupon-page').html($('#tmpl-no-coupon').html());
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 把不可用的优惠券分离出来
|
|
|
$.each(coupons, function(i, coupon) {
|
|
|
if (coupon.notAvailable) {
|
|
|
notAvailableCoupons.push(coupon);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if (notAvailableCoupons.length) {
|
|
|
$('.not-avaliable-coupon-line').show();
|
|
|
}
|
|
|
$('#coupon-list').append(conponTmpl({
|
|
|
coupons: coupons
|
|
|
}));
|
|
|
$('#coupon-list-not').append(conponNotAvaliableTmpl({
|
|
|
notAvailableCoupons: notAvailableCoupons
|
|
|
}));
|
|
|
window.rePosFooter();
|
|
|
}).fail(function() {
|
|
|
page -= 1;
|
|
|
tip.show('加载优惠券失败');
|
|
|
}).always(function() {
|
|
|
isGetData = false;
|
|
|
loading.hideLoadingMask();
|
|
|
});
|
|
|
}
|
|
|
|
|
|
getCouponDate();
|
|
|
|
|
|
$(window).scroll(function() {
|
|
|
if ($(window).scrollTop() + $(window).height() > $('body').height() * 0.9) {
|
|
|
getCouponDate();
|
|
|
}
|
|
|
}); |
...
|
...
|
|