Refactorizacion

This commit is contained in:
imnavajas
2025-07-23 11:56:43 +02:00
parent 065903be2f
commit e65e942e58
15 changed files with 491 additions and 181 deletions

View File

@ -130,4 +130,19 @@ export const alertWarning = (value, target = 'body',options = {}) => {
timerProgressBar: true,
...options
})
}
}
export const alertFileUploadSuccess = (message = "Archivos subidos correctamente.") => {
return Swal.fire({
icon: "success",
title: "Carga finalizada",
text: message,
showConfirmButton: false,
timer: 3000,
customClass: {
popup: 'p-4',
title: 'fs-4 fw-bold text-success',
htmlContainer: 'text-muted',
}
});
};

View File

@ -1,6 +1,6 @@
// Importación de utilidades AJAX y alertas personalizadas
import Ajax from '../ajax.js';
import { alertSuccessMessage, alertWarningMessage } from '../alerts/sweetAlert.js'
import { alertFileUploadSuccess, alertWarningMessage } from '../alerts/sweetAlert.js'
// Template HTML para la vista previa de cada archivo en Dropzone
const PREVIEW_TEMPLATE = `
@ -142,11 +142,42 @@ class FileUploadDropzone {
// Éxito tras subir archivos
_handleUploadFilesSuccess(response) {
this.dropZoneClean(); // Limpia visualmente
this._handleGetFiles(); // Recarga archivos desde backend
alertSuccessMessage(response?.message ?? "Archivos subidos correctamente");
this.dropZoneClean();
this._handleGetFiles();
const summary = response?.summary || {};
const numOk = summary.subidos_ok || 0;
const numErrLocal = summary.errores_locales || 0;
const numErrRemote = summary.errores_remotos || 0;
const numDeleted = summary.borrados || 0;
const partes = [];
if (numOk > 0) {
partes.push(`Se subió${numOk === 1 ? '' : 'ron'} ${numOk} archivo${numOk === 1 ? '' : 's'} correctamente.`);
}
if (numDeleted > 0) {
partes.push(`Se eliminaron ${numDeleted} archivo${numDeleted === 1 ? '' : 's'} obsoleto${numDeleted === 1 ? '' : 's'}.`);
}
if (numErrLocal > 0) {
partes.push(`${numErrLocal} archivo${numErrLocal === 1 ? '' : 's'} falló${numErrLocal === 1 ? '' : 'n'} en el sistema.`);
}
if (numErrRemote > 0) {
partes.push(`${numErrRemote} fallo${numErrRemote === 1 ? '' : 's'} en la transferencia.`);
}
const mensaje = partes.length > 0
? partes.join(' ')
: response?.message ?? "Archivos actualizados correctamente.";
alertFileUploadSuccess(mensaje);
}
_handleUploadFilesError(errors) {
// No implementado aún
}
@ -185,7 +216,7 @@ class FileUploadDropzone {
$("#loader").modal('show');
$.ajax({
url: `/presupuestoadmin/download_zip`,
url: `/files/download_zip`,
type: 'POST',
data: {
[this.nameId]: this.modelId,
@ -225,7 +256,7 @@ class FileUploadDropzone {
// Carga archivos simulados (mock) al Dropzone visual
dropZoneUpdateFiles(files) {
files.forEach(file => {
console.log("Iterando archivo:", file.name);
//console.log("Iterando archivo:", file.name);
this.dropZoneAddFile(file);
});
}

View File

@ -65,8 +65,8 @@ class PresupuestoAdminEdit {
this.configUploadDropzone = {
domElement: '#dropzone-presupuesto-admin-files',
nameId: "presupuesto_id",
getUri: '/presupuestos/presupuestocliente/get_files',
postUri: '/presupuestos/presupuestocliente/upload_files'
getUri: '/files/get_files',
postUri: '/files/upload_files'
}
if ($(this.configUploadDropzone.domElement).length > 0) {
this.fileUploadDropzone = new FileUploadDropzone(this.configUploadDropzone)

View File

@ -115,7 +115,7 @@ class Resumen {
$('#loader').show();
$.ajax({
url: "/presupuestos/presupuestocliente/get_files",
url: "/files/get_files",
type: 'POST',
data: { presupuesto_id: id }
@ -192,7 +192,7 @@ class Resumen {
$('#loader').show();
$.ajax({
url: "/presupuestocliente/download_zip",
url: "/files/download_zip",
type: 'POST',
data: { presupuesto_id: this.presupuesto_id },
xhrFields: {

View File

@ -72,8 +72,8 @@ class OrdenTrabajo {
domElement: '#dropzone-ot-files',
nameId: "presupuesto_id",
otId: this.otId,
getUri: '/presupuestos/presupuestocliente/get_files',
postUri: '/presupuestos/presupuestocliente/upload_files'
getUri: '/files/get_files',
postUri: '/files/upload_files'
}
if ($(this.configUploadDropzone.domElement).length > 0) {
this.fileUploadDropzone = new FileUploadDropzone(this.configUploadDropzone)