File manager - Edit - /var/www/html/portal/public/pmar/js/janelas.js
Back
function abrirModalRelatorio(tipo) { const titulo = document.getElementById('modalExportacaoLabel'); const inputTipo = document.getElementById('tipoRelatorioInput'); // Verificar se os elementos existem const blocoCadastro = document.getElementById('bloco-cadastro'); const blocoCarteirinha = document.getElementById('bloco-carteirinha'); const blocoDadosCadastro = document.getElementById('bloco-dados-cadastro'); if (!blocoCadastro || !blocoCarteirinha || !blocoDadosCadastro) { console.error('Blocos do modal não encontrados'); return; } // Ocultar todos os blocos blocoCadastro.classList.add('d-none'); blocoCarteirinha.classList.add('d-none'); blocoDadosCadastro.classList.add('d-none'); // Desmarcar e desabilitar checkboxes dos blocos ocultos para não serem enviados document.querySelectorAll('#bloco-cadastro input[type="checkbox"]').forEach(cb => { cb.checked = false; cb.disabled = true; }); document.querySelectorAll('#bloco-carteirinha input[type="checkbox"]').forEach(cb => { cb.checked = false; cb.disabled = true; }); document.querySelectorAll('#bloco-dados-cadastro input[type="checkbox"]').forEach(cb => { cb.checked = false; cb.disabled = true; }); inputTipo.value = tipo; if (tipo === 'cadastro') { titulo.innerText = 'Selecione os estados de cadastro'; blocoCadastro.classList.remove('d-none'); // Habilitar e marcar os checkboxes do bloco de cadastro document.querySelectorAll('#bloco-cadastro input[type="checkbox"]').forEach(cb => { cb.disabled = false; cb.checked = true; }); } else if (tipo === 'carteirinha') { titulo.innerText = 'Selecione os status da carteirinha'; blocoCarteirinha.classList.remove('d-none'); // Habilitar e marcar os checkboxes do bloco de carteirinha document.querySelectorAll('#bloco-carteirinha input[type="checkbox"]').forEach(cb => { cb.disabled = false; cb.checked = true; }); } else if (tipo === 'dadosCadastrados') { titulo.innerText = 'Selecione os campos que deseja exportar'; blocoDadosCadastro.classList.remove('d-none'); // Habilitar e marcar os checkboxes do bloco de dados cadastrados document.querySelectorAll('#bloco-dados-cadastro input[type="checkbox"]').forEach(cb => { cb.disabled = false; cb.checked = true; }); } const modal = new bootstrap.Modal(document.getElementById('modalExportacao')); modal.show(); } function submitFormRelatorio(formId) { const form = document.getElementById(formId) || document.querySelector('form[action*="relatorio"]'); if (!form) { console.error('Formulário não encontrado.'); alert('Erro: Formulário não encontrado.'); return false; } // Verificar qual tipo de relatório está sendo gerado const tipoRelatorioInput = document.getElementById('tipoRelatorioInput'); if (!tipoRelatorioInput || !tipoRelatorioInput.value) { console.error('Tipo de relatório não definido.'); alert('Erro: Tipo de relatório não definido.'); return false; } // Fechar o modal antes de submeter const modalElement = document.getElementById('modalExportacao'); if (modalElement) { const modal = bootstrap.Modal.getInstance(modalElement); if (modal) { modal.hide(); } } // Submeter o formulário normalmente // O target="_blank" já está definido no formulário form.submit(); return true; } function submitarFormularioRelatorio() { const originalForm = document.getElementById('formRelatorio'); const tipoRelatorioInput = document.getElementById('tipoRelatorioInput'); const tipoRelatorio = tipoRelatorioInput ? tipoRelatorioInput.value : ''; if (!originalForm) { console.error('Formulário não encontrado'); return; } // Coletar checkboxes marcados baseado no tipo de relatório let checkboxes = []; let inputName = ''; if (tipoRelatorio === 'cadastro') { checkboxes = document.querySelectorAll('.checkbox-cadastro:checked'); inputName = 'estado_cadastro[]'; } else if (tipoRelatorio === 'carteirinha') { checkboxes = document.querySelectorAll('.checkbox-carteirinha:checked'); inputName = 'carteirinha_paciente[]'; } else if (tipoRelatorio === 'dadosCadastrados') { checkboxes = document.querySelectorAll('.checkbox-campos:checked'); inputName = 'campos_dados[]'; } if (checkboxes.length === 0) { alert('Selecione pelo menos uma opção.'); return; } // Fechar o modal const modalElement = document.getElementById('modalExportacao'); if (modalElement) { const modal = bootstrap.Modal.getInstance(modalElement); if (modal) { modal.hide(); } } // Abrir uma nova janela primeiro const windowName = 'relatorio_' + Date.now(); const newWindow = window.open('about:blank', windowName); // Criar um formulário dinâmico para garantir que os dados sejam enviados corretamente const dynamicForm = document.createElement('form'); dynamicForm.method = 'POST'; dynamicForm.action = originalForm.action; dynamicForm.target = windowName; // Usar o nome da janela como target dynamicForm.style.display = 'none'; // Adicionar token CSRF const csrfToken = document.querySelector('meta[name="csrf-token"]')?.content || originalForm.querySelector('input[name="_token"]')?.value; if (csrfToken) { const tokenInput = document.createElement('input'); tokenInput.type = 'hidden'; tokenInput.name = '_token'; tokenInput.value = csrfToken; dynamicForm.appendChild(tokenInput); } // Adicionar tipo de relatório const tipoInput = document.createElement('input'); tipoInput.type = 'hidden'; tipoInput.name = 'tipo_relatorio'; tipoInput.value = tipoRelatorio; dynamicForm.appendChild(tipoInput); // Adicionar checkboxes selecionados checkboxes.forEach(cb => { const input = document.createElement('input'); input.type = 'hidden'; input.name = inputName; input.value = cb.value; dynamicForm.appendChild(input); }); // Adicionar ao body, submeter e remover document.body.appendChild(dynamicForm); dynamicForm.submit(); // Remover o formulário após um pequeno delay setTimeout(() => { document.body.removeChild(dynamicForm); }, 100); } function confirmDelete(form) { const confirmMessage = form.querySelector('input[name="confirm"]').value; return confirm(confirmMessage); } function proximaAba(abaId) { const nextTab = document.querySelector(`.nav-link[href="#${abaId}"]`); if (nextTab) { bootstrap.Tab.getOrCreateInstance(nextTab).show(); } } function anteriorAba(abaId) { const prevTab = document.querySelector(`.nav-link[href="#${abaId}"]`); if (prevTab) { bootstrap.Tab.getOrCreateInstance(prevTab).show(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings