You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

442 lines
11 KiB

$(document).ready(function() {
$('.delete_license').click(function(e){
e.preventDefault();
var accountID = $(this).data('id');
$('#dialogs').html('Удалить счет на оплату?');
$('#dialogs').dialog({
buttons: {
"Да": function(){
$.post('/my/delete_license/' + accountID + '/', function(data){
$('.account_' + data['id']).remove()
});
$(this).dialog("close");
},
"Нет": function(){
$(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) {
result = d.getFullYear() - 1
} else {
result = d.getFullYear()
}
return result
}
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() {
event.preventDefault();
filterStatus = '4';
filterType = 'account';
filterItems();
});
$('#filterLicenseNone').click(function() {
event.preventDefault();
filterStatus = false;
filterType = 'license';
filterItems();
});
$('#filterLicenseNow').click(function() {
event.preventDefault();
filterStatus = '2';
filterType = 'license';
filterItems();
});
$('#filterLicenseOld').click(function() {
event.preventDefault();
filterStatus = '3';
filterType = 'license';
filterItems();
});
$('#filterPeriodNone').click(function() {
event.preventDefault();
filterPeriod = false;
filterItems();
});
$('#filterPeriodThisMonth').click(function() {
event.preventDefault();
filterPeriod = 1;
filterItems();
});
$('#filterPeriodPrevMonth').click(function() {
event.preventDefault();
filterPeriod = 2;
filterItems();
});
$('#filterPeriodThisQuarter').click(function() {
event.preventDefault();
filterPeriod = 3;
filterItems();
});
$('#filterPeriodPrevQuarter').click(function() {
event.preventDefault();
filterPeriod = 4;
filterItems();
});
$('#filterPeriodThisYear').click(function() {
event.preventDefault();
filterPeriod = 5;
filterItems();
});
$('#filterPeriodPrevYear').click(function() {
event.preventDefault();
filterPeriod = 6;
filterItems();
});
function filterItemsDontPeriod() {
orderList.filter(function(item) {
if (!filterType && !filterStatus) {
return true
}
if (filterType && filterStatus) {
return item.values().type === filterType && item.values().status === filterStatus;
}
if (filterType) {
return item.values().type === filterType;
}
});
}
function filterItemsMonth() {
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
&& item.values().status === filterStatus;
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === month.toString()
&& item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType;
}
});
}
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
&& item.values().status === filterStatus;
}
if (filterType) {
return item.values()['order-date'].split('.')[1] === prevMonth.toString()
&& item.values()['order-date'].split('.')[2] === prevMonthYear.toString()
&& item.values().type === filterType;
}
});
}
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
&& item.values().status === filterStatus;
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === quarter
&& item.values().type === filterType;
}
});
}
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
&& item.values().status === filterStatus;
}
if (filterType) {
return getQuarterForStrDate(item.values()['order-date']) === prevQuarter
&& item.values().type === filterType;
}
});
}
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
&& item.values().status === filterStatus;
}
if (filterType) {
return item.values()['order-date'].split('.')[2] === year.toString()
&& item.values().type === filterType;
}
});
}
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
&& item.values().status === filterStatus;
}
if (filterType) {
return item.values()['order-date'].split('.')[2] === prevYear.toString()
&& item.values().type === filterType;
}
});
}
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) {
var classes = obj.className.split(' ');
for (var i = 0; i < classes.length; i++) {
if (classes[i] === cls) {
classes.splice(i, 1);
i--;
}
}
obj.className = classes.join(' ');
}
function setActive(element) {
element.className +=' is_active_filter';
}
function resetAllFilterStatus() {
for (var i = 0;i < filterLinks.length; i++ ) {
if (filterLinks[i].classList.contains('is_active_filter')) {
removeClass(filterLinks[i], 'is_active_filter')
}
}
for (var j = 0;j < filterPeriodLinks.length; j++ ) {
if (filterPeriodLinks[j].classList.contains('is_active_filter')) {
removeClass(filterPeriodLinks[j], 'is_active_filter')
}
}
}
function resetAnotherFilterStatus(element, typeLinks) {
if (typeLinks === 'type') {
for (var i = 0;i < filterLinks.length; i++ ) {
if (filterLinks[i] === element) {
// console.log(filterLinks[i]);
} else {
if (filterLinks[i].classList.contains('is_active_filter')) {
removeClass(filterLinks[i], 'is_active_filter')
}
}
}
} else {
for (var j = 0;j < filterPeriodLinks.length; j++ ) {
if (filterPeriodLinks[j] === element) {
// console.log(filterLinks[i]);
} else {
if (filterPeriodLinks[j].classList.contains('is_active_filter')) {
removeClass(filterPeriodLinks[j], 'is_active_filter')
}
}
}
}
}
for (var i = 0;i < filterLinks.length; i++ ) {
filterLinks[i].addEventListener('click', function () {
setActive(this);
resetAnotherFilterStatus(this,'type');
})
}
for (var j = 0;j < filterPeriodLinks.length; j++ ) {
filterPeriodLinks[j].addEventListener('click', function () {
setActive(this);
resetAnotherFilterStatus(this, 'period');
})
}
});