...
|
...
|
@@ -8,70 +8,16 @@ var $ = require('jquery'), |
|
|
lazyLoad = require('yoho.lazyload'),
|
|
|
Hammer = require('yoho.hammer'),
|
|
|
dialog = require('./dialog'),
|
|
|
tip = require('../plugin/tip'),
|
|
|
orderId = $('#order-detail').data('id'),
|
|
|
$countDownHours = $('.hours'),
|
|
|
$countdownContainer = $('.count-down'),
|
|
|
Swiper = require('yoho.iswiper'),
|
|
|
$ownerInfo = $('.owner-info'),
|
|
|
$reaMask = $('.reason-mask'),
|
|
|
reasonSwiper,
|
|
|
optHammer;
|
|
|
tip = require('../plugin/tip');
|
|
|
|
|
|
var orderId = $('#order-detail').data('id');
|
|
|
|
|
|
var optHammer;
|
|
|
|
|
|
lazyLoad({
|
|
|
try_again_css: 'order-failure'
|
|
|
});
|
|
|
|
|
|
function downCount(options) {
|
|
|
|
|
|
var difference = options,// difference of dates
|
|
|
interval;
|
|
|
/**
|
|
|
* Main downCount function that calculates everything
|
|
|
*/
|
|
|
function countdown() {
|
|
|
|
|
|
// basic math variables
|
|
|
var _second = 1000,
|
|
|
_minute = _second * 60,
|
|
|
_hour = _minute * 60,
|
|
|
_day = _hour * 24,
|
|
|
hours,
|
|
|
minutes,
|
|
|
seconds;
|
|
|
|
|
|
// calculate dates
|
|
|
hours = Math.floor((difference % _day) / _hour),
|
|
|
minutes = Math.floor((difference % _hour) / _minute),
|
|
|
seconds = Math.floor((difference % _minute) / _second);
|
|
|
|
|
|
// fix dates so that it will show two digets
|
|
|
hours = (String(hours).length >= 2) ? hours : '0' + hours;
|
|
|
minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes;
|
|
|
seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;
|
|
|
|
|
|
// set to DOM
|
|
|
$countdownContainer.removeClass('hide');
|
|
|
if (hours === '00') {
|
|
|
$countDownHours.text('剩余' + minutes + ':' + seconds);
|
|
|
} else {
|
|
|
$countDownHours.text('剩余' + hours + ':' + minutes + ':' + seconds);
|
|
|
}
|
|
|
|
|
|
difference -= 1000;
|
|
|
|
|
|
if (difference < 0) {
|
|
|
clearInterval(interval);// stop timer
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
if (difference !== '' && difference > 0) {
|
|
|
interval = setInterval(countdown, 1000);// start
|
|
|
}
|
|
|
}
|
|
|
|
|
|
downCount($countDownHours.text());
|
|
|
|
|
|
//订单删除
|
|
|
optHammer = new Hammer(document.getElementsByClassName('opt')[0]);
|
|
|
optHammer.on('tap', function(e) {
|
...
|
...
|
@@ -109,85 +55,50 @@ optHammer.on('tap', function(e) { |
|
|
});
|
|
|
});
|
|
|
} else if ($cur.hasClass('btn-cancel')) {
|
|
|
$reaMask.css('visibility', 'visible');
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if ($ownerInfo.data('changeable') === true) {
|
|
|
$ownerInfo.find('.rest').show();
|
|
|
$ownerInfo.on('touchend', function() {
|
|
|
location.href = $ownerInfo.data('url');
|
|
|
});
|
|
|
}
|
|
|
|
|
|
$(function() {
|
|
|
reasonSwiper = new Swiper('.box-main', {
|
|
|
initialSlide: 0,
|
|
|
centeredSlides: true,
|
|
|
slidesPerView: 5,
|
|
|
direction: 'vertical',
|
|
|
onSlideChangeStart: function(reasonSwiper) {
|
|
|
var activeIndex = reasonSwiper.activeIndex,
|
|
|
slides = reasonSwiper.slides,
|
|
|
i = 0;
|
|
|
|
|
|
if (slides.length !== 1) {
|
|
|
if (activeIndex === 0) {
|
|
|
for (i = 1; i < slides.length; i++) {
|
|
|
$(slides[i]).css('transform', '');
|
|
|
}
|
|
|
} else if (activeIndex === slides.length - 1) {
|
|
|
for (i = 0; i < activeIndex; i++) {
|
|
|
$(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)');
|
|
|
}
|
|
|
} else {
|
|
|
for (i = 0; i < activeIndex; i++) {
|
|
|
$(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)');
|
|
|
}
|
|
|
for (i = activeIndex + 1; i < slides.length; i++) {
|
|
|
$(slides[i]).css('transform', '');
|
|
|
}
|
|
|
//取消订单
|
|
|
dialog.showDialog({
|
|
|
dialogText: '确定取消订单吗?',
|
|
|
hasFooter: {
|
|
|
leftBtnText: '取消',
|
|
|
rightBtnText: '确定'
|
|
|
}
|
|
|
}, function() {
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: '/home/cancelOrder',
|
|
|
data: {
|
|
|
id: orderId
|
|
|
}
|
|
|
}).then(function(res) {
|
|
|
$('#dialog-wrapper').hide();
|
|
|
if ($.type(res) !== 'object') {
|
|
|
return;
|
|
|
}
|
|
|
if (res.message) {
|
|
|
tip.show(res.message);
|
|
|
}
|
|
|
setTimeout(function() {
|
|
|
window.location.href = '/home/orders';
|
|
|
}, 2000);
|
|
|
}).fail(function() {
|
|
|
tip.show('网络错误');
|
|
|
});
|
|
|
});
|
|
|
} else if ($cur.hasClass('btn-rebuy')) {
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: '/home/readd',
|
|
|
data: {
|
|
|
orderCode: orderId
|
|
|
},
|
|
|
success: function(res) {
|
|
|
tip.show(res.message);
|
|
|
location.href = '/cart/index/index';
|
|
|
},
|
|
|
error: function(res) {
|
|
|
tip.show(res.message);
|
|
|
}
|
|
|
$(slides[activeIndex]).css('transform', '');
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$reaMask.find('.box-cmp').on('touchend', function(e) {
|
|
|
var selSolid = reasonSwiper.slides[reasonSwiper.activeIndex],
|
|
|
reason = $(selSolid).text(),
|
|
|
reasonId = $(selSolid).data('reasonId');
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: '/home/cancelOrder',
|
|
|
data: {
|
|
|
id: orderId,
|
|
|
reason: reason,
|
|
|
reasonId: reasonId
|
|
|
}
|
|
|
}).then(function(res) {
|
|
|
$reaMask.fadeOut();
|
|
|
if ($.type(res) !== 'object') {
|
|
|
return;
|
|
|
}
|
|
|
if (res.message) {
|
|
|
tip.show(res.message);
|
|
|
}
|
|
|
setTimeout(function() {
|
|
|
window.location.href = '/home/orders';
|
|
|
}, 2000);
|
|
|
}).fail(function() {
|
|
|
tip.show('网络错误');
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$reaMask.on('touchend', function(event) {
|
|
|
if (event.target.className !== 'reason-mask') {
|
|
|
return false;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
$reaMask.css('visibility', 'hidden');
|
|
|
event.stopPropagation();
|
|
|
}); |
...
|
...
|
|