$(document).ready(function() { $('#form-dropdown').change(function() { const selectedValue = $(this).val(); const formContainer = $('#form-container'); const imageRef = $('#image-ref'); if (selectedValue === "profundidade") { formContainer.html(`
`); imageRef.addClass('d-none'); } else if (selectedValue === "largura") { formContainer.html(`
`); imageRef.removeClass('d-none'); } else { formContainer.html(""); imageRef.addClass('d-none'); } }); // Retorna CSRF token a partir dos cookies function getCsrfToken() { try { var cookies = document.cookie.split(';'); var csrf_value = cookies.find(cookie => cookie.trim().startsWith("csrftoken")).split('=')[1]; // precisa do trim para eliminar espaco antes do csrftoken que aparece na hora do split (nao sei quais as condicoes) // console.log('csrf_value', csrf_value); } catch (error) { console.warn('Erro ao tentar obter CSRF TOKEN:', error); return null; } return csrf_value; } window.salvarArquivo = function(parametro) { const fileInput = $('#file-input')[0]; const nomeArquivo = fileInput.files.length > 0 ? fileInput.files[0].name : "Sem arquivo"; const formData = new FormData(); formData.append('nome_arquivo', nomeArquivo); formData.append('parametro', parametro); if (parametro === "profundidade") { formData.append('profundidade', $('#input-profundidade').val()); } else if (parametro === "largura") { formData.append('largura', $('#input-largura').val()); formData.append('b', $('#input-b').val()); formData.append('c', $('#input-c').val()); } formData.append('csrfmiddlewaretoken', getCsrfToken()); $.ajax({ url: '/api/salvar_arquivo/', method: 'POST', data: formData, processData: false, contentType: false, success: function() { mostrarPopup("Arquivo carregado com sucesso!"); limparFormulario(); carregarArquivos(); abrirAccordion(); }, error: function(error) { console.error("Erro ao salvar arquivo:", error); } }); }; function carregarArquivos() { $.getJSON('/api/listar_arquivos/', function(data) { const tabela = $('#tabela-dados'); tabela.html(""); data.forEach(arquivo => { tabela.append(` ${arquivo.nome_arquivo} ${arquivo.status} ${arquivo.autor} Ver Relatório Baixar `); }); atualizarTituloAccordion(data.length); }); } function atualizarTituloAccordion(quantidade) { $(".accordion-button").html(`Arquivos LAS (${quantidade})`); } function limparFormulario() { $('#form-container').html(""); $('#form-dropdown').prop('selectedIndex', 0); } function abrirAccordion() { const accordionCollapse = $('#collapseLas'); if (!accordionCollapse.hasClass("show")) { accordionCollapse.addClass("show"); } } function mostrarPopup(mensagem) { const popup = $('
').text(mensagem).css({ position: "fixed", top: "20px", right: "20px", background: "#28a745", color: "#fff", padding: "10px 15px", borderRadius: "5px", zIndex: "1000", boxShadow: "0 4px 6px rgba(0, 0, 0, 0.1)" }); $('body').append(popup); setTimeout(() => popup.remove(), 3000); } // function atualizarStatusArquivos() { // $.getJSON('/api/listar_arquivos/', function(data) { // data.forEach(arquivo => { // const row = $(`#tabela-dados tr:contains('${arquivo.nome_arquivo}')`); // if (row.length) { // const statusCell = row.find("td:nth-child(2)"); // // const previousStatus = statusCell.text().trim(); // statusCell.text(arquivo.status); // Atualiza apenas o status // if (arquivo.status === "Finalizado") { // const verRelatorioBtn = row.find(".btn-ver-relatorio"); // const baixarBtn = row.find(".btn-baixar"); // verRelatorioBtn.removeClass("disabled"); // baixarBtn.removeClass("disabled"); // verRelatorioBtn.attr("href", `/gauss/${arquivo.id}/`); // } // } // }); // }); // } // Atualiza os status a cada 5 segundos // setInterval(atualizarStatusArquivos, 10000); $(document).ready(carregarArquivos); }); function excluirItem(id) { fetch(`/api/excluir_processo/${id}/`, { method: "DELETE", headers: { "X-CSRFToken": getCookie("csrftoken"), } }) .then(r => r.json()) .then(data => { if (data.success) { location.reload(); } }); }