Merge branch 'bug/siguiente_presu_cliente' into 'main'

Bug/siguiente presu cliente

See merge request jjimenez/safekat!265
This commit is contained in:
Ignacio Martinez Navajas
2024-06-06 10:22:56 +00:00
3 changed files with 237 additions and 176 deletions

View File

@ -50,6 +50,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$this->viewData = ['usingServerSideDataTable' => true]; // JJO $this->viewData = ['usingServerSideDataTable' => true]; // JJO
// Breadcrumbs
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_presupuestos"), 'route' => "javascript:void(0);", 'active' => false],
['title' => "Listado", 'route' => site_url('presupuestocliente/list'), 'active' => true]
];
parent::initController($request, $response, $logger); parent::initController($request, $response, $logger);
$this->model = new PresupuestoModel(); $this->model = new PresupuestoModel();
} }
@ -108,6 +114,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datosPresupuesto->tapa = 'blanda'; $datosPresupuesto->tapa = 'blanda';
$datosPresupuesto->clienteList = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null); $datosPresupuesto->clienteList = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null);
$presupuestoEntity->estado = 1;
$this->viewData['formAction'] = route_to('crearPresupuestoCliente'); $this->viewData['formAction'] = route_to('crearPresupuestoCliente');

View File

@ -200,7 +200,7 @@ window.routes_resumen = {
duplicarPresupuesto: "<?= route_to('duplicarPresupuesto') ?>", duplicarPresupuesto: "<?= route_to('duplicarPresupuesto') ?>",
} }
if(<?php echo $presupuestoEntity->estado_id?>==2){ <?php if ($presupuestoEntity->estado_id==2): ?>
previewEsquemaCubierta(true); previewEsquemaCubierta(true);
const previewTemplate = `<div class="dz-preview dz-file-preview"> const previewTemplate = `<div class="dz-preview dz-file-preview">
@ -312,5 +312,5 @@ if(<?php echo $presupuestoEntity->estado_id?>==2){
return false; return false;
}); });
} <?php endif; ?>
<?= $this->endSection() ?> <?= $this->endSection() ?>

View File

