From 6cb70f1a795e46644365dbfeef2dc001dee24516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Sat, 14 Dec 2024 13:53:24 +0100 Subject: [PATCH] =?UTF-8?q?a=C3=B1adiro=20recoger=20en=20taller=20en=20dir?= =?UTF-8?q?ecciones=20presupuesto=20cliente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presupuestos/Presupuestocliente.php | 15 +- .../Models/Presupuestos/PresupuestoModel.php | 2 + .../presupuestos/cliente/_datosLibroItems.php | 94 --- .../cliente/_direccionesItems.php | 48 -- .../cliente/_disenioLibroItems.php | 665 ------------------ .../presupuestos/cliente/_resumenItems.php | 316 --------- .../presupuestos/cliente/_tipoLibroItems.php | 122 ---- .../cliente/items/_direcciones.php | 20 +- .../pages/presupuestoCliente/direcciones.js | 92 ++- .../presupuestoCliente/presupuestoCliente.js | 23 +- 10 files changed, 97 insertions(+), 1300 deletions(-) delete mode 100644 ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_datosLibroItems.php delete mode 100644 ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_direccionesItems.php delete mode 100644 ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php delete mode 100644 ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_resumenItems.php delete mode 100644 ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_tipoLibroItems.php diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index b3edb446..c456be52 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -935,13 +935,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController if ($id != 0) { $borrar_antes = true; } - + $datos_presupuesto['prototipo'] = $prototipo; $datos_presupuesto['ferro'] = $ferro; $datos_presupuesto['ferro_digital'] = $ferroDigital; $datos_presupuesto['marcapaginas'] = $marcapaginas; $datos_presupuesto['retractilado'] = $retractilado; $datos_presupuesto['retractilado5'] = $retractilado5; + $datos_presupuesto['entrega_taller'] = $reqData['entrega_taller'] ?? 0; $id = $model_presupuesto->insertarPresupuestoCliente( $id, @@ -973,7 +974,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['guardas']); // Servicios - if(intval($sobrecubierta['acabado']) > 0) { + if (intval($sobrecubierta['acabado']) > 0) { $model = model('App\Models\Presupuestos\PresupuestoAcabadosModel'); $servicio = $model->getPrecioTarifa(intval($sobrecubierta['acabado']), intval($selected_tirada), -1, $POD); @@ -983,7 +984,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController } } } - if (intval($cubierta['acabado'])>0) { + if (intval($cubierta['acabado']) > 0) { $model = model('App\Models\Presupuestos\PresupuestoAcabadosModel'); $servicio = $model->getPrecioTarifa(intval($cubierta['acabado']), intval($selected_tirada), -1, $POD); @@ -1121,7 +1122,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController [$data['datosGenerales']['paginasNegro'], $data['datosGenerales']['paginasColor']] = $this->getPaginas($lineas); - $data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id); + if (intval($presupuesto->envios_recoge_cliente) == 1) { + $data['direcciones']['entrega_taller'] = 1; + } else { + $data['direcciones']['entrega_taller'] = 0; + $data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id); + } if (intval($presupuesto->estado_id) == 2) { $data['resumen']['base'] = $presupuesto->total_aceptado; @@ -2382,7 +2388,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController { $model = model('App\Models\Presupuestos\PresupuestoDireccionesModel'); $model_direcciones = model('App\Models\Clientes\ClienteDireccionesModel'); - $model_pais = model('App\Models\Configuracion\PaisModel'); $direcciones = $model->where('presupuesto_id', $id)->findAll(); $result = []; diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 94d5952f..135efbc2 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -434,6 +434,8 @@ class PresupuestoModel extends \App\Models\BaseModel 'merma_cubierta' => $extra_info['merma'], 'paginasCuadernillo' => $data['paginasCuadernillo'], + 'recoger_en_taller' => $data['entrega_taller'], + 'comp_pos_paginas_color' => $data['interior']['pos_paginas_color'], 'paginas_color_consecutivas' => $data['interior']['paginas_color_consecutivas'], 'papel_interior_diferente' => $data['interior']['papelInteriorDiferente'], diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_datosLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_datosLibroItems.php deleted file mode 100644 index d0d58e27..00000000 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_datosLibroItems.php +++ /dev/null @@ -1,94 +0,0 @@ -
- - - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- - -
- - -
- -
- - -
- -
- - -
- -
- - -
- - -
- - -
- - -
- -
- -
- - diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_direccionesItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_direccionesItems.php deleted file mode 100644 index eb4fe1d7..00000000 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_direccionesItems.php +++ /dev/null @@ -1,48 +0,0 @@ -
- -
-
- -
- -
- - -
-
- - -
-
- -
- -
-
-
-
- - -
-
-
- -
- -
-
- -section("additionalInlineJs") ?> - -window.direcciones = direcciones_envio) ?>; -window.direcciones_sel_tirada = selected_tirada) ?>; -window.routes_direcciones = { - direcciones: "", - getDatos: "", - nuevaDireccion: "", -} -endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php deleted file mode 100644 index 0516df66..00000000 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php +++ /dev/null @@ -1,665 +0,0 @@ -
- - - -
- -

