Merge branch 'main' into 'bug/cubierta_con_solapas'

# Conflicts:
#   ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
This commit is contained in:
2024-01-24 17:51:12 +00:00
14 changed files with 445 additions and 436 deletions

View File

@ -31,7 +31,7 @@
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="solapas" name="solapas" tabindex="6" value="1" <?= $presupuestoEntity->solapas == true ? 'checked' : ''; ?>>
<label class="form-check-label" for="papelFormatoPersonalizado"><?= lang('Presupuestos.solapasCubierta') ?></label>
<label class="form-check-label" for="solapas"><?= lang('Presupuestos.solapasCubierta') ?></label>
</div>
</div><!--//.mb-3 -->
@ -70,13 +70,13 @@
<div class="row">
<div class="col-md-12 col-lg-6">
<div class="mb-3">
<input style="display: none" type="number" id="papelFormatoAncho" name="papel_formato_ancho" maxLength="8" step="0.01" class="form-control" value="<?= old('papel_formato_ancho', $presupuestoEntity->papel_formato_ancho) ?>">
<input <?= $presupuestoEntity->papel_formato_personalizado == true ? '' : 'style="display: none"'; ?> type="number" id="papelFormatoAncho" name="papel_formato_ancho" maxLength="8" step="0.01" class="form-control" value="<?= old('papel_formato_ancho', $presupuestoEntity->papel_formato_ancho) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-6">
<div class="mb-3">
<input style="display: none" type="number" id="papelFormatoAlto" name="papel_formato_alto" maxLength="8" step="0.01" class="form-control" value="<?= old('papel_formato_alto', $presupuestoEntity->papel_formato_alto) ?>">
<div class="mb-3">
<input <?= $presupuestoEntity->papel_formato_personalizado == true ? '' : 'style="display: none"'; ?> type="number" id="papelFormatoAlto" name="papel_formato_alto" maxLength="8" step="0.01" class="form-control" value="<?= old('papel_formato_alto', $presupuestoEntity->papel_formato_alto) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
</div>
@ -341,6 +341,13 @@ $('#papelFormatoId').select2({
allowClear: false,
});
let initTamanioPersonalizado = <?php echo ($presupuestoEntity->papel_formato_personalizado==true?1:0); ?>;
if(initTamanioPersonalizado != null){
if ( initTamanioPersonalizado){
$('#papelFormatoId').next(".select2-container").hide();
}
}
$('#papelFormatoPersonalizado').on("click",function(){
var checkbox = document.getElementById('papelFormatoPersonalizado');
if(checkbox.checked == true){

View File

@ -1083,6 +1083,10 @@
$('#compPaginasNegrohq').val('0');
$('#compPaginasNegro').val($('#paginas').val())
if($('#tipoImpresion').select2('data')[0].id == 'negro'){
$('#compGramajeColor').val('').trigger('change')
$('#compPapelColor').val(0).trigger('change')
}
if( $('#tableCompIntPlana').DataTable().rows().count() > 0 &&
$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
@ -1102,6 +1106,11 @@
$('#compPaginasColor').val('0')
$('#compPaginasNegro').val('0')
$('#compPaginasNegrohq').val($('#paginas').val())
if($('#tipoImpresion').select2('data')[0].id == 'negrohq'){
$('#compGramajeColorhq').val('').trigger('change')
$('#compPapelColorhq').val(0).trigger('change')
}
if($('#tableCompIntPlana').DataTable().rows().count() > 0 &&
!$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
@ -1118,7 +1127,7 @@
})
function checkComparadorInt(is_color, is_hq, actualizarLinea=false) {
function checkComparadorInt(is_color, is_hq, actualizarLineaPlana=false, actualizarLineaRot=false) {
try{
@ -1135,11 +1144,11 @@
checkDatosPedidoForComp()) {
getLineasIntPlana(is_color, is_hq, actualizarLinea).then((result) =>{
getLineasIntPlana(is_color, is_hq, actualizarLineaPlana).then((result) =>{
// Para rotativa, si es color el papel y el gramaje tiene que ser igual
if(!is_color)
{
getLineasIntRot(is_hq, actualizarLinea);
getLineasIntRot(is_hq, actualizarLineaRot);
}
else
{
@ -1150,7 +1159,7 @@
if(($('#compPapelNegro').select2('data')[0].id == $('#compPapelColor').select2('data')[0].id &&
$('#compGramajeNegro').select2('data')[0].text.trim() == $('#compGramajeColor').select2('data')[0].text.trim()))
{
getLineasIntRot(is_hq, actualizarLinea);
getLineasIntRot(is_hq, actualizarLineaRot);
}
else
{

View File

@ -37,10 +37,10 @@
value="<?= lang("Basic.global.Save") ?>"
/>
<?php if (str_contains($formAction, 'edit')): ?>
<?= anchor(route_to("presupuestoToPdf"), lang("Basic.global.Print"), ["class" => "btn btn-dark float-start me-sm-3 me-1",]) ?>
<?= anchor(route_to("presupuestoToPdf", $presupuestoId), lang("Basic.global.Print"), ["class" => "btn btn-dark float-start me-sm-3 me-1",'target' => '_blank']) ?>
<?= anchor(route_to("#"), lang("Basic.global.Clone"), ["class" => "btn btn-info float-start me-sm-3 me-1",]) ?>
<?php endif; ?>
<?= anchor(route_to("cosidotapablandaList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start",]) ?>
<?= anchor(route_to("cosidotapablandaList", $tipo_impresion_id), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start",]) ?>
</div>
</form>
@ -120,38 +120,42 @@ const url_parts = url.split('/');
<?= $this->section("additionalInlineJs") ?>
if(url_parts[url_parts.length-2] == 'edit'){
id = url_parts[url_parts.length-1];
id = url_parts[url_parts.length-1];
}
else{
id = -1;
id = -1;
}
$('#presupuestoForm').on( "submit", function( event ) {
event.preventDefault();
save_servicios();
save_datos_envios();
event.preventDefault();
save_servicios();
save_datos_envios();
$.when(fill_bbdd_from_lp(id).then(function (data, textStatus, jqXHR){
generateCompJSON()
form = $('#presupuestoForm').serialize()
form += getValuesResumenForm()
$.when(fill_bbdd_from_lp(id).then(function (data, textStatus, jqXHR){
generateCompJSON()
form = $('#presupuestoForm').serialize()
form += getValuesResumenForm()
$.ajax({
type: "POST",
url: "<?php echo $formAction; ?>",
data: form,
success: function (data) {
yeniden(data.<?= csrf_token() ?>)
popSuccessAlert(data.mensaje)
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
console.log(jqXHR)
});;
}))
$.ajax({
type: "POST",
url: "<?php echo $formAction; ?>",
data: form,
success: function (data) {
yeniden(data.<?= csrf_token() ?>)
if('errorMensaje' in data)
popErrorAlert(data.errorMensaje)
else
popSuccessAlert(data.mensaje)
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
console.log(jqXHR)
});;
}))
return false; //stop the actual form post !important!
return false; //stop the actual form post !important!
});

View File

@ -52,12 +52,12 @@
}
// SOLO PARA TEST
$(document).on("keypress", function(event) {
/*$(document).on("keypress", function(event) {
if (event.keyCode === 112) {
event.preventDefault();
showBreadCrumbSaveButton(true);
}
});
});*/
$('#bc-save').on( "click", function() {
showBreadCrumbSaveButton(false);

View File

@ -94,7 +94,7 @@
<?php if (count($temp = getArrayItem($menus, 'name', 'Fresadotapablanda')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/fresadotapablanda") ?>" class="menu-link">
<a href="<?= site_url("presupuestos/cosidotapablanda/list/2") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_libros_fresasdo_tapa_blanda") ?>"><?= lang("App.menu_libros_fresasdo_tapa_blanda") ?></div>
</a>
</li>
@ -114,7 +114,7 @@
<?php if (count($temp = getArrayItem($menus, 'name', 'Cosidotapablanda')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/cosidotapablanda") ?>" class="menu-link">
<a href="<?= site_url("presupuestos/cosidotapablanda/list/4") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_libros_cosido_tapa_blanda") ?>"><?= lang("App.menu_libros_cosido_tapa_blanda") ?></div>
</a>
</li>

View File

@ -4,17 +4,16 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= "Presupuesto " . "TBC" ?></title>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/font-pdf.css') ?>">
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/all.css') ?>">
<!-- <link rel="stylesheet" href="--><?php //= site_url('themes/vuexy/css/all.css') ?><!--">-->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/pdf.presupuesto.css') ?>">
<style>
@page {
margin: 18px;
margin: 10px;
}
body {
margin: 18px;
margin: 10px;
}
</style>
@ -37,34 +36,34 @@
PRESUPUESTO :
</th>
<th class="num_presupuesto">
<?= "obj->id" ?>
<?= $presupuesto->id ?>
</th>
<th class="intro_cliente">
CLIENTE:
</th>
<th class="cliente letra">
<?= "obj->customer->name" ?>
<?= $presupuesto->cliente ?>
</th>
<th class="intro_fecha">
FECHA:
</th>
<th class="fecha">
<?= date("d/m/Y") ?>
<?= date('d/m/Y', strtotime($presupuesto->fecha)); ?>
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="6" class="titulo">
<span style="font-weight: bold">Título:</span> <?= "obj->titulo" ?>
<span style="font-weight: bold">Título:</span> <?= $presupuesto->titulo ?>
</td>
</tr>
<tr>
<td colspan="3" class="coleccion">
<span style="font-weight: bold">Colección:</span> <?= "obj->coleccion" ?>
<span style="font-weight: bold">Colección:</span> <?= $presupuesto->coleccion ?>
</td>
<td colspan="3" class="autor">
<span style="font-weight: bold">Autor:</span> <?= "obj->autor" ?>
<span style="font-weight: bold">Autor:</span> <?= $presupuesto->autor ?>
</td>
</tr>
</tbody>
@ -83,37 +82,39 @@
</tr>
<tr>
<td class="t">Ferro</td>
<td class="v">TBD</td>
<td class="v"><?php echo(($presupuesto->ferro == 1) ? "SI" : "NO"); ?></td>
<td class="t-first">Prototipo</td>
<td class="v-first">SI</td>
<td class="v-first"><?php echo(($presupuesto->prototipo == 1) ? "SI" : "NO"); ?></td>
<td class="t-second">Ferro Digital</td>
<td class="v-second">SI</td>
<td class="v-second"><?php echo(($presupuesto->ferro_digital == 1) ? "SI" : "NO"); ?></td>
</tr>
<tr>
<td class="t">Formato</td>
<td class="v" colspan="5">
<?= "obj->papel_formato->format()" ?> mm.
<?= (($presupuesto->isPersonalizado) ? $presupuesto->formatoPersonalizado : $presupuesto->formato) ?> mm
</td>
</tr>
<tr>
<td class="t">Nº de páginas totales</td>
<td class="v" colspan="5"><?= "obj->paginas" ?></td>
<td class="v" colspan="5"><?= $presupuesto->paginas ?></td>
</tr>
<tr>
<td class="t">Nº de páginas ByN</td>
<td class="v"><?= "paginas_negro" ?></td>
<td class="v"><?= $lp_ByN->paginas ?></td>
<td class="t-first">Papel</td>
<td class="v-first"><?= "papel_negro" ?></td>
<td class="v-first"><?= $lp_ByN->papel ?></td>
<td class="t-second">Gramaje</td>
<td class="v-second"><?= "gramaje_negro" ?></td>
<td class="v-second"><?= $lp_ByN->gramaje ?></td>
</tr>
<tr>
<td class="t">Nº de páginas Color</td>
<td class="v"><?= "paginas_color" ?></td>
<td class="v"><?= $lp_Color->paginas ?></td>
<td class="t-first">Papel</td>
<td class="v-first"><?= "papel_color" ?></td>
<td class="v-first"><?= $lp_Color->papel ?></td>
<td class="t-second">Gramaje</td>
<td class="v-second"><?= "gramaje_color" ?></td>
<td class="v-second"><?= $lp_Color->gramaje ?></td>
</tr>
</tbody>
</table>
@ -169,9 +170,9 @@
<td class="t">Tipo</td>
<td class="v"><?= "encuardernado" ?></td>
<td class="t-first">Solapas</td>
<td class="v-first"><?= "solapas_portada" ?></td>
<td class="v-first"><?php echo(($presupuesto->solapas == 1) ? "SI" : "NO"); ?></td>
<td class="t-second">Ancho</td>
<td class="v-second">TBD cm</td>
<td class="v-second"><?= $presupuesto->solapas_ancho ?> cm</td>
</tr>
</tbody>
</table>
@ -185,15 +186,15 @@
<tbody>
<tr>
<td class="t">Retractilado</td>
<td class="v" colspan="5">NO</td>
<td class="v" colspan="5"><?php echo(($presupuesto->retractilado == 1) ? "SI" : "NO"); ?></td>
</tr>
<tr>
<td class="t">Guardas</td>
<td class="v" colspan="5">NO</td>
<td class="v" colspan="5"><?php echo(($presupuesto->guardas == 1) ? "SI" : "NO"); ?></td>
</tr>
<tr>
<td class="t">Marcapáginas</td>
<td class="v" colspan="5">NO</td>
<td class="v" colspan="5"><?php echo(($presupuesto->marcapaginas == 1) ? "SI" : "NO"); ?></td>
</tr>
</tbody>
</table>
@ -204,45 +205,56 @@
<th class="intro_envio" colspan="10">ENVÍO</th>
</tr>
</thead>
<?php if (isset($envios_recogeCliente)) { ?>
<?php
if ($presupuesto->recoge_cliente == 1) { ?>
<tbody>
<tr>
<td colspan="10">El pedido será recogido por el cliente</td>
</tr>
</tbody>
<?php } else { ?>
<?php
} else {
if (count($direccionesEnvio) != 0) {
?>
<tbody>
<tbody>
<tr>
<td class="t-ejemplares">Ejemplares</td>
<td class="v-ejemplares"><?= "TBD" ?></td>
<td class="t-first-direccion">Dirección</td>
<td class="v-first-direccion" colspan="7"><?= "TBC" ?></td>
</tr>
<tr>
<td class="t">País</td>
<td class="v"><?= "TBC" ?></td>
<td class="t-first">Provincia</td>
<td class="v-first"><?= "TBC" ?></td>
<td class="t-second">C.P.</td>
<td class="v-second"><?= "TBC" ?></td>
<td class="t-third">Ciudad</td>
<td class="v-third"><?= "TBC" ?></td>
<td class="t-fourth">Telf.</td>
<td class="v-fourth"><?= "TBC" ?></td>
</tr>
</tbody>
<?php } ?>
<?php foreach ($direccionesEnvio as $direccionEnvio) { ?>
<tr>
<td class="t-ejemplares">Ejemplares</td>
<td class="v-ejemplares"><?= $direccionEnvio->cantidad ?></td>
<td class="t-first-direccion">Dirección</td>
<td class="v-first-direccion" colspan="7"><?= $direccionEnvio->direccion ?></td>
</tr>
<tr>
<td class="t">País</td>
<td class="v"><?= $direccionEnvio->pais ?></td>
<td class="t-first">Provincia</td>
<td class="v-first"><?= $direccionEnvio->provincia ?></td>
<td class="t-second">C.P.</td>
<td class="v-second"><?= $direccionEnvio->cp ?></td>
<td class="t-third">Ciudad</td>
<td class="v-third"><?= $direccionEnvio->municipio ?></td>
<td class="t-fourth">Telf.</td>
<td class="v-fourth"><?= $direccionEnvio->telefono ?></td>
</tr>
<?php } ?>
</tbody>
<?php
} else { ?>
<tbody>
<tr>
<td colspan="10">No hay definidos envíos</td>
</tr>
</tbody>
<?php
}
} ?>
</table>
<table class="totales" align="right">
<table class="totales">
<thead>
<tr>
<th class="hidden"></th>
<th class="hidden"></th>
<th>Tirada</th>
<th>U.Impresión 4%</th>
<th>U.Envío 21%</th>
<th>Precio**</th>
<th>Precio UD.</th>
<th>TOTAL CON IVA</th>
@ -250,45 +262,45 @@
</thead>
<tbody>
<tr>
<td class="hidden"></td>
<td class="hidden"></td>
<td class="tirada">TBD uds.</td>
<td class="precio">TBD €</td>
<td class="precio">TBD €</td>
<td class="precio">TBD €</td>
<td class="precio">TBD €</td>
<td class="precio">TBD €</td>
<td class="tirada"><?= $presupuesto->tirada ?> uds.</td>
<td class="precio"><?= $presupuesto->total_presupuesto ?> €</td>
<td class="precio"><?= $presupuesto->total_precio_unidad ?> €</td>
<td class="precio"><?= $presupuesto->total_presupuesto * 1.04 ?> €</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="iva" colspan="5">Estos precios no incluyen I.V.A.</td>
</tr>
</tfoot>
</table>
<?php if (isset($obj->comentarios_pdf)) { ?>
<h6 class="observaciones">OBSERVACIONES</h6>
<div class="comentarios">{!! nl2br($obj->comentarios_pdf) !!}</div>
<?php if (!empty($presupuesto->comentarios_pdf)) { ?>
<div class="observaciones">
<h6 class="observaciones">OBSERVACIONES</h6>
<div class="comentarios">
<?= nl2br($presupuesto->comentarios_pdf); ?>
</div>
</div>
<?php } ?>
<div class="footer" style="margin-top: 70px">
<p>Por la grave crisis de papel que está sufriendo el sector, este presupuesto deberá ser confirmado con su
<div class="footer">
<p class="texto-info">Por la grave crisis de papel que está sufriendo el sector, este presupuesto deberá ser
confirmado con su
comercial el día que se oficialice el pedido, dado que pueda darse la situación de que no haya stock
disponible o que su precio haya variado considerablemente, para así poder ofrecerle alternativas.</p>
<p class="texto-email">Esperando que los precios se ajusten a sus necesidades,<br/>
<?= "obj->customer->salesman->name" ?> <?= "obj->customer->salesman->lastname" ?> &bull;
email: <?= "obj->customer->salesman->email" ?></p>
<p class="texto-asteriscos">(*) En el formato de desarrollo de cubierta están contemplados los 3 mm. de vuelta
de solapas en caso de llevarlas.<br/>
(**) Estos precios están sujetos a análisis de cobertura de tinta del archivo PDF de interior.</p>
disponible o que su precio haya variado considerablemente, para así poder ofrecerle alternativas.
</p>
<p class="texto-email">
Esperando que los precios se ajusten a sus necesidades,<br/>
<?= $presupuesto->comercial ?> &bull; email: <?= $presupuesto->email_comercial ?>
</p>
<p class="texto-asteriscos">
(*) En el formato de desarrollo de cubierta están contemplados los 3 mm. de vuelta de solapas en caso de
llevarlas.<br/>
(**) Estos precios están sujetos a análisis de cobertura de tinta del archivo PDF de interior.
</p>
<span class="texto-presupuesto">
Este presupuesto se calcula en base a los datos aportados, por lo que su importe puede variar a la vista del original definitivo a imprimir si éste difiere de los datos inicialmente incluidos, en cuyo caso se le facilitará un nuevo presupuesto corregido para que lo apruebe antes de realizar el pedido.
<br/>
Este presupuesto es válido durante 30 días.</span>
Este presupuesto se calcula en base a los datos aportados, por lo que su importe puede variar a la vista del
original definitivo a imprimir si éste difiere de los datos inicialmente incluidos, en cuyo caso se le
facilitará un nuevo presupuesto corregido para que lo apruebe antes de realizar el pedido.<br/>
Este presupuesto es válido durante 30 días.
</span>
</div>
</main>
</body>
</html>