@ -18,170 +18,219 @@
<!-- Create Deal Wizard --> <!-- Create Deal Wizard -->
<div id="wizard-presupuesto-cliente" class="bs-stepper vertical mt-2 linear"> <div id="wizard-presupuesto-cliente" class="bs-stepper vertical mt-2 linear">
<div class="bs-stepper-header">
<?php if($presupuestoEntity->estado_id==1): ?> <?php if($presupuestoEntity->estado_id == 1) : ?>
<div class="step active" data-target="#tipo-libro">
<button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
<span class="bs-stepper-circle"><i class="ti ti-book ti-sm"></i></span>
<span class="bs-stepper-label">
<span class="bs-stepper-title">Tipo de libro</span>
<span class="bs-stepper-subtitle">Cosido, Fresado, ...</span>
</span>
</button>
</div>
<div class="line"></div>
<div class="step" data-target="#disenio-libro"> <div class="bs-stepper-header">
<button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
<span class="bs-stepper-circle"><i class="ti ti-book ti-sm"></i></span>
<span class="bs-stepper-label">
<span class="bs-stepper-title">Diseño del libro</span>
<span class="bs-stepper-subtitle">Detalles técnicos del libro</span>
</span>
</button>
</div>
<div class="line"></div>
<div class="step" data-target="#direcciones-libro"> <div class="step active" data-target="#tipo-libro" >
<button type="button" class="step-trigger" aria-selected="false" disabled="disabled"> <button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
<span class="bs-stepper-circle"><i class="ti ti-map-pins ti-sm"></i></span> <span class="bs-stepper-circle"><i class="ti ti-book ti-sm"></i></span>
<span class="bs-stepper-label"> <span class="bs-stepper-label">
<span class="bs-stepper-title">Direcciones</span> <span class="bs-stepper-title">Tipo de libro</span>
<span class="bs-stepper-subtitle">Dirección envío, facturación</span> <span class="bs-stepper-subtitle">Cosido, Fresado, ...</span>
</span> </span>
</button> </button>
</div> </div>
<div class="line"></div> <div class="line"></div>
<?php endif; ?>
<div class="step" data-target="#resumen-libro"> <div class="step" data-target="#disenio-libro" >
<button type="button" class="step-trigger" aria-selected="false" disabled="disabled"> <button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
<span class="bs-stepper-circle"><i class="ti ti-checkbox ti-sm"></i></span> <span class="bs-stepper-circle"><i class="ti ti-book ti-sm"></i></span>
<span class="bs-stepper-label"> <span class="bs-stepper-label">
<span class="bs-stepper-title">Resumen del presupuesto</span> <span class="bs-stepper-title">Diseño del libro</span>
</span> <span class="bs-stepper-subtitle">Detalles técnicos del libro</span>
</button> </span>
</div> </button>
</div>
<div class="line"></div>
<div id="errorGeneral" class="fv-plugins-message-container invalid-feedback" style="display: none;"> <div class="step" data-target="#direcciones-libro" >
<p>Se ha producido un error <br> <button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
al calcular el presupuesto. <br> <span class="bs-stepper-circle"><i class="ti ti-map-pins ti-sm"></i></span>
Póngase en contacto con el <br> <span class="bs-stepper-label">
administrador.</p> <span class="bs-stepper-title">Direcciones</span>
</div> <span class="bs-stepper-subtitle">Dirección envío, facturación</span>
</span>
</button>
</div>
<div class="line"></div>
<div id='divTiradasPrecio'> <div class="step" data-target="#resumen-libro">
<button type="button" class="step-trigger" aria-selected="false" disabled="disabled">
</div> <span class="bs-stepper-circle"><i class="ti ti-checkbox ti-sm"></i></span>
<span class="bs-stepper-label">
</div> <span class="bs-stepper-title">Resumen del presupuesto</span>
</span>
<div class="bs-stepper-content"> </button>
<form id="presupuesto-cliente-form" >
<!-- Tipo Libro -->
<?php if($presupuestoEntity->estado_id==1): ?>
<div id="tipo-libro" class="content active dstepper-block fv-plugins-bootstrap5 fv-plugins-framework">
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_tipoLibroItems") ?>
<div class="col-12 d-flex justify-content-between mt-4">
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Volver</span>
</button>
<button class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
</div>
</div>
</div> </div>
<!-- Diseño Libro --> <div id="errorGeneral" class="fv-plugins-message-container invalid-feedback" style="display: none;">
<div id="disenio-libro" class="content dstepper-block fv-plugins-bootstrap5 fv-plugins-framework"> <p>Se ha producido un error <br>
<div class="row g-3"> al calcular el presupuesto. <br>
Póngase en contacto con el <br>
<?= view("themes/vuexy/form/presupuestos/cliente/_disenioLibroItems") ?> administrador.</p>
<div class="col-12 d-flex justify-content-between mt-4">
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<button class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
</div>
</div>
</div> </div>
<!-- Direcciones --> <div id='divTiradasPrecio'>
<div id="direcciones-libro" class="content fv-plugins-bootstrap5 fv-plugins-framework">
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_direccionesItems") ?>
<div class="col-12 d-flex justify-content-between mt-4">
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<button id="toReview" class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
</div>
</div>
</div> </div>
<?php endif; ?>
<!-- Review & Complete --> </div>
<div id="resumen-libro" class="content fv-plugins-bootstrap5 fv-plugins-framework">
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_resumenItems") ?> <div class="bs-stepper-content">
<form id="presupuesto-cliente-form" onsubmit="return false">
</div>
<div class="col-12 d-flex justify-content-between mt-4"> <!-- Tipo Libro -->
<div class="col-6 d-flex flex-row"> <div id="tipo-libro" class="content active" dstepper-block fv-plugins-bootstrap5 fv-plugins-framework" >
<?php if ($presupuestoEntity->estado_id == 1) : ?>
<button class="btn btn-primary btn-prev waves-effect waves-light"> <div class="row g-3">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span> <?= view("themes/vuexy/form/presupuestos/cliente/_tipoLibroItems") ?>
</button>
<?php endif; ?> <div class="col-12 d-flex justify-content-between mt-4">
</div> <button class="btn btn-primary btn-prev waves-effect waves-light">
<div class="col-6 d-flex flex-row-reverse"> <i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<?php if ($presupuestoEntity->estado_id == 1) : ?> <span class="align-middle d-sm-inline-block d-none me-sm-1">Volver</span>
<button id="btnSave" class="btn btn-primary btn-submit waves-effect waves-light ml-2"> </button>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Guardar</span> <button class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i> <i class="ti ti-arrow-right ti-xs"></i>
</button> </button>
<button id="btnConfirm" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light ml-2"> </div>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Confirmar</span><i class="ti ti-check ti-xs"></i>
</button>
<?php else: ?>
<button id="btnBack" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Volver</span><i class="ti ti-check ti-xs"></i>
</button>
<?php endif; ?>
<button id="btnDuplicar" class="btn btn-primary btn-submit waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Duplicar</span>
<i class="ti ti-copy ti-xs"></i>
</button>
</div> </div>
</div> </div>
<!-- Diseño Libro -->
<div id="disenio-libro" class="content dstepper-block fv-plugins-bootstrap5 fv-plugins-framework" >
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_disenioLibroItems") ?>
<div class="col-12 d-flex justify-content-between mt-4">
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<button class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
</div>
</div>
</div>
<!-- Direcciones -->
<div id="direcciones-libro" class="content fv-plugins-bootstrap5 fv-plugins-framework" >
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_direccionesItems") ?>
<div class="col-12 d-flex justify-content-between mt-4">
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<button id="toReview" class="btn btn-primary btn-next waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
</div>
</div>
</div>
<!-- Review & Complete -->
<div id="resumen-libro" class="content fv-plugins-bootstrap5 fv-plugins-framework">
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_resumenItems") ?>
</div>
<div class="col-12 d-flex justify-content-between mt-4">
<div class="col-6 d-flex flex-row">
<?php if ($presupuestoEntity->estado_id == 1) : ?>
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<?php endif; ?>
</div>
<div class="col-6 d-flex flex-row-reverse">
<?php if ($presupuestoEntity->estado_id == 1) : ?>
<button id="btnSave" class="btn btn-primary btn-submit waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Guardar</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
<button id="btnConfirm" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Confirmar</span><i class="ti ti-check ti-xs"></i>
</button>
<?php else: ?>
<button id="btnBack" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Volver</span><i class="ti ti-check ti-xs"></i>
</button>
<?php endif; ?>
<button id="btnDuplicar" class="btn btn-primary btn-submit waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Duplicar</span>
<i class="ti ti-copy ti-xs"></i>
</button>
</div>
</div>
</div>
</form>
</div>
<?php else: ?>
<div class="row">
<div class="card">
<div class="card-body">
<form id="presupuesto-cliente-form" onsubmit="return false">
<div class="row g-3">
<?= view("themes/vuexy/form/presupuestos/cliente/_resumenItems") ?>
<div class="col-12 d-flex justify-content-between mt-4">
<div class="col-6 d-flex flex-row">
<?php if ($presupuestoEntity->estado_id == 1) : ?>
<button class="btn btn-primary btn-prev waves-effect waves-light">
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
</button>
<?php endif; ?>
</div>
<div class="col-6 d-flex flex-row-reverse">
<?php if ($presupuestoEntity->estado_id == 1) : ?>
<button id="btnSave" class="btn btn-primary btn-submit waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Guardar</span>
<i class="ti ti-arrow-right ti-xs"></i>
</button>
<button id="btnConfirm" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Confirmar</span><i class="ti ti-check ti-xs"></i>
</button>
<?php else: ?>
<button id="btnBack" class="btn btn-success btn-submit btn-next mx-2 waves-effect waves-light">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Volver</span><i class="ti ti-check ti-xs"></i>
</button>
<?php endif; ?>
<button id="btnDuplicar" class="btn btn-primary btn-submit waves-effect waves-light ml-2">
<span class="align-middle d-sm-inline-block d-none me-sm-1">Duplicar</span>
<i class="ti ti-copy ti-xs"></i>
</button>
</div>
</div>
</form>
</div>
</div> </div>
</form>
</div> </div>
</div>
<?php endif; ?>
</div><!--//.col --> </div><!--//.col -->
@ -199,35 +248,38 @@
window.datosPresupuesto = <?= json_encode($datosPresupuesto) ?>; window.datosPresupuesto = <?= json_encode($datosPresupuesto) ?>;
window.token_ajax= {<?= csrf_token() ?? "token" ?>: <?= csrf_token() ?>v}; window.token_ajax= {<?= csrf_token() ?? "token" ?>: <?= csrf_token() ?>v};
$('#clienteId').select2({ <?php if ($presupuestoEntity->estado_id == 1) : ?>
allowClear: false, $('#clienteId').select2({
ajax: { allowClear: false,
url: '<?= route_to("menuItemsOfClientes") ?>', ajax: {
type: 'post', url: '<?= route_to("menuItemsOfClientes") ?>',
dataType: 'json', type: 'post',
dataType: 'json',
data: function(params) { data: function(params) {
return { return {
id: 'id', id: 'id',
text: 'nombre', text: 'nombre',
searchTerm: params.term, searchTerm: params.term,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v <?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
}; };
}, },
delay: 60, delay: 60,
processResults: function(response) { processResults: function(response) {
yeniden(response.<?= csrf_token() ?>); yeniden(response.<?= csrf_token() ?>);
return { return {
results: response.menu results: response.menu
}; };
}, },
cache: true cache: true
} }
}); });
if(<?= $presupuestoEntity->estado_id ?>==1){
initDisenioLibro(); initDisenioLibro();
} <?php endif; ?>
<?= $this->endSection() ?> <?= $this->endSection() ?>
@ -258,7 +310,9 @@ if(<?= $presupuestoEntity->estado_id ?>==1){
<script src="<?= site_url('themes/vuexy/vendor/libs/two/two.js') ?>"></script> <script src="<?= site_url('themes/vuexy/vendor/libs/two/two.js') ?>"></script>
<script src="<?= site_url('js_loader/translate_js/Presupuestos') ?>"></script> <script src="<?= site_url('js_loader/translate_js/Presupuestos') ?>"></script>
<script src="<?= site_url('js_loader/presupuestoClienteResumen_js') ?>"></script> <script src="<?= site_url('js_loader/presupuestoClienteResumen_js') ?>"></script>
<script src="<?= site_url('js_loader/presupuestoCliente_js') ?>"></script> <?php if ($presupuestoEntity->estado_id == 1) : ?>
<script src="<?= site_url('js_loader/presupuestoCliente_js') ?>"></script>
<?php endif; ?>
<script src="<?= site_url('js_loader/presupuestoClienteTipoLibro_js') ?>"></script> <script src="<?= site_url('js_loader/presupuestoClienteTipoLibro_js') ?>"></script>
<script src="<?= site_url('js_loader/presupuestoClienteDisenioLibro_js') ?>"></script> <script src="<?= site_url('js_loader/presupuestoClienteDisenioLibro_js') ?>"></script>
<script src="<?= site_url('js_loader/presupuestoClienteDirecciones_js') ?>"></script> <script src="<?= site_url('js_loader/presupuestoClienteDirecciones_js') ?>"></script>