Fresado

- -
-
- - -
-
- -
-
user()->inGroup('admin') || auth()->user()->inGroup('beta')) ?' style="display:none;"':''?>> - - -
- - -
- - -
-
- -
- -
-
> - -
-
-
-
> - -
-
- -
- -
-
-
Datos presupuesto
-
-
- -
- - - -
-
- - -
- -
- - -
- -
- - -
- -
- - -
-
- -
- - -
- -
- - -
- -
- - -
- -
- -
- -
papel_formato_personalizado == false ? '' : 'style="display: none"'; ?>> - - - -
- -
papel_formato_personalizado == true ? '' : 'style="display: none"'; ?>> -
- - -
-
- -
papel_formato_personalizado == true ? '' : 'style="display: none"'; ?>> -
- - -
-
- -
-
- papel_formato_personalizado == true ? 'checked' : ''; ?>> - -
-
- -
- -
-
-
Interior
-
-
- - - -
Color del interior
- -
- -
- -
-
- - color_impresion == 'negro' ? ' checked=""': ''); ?> > -
- -
-
Blanco y Negro Estándar
-
-
- - -
-
- - color_impresion == 'negroHq' ? ' checked=""': ''); ?> > -
- -
-
Blanco y Negro Premium
-
-
-
- - -
- -
-
- - color_impresion == 'color' ? ' checked=""': ''); ?> > -
- -
-
Color Estándar
-
-
- - -
-
- - color_impresion == 'colorHq' ? ' checked=""': ''); ?> > -
- -
-
Color Premium
-
-
-
-
- -
-
- - -
-
- -
Papel
-
- -
- - -
- -
- - -
- -
- - -
Opciones extra
- - - -
-
-
Cubierta
-
-
- - - -
Papel
-
- -
- - -
- -
- - -
- -
- -
- -
- - -
- -
- - -
Opciones extra
- -
- -
-
- solapas == true ? 'checked' : ''; ?>> - -
-
- -
solapas == true ? '' : 'style="display: none;"'; ?>> - - -
- -
- -
- -
- - -
- -
- - - -
-
-
Sobrecubierta
-
-
- - - -
-
-
- papel_sobrecubierta) && $presupuestoEntity->papel_sobrecubierta>0) : - echo 'checked'; - endif; ?> - > - -
-
-
- -
papel_sobrecubierta) && $presupuestoEntity->papel_sobrecubierta>0) : - echo ''; - else: - echo 'style="display: none;"'; - endif; ?> - > Papel
-
- -
- - -
- -
- - -
- -
- -
papel_sobrecubierta) && $presupuestoEntity->papel_sobrecubierta>0) : - echo ''; - else: - echo 'style="display: none;"'; - endif; ?> - > Opciones extra
- -
papel_sobrecubierta) && $presupuestoEntity->papel_sobrecubierta>0) : - echo ''; - else: - echo 'style="display: none;"'; - endif; ?> - > - -
- - -
- -
- -
papel_sobrecubierta) && $presupuestoEntity->papel_sobrecubierta>0) : - echo ''; - else: - echo 'style="display: none;"'; - endif; ?> - > - -
- - -
- -
- - - -
-
-
Guardas
-
-
- - - -
-
- - -
-
- -
-
- - -
-
- - - -
-
-
Servicios Extra
-
-
- -
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
- -
-
-
- -
-
-
- -
- - -
-
-
Otras opciones
-
-
- -
-
- - -
- -

