const TIPO_DOCUMENTO_PASTA = 0; const TIPO_DOCUMENTO_ARQUIVO = 1; function carregarAbaDocumentos(origem, idOrigem) { if (localStorage.getItem('iconVisaoDocsGerais') === null && localStorage.getItem('tipoVisaoDocsGerais') === null) { localStorage.setItem('iconVisaoDocsGerais', ''); localStorage.setItem('tipoVisaoDocsGerais', 'grid'); } $.ajax({ type: "GET", url: `/${URL_BASE}App/View/Pages/DocumentosGerais/home.php?origem=${origem}&idOrigem=${idOrigem}`, success: function (data) { $('#nav-documentos').html(data); AtualizarListaDocsGerais(origem, idOrigem); } }); } function setListagemDocsGerais(origem, idOrigem, idPastaPai = 0) { $.ajax({ url: '/' + URL_BASE + 'App/View/Pages/DocumentosGerais/include/lista_ajax.php', dataType: 'html', type: 'POST', data: { origem: origem, idOrigem: idOrigem, idPai: idPastaPai, }, success: (data) => { localStorage.setItem('tipoVisaoDocsGerais', 'listagem'); $('#btnAlterarVisaoDocsGerais').html(''); $('#btnAlterarVisaoDocsGerais').attr('visao', localStorage.getItem('tipoVisaoDocsGerais')); $('#btnAlterarVisaoDocsGerais').attr('title', 'Grid'); $('#mainDocumentosGerais').html(data); } }); } function setGridDocsGerais(origem, idOrigem, idPastaPai = 0) { $.ajax({ url: '/' + URL_BASE + 'App/View/Pages/DocumentosGerais/include/grid_ajax.php', dataType: 'html', type: 'POST', data: { origem: origem, idOrigem: idOrigem, idPai: idPastaPai, }, success: (data) => { localStorage.setItem('tipoVisaoDocsGerais', 'grid'); $('#btnAlterarVisaoDocsGerais').html(''); $('#btnAlterarVisaoDocsGerais').attr('visao', localStorage.getItem('tipoVisaoDocsGerais')); $('#btnAlterarVisaoDocsGerais').attr('title', 'Listagem'); $('#mainDocumentosGerais').html(data); } }); } function alterarVisao(origem, idOrigem) { let btn = $('#btnAlterarVisaoDocsGerais'); let visao = btn.attr('visao'); let idUltimoItem = PegarIdUltimoItemBreadcrumbDocsGerais(); (visao === 'grid') ? setListagemDocsGerais(origem, idOrigem, idUltimoItem) : setGridDocsGerais(origem, idOrigem, idUltimoItem); } function AtualizarListaDocsGerais(origem, idOrigem, idPastaPai = 0) { (localStorage.getItem('tipoVisaoDocsGerais') === 'grid') ? setGridDocsGerais(origem, idOrigem, idPastaPai) : setListagemDocsGerais(origem, idOrigem, idPastaPai); } async function OpenModalPastaDocsGerais(origem, idOrigem) { await PageModal('/' + URL_BASE + `App/View/Pages/DocumentosGerais/cadastro_pasta.php?origem=${origem}&idOrigem=${idOrigem}`, ' Criar Pasta'); } async function OpenModalArquivoDocsGerais(origem, idOrigem) { await PageModalFull('/' + URL_BASE + `App/View/Pages/DocumentosGerais/cadastro.php?origem=${origem}&idOrigem=${idOrigem}`, ' Criar Arquivo', false); await ConfigurarCKEDITORDocsGerais(); } async function OpenModalAnexarArquivoDocsGerais(origem, idOrigem) { await PageModal('/' + URL_BASE + `App/View/Pages/DocumentosGerais/cadastro_anexar_arquivo.php?origem=${origem}&idOrigem=${idOrigem}`, ' Anexar Arquivos', false); carregarMetodosDragDropAnexoDocsGerais(origem, idOrigem); } function CriarPastaDocsGerais(origem, idOrigem) { if (ValidaForm('formPasta')) { const session = getDataSession(); let idPastaPai = PegarIdUltimoItemBreadcrumbDocsGerais(); $('.inputTemp').remove(); if ($('#formPasta inputID').val() == '') { $('#formPasta').append(``); $('#formPasta').append(``); } else { $('#formPasta').append(``); $('#formPasta').append(``); $('#formPasta').append(``); } _EXEC('formPasta').done(data => { AtualizarListaDocsGerais(origem, idOrigem, idPastaPai); ClosePageModal(); }); } } function CriarArquivoDocsGerais(origem, idOrigem) { const conteudoAtual = CKEDITOR.instances.arquivo.getData(); if (ValidaForm('formArquivo')) { let conteudo = CKEDITOR.instances.arquivo.getData(); $('#arquivo').val(conteudo); const session = getDataSession(); let idPastaPai = PegarIdUltimoItemBreadcrumbDocsGerais(); $('.inputTemp').remove(); if ($('#formArquivo inputID').val() == '') { $('#formArquivo').append(``); $('#formArquivo').append(``); /* * Só altera de fato o conteudoBackup, se o conteudo tiver sido alterado, caso contrário não a * motivos para alterar o conteúdo bkp, já que nada foi alterado. */ if (conteudoAtual != conteudo) $('#conteudo_bkp').val(conteudoAtual); } else { $('#formArquivo').append(``); $('#formArquivo').append(``); $('#formArquivo').append(``); } _EXEC('formArquivo').done(data => { AtualizarListaDocsGerais(origem, idOrigem, idPastaPai); ClosePageModalFull(); }); } } function FavoritarOuDesfavoritarDocsGerais(idDocumento, idUsuario, element) { let tipo = $(element).attr('tipo'); const FAVORITAR = 1; const DESFAVORITAR = 0 $.ajax({ url: '/' + URL_BASE + 'App/Controller/Documentos/Documentos.controller.php', type: 'POST', cache: false, data: { acao: (tipo == FAVORITAR) ? 'desfavoritar' : 'favoritar', idUsuario: idUsuario, idDocumento: idDocumento, }, success: (data) => { let obj = JSON.parse(data); if (obj.erro == 0) { OpenToast(obj.msg); $(element).attr('tipo', (tipo == FAVORITAR) ? DESFAVORITAR : FAVORITAR) $(element).attr('class', (tipo == FAVORITAR) ? 'ri-heart-line' : 'ri-heart-fill'); $(element).attr('title', (tipo == FAVORITAR) ? 'Não Favorito' : 'Favorito'); return; } if (obj.erro == 1) { OpenToast(obj.msg); return; } }, }); } function PegarIdUltimoItemBreadcrumbDocsGerais() { return $("#breadcrumb-documentos-gerais").find("li").last().attr('id-pasta-pai'); } function EditaDocsGerais(id, tipoDocumento, origem, idOrigem) { RemoveIdURL(); /**ADCIONA O ID A URL */ window.history.replaceState('', document.title, document.URL + '/' + id); (tipoDocumento == 1) ? OpenModalArquivoDocsGerais(origem, idOrigem) : OpenModalPastaDocsGerais(origem, idOrigem); setEditForm((tipoDocumento == 1) ? '#formArquivo' : '#formPasta'); } function AbrirPastaDocsGerais(origem, idOrigem, objPastas) { let length = objPastas.length; // Limpar os Itens do BreadCrumb $("#breadcrumb-documentos-gerais").empty(); $("#breadcrumb-documentos-gerais").append(``); // Le o Obj de trás para frente, para ficar na ordem correta. for (let i = length - 1; i >= 0; i--) { $("#breadcrumb-documentos-gerais").append(``); } // Após a interação ser finalizar, pega o id do último item e atualiza. AtualizarListaDocsGerais(origem, idOrigem, PegarIdUltimoItemBreadcrumbDocsGerais()); } function VoltarPastaClicadaDocsGerais(origem, idOrigem, idPastaClicada) { $("#breadcrumb-documentos-gerais li").each(function () { let idAtual = $(this).attr("id-pasta-pai"); if (idAtual > idPastaClicada) { $(this).remove(); } }); AtualizarListaDocsGerais(origem, idOrigem, idPastaClicada); } function retrocederDocsGerais(origem, idOrigem) { const idRetrocedido = $("#breadcrumb-documentos-gerais li").slice(-2, -1).attr("id-pasta-pai"); if (idRetrocedido) { $("#breadcrumb-documentos-gerais li").slice(-1).remove(); AtualizarListaDocsGerais(origem, idOrigem, idRetrocedido); } } function GerarPDFDocsGerais(idArquivo, nomeArquivo, download = false) { $.ajax({ url: '/' + URL_BASE + 'App/Controller/Documentos/Documentos.controller.php', type: 'POST', cache: false, xhrFields: { responseType: 'blob', }, data: { acao: 'gerar-pdf', idArquivo: idArquivo, }, success: (data) => { if (data) { let blob = new Blob([data], { type: 'application/pdf' }); let url = window.URL.createObjectURL(blob); (download) ? DownloadDocsGerais(url, nomeArquivo, true) : VisualizarPDFDocsGerais(url, nomeArquivo); } else { OpenToast('Ocorreu um erro inesperado ao gerar o PDF !', true); } }, error: function (err) { console.log(err); } }); } function GerarWordDocsGerais(idArquivo, nomeArquivo) { $.ajax({ url: '/' + URL_BASE + 'App/Controller/Documentos/Documentos.controller.php', type: 'POST', cache: false, xhrFields: { responseType: 'blob', }, data: { acao: 'gerar-word', idArquivo: idArquivo, }, success: (data) => { // Cria um link temporário para fazer o download do blob let url = window.URL.createObjectURL(data); DownloadDocsGerais(url, nomeArquivo, false); }, }); } function DownloadDocsGerais(url, nomeArquivo, pdf = true) { let fileName = (pdf) ? `${nomeArquivo}.pdf` : `${nomeArquivo}.docx`; let $a = $('', { href: url, download: fileName }).appendTo('body'); $a[0].click(); $a.remove(); } function VisualizarPDFDocsGerais(url, nomeArquivo) { FileModalPDF(url, nomeArquivo); } function ConfigurarCKEDITORDocsGerais() { arquivo = CKEDITOR.replace('arquivo', { language: 'pt-BR', extraPlugins: 'clipboard,uploadimage,image2', removePlugins: 'exportpdf,image', allowedContent: true, toolbar: [{ name: 'styles', items: ['Format'] }, { name: 'basicstyles', groups: ['basicstyles', 'cleanup'], items: ['Bold', 'Italic', 'Underline', 'Strike', '-', 'CopyFormatting', 'RemoveFormat'] }, { name: 'colors', items: ['TextColor', 'BGColor'] }, { name: 'clipboard', groups: ['clipboard', 'undo'], items: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'] }, { name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi'], items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'NumberedList', 'BulletedList'] }, { name: 'links', items: ['Link', 'Unlink'] }, { name: 'insert', items: ['Table', 'Image', 'UploadImage'] // Adicione 'UploadImage' aqui }, { name: 'tools', items: ['Maximize'] } ] }).on('paste', function (event) { let image = event.data.dataTransfer._.files if (image.length > 0) { let file = image[0]; let reader = new FileReader(); reader.onload = function (e) { let base64Data = e.target.result; $.ajax({ url: '/' + URL_BASE + 'App/Controller/Documentos/Documentos.controller.php?uploadImagem=true', cache: false, type: 'POST', data: { 'base64': base64Data, }, success: (data) => { let obj = JSON.parse(data); if (obj == null) { OpenToast('Não foi possível fazer o upload da imagem !!', true); return; } if (obj.arquivos_processados.length > 0) { let urlImagem = `https://files.dots.app.br/${obj.arquivos_processados[0].caminho_curto}`; CKEDITOR.instances['arquivo'].insertHtml('Imagem colada'); return; } }, }); }; reader.readAsDataURL(file); return; } }); CKEDITOR.config.removePlugins = 'resize'; CKEDITOR.on('instanceReady', function () { $('.cke_wysiwyg_frame').css({ 'max-width': '214.2mm', // A4 = 209mm || 10px = 2,6mm || 20px = 5,2mm, logo 209mm + 5,2 = 214.2mm 'word-wrap': 'break-word', 'margin': '0 auto', 'padding': '0 10px', 'border-left': '2px dashed red', 'border-right': '2px dashed red' }); $('#cke_arquivo').css({ 'height': '96%' }); $('.cke_inner').css({ 'height': '100%', 'display': 'flex', 'flex-direction': 'column', 'justify-content': 'space-between' }); $('.cke_contents').css({ 'flex-grow': '1' }); }); $(window).on('resize', function () { let modalHeight = document.querySelector('.modal-dialog'); let modalHeader = document.querySelector('.modal-header'); // validação para evitar erros de exeção. if (modalHeight) modalHeight = modalHeight.clientHeight; if (modalHeader) modalHeader = modalHeader.clientHeight; height = ((modalHeight - modalHeader) * 60) / 100; $('.cke_contents').css('height', `${height}px`); }); let modalHeight = document.querySelector('.modal-dialog').clientHeight; CKEDITOR.config.height = (modalHeight * 60) / 100; CKEDITOR.config.resize_enabled = true; } function carregarMetodosDragDropAnexoDocsGerais(origem, idOrigem) { var dropzone = $('.dropzone'); var input = $('#inputArquivosAnexados'); dropzone.on('dragover', function (e) { e.preventDefault(); $(this).addClass('dragover'); }); dropzone.on('dragleave', function (e) { e.preventDefault(); $(this).removeClass('dragover'); }); dropzone.on('drop', function (e) { e.preventDefault(); $(this).addClass('dragover'); input[0].files = e.originalEvent.dataTransfer.files; uploadAnexoDocsGerais(origem, idOrigem); }); $('#inputArquivosAnexados').on('change', () => { uploadAnexoDocsGerais(origem, idOrigem); }) } async function uploadAnexoDocsGerais(origem, idOrigem) { const session = getDataSession(); const permissao = $('#formAnexarArquivo #selectTipo').find('option:selected').val(); var filesArray = $('#inputArquivosAnexados').prop('files'); var idPastaPai = PegarIdUltimoItemBreadcrumbDocsGerais(); var qtdFilesSuccess = 0; var qtdFilesError = 0; $('#iconDropzone').html(''); $('#msgDropzone').text('Upando Arquivo...'); // Criando um array de promessas const uploadPromises = Array.from(filesArray).map(async (file) => { try { let response = await sendFiles(file, '00000000000000', 0, 'file', true); // Verifica se a resposta é válida antes de processá-la if (response.id_arquivo > 0 || response.id_arquivo != '') { qtdFilesSuccess++; $('#formInsertAnexoDocsGerais').remove(); let form = ``; form += `
`; form += ` `; form += ` ` form += ` ` form += ` ` form += ` ` form += ` ` form += ` ` form += ` ` form += ` `; form += ` `; form += "
"; /* adiciona form no html e envia */ $('body').append(form); _EXEC('formInsertAnexoDocsGerais', null, false, false); } else { qtdFilesError++; } } catch (error) { qtdFilesError++; } }); // Aguarda todas as promessas serem resolvidas await Promise.all(uploadPromises); $('#iconDropzone').html(''); $('#msgDropzone').html('Arraste e solte para fazer o upload do arquivo.'); OpenToast(`Arquivos upados: ${qtdFilesSuccess} com sucesso e ${qtdFilesError} com falha.`); ClosePageModal(); AtualizarListaDocsGerais(origem, idOrigem, idPastaPai); }