cargando papeles y gramaje en el comparador

This commit is contained in:
Jaime Jimenez
2023-09-20 21:45:22 +02:00
parent ba176c04c2
commit 96a2c7f985
12 changed files with 516 additions and 280 deletions

View File

@ -7,7 +7,7 @@ use App\Controllers\GoBaseResourceController;
use App\Models\Collection;
use App\Entities\Presupuestos\PresupuestoEntity;
use App\Models\Configuracion\PapelGenericoModel;
use App\Models\Presupuestos\PresupuestoModel;
class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
@ -135,6 +135,13 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$this->viewData['incReiList'] = array('incidencia'=>lang('Presupuestos.incidencia'), 'reimpresion'=>lang('Presupuestos.reimpresion'), 'sin_cargo'=>lang('Presupuestos.sinCargo'));
$this->viewData['paisList'] = $this->getPaisListItems();
$this->viewData['papelFormatoList'] = $this->getPapelFormatoListItems($presupuestoEntity->papel_formato_id ?? null);
$this->viewData['papelGenericoNegroList'] = $this->getPapelGenericoNegro();
$this->viewData['papelGenericoNegroHQList'] = $this->getPapelGenericoNegroHQ();
$this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor();
$this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ();
$this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta();
$this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta();
/*
@ -356,6 +363,14 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$this->viewData['paginasCubiertaList'] = $this->getPaginasCubiertaOptions();
$this->viewData['paginasPortadaList'] = $this->getPaginasPortadaOptions();
$this->viewData['papelGenericoNegroList'] = $this->getPapelGenericoNegro();
$this->viewData['papelGenericoNegroHQList'] = $this->getPapelGenericoNegroHQ();
$this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor();
$this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ();
$this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta();
$this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta();
$this->viewData['formAction'] = route_to('updatePresupuesto', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Presupuestos.moduleTitle') . ' ' . lang('Basic.global.edit3');
@ -455,17 +470,23 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
public function menuItems()
{
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();
$tipo = $reqData['tipo'] ?? null;
$datos = $reqData['datos'] ?? null;
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
$reqId = goSanitize($this->request->getPost('id'))[0];
$reqText = goSanitize($this->request->getPost('text'))[0];
$onlyActiveOnes = false;
$columns2select = [$reqId ?? 'id', $reqText ?? 'titulo'];
$onlyActiveOnes = false;
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
$nonItem = new \stdClass;
$nonItem->id = '';
$nonItem->text = '- ' . lang('Basic.global.None') . ' -';
array_unshift($menu, $nonItem);
if ($tipo == 'gramaje'){
// En este caso contiene el nombre del papel generico
$model = new PapelGenericoModel();
$menu = $model->getGramajeComparador($datos, $searchStr);
$nonItem = new \stdClass;
$nonItem->text = '- ' . lang('Basic.global.None') . ' -';
array_unshift($menu, $nonItem);
}
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
@ -511,6 +532,54 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
return $data;
}
protected function getPapelGenericoNegro()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('negro', false, false);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
protected function getPapelGenericoNegroHQ()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('negrohq', false, false);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
protected function getPapelGenericoColor()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('color', false, false);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
protected function getPapelGenericoColorHQ()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('colorhq', false, false);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
protected function getPapelGenericoCubierta()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('color', true, false);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
protected function getPapelGenericoSobreCubierta()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('color', false, true);
array_unshift($data, lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]));
return $data;
}
/*

View File

@ -2,7 +2,7 @@
namespace App\Controllers;
use App\Services\PresupuestoService;
use App\Models\Configuracion\PapelGenericoModel;
class Test extends BaseController
{
@ -15,8 +15,10 @@ class Test extends BaseController
public function index()
{
$text = PresupuestoService::example();
echo $text;
$model = new PapelGenericoModel();
echo '<pre>';
var_dump($model->getGramajeComparador('CARTULINA GRÁFICA ESTUCADA 1/C'));
echo '</pre>';
}
}

View File

@ -21,6 +21,10 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"estado_id" => 1,
"inc_rei" => null,
"causa_cancelacion" => null,
"retractilado" => false,
"retractilado5" => false,
"guardas" => false,
"faja_color" => false,
"recoger_en_taller" => false,
"ferro" => false,
"ferro_digital" => false,
@ -186,6 +190,10 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"catalogo_id" => "?int",
"estado_id" => "int",
"inc_rei" => "?int",
"retractilado" => "boolean",
"retractilado5" => "boolean",
"guardas" => "boolean",
"faja_color" => "boolean",
"recoger_en_taller" => "boolean",
"ferro" => "boolean",
"ferro_digital" => "boolean",

View File

@ -47,7 +47,7 @@ return [
'merma' => 'Weakening',
'mermaportada' => 'Cover weakening',
'tipoImpresion' => 'Printing type',
'papelesComparador' => 'Interior, cover and dust jacket papers',
'papelesComparadorCosidoTapaBlanda' => 'Interior and cover papers',
'posicionPagColor' => 'Color pages position',
'colorPageInstructions' => 'Enter the position of the color pages within the book. E.g., 3,5,7 or 4-10,20,155.',
'numeroPaginas' => 'Nº Pages',

View File

@ -47,7 +47,7 @@ return [
'merma' => 'Merma',
'mermaportada' => 'Merma portada',
'tipoImpresion' => 'Tipo de impresión',
'papelesComparador' => 'Papeles interior, cubierta y sobrecubierta',
'papelesComparadorCosidoTapaBlanda' => 'Papeles interior y cubierta',
'posicionPagColor' => 'Posición páginas a color',
'colorPageInstructions' => 'Introduzca la posición de las páginas a color dentro del libro. Ej: 3,5,7 ó 4-10,20,155',
'numeroPaginas' => 'Nº Páginas',

View File

@ -1,4 +1,5 @@
<?php
namespace App\Models\Configuracion;
class PapelGenericoModel extends \App\Models\GoBaseModel
@ -20,7 +21,7 @@ class PapelGenericoModel extends \App\Models\GoBaseModel
3 => "t1.show_in_client",
];
protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client","deleted_at","is_deleted"];
protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client", "deleted_at", "is_deleted"];
protected $returnType = "App\Entities\Configuracion\PapelGenerico";
protected $useTimestamps = true;
@ -79,15 +80,79 @@ class PapelGenericoModel extends \App\Models\GoBaseModel
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
}
public function getPapelForComparador($tipo, $is_cubierta = null, $is_sobrecubierta = null)
{
/*
1.-> Tipo impresion
2.-> Maquina
3.-> Papeles impresion asociados a esa maquina
4.-> papeles genericos que aparecen en esos papeles impresion
*/
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.nombre AS papel_generico"
)
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "left")
->join("lg_maquina_papel_impresion t3", "t3.papel_impresion_id = t2.id", "left")
->join("lg_maquinas t4", "t3.maquina_id = t4.id", "left")
->join("lg_maquinas_tarifas_impresion t5", "t5.maquina_id = t4.id", "left")
->where("t1.is_deleted", 0)
->where("t2.is_deleted", 0)
->where("t4.is_deleted", 0)
->where("t4.tipo", "impresion")
->where("t5.tipo", $tipo);
if(!is_null($is_cubierta)){
if($is_cubierta==true){
$builder->where("t2.cubierta", 1);
}
else if($is_sobrecubierta==true){
$builder->where("t2.sobrecubierta", 1);
}
}
return array_unique(array_column($builder->orderBy("t1.nombre", "asc")->get()->getResultArray(), 'papel_generico'));
}
public function getGramajeComparador(string $papel_generico_nombre="")
{
$builder = $this->db
->table($this->table . " t1")
->select(
"t2.gramaje AS text"
)
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "left")
->where("t1.is_deleted", 0)
->where("t2.is_deleted", 0)
->where("t1.nombre", $papel_generico_nombre);
$values = $builder->orderBy("t2.gramaje", "asc")->get()->getResultObject();
$id = 1;
foreach ($values as $value){
$value->id = $id;
$id++;
}
$values_array = array_map( function( $value ) {
return $value->text;
}, $values );
$unique_values = array_unique($values_array);
return array_values(array_intersect_key($values, $unique_values));
}
}

