$(document).ready(function(){
var categories = [];
getCompanies();
getCategories();
$(document).on('click', '.dragDropContainer', function (e) {
$('#uploadDocumentFrm #updloadedFiles').click();
});
$(document).on('change', '#uploadDocumentFrm #updloadedFiles', function (e) {
var html = $('#uploadedFileList').html();
var files = e.target.files;
var html = '';
var categoriesHtml = '';
categories.forEach(function(category) {
categoriesHtml += `
`;
});
for (var i = 0; i < files.length; i++) {
var filename = files[i].name;
var extension = files[i].type
var icon = extension == 'application/pdf' ? "/themes/tailwind/images/pdf-icon.png" : "/themes/tailwind/images/doc-icon.png";
html += `
` + filename + `
0%
`;
}
$('#uploadedFileList').html(html);
$('#uploadedFileCount #totalFile').html(files.length);
});
$(document).on('click', '#uploadDocumentFrm .file-progress-remove', function (e) {
$(this).parents('.file-row').first().remove();
});
$('#uploadDocumentFrm').submit(function(e) {
e.preventDefault();
var action = $(this).attr('action');
var button = $(this).find('button[type="submit"]');
var buttonHtml = button.html();
var totalDone = 0;
var form = $(this);
if (!button.is(':disabled') && action) {
button.attr('disabled', 'disabled');
button.html('');
var files = $('#uploadDocumentFrm #updloadedFiles')[0].files;
$('#uploadDocumentFrm .file-row').each(function() {
var formData = new FormData();
var fileRowElem = $(this);
var index = fileRowElem.attr('data-index');
var isLast = $('#uploadDocumentFrm .file-row').length - 1 == index ? true : false;
formData.append('company_id', form.find('select[name="company_id"]').val());
formData.append('uploaded_file', files[index]);
formData.append('bookkeeping_document_category_id', $(this).find('select[name="bookkeeping_document_category_id"]').val());
formData.append('batch_name', $(this).find('input[name="batch_name"]').val());
formData.append('remark', $(this).find('input[name="remark"]').val());
fileRowElem.find('.file-progress-wrapper .file-progress').css('width', '50%');
fileRowElem.find('.file-progress-percent').html('50%');
$.ajax({
url: action,
type: "post",
data: formData,
dataType: 'json',
processData: false,
contentType: false,
success:function(data) {
totalDone++;
console.log(isLast);
if (isLast) {
button.removeAttr('disabled');
button.html(buttonHtml);
if (data.success) {
popToast('success', data.message);
$('.reload-main-table').click();
$('#uploadDocumentModal').modal('hide');
$('#uploadedFileList').html('');
$('#uploadedFileCount #totalFile').html('0');
}
else {
popToast('danger', data.message);
}
}
if (data.success) {
fileRowElem.find('.file-progress-wrapper .file-progress').css('width', '100%');
fileRowElem.find('.file-progress-wrapper .file-progress').addClass('green');
fileRowElem.find('.file-progress-percent').html('100%');
fileRowElem.find('#uploadedFileCount #totalDone').html(totalDone);
}
},
error: function(data) {
var errors = data.responseJSON.errors;
$.each(errors, function(index, error) {
popToast('danger', errors[0]);
return false;
});
button.removeAttr('disabled');
}
});
index++;
});
}
});
function getCompanies() {
$.ajax({
url: "/cms/bookkeepings/get-companies",
type: "get",
data: {},
dataType: 'json',
success:function(data) {
var companies = data.companies;
var html = '';
companies.forEach(function(company) {
html += `
`;
});
$('#uploadDocumentFrm select[name="company_id"]').html(html);
}
});
}
function getCategories() {
$.ajax({
url: "/cms/bookkeepings/get-categories",
type: "get",
data: {},
dataType: 'json',
success:function(data) {
categories = data.categories;
}
});
}
});