adaptado el preview a presupuestos confirmados

This commit is contained in:
2024-05-22 15:06:19 +02:00
parent a3962da518
commit b036e2ce32
6 changed files with 9130 additions and 386 deletions

View File

@ -1262,7 +1262,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$guardas = []; $guardas = [];
$peso_guardas = 0.0; $peso_guardas = 0.0;
$coste_guardas = 0.0; $coste_guardas = 0.0;
if($datos_guardas != 0){
if (count($datos_guardas) != 0) { if (count($datos_guardas) != 0) {
$guardas = $datos_guardas; $guardas = $datos_guardas;
@ -1312,7 +1312,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
else else
$error->guardas = ""; $error->guardas = "";
} }
}
if ($extra_info) { if ($extra_info) {
$totalPapel -= $margenPapel; $totalPapel -= $margenPapel;
$totalImpresion -= $margenImpresion; $totalImpresion -= $margenImpresion;

View File

@ -1,46 +1,110 @@
<div class="col-12 pb-2"> <div class="col-12 pb-2">
<div class="row mb-3"> <div class="row mb-3">
<?php if($presupuestoEntity->estado_id==2): ?>
<h2>PRESUPUESTO ACEPTADO</h2>
<input type="hidden" id="lomo_cubierta" value=<?php echo $presupuestoEntity->lomo_cubierta ?>>
<br>
<?php endif; ?>
<h3>Resumen</h3> <h3>Resumen</h3>
<div class="col-sm-6"> <div class="col-sm-6">
<h5 class="mb-1">Libro</h5> <h5 class="mb-1">Libro</h5>
<p class="mb-0"><small id="tipoLibro">Rústica cosido tapa blanda</small></p> <p class="mb-0"><small id="tipoLibro"><?php echo (isset($presupuestoEntity->resumen->titulo)?$presupuestoEntity->resumen->titulo:'') ?></small></p>
<p class="mb-0"><small id="resumenTamanio">Tamaño: 100x100</small></p> <p class="mb-0"><small id="resumenTamanio">Tamaño: <?php echo (isset($presupuestoEntity->resumen->tamanio)?$presupuestoEntity->resumen->tamanio:'') ?></small></p>
<p class="mb-0"><small id="resumenPaginas">Número de páginas: 200</small></p> <p class="mb-0"><small id="resumenPaginas">Número de páginas: <?php echo $presupuestoEntity->paginas ?></small></p>
<p class="mb-0"><small id="resumenTirada">Tirada: 200</small></p> <p class="mb-0"><small id="resumenTirada">Tirada: <?php echo $presupuestoEntity->tirada ?></small></p>
<p class="mb-0"><small id="resumenPrototipo">Prototipo: NO</small></p> <p class="mb-0"><small id="resumenPrototipo">Prototipo: <?php echo ($presupuestoEntity->prototipo?'SI':'NO') ?></small></p>
<p class="mb-3"><small id="resumenFerro">Ferro: NO</small></p> <p class="mb-3"><small id="resumenFerro">Ferro: <?php echo ($presupuestoEntity->ferro?'SI':'NO') ?></small></p>
<h5 class="mb-1">Interior</h5> <h5 class="mb-1">Interior</h5>
<p class="mb-0"><small id="tipoImpresion">Impresion: Negro premium</small></p> <p class="mb-0"><small id="tipoImpresion">Impresion:
<p id="pResumenPaginasColor" class="mb-0" style="display:none"><small id="resumenPaginasColor">Páginas a <?php echo (isset($presupuestoEntity->resumen->tipo_impresion)?$presupuestoEntity->resumen->tipo_impresion:'') ?>
color: 100</small></p> </small></p>
<p class="mb-3"><small id="resumenPapelInterior">Papel: Blanco Offset 70gr/</small></p> <p id="pResumenPaginasColor" class="mb-0" <?php echo ($presupuestoEntity->paginasColor==0?'style="display:none"':'')?>>
<small id="resumenPaginasColor">Páginas a color: <?php echo $presupuestoEntity->paginasColor?></small></p>
<p class="mb-3"><small id="resumenPapelInterior">Papel:
<?php echo (isset($presupuestoEntity->papel_interior_nombre)?$presupuestoEntity->papel_interior_nombre:'') ?>
<?php echo (isset($presupuestoEntity->gramaje_interior)?$presupuestoEntity->gramaje_interior:'') ?>gr/m²</small></p>
<h5 class="mb-1">Cubierta</h5> <h5 class="mb-1">Cubierta</h5>
<p class="mb-0"><small id="resumenPapelCubierta">Papel: Blanco Offset 70gr/</small></p> <p class="mb-0"><small id="resumenPapelCubierta">Papel:
<p class="mb-0"><small id="resumenCarasCubierta">Impresión: 1 cara</small></p> <?php echo (isset($presupuestoEntity->papel_cubierta_nombre)?$presupuestoEntity->papel_cubierta_nombre:''); ?>
<p class="mb-0"><small id="resumenSolapasCubierta">Solapas: 25mm</small></p> <?php echo (isset($presupuestoEntity->gramaje_cubierta)?$presupuestoEntity->gramaje_cubierta:''); ?>gr/m²</small></p>
<p class="mb-3"><small id="resumenAcabadoCubierta">Acabado: Ninguno</small></p> <p class="mb-0"><small id="resumenCarasCubierta">Impresión: <?php echo ($presupuestoEntity->paginas_cubierta==2?"1 cara":"2 caras");?></small></p>
<?php if($presupuestoEntity->solapas_ancho>0 || $presupuestoEntity->estado_id==1): ?>
<p class="mb-0"><small id="resumenSolapasCubierta">Solapas: <?php echo $presupuestoEntity->solapas_ancho;?>mm</small></p>
<?php endif; ?>
<?php if($presupuestoEntity->acabado_cubierta_id>0 || $presupuestoEntity->estado_id==1): ?>
<p class="mb-3"><small id="resumenAcabadoCubierta">Acabado:
<?php if (isset($datosPresupuesto->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; ?>
</small></p>
<?php endif; ?>
<?php if($presupuestoEntity->papel_sobrecubierta || $presupuestoEntity->estado_id==1): ?>
<h5 class="mb-1 resumen-sobrecubierta">Sobrecubierta</h5> <h5 class="mb-1 resumen-sobrecubierta">Sobrecubierta</h5>
<p class="mb-0 resumen-sobrecubierta"><small id="resumenPapelSobrecubierta">Papel: Blanco Offset <p class="mb-0 resumen-sobrecubierta"><small id="resumenPapelSobrecubierta">Papel:
70gr/</small></p> <?php echo (isset($presupuestoEntity->papel_sobrecubierta_nombre)?$presupuestoEntity->papel_sobrecubierta_nombre:'') ?>
<p class="mb-0 resumen-sobrecubierta"><small id="resumenSolapasCubierta">Ancho solapas: 25mm</small></p> <?php echo (isset($presupuestoEntity->gramaje_sobrecubierta)?$presupuestoEntity->gramaje_sobrecubierta:'') ?>gr/m²</small></p>
<p class="mb-3 resumen-sobrecubierta"><small id="resumenAcabadoCubierta">Acabado: Ninguno</small></p> <?php if($presupuestoEntity->solapas_ancho_sobrecubierta>0 || $presupuestoEntity->estado_id==1): ?>
<p class="mb-0 resumen-sobrecubierta"><small id="resumenSolapasCubierta">Ancho solapas: <?php echo $presupuestoEntity->solapas_ancho_sobrecubierta;?>mm</small></p>
<?php endif; ?>
<p class="mb-3 resumen-sobrecubierta"><small id="resumenAcabadoSobrecubierta">Acabado:
<?php if (isset($datosPresupuesto->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; ?>
</small></p>
<?php endif; ?>
<?php if($presupuestoEntity->papel_guardas || $presupuestoEntity->estado_id==1): ?>
<h5 class="mb-1 resumen-guardas">Guardas</h5> <h5 class="mb-1 resumen-guardas">Guardas</h5>
<p class="mb-0 resumen-guardas"><small id="resumenGuardasPapel">Papel: Blanco Offset 70gr/</small></p> <p class="mb-0 resumen-guardas"><small id="resumenGuardasPapel">Papel:
<p class="mb-3 resumen-guardas"><small id="resumenGuardasCaras">Impresión: 1 cara</small></p> <?php echo (isset($presupuestoEntity->papel_guardas_nombre)?$presupuestoEntity->papel_guardas_nombre:''); ?>
170gr/m²</small></p>
<p class="mb-3 resumen-guardas"><small id="resumenGuardasCaras">Impresión:
<?php if(!isset($presupuestoEntity->paginas_guardas) || $presupuestoEntity->paginas_guardas==0):
echo "Sin impresion";
elseif($presupuestoEntity->paginas_guardas==4):
echo "1 cara";
else:
echo "2 caras";
endif; ?></small></p>
<?php endif; ?>
<?php if($presupuestoEntity->retractiladol || $presupuestoEntity->retractilado5 || $presupuestoEntity->faja_color || $presupuestoEntity->estado_id==1): ?>
<h5 class="mb-1 resumen-extras">Extras</h5> <h5 class="mb-1 resumen-extras">Extras</h5>
<?php endif; ?>
<?php if($presupuestoEntity->retractiladol): ?>
<p class="mb-0 resumen-extras" id="resumenRetractilado1"><small>Retractilado individual</small></p> <p class="mb-0 resumen-extras" id="resumenRetractilado1"><small>Retractilado individual</small></p>
<?php elseif ($presupuestoEntity->retractilado5): ?>
<p class="mb-0 resumen-extras" id="resumenRetractilado5"><small>Retractilado de 5</small></p> <p class="mb-0 resumen-extras" id="resumenRetractilado5"><small>Retractilado de 5</small></p>
<?php elseif ($presupuestoEntity->faja_color): ?>
<p class="mb-0 resumen-extras" id="resumenFajaColor"><small>Imprimir faja a color</small></p> <p class="mb-0 resumen-extras" id="resumenFajaColor"><small>Imprimir faja a color</small></p>
<?php endif; ?>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<?php if($presupuestoEntity->estado_id==2):
$total = $presupuestoEntity->total_aceptado;
$iva = $presupuestoEntity->iva_reducido?1.04:1.21;
$total *= $iva;
$total_unidad = $total / $presupuestoEntity->tirada;
echo '<h4 id="resumenTotalIVA" class="mb-1">Total: ' . round($total, 2) . '€</h4>';
echo '<h6 id="resumenPrecioU" class="mb-0">' . round($total_unidad, 4) . '€/ud</h6>'
?>
<?php else: ?>
<h4 id="resumenTotalIVA" class="mb-1">Total: 100€</h4> <h4 id="resumenTotalIVA" class="mb-1">Total: 100€</h4>
<h6 id="resumenPrecioU" class="mb-0">10.4€/ud</h6> <h6 id="resumenPrecioU" class="mb-0">10.4€/ud</h6>
<?php endif; ?>
<div id="shape-container"> <div id="shape-container">
<div id="thumbnail_ec_shape" style="width:350px;height:300px;margin:2.5% auto;"></div> <div id="thumbnail_ec_shape" style="width:350px;height:300px;margin:2.5% auto;"></div>
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
@ -52,6 +116,39 @@
</div> </div>
</div> </div>
</div> </div>
<?php if($presupuestoEntity->estado_id==2):
echo '<div class="row mb-3">';
echo '<h3>Direcciones de envío</h3>';
echo '<div class="col-sm-6">';
if(isset($presupuestoEntity->direcciones_envio)):
foreach ($presupuestoEntity->direcciones_envio as $direccion):
echo '<div class="row mb-3">';
echo '<div class="col-sm-5 form-check custom-option custom-option-basic checked">';
echo '<label class="form-check-label custom-option-content">';
echo '<span class="custom-option-header mb-2">';
echo '<h6 class="fw-semibold mb-0">' . $direccion['att'] . '</h6>';
echo '<span class="badge bg-label-primary">' . $direccion['cantidad'] . ' unidades</span>';
echo '</span>';
echo '<span class="custom-option-body">';
echo '<small>' . $direccion['direccion'] . '</small><br>';
echo '<small>' . $direccion['cp'] . '</small><br>';
echo '<small>' . $direccion['municipio'] .', ' . $direccion['pais'] . '</small><br>';
echo '<small>' . $direccion['telefono'] . '</small><br>';
echo '<small>' . $direccion['email'] . '</small><br>';
if($direccion['entregaPieCalle'] == 1){
echo '<small><i>Envío en palets</i></small><br>';
}
echo '<hr class="my-2">';
echo '</span>';
echo '</label>';
echo '</div>';
echo '</div>';
endforeach;
endif;
echo '</div>';
echo '</div>';
endif; ?>
</div> </div>
<!-- Modal --> <!-- Modal -->
@ -75,8 +172,17 @@
<?= $this->section("additionalInlineJs") ?> <?= $this->section("additionalInlineJs") ?>
window.estado = <?= $presupuestoEntity->estado_id ?>;
window.tirada = <?= $presupuestoEntity->selected_tirada ?>;
window.total = <?= $presupuestoEntity->total_aceptado ?>;
window.total_unidad = <?= $presupuestoEntity->total_precio_unidad ?>;
window.iva_reducido= <?= $presupuestoEntity->iva_reducido ?>;
window.routes_resumen = { window.routes_resumen = {
guardarPresupuesto: "<?= route_to('guardarPresupuesto') ?>", guardarPresupuesto: "<?= route_to('guardarPresupuesto') ?>",
duplicarPresupuesto: "<?= route_to('duplicarPresupuesto') ?>",
} }
if(<?php echo $presupuestoEntity->estado_id?>==2)
previewEsquemaCubierta(true);
<?= $this->endSection() ?> <?= $this->endSection() ?>

View File

@ -38,6 +38,7 @@
}); });
// Deal Details // Deal Details
if(clientePresupuestoWizardFormStep2 !== null){
const FormValidation2 = FormValidation.formValidation(clientePresupuestoWizardFormStep2, { const FormValidation2 = FormValidation.formValidation(clientePresupuestoWizardFormStep2, {
fields: { fields: {
}, },
@ -57,6 +58,7 @@
validationStepper.next(); validationStepper.next();
}); });
// Deal Usage // Deal Usage
const FormValidation3 = FormValidation.formValidation(clientePresupuestoWizardFormStep3, { const FormValidation3 = FormValidation.formValidation(clientePresupuestoWizardFormStep3, {
fields: { fields: {
@ -336,6 +338,7 @@
}); });
}); });
} }
}
})(); })();