Se verificará que el pedido cumpla con los requisitos establecidos en el Artículo 91 de la Ley 37/1992, sobre inserción de publicidad, antes de proceder con su producción, lo que garantiza la aplicación del IVA reducido del 4%.

-
- -
-
- - -section("additionalInlineJs") ?> - - -window.datosDisenioLibro = { - papel_interior: papel_interior ? $presupuestoEntity->papel_interior : 'null'; ?>, - gramaje_interior: gramaje_interior ? $presupuestoEntity->gramaje_interior : 'null'; ?>, - papel_cubierta: papel_cubierta ? $presupuestoEntity->papel_cubierta : 'null'; ?>, - gramaje_cubierta: gramaje_cubierta ? $presupuestoEntity->gramaje_cubierta : 'null'; ?>, - papel_sobrecubierta: papel_sobrecubierta ? $presupuestoEntity->papel_sobrecubierta : 'null'; ?>, - gramaje_sobrecubierta: gramaje_sobrecubierta ? $presupuestoEntity->gramaje_sobrecubierta : 'null'; ?>, -} -window.routes_disenio_libro = { - obtenerGramaje: "", - presupuestoCliente: "", -} -endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_resumenItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_resumenItems.php deleted file mode 100644 index f9cf2d07..00000000 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_resumenItems.php +++ /dev/null @@ -1,316 +0,0 @@ -
-
- estado_id==2): ?> -

PRESUPUESTO ACEPTADO

- lomo_cubierta ?>> -
- -

Resumen

-
-
Libro
-

resumen->titulo)?$presupuestoEntity->resumen->titulo:'') ?>

-

Tamaño: resumen->tamanio)?$presupuestoEntity->resumen->tamanio:'') ?>

-

Número de páginas: paginas ?>

-

Tirada: tirada ?>

-

Prototipo: prototipo?'SI':'NO') ?>

-

Ferro: ferro?'SI':'NO') ?>

- -
Interior
-

Impresion: - resumen->tipo_impresion)?$presupuestoEntity->resumen->tipo_impresion:'') ?> -

-

paginasColor==0?'style="display:none"':'')?>> - Páginas a color: paginasColor?>

-

Papel: - papel_interior_nombre)?$presupuestoEntity->papel_interior_nombre:'') ?> - gramaje_interior)?$presupuestoEntity->gramaje_interior:'') ?>gr/m²

- -
Cubierta
-

Papel: - papel_cubierta_nombre)?$presupuestoEntity->papel_cubierta_nombre:''); ?> - gramaje_cubierta)?$presupuestoEntity->gramaje_cubierta:''); ?>gr/m²

-

Impresión: paginas_cubierta==2?"1 cara":"2 caras");?>

- solapas_ancho>0 || $presupuestoEntity->estado_id==1): ?> -

Solapas: solapas_ancho;?>mm

- - acabado_cubierta_id>0 || $presupuestoEntity->estado_id==1): ?> -

Acabado: - acabadosCubierta) && is_array($datosPresupuesto->acabadosCubierta) && !empty($datosPresupuesto->acabadosCubierta)) : - foreach ($datosPresupuesto->acabadosCubierta as $acabado) : - if ($acabado->id == $presupuestoEntity->acabado_cubierta_id): - echo $acabado->label; - endif; - endforeach; - endif; ?> -

- - - papel_sobrecubierta || $presupuestoEntity->estado_id==1): ?> -
Sobrecubierta
-

Papel: - papel_sobrecubierta_nombre)?$presupuestoEntity->papel_sobrecubierta_nombre:'') ?> - gramaje_sobrecubierta)?$presupuestoEntity->gramaje_sobrecubierta:'') ?>gr/m²

- solapas_ancho_sobrecubierta>0 || $presupuestoEntity->estado_id==1): ?> -

Ancho solapas: solapas_ancho_sobrecubierta;?>mm

