diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 868494dc..18e5f56b 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -332,7 +332,7 @@ return [ 'actualizacionSolapasCubierta' => 'El tamaño de las solapas de la cubierta se ha actualizado debido a que supera el máximo permitido (este valor depende del ancho del libro y del número de páginas).', 'actualizacionSolapasSobrecubierta' => 'El tamaño de las solapas de la sobrecubierta se ha actualizado debido a que supera el máximo permitido (este valor depende del ancho del libro y del número de páginas).', - 'files' => 'Documentos', + 'files' => 'Ficheros', 'titulos' => [ 'libroFresadoTapaDura' => 'Rústica Fresado tapa dura', 'libroFresadoTapaBlanda' => 'Rústica Fresado tapa blanda', diff --git a/ci4/app/Views/themes/vuexy/components/dropzone.php b/ci4/app/Views/themes/vuexy/components/dropzone.php index b6a4348e..886d4d24 100644 --- a/ci4/app/Views/themes/vuexy/components/dropzone.php +++ b/ci4/app/Views/themes/vuexy/components/dropzone.php @@ -12,6 +12,7 @@
+
Arrastre aquí los ficheros o haga click
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php index 83775def..5d95c2f2 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php @@ -41,7 +41,9 @@ $presupuestoId,"type" => "presupuesto"]) ?> - 'dropzone-presupuesto-admin-files','modelId' => $presupuestoId]) ?> + estado_id == 2) : ?> + 'dropzone-presupuesto-admin-files','modelId' => $presupuestoId]) ?> + diff --git a/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js b/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js index 338c1d60..fec7c8c7 100644 --- a/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js +++ b/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js @@ -25,6 +25,7 @@ export const alertSuccessMessage = (title,type="primary") => { showConfirmButton : false, title: title, text: title, - icon: "success" + icon: "success", + timer : 2000 }) } \ No newline at end of file diff --git a/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js b/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js index 2099793a..172c7933 100644 --- a/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js +++ b/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js @@ -38,25 +38,37 @@ class FileUploadDropzone { } init() { - this.btnSubmitFile.on('click', this._handleUploadFiles.bind(this)) - this.btnSelectFiles.on('click', () => { - this.jqElement.trigger('click') - }) + if (this.jqElement.length > 0) { + this.btnSubmitFile.on('click', this._handleUploadFiles.bind(this)) + this.btnSelectFiles.on('click', () => { + this.jqElement.trigger('click') + }) - this.dropzone = new Dropzone(this.domElement, { - url: this.postUri, - addRemoveLinks: true, - previewTemplate: PREVIEW_TEMPLATE, - paramName: "file", - uploadMultiple: true, - parallelUploads: 4, // Ajusta este número al máximo número de archivos que esperas subir a la vez - maxFiles: 5, // Ajusta este número al máximo número de archivos que esperas subir a la vez - autoProcessQueue: true, - dictRemoveFile: "Eliminar", - acceptedFiles: 'image/*, application/pdf', - maxFilesize: 5e+7, // Bytes - init: this._handleGetFiles.bind(this) - }); + this.dropzone = new Dropzone(this.domElement, { + url: this.postUri, + addRemoveLinks: true, + previewTemplate: PREVIEW_TEMPLATE, + paramName: "file", + uploadMultiple: true, + parallelUploads: 4, // Ajusta este número al máximo número de archivos que esperas subir a la vez + maxFiles: 5, // Ajusta este número al máximo número de archivos que esperas subir a la vez + autoProcessQueue: true, + dictRemoveFile: "Eliminar", + acceptedFiles: 'image/*, application/pdf', + maxFilesize: 5e+7, // Bytes + init: this._handleGetFiles.bind(this) + }); + this.dropzone.on("addedfile", function (file) { + if (file.hash) { + var viewButton = Dropzone.createElement("Ver"); + file.previewElement.appendChild(viewButton); + // Listen to the view button click event + viewButton.addEventListener("click", function (e) { + window.open(window.location.protocol + "//" + window.location.host + "/sistema/intranet/presupuestos/" + file.hash, '_blank'); + }); + } + }); + } } _getDropzoneFilesFormData() { @@ -82,6 +94,7 @@ class FileUploadDropzone { return formData; } _handleUploadFiles() { + $("#loader").modal('show') let ajax = new Ajax(this.postUri, this._getDropzoneFilesFormData(), null, @@ -91,12 +104,13 @@ class FileUploadDropzone { } _handleUploadFilesSuccess(response) { + this.dropZoneClean() + this._handleGetFiles() alertSuccessMessage(response?.message ?? "Archivos subidos correctamente"); } _handleUploadFilesError(errors) { } _handleGetFiles() { - const ajax = new Ajax( this.getUri, this.dataPost, @@ -108,26 +122,27 @@ class FileUploadDropzone { ajax.post() } _handelGetFilesSuccess(response) { - const files = JSON.parse(response) - this.dropZoneUpdateFiles(files) + try { + $("#loader").modal('hide') + const files = JSON.parse(response) + this.dropZoneUpdateFiles(files) + } catch (error) { + $("#loader").modal('hide') + } } dropZoneUpdateFiles(files) { - this.dropzone.on("addedfile", function (file) { - if (file.hash) { - var viewButton = Dropzone.createElement("Ver"); - file.previewElement.appendChild(viewButton); - // Listen to the view button click event - viewButton.addEventListener("click", function (e) { - window.open(window.location.protocol + "//" + window.location.host + "/sistema/intranet/presupuestos/" + file.hash, '_blank'); - }); - } - }); + files.forEach(file => { this.dropZoneAddFile(file) }); } + dropZoneClean() { + this.dropzone.files.forEach(file => { + this.dropzone.removeFile(file); + }) + } dropZoneAddFile(mockFile) { this.dropzone.files.push(mockFile); // add to files array this.dropzone.emit("addedfile", mockFile); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js index 0b09983d..5cf763c8 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js @@ -61,7 +61,9 @@ class PresupuestoAdminEdit { getUri: '/presupuestos/presupuestocliente/get_files', postUri: '/presupuestos/presupuestocliente/upload_files' } - this.fileUploadDropzone = new FileUploadDropzone(this.configUploadDropzone) + if ($(this.configUploadDropzone.domElement).length > 0) { + this.fileUploadDropzone = new FileUploadDropzone(this.configUploadDropzone) + } } init() { @@ -128,7 +130,9 @@ class PresupuestoAdminEdit { $('#lomo_cubierta').on('change', this.datosLibro.changeAnchoSolapasCubierta); $('#lomo_sobrecubierta').on('change', this.datosLibro.changeAnchoSolapasSobrecubierta); - this.fileUploadDropzone.init() + if ($(this.configUploadDropzone.domElement).length > 0) { + this.fileUploadDropzone.init() + } }