View File

@ -12,15 +12,17 @@ $(document).on('shown.bs.modal', function (e) {
function previewEsquemaCubierta(isThumbnail = false) { function previewEsquemaCubierta(isThumbnail = false) {
if($('#cosidoDiv').length){
if ($('#cosidoDiv').hasClass('checked') || $("#fresadoDiv").hasClass('checked')) { if ($('#cosidoDiv').hasClass('checked') || $("#fresadoDiv").hasClass('checked')) {
console.log("Cosido/Fresado"); //console.log("Cosido/Fresado");
if ($("#tapaBlanda").is(":checked")) { if ($("#tapaBlanda").is(":checked")) {
portadaTapaBlanda(isThumbnail); portadaTapaBlanda(isThumbnail);
} else if ($("#tapaDura").is(":checked")) { } else if ($("#tapaDura").is(":checked")) {
portadaTapaDura(isThumbnail);3 portadaTapaDura(isThumbnail);
} }
} else if ($('#espiralDiv').hasClass('checked') || $('#wireoDiv').hasClass('checked')) { } else if ($('#espiralDiv').hasClass('checked') || $('#wireoDiv').hasClass('checked')) {
console.log("Espiral/Wireo"); //console.log("Espiral/Wireo");
if ($("#tapaBlanda").is(":checked")) { if ($("#tapaBlanda").is(":checked")) {
portadaEspiral(isThumbnail, false); portadaEspiral(isThumbnail, false);
} else if ($("#tapaDura").is(":checked")) { } else if ($("#tapaDura").is(":checked")) {
@ -29,6 +31,26 @@ function previewEsquemaCubierta(isThumbnail = false) {
} else if ($('#grapadoDiv').hasClass('checked')) { } else if ($('#grapadoDiv').hasClass('checked')) {
portadaGrapado(isThumbnail); portadaGrapado(isThumbnail);
} }
}
else{
let titulo = $('#tipoLibro').text().toLowerCase();
if(titulo.includes("cosido") || titulo.includes("fresado")){
if(titulo.includes("dura"))
portadaTapaDura(isThumbnail);
else{
portadaTapaBlanda(isThumbnail);
}
}
else if (titulo.includes("espiral") || titulo.includes("wire-o")){
if(titulo.includes("dura"))
portadaEspiral(isThumbnail, true);
else
portadaEspiral(isThumbnail, false);
}
else if (titulo.includes("grapado")){
portadaGrapado(isThumbnail);
}
}
} }
@ -772,12 +794,23 @@ function portadaGrapado(isThumbnail = false) {
function getObjetoToPreview() { function getObjetoToPreview() {
if($('#cosidoDiv').length){
pvObj = { pvObj = {
lomoLibro: $('#lomo_cubierta').val() === '' ? parseFloat('0.0') : parseFloat($('#lomo_cubierta').val()), lomoLibro: $('#lomo_cubierta').val() === '' ? parseFloat('0.0') : parseFloat($('#lomo_cubierta').val()),
anchoSolapa: $('#solapasCubierta').is(':checked') ? parseFloat($('#anchoSolapasCubierta').val()) : parseFloat(0), anchoSolapa: $('#solapasCubierta').is(':checked') ? parseFloat($('#anchoSolapasCubierta').val()) : parseFloat(0),
altoLibro: getDimensionLibro().alto, altoLibro: getDimensionLibro().alto,
anchoLibro: getDimensionLibro().ancho anchoLibro: getDimensionLibro().ancho
}; };
console.log(pvObj); } else {
let tamanio = $('#resumenTamanio').text().split(' ')[1].split('x');
let solapas = parseInt($('#resumenSolapasCubierta').length ? $('#resumenSolapasCubierta').text().split(' ')[1].replace("mm", '') : 0);
pvObj = {
lomoLibro: $('#lomo_cubierta').val() === '' ? parseFloat('0.0') : parseFloat($('#lomo_cubierta').val()),
anchoSolapa: solapas,
altoLibro: parseInt(tamanio[1]),
anchoLibro: parseInt(tamanio[0])
};
}
//console.log(pvObj);
} }

View File

@ -226,7 +226,9 @@ $('#clienteId').select2({
} }
}); });
if(<?= $presupuestoEntity->estado_id ?>==1){
initDisenioLibro(); initDisenioLibro();
}
<?= $this->endSection() ?> <?= $this->endSection() ?>

8600
xdebug.log

File diff suppressed because it is too large Load Diff