$(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; } }); } });