- -

Acabado: - acabadosSobrecubierta) && is_array($datosPresupuesto->acabadosSobrecubierta) && !empty($datosPresupuesto->acabadosSobrecubierta)) : - foreach ($datosPresupuesto->acabadosSobrecubierta as $acabado) : - if ($acabado->id == $presupuestoEntity->acabado_sobrecubierta_id): - echo $acabado->label; - endif; - endforeach; - endif; ?> -

- - - papel_guardas || $presupuestoEntity->estado_id==1): ?> -
Guardas
-

Papel: - papel_guardas_nombre)?$presupuestoEntity->papel_guardas_nombre:''); ?> - 170gr/m²

-

Impresión: - paginas_guardas) || $presupuestoEntity->paginas_guardas==0): - echo "Sin impresion"; - elseif($presupuestoEntity->paginas_guardas==4): - echo "1 cara"; - else: - echo "2 caras"; - endif; ?>

- - - retractiladol || $presupuestoEntity->retractilado5 || $presupuestoEntity->faja_color || $presupuestoEntity->estado_id==1): ?> -
Extras
- - retractiladol): ?> -

Retractilado individual

- retractilado5): ?> -

Retractilado de 5

- faja_color): ?> -

Imprimir faja a color

- -
- -
- - estado_id==2): - $total = $presupuestoEntity->total_aceptado; - $iva = $presupuestoEntity->iva_reducido?1.04:1.21; - $total *= $iva; - $total_unidad = $presupuestoEntity->total_precio_unidad * $iva;; - echo '

Total: ' . round($total, 2) . '€

'; - echo '
' . round($total_unidad, 4) . '€/ud
' - ?> - -

Total: 100€

-
10.4€/ud
- -
-
-
- -
-
-
-
- estado_id==2): - echo '
'; - echo '

Direcciones de envío

'; - echo '
'; - if(isset($presupuestoEntity->direcciones_envio)): - foreach ($presupuestoEntity->direcciones_envio as $direccion): - echo '
'; - echo '
'; - echo ''; - echo '
'; - echo '
'; - endforeach; - endif; - echo '
'; - echo '
'; - endif; ?> - - estado_id==2): ?> -
-

Ficheros

-
-
-
- Arrastre aquí los ficheros o haga click -
-
- -
-
-
- -
- -
- - - - - -section("additionalInlineJs") ?> -window.estado = estado_id ?? 1?>; -window.tirada = selected_tirada ?? 0?>; -window.total = total_aceptado ?? 0?>; -window.total_unidad = total_precio_unidad ?? 0 ?>; -window.routes_resumen = { - guardarPresupuesto: "", - duplicarPresupuesto: "", -} - -estado_id===2): ?> - previewEsquemaCubierta(true); - - const previewTemplate = `
-
-
- -
-
-
-
-
-
-
-
-
-
-
`; - - Dropzone.autoDiscover = false; - - var dropzoneMulti = new Dropzone('#dropzone-multi', { - url: "", - addRemoveLinks: true, - previewTemplate: previewTemplate, - 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: function() { - thisDropzone = this; - $('#loader').show(); - - $.ajax({ - url: "", - type: 'POST', - data: { presupuesto_id: id ?> }, - - }).done(function(response) { - if(response == null || response == ""){ - return; - } - values = JSON.parse(response); - for(var i = 0; i < values.length; i++){ - var mockFile = { name: values[i].name, size: values[i].size, hash: values[i].hash}; - - thisDropzone.files.push(mockFile); // add to files array - thisDropzone.emit("addedfile", mockFile); - thisDropzone.emit("thumbnail", mockFile, window.location.host + "/sistema/intranet/presupuestos/"+values[i].hash); - thisDropzone.emit("complete", mockFile); - thisDropzone.options.success.call(thisDropzone, mockFile); - }; - }).always(function() { - $('#loader').hide(); - }); - - this.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'); - }); - } - }); - } - }); - - $('#presupuesto-cliente-form').submit(function(e){ - e.preventDefault(); - var files = dropzoneMulti.files; - $('#loader').show(); - - var formData = new FormData(); - var oldFiles = []; - var counter = 0; - for (var i = 0; i < files.length; i++) { - - if(files[i].upload){ - var file = files[i]; - formData.append('file[' + counter + ']', file); - counter += 1; - } - else{ - oldFiles.push(files[i].name); - } - } - formData.append('oldFiles', JSON.stringify(oldFiles)); - - formData.append('presupuesto_id', id ?>); - - $.ajax({ - url: "", - type: 'POST', - data: formData, - processData: false, // Indicar a jQuery que no procese los datos - contentType: false // Indicar a jQuery que no establezca el tipo de contenido - }).done(function(response) { - // Aquí puedes manejar la respuesta del servidor - }).always(function() { - $('#loader').hide(); - }) - - return false; - }); - -endSection() ?> diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_tipoLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_tipoLibroItems.php deleted file mode 100644 index 54cf1280..00000000 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_tipoLibroItems.php +++ /dev/null @@ -1,122 +0,0 @@ -
-
- - lomo_cubierta ?>> - -
- -
-
-
- > - - tipo_libro == 'cosido' || $datosPresupuesto->tipo_libro == ''){ - echo 'checked=""'; - } - ?> - > -
-

Rústica cosido

-
-
- -
-
-
> - - tipo_libro)=='fresado'? 'checked=""':''); ?> > -
-

Rústica fresado

-
-
- -
-
-
> - - tipo_libro)=='grapado'? 'checked=""':''); ?> > -
-

Cosido con grapas

-
-
-
- -
-
-
-
> - - tipo_libro)=='espiral'? 'checked=""':''); ?> > -
-

