fix js, fix scoupe

prod
Dmitriy Shesterkin 9 years ago
parent 1a2d3b7164
commit 3ceced5854
  1. 734
      static/js/orders.js

@ -1,443 +1,445 @@
$(document).ready(function() { (function() {
$(document).ready(function () {
$('.delete_license').click(function(e){ $('.delete_license').click(function (e) {
e.preventDefault(); e.preventDefault();
var accountID = $(this).data('id'); var accountID = $(this).data('id');
$('#dialogs').html('Удалить счет на оплату?'); $('#dialogs').html('Удалить счет на оплату?');
$('#dialogs').dialog({ $('#dialogs').dialog({
buttons: { buttons: {
"Да": function(){ "Да": function () {
$.post('/my/delete_license/' + accountID + '/', function(data){ $.post('/my/delete_license/' + accountID + '/', function () {
$('.account_' + data['id']).remove() $("[data-id='" + accountID + "']")[0].remove()
}); });
$(this).dialog("close"); $(this).dialog("close");
}, },
"Нет": function(){ "Нет": function () {
$(this).dialog("close"); $(this).dialog("close");
}
} }
}
}) })
}); });
var filterLinks = document.getElementsByClassName('filter__link');
var filterPeriodLinks = document.getElementsByClassName('period__link');
var filterPeriod = false;
var filterStatus = false;
var filterType = false;
var options = {
valueNames: [
{ data: ['id'] },
'order-date',
{ data: ['type']},
{ data: ['status']}
]
};
var today = new Date();
var dd = today.getDate();
var month = today.getMonth() + 1;
var year = today.getFullYear();
var quarter, prevMonth, prevMonthYear, prevQuarter, prevYear;
var orderList = new List('listData', options);
if (dd < 10) {
dd = '0' + dd
}
if (month < 10) {
month = '0'+ month
}
function getPrevMonth(d) {
var result;
d = d || new Date();
result = d.getMonth();
if (result === 0) {
result = 12
}
if (result < 10) {
result = '0'+ result
}
return result
}
function getPrevMonthYear(d) {
var result;
d = d || new Date();
var currMon = d.getMonth();
if (currMon === 0) { var filterLinks = document.getElementsByClassName('filter__link');
result = d.getFullYear() - 1 var filterPeriodLinks = document.getElementsByClassName('period__link');
} else { var filterPeriod = false;
result = d.getFullYear() var filterStatus = false;
var filterType = false;
var options = {
valueNames: [
{data: ['id']},
'order-date',
{data: ['type']},
{data: ['status']}
]
};
var today = new Date();
var dd = today.getDate();
var month = today.getMonth() + 1;
var year = today.getFullYear();
var quarter, prevMonth, prevMonthYear, prevQuarter, prevYear;
var orderList = new List('listData', options);
if (dd < 10) {
dd = '0' + dd
} }
return result if (month < 10) {
} month = '0' + month
function getQuarter(d) {
var result;
d = d || new Date();
var m = Math.floor(d.getMonth()/3) + 2;
result = m > 4? m - 4 : m;
return result - 1
}
function getQuarterForStrDate(strDate) {
var parts =strDate.split('.');
var resDate = new Date(parts[2],parts[1]-1,parts[0]);
return getQuarter(resDate)
}
function getPrevQuarter() {
var result;
if (quarter === 1) {
result = 4
} else {
result = quarter - 1
} }
return result;
}
quarter = getQuarter();
prevMonth = getPrevMonth();
prevMonthYear = getPrevMonthYear();
prevQuarter = getPrevQuarter();
prevYear =year - 1;
$('#filterNone').click(function() {
event.preventDefault();
filterPeriod = false;
filterStatus = false;
filterType = false;
orderList.filter();
resetAllFilterStatus();
});
$('#filterAccountsNone').click(function() {
event.preventDefault();
filterStatus = false;
filterType = 'account';
filterItems();
});
$('#filterAccountsPay').click(function() {
event.preventDefault();
filterStatus = ['2'];
filterType = 'account';
filterItems();
});
$('#filterAccountsWaitPay').click(function() {
event.preventDefault();
filterStatus = ['0'];
filterType = 'account';
filterItems();
});
$('#filterAccountsFreezePay').click(function() { function getPrevMonth(d) {
event.preventDefault(); var result;
filterStatus = ['4']; d = d || new Date();
filterType = 'account'; result = d.getMonth();
filterItems(); if (result === 0) {
}); result = 12
}
if (result < 10) {
result = '0' + result
}
$('#filterLicenseNone').click(function() { return result
event.preventDefault(); }
filterStatus = false;
filterType = 'license';
filterItems();
});
$('#filterLicenseNow').click(function() { function getPrevMonthYear(d) {
event.preventDefault(); var result;
filterStatus = ['-1','2']; d = d || new Date();
filterType = 'license'; var currMon = d.getMonth();
filterItems();
});
$('#filterLicenseOld').click(function() { if (currMon === 0) {
event.preventDefault(); result = d.getFullYear() - 1
filterStatus = ['3']; } else {
filterType = 'license'; result = d.getFullYear()
filterItems(); }
});
$('#filterPeriodNone').click(function() { return result
event.preventDefault(); }
filterPeriod = false;
filterItems();
});
$('#filterPeriodThisMonth').click(function() { function getQuarter(d) {
event.preventDefault(); var result;
filterPeriod = 1; d = d || new Date();
filterItems(); var m = Math.floor(d.getMonth() / 3) + 2;
}); result = m > 4 ? m - 4 : m;
return result - 1
}
$('#filterPeriodPrevMonth').click(function() { function getQuarterForStrDate(strDate) {
event.preventDefault(); var parts = strDate.split('.');
filterPeriod = 2; var resDate = new Date(parts[2], parts[1] - 1, parts[0]);
filterItems(); return getQuarter(resDate)
}); }
$('#filterPeriodThisQuarter').click(function() { function getPrevQuarter() {
event.preventDefault(); var result;
filterPeriod = 3; if (quarter === 1) {
filterItems(); result = 4
}); } else {
result = quarter - 1
}
return result;
}
$('#filterPeriodPrevQuarter').click(function() { quarter = getQuarter();
event.preventDefault(); prevMonth = getPrevMonth();
filterPeriod = 4; prevMonthYear = getPrevMonthYear();
filterItems(); prevQuarter = getPrevQuarter();
}); prevYear = year - 1;
$('#filterNone').click(function () {
event.preventDefault();
filterPeriod = false;
filterStatus = false;
filterType = false;
orderList.filter();
resetAllFilterStatus();
});
$('#filterPeriodThisYear').click(function() { $('#filterAccountsNone').click(function () {
event.preventDefault(); event.preventDefault();
filterPeriod = 5; filterStatus = false;
filterItems(); filterType = 'account';
}); filterItems();
});
$('#filterPeriodPrevYear').click(function() { $('#filterAccountsPay').click(function () {
event.preventDefault(); event.preventDefault();
filterPeriod = 6; filterStatus = ['2'];
filterItems(); filterType = 'account';
}); filterItems();
});
function filterItemsDontPeriod() { $('#filterAccountsWaitPay').click(function () {
orderList.filter(function(item) { event.preventDefault();
if (!filterType && !filterStatus) { filterStatus = ['0'];
return true filterType = 'account';
} filterItems();
if (filterType && filterStatus) { });
return item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values().type === filterType;
}
$('#filterAccountsFreezePay').click(function () {
event.preventDefault();
filterStatus = ['4'];
filterType = 'account';
filterItems();
}); });
}
function filterItemsMonth() { $('#filterLicenseNone').click(function () {
event.preventDefault();
filterStatus = false;
filterType = 'license';
filterItems();
});
orderList.filter(function(item) { $('#filterLicenseNow').click(function () {
if (!filterType && !filterStatus) { event.preventDefault();
return item.values()['order-date'].split('.')[1] === month.toString() filterStatus = ['-1', '2'];
&& item.values()['order-date'].split('.')[2] === year.toString(); filterType = 'license';
} filterItems();
if (filterType && filterStatus) { });
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType;
}
$('#filterLicenseOld').click(function () {
event.preventDefault();
filterStatus = ['3'];
filterType = 'license';
filterItems();
}); });
} $('#filterPeriodNone').click(function () {
event.preventDefault();
filterPeriod = false;
filterItems();
});
function filterItemsPrevMonth() { $('#filterPeriodThisMonth').click(function () {
orderList.filter(function(item) { event.preventDefault();
if (!filterType && !filterStatus) { filterPeriod = 1;
return item.values()['order-date'].split('.')[1] === prevMonth.toString() filterItems();
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString(); });
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString()
&& item.values().type === filterType;
}
$('#filterPeriodPrevMonth').click(function () {
event.preventDefault();
filterPeriod = 2;
filterItems();
}); });
}
function filterItemsThisQuarter() { $('#filterPeriodThisQuarter').click(function () {
orderList.filter(function(item) { event.preventDefault();
if (!filterType && !filterStatus) { filterPeriod = 3;
return getQuarterForStrDate(item.values()['order-date']) === quarter filterItems();
} });
if (filterType && filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
&& item.values().type === filterType;
}
$('#filterPeriodPrevQuarter').click(function () {
event.preventDefault();
filterPeriod = 4;
filterItems();
}); });
}
function filterItemsPrevQuarter() { $('#filterPeriodThisYear').click(function () {
orderList.filter(function(item) { event.preventDefault();
if (!filterType && !filterStatus) { filterPeriod = 5;
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter filterItems();
} });
if (filterType && filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
&& item.values().type === filterType;
}
$('#filterPeriodPrevYear').click(function () {
event.preventDefault();
filterPeriod = 6;
filterItems();
}); });
}
function filterItemsThisYear() { function filterItemsDontPeriod() {
orderList.filter(function(item) { orderList.filter(function (item) {
if (!filterType && !filterStatus) { if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[2] === year.toString() return true
} }
if (filterType && filterStatus) { if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[2] === year.toString() return item.values().type === filterType
&& item.values().type === filterType && filterStatus.includes(item.values().status);
&& filterStatus.includes(item.values().status); }
} if (filterType) {
if (filterType) { return item.values().type === filterType;
return item.values()['order-date'].split('.')[2] === year.toString() }
&& item.values().type === filterType;
}
}); });
} }
function filterItemsPrevYear() { function filterItemsMonth() {
orderList.filter(function(item) {
if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
&& item.values().type === filterType;
}
}); orderList.filter(function (item) {
} if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString();
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType;
}
});
function filterItems() {
if (!filterPeriod) {
filterItemsDontPeriod()
} }
if (filterPeriod === 1) {
filterItemsMonth() function filterItemsPrevMonth() {
orderList.filter(function (item) {
if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString();
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString()
&& item.values().type === filterType;
}
});
} }
if (filterPeriod === 2) {
filterItemsPrevMonth() function filterItemsThisQuarter() {
orderList.filter(function (item) {
if (!filterType && !filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
}
if (filterType && filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
&& item.values().type === filterType;
}
});
} }
if (filterPeriod === 3) {
filterItemsThisQuarter() function filterItemsPrevQuarter() {
orderList.filter(function (item) {
if (!filterType && !filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
}
if (filterType && filterStatus) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
&& item.values().type === filterType;
}
});
} }
if (filterPeriod === 4) {
filterItemsPrevQuarter() function filterItemsThisYear() {
orderList.filter(function (item) {
if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[2] === year.toString()
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType;
}
});
} }
if (filterPeriod === 5) {
filterItemsThisYear() function filterItemsPrevYear() {
orderList.filter(function (item) {
if (!filterType && !filterStatus) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
}
if (filterType && filterStatus) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
&& item.values().type === filterType
&& filterStatus.includes(item.values().status);
}
if (filterType) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
&& item.values().type === filterType;
}
});
} }
if (filterPeriod === 6) {
filterItemsPrevYear() function filterItems() {
if (!filterPeriod) {
filterItemsDontPeriod()
}
if (filterPeriod === 1) {
filterItemsMonth()
}
if (filterPeriod === 2) {
filterItemsPrevMonth()
}
if (filterPeriod === 3) {
filterItemsThisQuarter()
}
if (filterPeriod === 4) {
filterItemsPrevQuarter()
}
if (filterPeriod === 5) {
filterItemsThisYear()
}
if (filterPeriod === 6) {
filterItemsPrevYear()
}
} }
}
function removeClass(obj, cls) { function removeClass(obj, cls) {
var classes = obj.className.split(' '); var classes = obj.className.split(' ');
for (var i = 0; i < classes.length; i++) { for (var i = 0; i < classes.length; i++) {
if (classes[i] === cls) { if (classes[i] === cls) {
classes.splice(i, 1); classes.splice(i, 1);
i--; i--;
}
} }
obj.className = classes.join(' ');
} }
obj.className = classes.join(' ');
}
function setActive(element) { function setActive(element) {
element.className +=' is_active_filter'; element.className += ' is_active_filter';
} }
function resetAllFilterStatus() { function resetAllFilterStatus() {
for (var i = 0;i < filterLinks.length; i++ ) { for (var i = 0; i < filterLinks.length; i++) {
if (filterLinks[i].classList.contains('is_active_filter')) { if (filterLinks[i].classList.contains('is_active_filter')) {
removeClass(filterLinks[i], 'is_active_filter') removeClass(filterLinks[i], 'is_active_filter')
}
} }
}
for (var j = 0;j < filterPeriodLinks.length; j++ ) { for (var j = 0; j < filterPeriodLinks.length; j++) {
if (filterPeriodLinks[j].classList.contains('is_active_filter')) { if (filterPeriodLinks[j].classList.contains('is_active_filter')) {
removeClass(filterPeriodLinks[j], 'is_active_filter') removeClass(filterPeriodLinks[j], 'is_active_filter')
}
} }
}
} }
function resetAnotherFilterStatus(element, typeLinks) { function resetAnotherFilterStatus(element, typeLinks) {
if (typeLinks === 'type') { if (typeLinks === 'type') {
for (var i = 0;i < filterLinks.length; i++ ) { for (var i = 0; i < filterLinks.length; i++) {
if (filterLinks[i] === element) { if (filterLinks[i] === element) {
// console.log(filterLinks[i]); // console.log(filterLinks[i]);
} else { } else {
if (filterLinks[i].classList.contains('is_active_filter')) { if (filterLinks[i].classList.contains('is_active_filter')) {
removeClass(filterLinks[i], 'is_active_filter') removeClass(filterLinks[i], 'is_active_filter')
}
} }
} }
} } else {
} else { for (var j = 0; j < filterPeriodLinks.length; j++) {
for (var j = 0;j < filterPeriodLinks.length; j++ ) { if (filterPeriodLinks[j] === element) {
if (filterPeriodLinks[j] === element) { // console.log(filterLinks[i]);
// console.log(filterLinks[i]); } else {
} else { if (filterPeriodLinks[j].classList.contains('is_active_filter')) {
if (filterPeriodLinks[j].classList.contains('is_active_filter')) { removeClass(filterPeriodLinks[j], 'is_active_filter')
removeClass(filterPeriodLinks[j], 'is_active_filter') }
} }
} }
}
}
} }
}
for (var i = 0;i < filterLinks.length; i++ ) { for (var i = 0; i < filterLinks.length; i++) {
filterLinks[i].addEventListener('click', function () { filterLinks[i].addEventListener('click', function () {
setActive(this); setActive(this);
resetAnotherFilterStatus(this,'type'); resetAnotherFilterStatus(this, 'type');
}) })
} }
for (var j = 0;j < filterPeriodLinks.length; j++ ) { for (var j = 0; j < filterPeriodLinks.length; j++) {
filterPeriodLinks[j].addEventListener('click', function () { filterPeriodLinks[j].addEventListener('click', function () {
setActive(this); setActive(this);
resetAnotherFilterStatus(this, 'period'); resetAnotherFilterStatus(this, 'period');
}) })
} }
}); });
})();

Loading…
Cancel
Save