View File

@ -42,6 +42,10 @@ class PresupuestoModel extends \App\Models\GoBaseModel
"estado_id",
"inc_rei",
"causa_cancelacion",
"retractilado",
"retractilado5",
"guardas",
"faja_color",
"recoger_en_taller",
"ferro",
"ferro_digital",

View File

@ -4,6 +4,7 @@ namespace App\Services;
use CodeIgniter\Config\BaseService;
use App\Models\Configuracion\PapelGenericoModel;
class PresupuestoService extends BaseService
{
@ -20,8 +21,7 @@ class PresupuestoService extends BaseService
* @param mixed $dimensiones
* @return mixed
*/
public static function getPapelForMenu($tipo_impresion, $dimensiones){
return $data;
public static function test(){
}
}

View File

@ -14,18 +14,18 @@
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-3">
<label for="paginas" class="form-label">
<?=lang('Presupuestos.paginas') ?>*
<?= lang('Presupuestos.paginas') ?>*
</label>
<input type="number" id="paginas" name="paginas" maxLength="11" class="form-control" value="<?=old('paginas', $presupuestoEntity->paginas) ?>">
<input type="number" id="paginas" name="paginas" maxLength="11" class="form-control" value="<?= old('paginas', $presupuestoEntity->paginas) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-3">
<div class="mb-3">
<label for="tirada" class="form-label">
<?=lang('Presupuestos.tirada') ?>*
<?= lang('Presupuestos.tirada') ?>*
</label>
<input type="number" id="tirada" name="tirada" maxLength="11" class="form-control" value="<?=old('tirada', $presupuestoEntity->tirada) ?>">
<input type="number" id="tirada" name="tirada" maxLength="11" class="form-control" value="<?= old('tirada', $presupuestoEntity->tirada) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
@ -33,149 +33,194 @@
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<label id="label_papelFormatoId" for="papelFormatoId" class="form-label">
<?=lang('Presupuestos.papelFormatoId') ?>*
<?= lang('Presupuestos.papelFormatoId') ?>*
</label>
<select id="papelFormatoId" name="papel_formato_id" class="form-control select2bs2" style="width: 100%;" >
<select id="papelFormatoId" name="papel_formato_id" class="form-control select2bs2" style="width: 100%;">
<?php if ( isset($papelFormatoList) && is_array($papelFormatoList) && !empty($papelFormatoList) ) :
<?php if (isset($papelFormatoList) && is_array($papelFormatoList) && !empty($papelFormatoList)) :
foreach ($papelFormatoList as $formato) : ?>
<option value="<?=$formato->id ?>"<?=$formato->id==$presupuestoEntity->papel_formato_id ? ' selected':'' ?>>
<?=$formato->tamanio ?>
<option value="<?= $formato->id ?>" <?= $formato->id == $presupuestoEntity->papel_formato_id ? ' selected' : '' ?>>
<?= $formato->tamanio ?>
</option>
<?php endforeach;
<?php endforeach;
endif; ?>
</select>
<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) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
<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) ?>">
</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><!--//.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><!--//.mb-3 -->
</div><!--//.col -->
</div>
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="papelFormatoPersonalizado" name="papel_formato_personalizado" value="1" <?=$presupuestoEntity->papel_formato_personalizado== true ? 'checked' : ''; ?>>
<label class="form-check-label" for="papelFormatoPersonalizado"><?=lang('Presupuestos.papelFormatoPersonalizado') ?></label>
<input class="form-check-input" type="checkbox" id="papelFormatoPersonalizado" name="papel_formato_personalizado" value="1" <?= $presupuestoEntity->papel_formato_personalizado == true ? 'checked' : ''; ?>>
<label class="form-check-label" for="papelFormatoPersonalizado"><?= lang('Presupuestos.papelFormatoPersonalizado') ?></label>
</div>
</div><!--//.mb-3 -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-3">
<label for="merma" class="form-label">
<?=lang('Presupuestos.merma') ?>*
<?= lang('Presupuestos.merma') ?>*
</label>
<input type="number" id="merma" name="merma" maxLength="8" step="0.01" class="form-control" value="<?=old('merma', $presupuestoEntity->merma) ?>">
</div><!--//.mb-3 -->
<input type="number" id="merma" name="merma" maxLength="8" step="0.01" class="form-control" value="<?= old('merma', $presupuestoEntity->merma) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-3">
<label for="mermaportada" class="form-label">
<?=lang('Presupuestos.mermaportada') ?>*
<?= lang('Presupuestos.mermaportada') ?>*
</label>
<input type="number" id="mermaportada" name="merma_sobrecubierta" placeholder="6.00" maxLength="8" step="0.01" class="form-control" value="<?=old('merma_sobrecubierta', $presupuestoEntity->merma_sobrecubierta) ?>">
<input type="number" id="mermaportada" name="merma_sobrecubierta" placeholder="6.00" maxLength="8" step="0.01" class="form-control" value="<?= old('merma_sobrecubierta', $presupuestoEntity->merma_sobrecubierta) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
</div> <!--//.row -->
<!-- Fila 2 -->
<!----------------------------------------------------------------------------->
<div class="divider divider-dark text-start mb-1">
<div class="divider-text">
<h5><?= lang("Presupuestos.opcionesPresupuesto") ?></h5>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="retractilado" class="form-check-label">
<input type="checkbox" id="retractilado" name="retractilado" value="1" class="form-check-input" <?= $presupuestoEntity->retractilado == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.retractilado') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="retractilado5" class="form-check-label">
<input type="checkbox" id="retractilado5" name="retractilado_5" value="1" class="form-check-input" <?= $presupuestoEntity->retractilado5 == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.retractilado5') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="fajaColor" class="form-check-label">
<input type="checkbox" id="fajaColor" name="faja_color" value="1" class="form-check-input" <?= $presupuestoEntity->faja_color == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.fajaColor') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="prototipo" class="form-check-label">
<input type="checkbox" id="prototipo" name="prototipo" value="1" class="form-check-input" <?= $presupuestoEntity->prototipo == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.prototipo') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
<div class="mb-3">
</div><!--//.mb-3 -->
</div><!--//.col -->
</div>
<div class="row">
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="ferro" class="form-check-label">
<input type="checkbox" id="ferro" name="ferro" value="1" class="form-check-input" <?= $presupuestoEntity->ferro == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.ferro') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="ferroDigital" class="form-check-label">
<input type="checkbox" id="ferroDigital" name="ferro_digital" value="1" class="form-check-input" <?= $presupuestoEntity->ferro_digital == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.ferroDigital') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="marcapaginas" class="form-check-label">
<input type="checkbox" id="marcapaginas" name="marcapaginas" value="1" class="form-check-input" <?= $presupuestoEntity->marcapaginas == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.marcapaginas') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="recogerEnTaller" class="form-check-label">
<input type="checkbox" id="recogerEnTaller" name="recoger_en_taller" value="1" class="form-check-input" <?= $presupuestoEntity->recoger_en_taller == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.recogerEnTaller') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
</div>
<div class="row">
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="ferro" class="form-check-label">
<input type="checkbox" id="ferro" name="ferro" value="1" class="form-check-input"<?=$presupuestoEntity->ferro== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.ferro') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="ferroDigital" class="form-check-label">
<input type="checkbox" id="ferroDigital" name="ferro_digital" value="1" class="form-check-input"<?=$presupuestoEntity->ferro_digital== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.ferroDigital') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="prototipo" class="form-check-label">
<input type="checkbox" id="prototipo" name="prototipo" value="1" class="form-check-input"<?=$presupuestoEntity->prototipo== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.prototipo') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
<div class="mb-3">
</div><!--//.mb-3 -->
</div><!--//.col -->
</div> <!--//.row -->
<!-- Fila 4 -->
<div class="row">
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="imagenesBnInterior" class="form-check-label">
<input type="checkbox" id="imagenesBnInterior" name="imagenes_bn_interior" value="1" class="form-check-input"<?=$presupuestoEntity->imagenes_bn_interior== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.imagenesBnInterior') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="recogerEnTaller" class="form-check-label">
<input type="checkbox" id="recogerEnTaller" name="recoger_en_taller" value="1" class="form-check-input"<?=$presupuestoEntity->recoger_en_taller== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.recogerEnTaller') ?>
<input type="checkbox" id="imagenesBnInterior" name="imagenes_bn_interior" value="1" class="form-check-input" <?= $presupuestoEntity->imagenes_bn_interior == true ? 'checked' : ''; ?>>
<?= lang('Presupuestos.imagenesBnInterior') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-4 px-4">
<div class="mb-3">
<div class="form-check">
<label for="marcapaginas" class="form-check-label">
<input type="checkbox" id="marcapaginas" name="marcapaginas" value="1" class="form-check-input"<?=$presupuestoEntity->marcapaginas== true ? 'checked' : ''; ?>>
<?=lang('Presupuestos.marcapaginas') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
</div> <!--//.row -->
<!-- Este elemento se deja pero se oculta para que se actualice al enviar el form -->
<input type="checkbox" id="cosido" style="visibility: hidden;" name="cosido" value="1" class="form-check-input"<?='checked'; ?>>
<input type="checkbox" id="cosido" style="visibility: hidden;" name="cosido" value="1" class="form-check-input" <?= 'checked'; ?>>
</div> <!-- //.accordion-body -->
</div> <!-- //.accordion-collapse -->

