//GLOBAL VARIABLES
var start_date = "";
var end_date = "";
var start = null;
var end = null;
var filter_date = 0;
var company = 0;
var dealer = 0;
var brand = 0;
var model = 0;
var variant = 0;
var remaining_days = 0;
var inactive = 0;
var mask = 0;
var current_year = 0;
var isMobile = window.matchMedia("only screen and (max-width: 760px)").matches;
var expiration_type = 1; // remaining days default
var filter_button = 0;
$(function(){
current_year = new Date().getFullYear();
start = moment().startOf('month');
end = moment().endOf('month');
remaining_days = $('#remaining-days-filter').val();
$('#filter-date').daterangepicker({
autoUpdateInput: false,
showDropdowns: true,
locale: {
cancelLabel: 'Cancel'
},
startDate: start,
opens: "left",
endDate: end,
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 15 Days': [moment().subtract(14, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
'This Year': [moment().startOf('year'), moment().endOf('year')],
'Last Year': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1,
'year').endOf('year')]
}
});
$('#company-filter').on('select2:unselecting', function(event){
$('#company-filter').val(0);
})
$('#dealer').on('select2:unselecting', function(event){
$('#dealer').val(0);
})
$('#brand').on('select2:unselecting', function(event){
$('#brand').val(0);
})
$('#model').on('select2:unselecting', function(event){
$('#model').val(0);
})
$('#variant').on('select2:unselecting', function(event){
$('#variant').val(0);
})
$('#remaining-days-filter').on('select2:unselecting', function(event){
$('#remaining-days-filter').val(1);
})
$('#chkMasked').on('click', function(){
if (mask == 0){mask = 1;} else {mask = 0;}
});
initTableFinanceReport();
addListenerCompanyFilter();
addListenerBrandFilter();
addListenerModelFilter();
// $('#download-pdf-finance-report').attr('disabled', true);
$("#radio-remaining-days").prop("checked", true);
$('#filter-date').fadeTo('slow', .5);
$('#filter-date-selected').fadeTo('slow', .5);
$('#chkMasked').prop('checked', false);
$('#inactive-insurance-filter').attr('disabled', true);
if(generate_fni_report == 0){ $('#download-pdf-finance-report').attr('disabled', true); } else { $('#download-pdf-finance-report').attr('disabled', false); }
filter_button = 0;
})
// INITIALIZATIONS
$('#company-filter').select2({
placeholder: "Company",
allowClear: true
})
$('#dealer').select2({
placeholder: "Dealer",
allowClear: true
})
$('#brand').select2({
placeholder: "Brand",
allowClear: true
})
$('#model').select2({
placeholder: "Model",
allowClear: true
})
$('#variant').select2({
placeholder: "Variant",
allowClear: true
})
$('#remaining-days-filter').select2({
placeholder: "Not set",
allowClear: false,
search: false
})
$('#inactive-insurance-filter').select2({
placeholder: "Not set",
allowClear: true,
search: false
})
// FILTER DATE (start)
function setDateRangePickerWidth(isMobile) {
if ($(".daterangepicker").hasClass('show-calendar') && !isMobile) {
$('.daterangepicker').css('width', '630px');
}
else {
$('.daterangepicker').css('width', 'auto');
}
}
function getCookie(name) {
var match = document.cookie.match(RegExp('(?:^|;\\s*)' + name + '=([^;]*)'));
return match ? match[1] : null;
}
function cb(start, end) {
var startDate = start.format('YYYY-MM-DD');
passDate(start, end); //pass empty dates
}
function passDate(startDate, endDate) {
}
$("#filter-date").on('click', function() {
if(filter_button == 1){
setDateRangePickerWidth(isMobile);
}
});
$(".daterangepicker").on('click', function() {
setDateRangePickerWidth(isMobile);
});
$('#filter-date').on('apply.daterangepicker', function(ev, picker) {
if(filter_button == 1){
start_date = picker.startDate.format('yyyy-MM-DD');
end_date = picker.endDate.format('yyyy-MM-DD');
$('#filter-date-selected').val(picker.startDate.format('MMM D, YYYY') + ' to ' + picker.endDate.format('MMM D, YYYY'));
cb(picker.startDate, picker.endDate);
}
});
$('#filter-date').on('cancel.daterangepicker', function(ev, picker) {
$('#filter-date').data('daterangepicker').hideCalendars();
});
// FILTER DATE (end)
function initTableFinanceReport() {
var $table = $('#finance-report-table')
$table.bootstrapTable('destroy').bootstrapTable({
onLoadSuccess: function(data){
$('#button-fetch').attr('disabled', false);
var row_total = data.total;
if(row_total == 0){
$('#download-pdf-finance-report').attr('disabled', true);
}
// else {
// if(generate_fni_report == 0){
// $('#download-pdf-finance-report').attr('disabled', true);
// }
// else {
// $('#download-pdf-finance-report').attr('disabled', false);
// }
// }
}
})
}
function refreshFinanceReportTable() {
var $table = $('#finance-report-table')
$(function() {
$table.bootstrapTable('refresh', { // 4
url: 'app/table/finance_table.php'
});
})
}
function queryFinanceReport(params) {
return {
search: params.search,
offset: params.offset,
start_date: start_date,
end_date: end_date,
company: company,
dealer: dealer,
brand: brand,
model: model,
variant: variant,
remaining_days: remaining_days,
inactive: inactive,
type: 4, // app/table/finance_table
limit: params.limit
};
}
function addListenerCompanyFilter() {
$('#company-filter').off('change.mychange').on('change.mychange', function() {
fillDealer();
// cb(start, end);
});
}
function addListenerBrandFilter() {
$('#brand').off('change.mychange').on('change.mychange', function() {
fillModel();
$('#variant').html('');
$('#variant').append('');
// cb(start, end);
});
}
function addListenerModelFilter() {
$('#model').off('change.mychange').on('change.mychange', function() {
fillVariant();
// cb(start, end);
});
}
function fillDealer(){
var comp = $('#company-filter').val();
$.ajax({
url:"app/misc/get_dealer3.php",
type:"POST",
data: {
company: comp,
type: 1
},
beforeSend: function(){
},
success: function(result){
$('#dealer').html('');
// $('#dealer').append("\"\"");
$('#dealer').append("\"" + result + "\"");
}
});
}
function fillModel(){
var brand_id = $('#brand').val();
$.ajax({
url:"app/misc/get_model.php",
type:"POST",
data: {
brand_id: brand_id,
type: 1
},
beforeSend: function(){
},
success: function(result){
$('#model').html('');
$('#model').append("\"" + result + "\"");
}
});
}
function fillVariant(){
var model_id = $('#model').val();
$.ajax({
url:"app/misc/get_variant.php",
type:"POST",
data: {
model_id: model_id,
type: 1
},
beforeSend: function(){
},
success: function(result){
$('#variant').html('');
$('#variant').append("\"" + result + "\"");
}
});
}
function buttonsFunction() {
return {
grid_toggle_off: {
'icon': 'far fa-file-pdf',
'event': 'exportPdf',
'attributes': {
'id': 'download-pdf-finance-report',
'title': 'Download PDF',
'text': 'PDF'
}
}
// ,
// excel_export: {
// 'icon': 'fa-file-excel',
// 'event': 'exportXlsx',
// 'attributes': {
// 'id': 'download-excel-bg',
// 'title': 'Download XLSX (Excel)',
// 'data-test': 'test123'
// }
// }
}
}
function exportPdf(){
if(typeof start_date === 'undefined' || start_date != ""){
filter_date = start_date + "@" + end_date;
}
else {
filter_date = 0;
}
////////
if(generate_fni_report == 0){
toastr.remove();
toastr.error("No access in generating report");
} else {
window.open('print_finance_report.php?filter_date=' + filter_date + '&company=' + company + '&dealer=' + dealer + '&brand=' + brand + '&model=' + model + '&variant=' + variant + '&rem_day=' + remaining_days + '&mask=' + mask + '&inactive=' + inactive);
}
}
$('#radio-remaining-days').on('click', function(){
expiration_type = 1;
// remaining days
$('#remaining-days-filter').attr('disabled', false);
// $('#remaining-days-filter').val($('#remaining-days-filter option:first-child').val()).trigger('change');
remaining_days = $('#remaining-days-filter').val();
// expiration date range
$('#filter-date').fadeTo('slow', .5);
$('#filter-date-selected').fadeTo('slow', .5);
$('#filter-date-selected').val("");
filter_button = 0;
start_date = "";
filter_date = 0;
// inactive
$('#inactive-insurance-filter').attr('disabled', true);
$('#inactive-insurance-filter').select2('val', '1');
inactive = 0;
})
$('#radio-exp-date-range').on('click', function(){
expiration_type = 2;
// remaining days
$('#remaining-days-filter').attr('disabled', true);
// $('#remaining-days-filter').select2('val', '0');
remaining_days = 0;
// expiration date range
$('#filter-date').fadeTo('slow', 1);
$('#filter-date-selected').fadeTo('slow', 1);
filter_button = 1;
// inactive
$('#inactive-insurance-filter').attr('disabled', true);
$('#inactive-insurance-filter').select2('val', '1');
inactive = 0;
})
$('#radio-inactive').on('click', function(){
expiration_type = 3;
// remaining days
$('#remaining-days-filter').attr('disabled', true);
// $('#remaining-days-filter').select2('val', '1');
remaining_days = 0;
// expiration date range elements
$('#filter-date').fadeTo('slow', .5);
$('#filter-date-selected').fadeTo('slow', .5);
$('#filter-date-selected').val("");
filter_button = 0;
// inactive
$('#inactive-insurance-filter').select2('val', '1');
$('#inactive-insurance-filter').attr('disabled', false);
inactive = 1;
})
$('#button-fetch').on('click', function(){
if(typeof start_date === 'undefined' || start_date != ""){filter_date = start_date + "@" + end_date; } else {filter_date = 0; }
company = $('#company-filter').val();
dealer = $('#dealer').val();
brand = $('#brand').val();
model = $('#model').val();
variant = $('#variant').val();
if(remaining_days != 0){ remaining_days = $('#remaining-days-filter').val(); }
if(inactive != 0){inactive = $('#inactive-insurance-filter').val();}
$('#finance-record-table-div').attr('hidden', false);
$('#button-fetch').attr('disabled', true);
$('#download-pdf-finance-report').attr('disabled', false);
refreshFinanceReportTable();
// details();
});