Espiral

-
-
- -
-
-
> - - tipo_libro)=='wireo'? 'checked=""':''); ?> > -
-

Wire-o

-
-
- -
-
-
\ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/items/_direcciones.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/items/_direcciones.php index 67af53db..a35d6b5e 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/items/_direcciones.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/items/_direcciones.php @@ -13,7 +13,15 @@
-
+
+
+ + +
+
+ +
@@ -36,7 +44,7 @@
-
+
-
+
- +
-
+
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/direcciones.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/direcciones.js index 794097b8..c3a67490 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/direcciones.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/direcciones.js @@ -14,6 +14,8 @@ class Direcciones { this.validatorStepper = validatorStepper; this.allowNext = true; + this.recogidaTaller = this.domItem.find('#recogerEnTaller'); + this.unidadesAdd = this.domItem.find('#unidadesEnvio'); this.btnAdd = this.domItem.find('#insertarDireccion'); this.btnNew = this.domItem.find('#nuevaDireccion'); @@ -39,6 +41,20 @@ class Direcciones { $("#clienteId").on('change', this.handleChangeCliente.bind(this)); + this.recogidaTaller.on('change', () => { + + if (this.recogidaTaller.is(':checked')) { + + this.divDirecciones.empty(); + this.direcciones = []; + $('.div-direcciones').addClass('d-none'); + } + else{ + $('.div-direcciones').removeClass('d-none'); + } + }); + + this.direccionesCliente.init(); this.btnAdd.on('click', this.#insertDireccion.bind(this)); this.btnNew.on('click', this.#nuevaDireccion.bind(this)); @@ -70,44 +86,52 @@ class Direcciones { }); }, 0); - setTimeout(function () { - $(`#containerTiradasEnvios .tirada-envio input[tirada="${datosGenerales.tirada}"]`).trigger('click'); - }, 0); + if (datos.entrega_taller == 1) { + this.recogidaTaller.prop('checked', true); + } + else { + + this.recogidaTaller.prop('checked', false); + + setTimeout(function () { + $(`#containerTiradasEnvios .tirada-envio input[tirada="${datosGenerales.tirada}"]`).trigger('click'); + }, 0); - for (let i = 0; i < datos.length; i++) { + for (let i = 0; i < datos.length; i++) { - let id = datos[i].id; - let unidades = datos[i].unidades; - let entregaPalets = datos[i].palets; - let divId = "dirEnvio-1"; - let direccionesActuales = this.divDirecciones.find('.direccion-cliente'); - if (direccionesActuales.length > 0) { - // the the lass item - let last = direccionesActuales[direccionesActuales.length - 1]; - divId = "dirEnvio-" + (parseInt(last.id.split('-')[1]) + 1); + let id = datos[i].id; + let unidades = datos[i].unidades; + let entregaPalets = datos[i].palets; + let divId = "dirEnvio-1"; + let direccionesActuales = this.divDirecciones.find('.direccion-cliente'); + if (direccionesActuales.length > 0) { + // the the lass item + let last = direccionesActuales[direccionesActuales.length - 1]; + divId = "dirEnvio-" + (parseInt(last.id.split('-')[1]) + 1); + } + + if (id == null || id <= 0 || id == undefined) + return; + if (unidades == null || unidades <= 0 || unidades == undefined) + return; + + let peticion = new Ajax('/misdirecciones/getDireccionPresupuesto/' + id, {}, {}, + (response) => { + let tarjeta = new tarjetaDireccion(this.divDirecciones, divId, response.data[0]); + tarjeta.setUnidades(unidades); + tarjeta.setEntregaPalets(entregaPalets); + tarjeta.card.find('.direccion-editar').on('click', this.#editUnits.bind(self)); + tarjeta.card.find('.direccion-eliminar').on('click', this.#deleteDireccion.bind(self)); + this.divDirecciones.append(tarjeta.card); + this.direcciones.push(tarjeta); + }, + () => { + console.error('Error getting address'); + }); + + peticion.get(); } - - if (id == null || id <= 0 || id == undefined) - return; - if (unidades == null || unidades <= 0 || unidades == undefined) - return; - - let peticion = new Ajax('/misdirecciones/getDireccionPresupuesto/' + id, {}, {}, - (response) => { - let tarjeta = new tarjetaDireccion(this.divDirecciones, divId, response.data[0]); - tarjeta.setUnidades(unidades); - tarjeta.setEntregaPalets(entregaPalets); - tarjeta.card.find('.direccion-editar').on('click', this.#editUnits.bind(self)); - tarjeta.card.find('.direccion-eliminar').on('click', this.#deleteDireccion.bind(self)); - this.divDirecciones.append(tarjeta.card); - this.direcciones.push(tarjeta); - }, - () => { - console.error('Error getting address'); - }); - - peticion.get(); } } catch (e) { console.error(e); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js index 662e0fe0..5a9f2565 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js @@ -45,7 +45,7 @@ class PresupuestoCliente { this.datos = {}; this.ajax_calcular = new Ajax('/presupuestocliente/calcular', this.datos, - {}, + {}, this.#procesarPresupuesto.bind(this), () => { $('#loader').modal('hide'); }); @@ -157,7 +157,7 @@ class PresupuestoCliente { return !(noPOD && siPOD); } - calcularSolapas(){ + calcularSolapas() { /* Solapas Max */ this.#getDatos(false, true); @@ -175,7 +175,7 @@ class PresupuestoCliente { this.disenioCubierta.textoSolapasCubierta.text("Entre 60 y " + response + " mm"); this.disenioCubierta.textoSolapasSobrecubierta.text("Entre 60 y " + response + " mm"); }, - () => { } + () => { } ).post(); } } @@ -188,7 +188,7 @@ class PresupuestoCliente { return; } - + if (this.calcularPresupuesto) { if (event.target.id === 'divDirecciones') { @@ -686,13 +686,16 @@ class PresupuestoCliente { this.datos.cubierta.solapas = 0; } - if (this.direcciones.direcciones.length > 0) { - this.datos.direcciones = []; - for (let i = 0; i < this.direcciones.direcciones.length; i++) { - this.datos.direcciones.push(this.direcciones.direcciones[i].getFormData()); - }; - } + this.datos.entrega_taller = this.direcciones.recogidaTaller.is(':checked') ? 1 : 0; + if (!this.direcciones.recogidaTaller.is(':checked')) { + if (this.direcciones.direcciones.length > 0) { + this.datos.direcciones = []; + for (let i = 0; i < this.direcciones.direcciones.length; i++) { + this.datos.direcciones.push(this.direcciones.direcciones[i].getFormData()); + }; + } + } if (save) { this.datos.datosCabecera = { titulo: this.datosGenerales.titulo.val(),