View File

@ -18,7 +18,7 @@
<div class="col-md-12 col-lg-3 px-4 mt-1">
<div class="mb-3">
<select id="tipoImpresion" name="tipo_impresion" class="form-control select2bs2" style="width: 100%;">
<option value="negro" <?= isset($presupuestoEntity->comparador_json_data) ? ("negro" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
<option id="tipoImpresionNegro" value="negro" <?= isset($presupuestoEntity->comparador_json_data) ? ("negro" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
<?= lang('MaquinasTarifasImpresions.negro') ?>
</option>
<option value="negrohq" <?= isset($presupuestoEntity->comparador_json_data) ? ("negrohq" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
@ -27,9 +27,6 @@
<option value="color" <?= isset($presupuestoEntity->comparador_json_data) ? ("color" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
<?= lang('MaquinasTarifasImpresions.color') ?>
</option>
<option value="bicolor" <?= isset($presupuestoEntity->comparador_json_data) ? ("bicolor" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
<?= lang('MaquinasTarifasImpresions.bicolor') ?>
</option>
<option value="colorhq" <?= isset($presupuestoEntity->comparador_json_data) ? ("colorhq" == $presupuestoEntity->comparador_json_data->tipo_impresion ? ' selected' : '') : '' ?>>
<?= lang('MaquinasTarifasImpresions.colorhq') ?>
</option>
@ -43,7 +40,7 @@
<div class="divider divider-dark text-start mb-1">
<div class="divider-text">
<h5><?= lang("Presupuestos.papelesComparador") ?></h5>
<h5><?= lang("Presupuestos.papelesComparadorCosidoTapaBlanda") ?></h5>
</div>
</div>
@ -76,10 +73,45 @@
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelNegro" name="comp_papel_negro" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoNegroList) && is_array($papelGenericoNegroList) && !empty($papelGenericoNegroList)) :
foreach ($papelGenericoNegroList as $k => $v) : ?>
<option value="<?= $k ?>" /*<?= $k == $presupuestoEntity->tipo_impresion_id ? ' selected' : '' ?>* />
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeNegro" name="comp_gramaje_negro" class="form-control select2bs2" style="width: 100%;">
<select id="compGramajeNegro" name="comp_gramaje_negro" class="form-control select2bs2" style="width: 100%;">
</select>
</div>
<div>
<hr class="my-1">
</div>
</div>
<div class="row mt-0 comp-negrohq-selected">
<div class="col-md-12 col-lg-2 px-4">
<p><?= lang('MaquinasTarifasImpresions.negrohq') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasNegrohq" name="comp_paginas_negrohq" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->negro) ? (old(0, $presupuestoEntity->comparador_json_data->negro->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelNegrohq" name="comp_papel_negrohq" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoNegroHQList) && is_array($papelGenericoNegroHQList) && !empty($papelGenericoNegroHQList)) :
foreach ($papelGenericoNegroHQList as $k => $v) : ?>
<option value="<?= $k ?>" /*<?= $k == $presupuestoEntity->tipo_impresion_id ? ' selected' : '' ?>* />
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeNegrohq" name="comp_gramaje_negrohq" class="form-control select2bs2" disabled style="width: 100%;">
</select>
</div>
<div>
@ -97,10 +129,17 @@
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelColor" name="comp_papel_color" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoColorList) && is_array($papelGenericoColorList) && !empty($papelGenericoColorList)) :
foreach ($papelGenericoColorList as $k => $v) : ?>
<option value="<?= $k ?>" /*<?= $k == $presupuestoEntity->tipo_impresion_id ? ' selected' : '' ?>* />
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeColor" name="comp_gramaje_color" class="form-control select2bs2" style="width: 100%;">
<select id="compGramajeColor" name="comp_gramaje_color" class="form-control select2bs2" disabled style="width: 100%;">
</select>
</div>
<div>
@ -109,19 +148,26 @@
</div>
<div class="row comp-bicolor-selected">
<div class="row comp-colorhq-selected">
<div class="col-md-12 col-lg-2 px-4">
<p><?= lang('MaquinasTarifasImpresions.bicolor') ?></p>
<p><?= lang('MaquinasTarifasImpresions.colorhq') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasBicolor" name="comp_paginas_bicolor" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->bicolor) ? (old(0, $presupuestoEntity->comparador_json_data->bicolor->paginas)) : '0' ?>">
<input type="number" id="compPaginasColorhq" name="comp_paginas_colorhq" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->color) ? (old(0, $presupuestoEntity->comparador_json_data->color->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelBicolor" name="comp_papel_bicolor" class="form-control select2bs2" style="width: 100%;">
<select id="compPapelColorhq" name="comp_papel_colorhq" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoColorHQList) && is_array($papelGenericoColorHQList) && !empty($papelGenericoColorHQList)) :
foreach ($papelGenericoColorHQList as $k => $v) : ?>
<option value="<?= $k ?>" /*<?= $k == $presupuestoEntity->tipo_impresion_id ? ' selected' : '' ?>* />
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeBicolor" name="comp_gramaje_bicolor" class="form-control select2bs2" style="width: 100%;">
<select id="compGramajeColorhq" name="comp_gramaje_colorhq" class="form-control select2bs2" disabled style="width: 100%;">
</select>
</div>
<div>
@ -129,6 +175,7 @@
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-2 px-4">
<p><?= lang('PapelImpresion.cubierta') ?></p>
@ -138,10 +185,17 @@
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelCubierta" name="comp_papel_cubierta" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoSobrecubiertaList) && is_array($papelGenericoSobrecubiertaList) && !empty($papelGenericoSobrecubiertaList)) :
foreach ($papelGenericoSobrecubiertaList as $k => $v) : ?>
<option value="<?= $k ?>" /*<?= $k == $presupuestoEntity->tipo_impresion_id ? ' selected' : '' ?>* />
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeCubierta" name="comp_gramaje_cubierta" class="form-control select2bs2" style="width: 100%;">
<select id="compGramajeCubierta" name="comp_gramaje_cubierta" class="form-control select2bs2" disabled style="width: 100%;">
</select>
</div>
<div>
@ -149,25 +203,6 @@
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-2 px-4">
<p><?= lang('PapelImpresion.sobrecubierta') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasSobrecubierta" name="comp_paginas_sobrecubierta" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->sobrecubierta) ? (old(0, $presupuestoEntity->comparador_json_data->sobrecubierta->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelSobrecubierta" name="comp_papel_sobrecubierta" class="form-control select2bs2" style="width: 100%;">
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeSobrecubierta" name="comp_gramaje_sobrecubierta" class="form-control select2bs2" style="width: 100%;">
</select>
</div>
</div>
<!----------------------------------------------------------------------------->
<div class="divider divider-dark text-start mb-1 comp-color-selected">
@ -199,111 +234,8 @@
</div>
</div><!--//.row -->
<!----------------------------------------------------------------------------->
<div class="divider divider-dark text-start mb-1">
<div class="divider-text">
<h5><?= lang("Presupuestos.opcionesPresupuesto") ?></h5>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compRetractilado" class="form-check-label">
<input type="checkbox" id="compRetractilado" name="comp_retractilado" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->retractilado) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->retractilado == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.retractilado') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compRetractilado5" class="form-check-label">
<input type="checkbox" id="compRetractilado5" name="comp_retractilado_5" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->retractilado_5) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->retractilado_5 == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.retractilado5') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compGuardas" class="form-check-label">
<input type="checkbox" id="compGuardas" name="comp_guardas" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->guardas) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->guardas == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.guardas') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compFajaColor" class="form-check-label">
<input type="checkbox" id="compFajaColor" name="comp_faja_color" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->faja_color) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->faja_color == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.fajaColor') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
</div>
<div class="row">
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compPrototipo" class="form-check-label">
<input type="checkbox" id="compPrototipo" name="comp_prototipo" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->prototipo) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->prototipo == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.prototipo') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compFerro" class="form-check-label">
<input type="checkbox" id="compFerro" name="comp_ferro" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->ferro) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->ferro == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.ferro') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compFerroDigital" class="form-check-label">
<input type="checkbox" id="compFerroDigital" name="comp_ferro_digital" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->ferro_digital) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->ferro_digital == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.ferroDigital') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<div class="form-check">
<label for="compMarcapaginas" class="form-check-label">
<input type="checkbox" id="compMarcapaginas" name="comp_marcapaginas" value="1" class="form-check-input" <?= isset($presupuestoEntity->comparador_json_data->opciones_cliente->marcapaginas) ? ($presupuestoEntity->comparador_json_data->opciones_cliente->marcapaginas == true ? ' checked' : '') : '' ?>">
<?= lang('Presupuestos.marcapaginas') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
</div>
<div class="accordion mt-3" id="accordionCompInteriorPlana">
<div class="card accordion-item active">
<h2 class="accordion-header" id="headingOne">

View File

@ -17,6 +17,23 @@ $('#compRetractilado5').on("change", function () {
checkRetractiladoComparador(this);
});
$('#imagenesBnInterior').on("change", function () {
var e = document.getElementById('tipoImpresion');
var optionToHide = e.querySelector("option[value='negro']");
if (document.getElementById('imagenesBnInterior').checked) {
optionToHide.setAttribute('disabled', 'disabled')
if (e.value == 'negro') {
e.value = 'negrohq';
}
}
else {
optionToHide.removeAttribute('disabled');
}
$('#tipoImpresion').select2();
});
$('#compPosPaginasColor').on("keyup", function () {
computarPaginasColor(this.value);
});
@ -28,6 +45,10 @@ $('.accordion-button').on('click', function (e) {
$.fn.dataTable.tables({ visible: true, api: true }).columns.adjust();
});
/*******************************
* Metodos
*******************************/
@ -80,39 +101,66 @@ function updatePapelesComparador() {
var e = document.getElementById("tipoImpresion");
elements_negro = document.getElementsByClassName('comp-negro-selected');
elements_negrohq = document.getElementsByClassName('comp-negrohq-selected');
elements_color = document.getElementsByClassName('comp-color-selected');
elements_bicolor = document.getElementsByClassName('comp-bicolor-selected');
elements_colorhq = document.getElementsByClassName('comp-colorhq-selected');
switch (e.value) {
case "negro":
Array.from(elements_color).forEach(element => {
element.style.display = "none";
});
Array.from(elements_negro).forEach(element => {
element.style.display = "flex";
});
Array.from(elements_negrohq).forEach(element => {
element.style.display = "none";
});
Array.from(elements_colorhq).forEach(element => {
element.style.display = "none";
});
break;
case "negrohq":
Array.from(elements_color).forEach(element => {
element.style.display = "none";
});
Array.from(elements_bicolor).forEach(element => {
Array.from(elements_negro).forEach(element => {
element.style.display = "none";
});
Array.from(elements_negro).forEach(element => {
Array.from(elements_negrohq).forEach(element => {
element.style.display = "flex";
});
break;
case "color":
case "colorhq":
Array.from(elements_negro).forEach(element => {
element.style.display = "flex";
});
Array.from(elements_color).forEach(element => {
element.style.display = "flex";
Array.from(elements_colorhq).forEach(element => {
element.style.display = "none";
});
break;
case "bicolor":
case "color":
Array.from(elements_negro).forEach(element => {
element.style.display = "flex";
});
Array.from(elements_negrohq).forEach(element => {
element.style.display = "none";
});
Array.from(elements_color).forEach(element => {
element.style.display = "flex";
});
Array.from(elements_colorhq).forEach(element => {
element.style.display = "none";
});
break;
case "colorhq":
Array.from(elements_negro).forEach(element => {
element.style.display = "none";
});
Array.from(elements_negrohq).forEach(element => {
element.style.display = "flex";
});
Array.from(elements_color).forEach(element => {
element.style.display = "none";
});
Array.from(elements_bicolor).forEach(element => {
Array.from(elements_colorhq).forEach(element => {
element.style.display = "flex";
});
break;

View File

@ -84,11 +84,15 @@
allowClear: false,
});
$('#compGramajeNegro').select2({
$('#compPapelNegrohq').select2({
allowClear: false,
});
$('#compPapelColor').select2({
allowClear: false,
});
$('#compPapelColor').select2({
$('#compPapelColorhq').select2({
allowClear: false,
});
@ -208,6 +212,65 @@
});
$('#compPapelNegro').on('change', function (e){
$('#compGramajeNegro').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelNegro').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
});
$('#compPapelNegrohq').on('change', function (e){
$('#compGramajeNegrohq').prop('disabled', false);
$('#compGramajeNegrohq').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelNegrohq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
});
<?= $this->endSection() ?>