mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'main' into feat/view-maquinista
This commit is contained in:
@ -0,0 +1,146 @@
|
||||
<!-- File: app/Views/catalogo_configuracion_libro.php -->
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionConfiguracionLibro">
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingConfiguracionLibro">
|
||||
<button class="accordion-button" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseConfiguracionLibro" aria-expanded="true"
|
||||
aria-controls="collapseConfiguracionLibro">
|
||||
<h5 class="mb-0"><?= lang('Catalogo.configuracionLibro') ?: 'Configuración del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseConfiguracionLibro" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#accordionConfiguracionLibro">
|
||||
<div class="accordion-body">
|
||||
|
||||
<?php
|
||||
// 1) TIPO DE IMPRESIÓN + ENCUADERNACIÓN
|
||||
$tipos = ['negro', 'negrohq', 'color', 'colorhq'];
|
||||
?>
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang('Presupuestos.tipoImpresion') ?></h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row px-4 mt-1">
|
||||
<div class="col-lg-3 col-md-12">
|
||||
<select id="tipo_impresion" name="tipo_impresion" class="form-control select2bs2 warning-change"
|
||||
style="width:100%" data-placeholder="<?= lang('Catalogo.seleccionarTipoImpresion') ?>">
|
||||
<option></option>
|
||||
<?php foreach ($tipos as $t): ?>
|
||||
<option value="<?= $t ?>" <?= $catalogoLibrosEntity->tipo_impresion === $t ? 'selected' : '' ?>>
|
||||
<?= lang("MaquinasTarifasImpresions.$t") ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-12">
|
||||
<select id="encuadernacion_id" name="encuadernacion_id"
|
||||
class="form-control select2bs2 warning-change" style="width:100%">
|
||||
<option value="<?= $catalogoLibrosEntity->encuadernacion_id ?>" selected>
|
||||
<?= esc($catalogoLibrosEntity->encuadernacionName) ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// 2) COLUMNAS Y ETIQUETAS COMPARTIDAS
|
||||
$cols = [2, 2, 2, 2, 2, 2];
|
||||
$labels = ['', 'numeroPaginas', 'papel', 'gramaje', 'solapas', 'acabados'];
|
||||
|
||||
// Función única para renderizar cualquier fila, con clase opcional
|
||||
$renderRow = function (array $cellsHtml, string $rowClass = '') use ($cols) {
|
||||
$classAttr = $rowClass ? " {$rowClass}-line" : '';
|
||||
echo "<div class=\"row{$classAttr} mb-0\">";
|
||||
foreach ($cellsHtml as $i => $cell) {
|
||||
$w = $cols[$i] ?? 2;
|
||||
echo "<div class=\"col-lg-{$w} col-md-12 px-4 mb-0\">{$cell}</div>";
|
||||
}
|
||||
echo '<div><hr class="my-1"></div></div>';
|
||||
};
|
||||
?>
|
||||
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang('Presupuestos.papelesComparadorPresupuestoAdmin') ?></h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 2a) Encabezado -->
|
||||
<?php
|
||||
$hdr = [];
|
||||
foreach ($labels as $lbl) {
|
||||
$hdr[] = '<p class="mb-0">' . ($lbl ? lang("Presupuestos.$lbl") : '') . '</p>';
|
||||
}
|
||||
echo '<div class="row mb-1">';
|
||||
foreach ($hdr as $i => $html) {
|
||||
echo '<div class="col-lg-' . $cols[$i] . ' col-md-12 px-4 mb-0">' . $html . '</div>';
|
||||
}
|
||||
echo '<div><hr class="my-1"><hr class="my-1"></div></div>';
|
||||
?>
|
||||
|
||||
<!-- 3) Filas dinámicas: negro y color -->
|
||||
<?php foreach (['negro', 'negro_pod', 'color', 'color_pod'] as $tipo):
|
||||
$pag = old("{$tipo}_paginas", $catalogoLibrosEntity->{"{$tipo}_paginas"});
|
||||
$papId = $catalogoLibrosEntity->{"{$tipo}_papel_id"};
|
||||
$papNm = $catalogoLibrosEntity->{"{$tipo}PapelName"};
|
||||
$gram = $catalogoLibrosEntity->{"{$tipo}_gramaje"};
|
||||
|
||||
$cells = [
|
||||
'<p>' . lang("MaquinasTarifasImpresions.$tipo") . '</p>',
|
||||
"<input type=\"text\" id=\"{$tipo}_paginas\" name=\"{$tipo}_paginas\" placeholder=\"0\" maxlength=\"5\" class=\"form-control {$tipo}_items\" value=\"" . esc($pag) . "\">",
|
||||
"<select id=\"{$tipo}_papel_id\" name=\"{$tipo}_papel_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\">"
|
||||
. ($papNm ? "<option value=\"" . esc($papId) . "\" selected>" . esc($papNm) . "</option>" : "")
|
||||
. "</select>",
|
||||
"<select id=\"{$tipo}_gramaje\" name=\"{$tipo}_gramaje\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\">"
|
||||
. "<option value=\"" . esc($gram) . "\" selected>" . esc($gram) . "</option></select>",
|
||||
'', // solapas
|
||||
'' // acabados
|
||||
];
|
||||
$renderRow($cells, $tipo);
|
||||
endforeach; ?>
|
||||
|
||||
<!-- 4) Cubierta y Sobrecubierta -->
|
||||
<?php
|
||||
$especiales = [
|
||||
'cubierta' => ['faces' => [2 => 'unaCara', 4 => 'dosCaras'], 'disable' => false],
|
||||
'cubierta_pod' => ['faces' => [2 => 'unaCara', 4 => 'dosCaras'], 'disable' => false],
|
||||
'sobrecubierta' => ['faces' => [0 => 'no', 1 => 'si'], 'disable' => in_array($catalogoLibrosEntity->tipo_impresion_id, [5, 6, 7, 8, 21])],
|
||||
'sobrecubierta_pod' => ['faces' => [0 => 'no', 1 => 'si'], 'disable' => in_array($catalogoLibrosEntity->tipo_impresion_id, [5, 6, 7, 8, 21])]
|
||||
];
|
||||
foreach ($especiales as $tipo => $cfg):
|
||||
$pag = $catalogoLibrosEntity->{"{$tipo}_paginas"};
|
||||
$papId = $catalogoLibrosEntity->{"{$tipo}_papel_id"};
|
||||
$papNm = $catalogoLibrosEntity->{"{$tipo}PapelName"};
|
||||
$gram = $catalogoLibrosEntity->{"{$tipo}_gramaje"};
|
||||
$sol = old("{$tipo}_solapas_ancho", $catalogoLibrosEntity->{"{$tipo}_ancho_solapas"});
|
||||
$acId = $catalogoLibrosEntity->{"{$tipo}_acabado_id"};
|
||||
$acNm = $catalogoLibrosEntity->{"{$tipo}AcabadoName"};
|
||||
|
||||
$optPag = '';
|
||||
foreach ($cfg['faces'] as $v => $lbl) {
|
||||
$sel = $pag == $v ? ' selected' : '';
|
||||
$optPag .= "<option value=\"$v\"$sel>" . lang("Presupuestos.$lbl") . "</option>";
|
||||
}
|
||||
|
||||
$cells = [
|
||||
'<p>' . lang("PapelImpresion.$tipo") . '</p>',
|
||||
"<select id=\"{$tipo}_paginas\" name=\"{$tipo}_paginas\" class=\"form-control select2bs2\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">{$optPag}</select>",
|
||||
"<select id=\"{$tipo}_papel_id\" name=\"{$tipo}_papel_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. ($papNm ? "<option value=\"" . esc($papId) . "\" selected>" . esc($papNm) . "</option>" : "")
|
||||
. "</select>",
|
||||
"<select id=\"{$tipo}_gramaje\" name=\"{$tipo}_gramaje\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. "<option value=\"" . esc($gram) . "\" selected>" . esc($gram) . "</option></select>",
|
||||
"<input type=\"text\" id=\"{$tipo}_ancho_solapas\" name=\"{$tipo}_ancho_solapas\" placeholder=\"0\" maxlength=\"5\" class=\"form-control {$tipo}_items\" value=\"" . esc($sol) . "\"" . ($cfg['disable'] ? ' disabled' : '') . ">",
|
||||
"<select id=\"{$tipo}_acabado_id\" name=\"{$tipo}_acabado_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. "<option value=\"" . esc($acId) . "\" selected>" . esc($acNm) . "</option></select>",
|
||||
];
|
||||
$renderRow($cells, $tipo);
|
||||
endforeach;
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,127 @@
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionLibro">
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingLibroDatos">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseLibroDatos" aria-expanded="true" aria-controls="collapseLibroDatos">
|
||||
<h5 class="mb-0"><?= lang("Catalogo.datosGenerales") ?? 'Datos generales del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseLibroDatos" class="accordion-collapse collapse show" data-bs-parent="#accordionLibro">
|
||||
<div class="accordion-body">
|
||||
|
||||
<div class="row">
|
||||
<!-- COLUMNA IZQUIERDA: Imagen -->
|
||||
<div class="col-md-12 col-lg-2 px-4 d-flex flex-column justify-content-center align-items-center"
|
||||
style="min-height: 100%;">
|
||||
<div class="mb-3 text-center w-100">
|
||||
<?php if (!empty($catalogoLibrosEntity->cubierta_url)): ?>
|
||||
<img src="<?= esc($catalogoLibrosEntity->cubierta_url) ?>" class="img-fluid mb-2"
|
||||
alt="Portada">
|
||||
<?php else: ?>
|
||||
<img src="https://static.cegal.es/imagenes/marcadas/9788415/978841f45711.gif" class="img-fluid mb-2"
|
||||
alt="Sin portada">
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- COLUMNA DERECHA: Datos -->
|
||||
<div class="col-md-12 col-lg-10 px-4">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="cliente_id" class="form-label">Cliente *</label>
|
||||
<select id="cliente_id" name="cliente_id" class="form-select select2bs5">
|
||||
<option value="<?= $catalogoLibrosEntity->cliente_id ?>" selected>
|
||||
<?= $catalogoLibrosEntity->clienteName ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8 mb-3">
|
||||
<label for="titulo" class="form-label">Título *</label>
|
||||
<input type="text" id="titulo" name="titulo" class="form-control"
|
||||
value="<?= old('titulo', $catalogoLibrosEntity->titulo) ?>" required
|
||||
maxlength="300">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="autor" class="form-label">Autor</label>
|
||||
<input type="text" id="autor" name="autor" class="form-control"
|
||||
value="<?= old('autor', $catalogoLibrosEntity->autor) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="coleccion" class="form-label">Colección</label>
|
||||
<input type="text" id="coleccion" name="coleccion" class="form-control"
|
||||
value="<?= old('coleccion', $catalogoLibrosEntity->coleccion) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="editorial" class="form-label">Editorial</label>
|
||||
<input type="text" id="editorial" name="editorial" class="form-control"
|
||||
value="<?= old('editorial', $catalogoLibrosEntity->editorial) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="sello" class="form-label">Sello</label>
|
||||
<input type="text" id="sello" name="sello" class="form-control"
|
||||
value="<?= old('sello', $catalogoLibrosEntity->sello) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="isk" class="form-label">Identificador ISK</label>
|
||||
<input type="text" id="isk" name="isk" class="form-control" readonly
|
||||
value="<?= old('isk', $catalogoLibrosEntity->isk) ?>" maxlength="64"
|
||||
style="background: #E8E8E8;">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="isbn" class="form-label">ISBN *</label>
|
||||
<input type="text" id="isbn" name="isbn" class="form-control"
|
||||
value="<?= old('isbn', $catalogoLibrosEntity->isbn) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="num_edic" class="form-label">Edición</label>
|
||||
<input type="number" id="num_edic" name="num_edic" class="form-control"
|
||||
value="<?= old('num_edic', $catalogoLibrosEntity->num_edic ?? 1) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ean" class="form-label">EAN</label>
|
||||
<input type="text" id="ean" name="ean" class="form-control" readonly
|
||||
style="background: #E8E8E8;" value="<?= old('ean', $catalogoLibrosEntity->ean) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ubicacion" class="form-label">Ubicación</label>
|
||||
<input type="text" id="ubicacion" name="ubicacion" class="form-control"
|
||||
value="<?= old('ubicacion', $catalogoLibrosEntity->ubicacion) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ancho" class="form-label">Ancho *</label>
|
||||
<input type="number" step="0.01" id="ancho" name="ancho" class="form-control"
|
||||
value="<?= old('ancho', $catalogoLibrosEntity->ancho) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="alto" class="form-label">Alto *</label>
|
||||
<input type="number" step="0.01" id="alto" name="alto" class="form-control"
|
||||
value="<?= old('alto', $catalogoLibrosEntity->alto) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="paginas" class="form-label">Nº Páginas *</label>
|
||||
<input type="number" id="paginas" name="paginas" class="form-control"
|
||||
value="<?= old('paginas', $catalogoLibrosEntity->paginas) ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- //.row -->
|
||||
|
||||
</div> <!-- //.accordion-body -->
|
||||
</div> <!-- //.collapse -->
|
||||
</div> <!-- //.accordion-item -->
|
||||
</div> <!-- //.accordion -->
|
||||
@ -0,0 +1,99 @@
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionLibroOtros">
|
||||
<div class="card accordion-item">
|
||||
<h2 class="accordion-header" id="headingOtrosDatos">
|
||||
<button type="button" class="accordion-button collapsed" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOtrosDatos" aria-expanded="false" aria-controls="collapseOtrosDatos">
|
||||
<h5 class="mb-0"><?= lang("Catalogo.otrosDatosLibro") ?? 'Otros datos del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseOtrosDatos" class="accordion-collapse collapse" data-bs-parent="#accordionLibroOtros">
|
||||
<div class="accordion-body">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="peso" class="form-label">Peso</label>
|
||||
<input type="number" step="0.01" id="peso" name="peso" class="form-control"
|
||||
value="<?= old('peso', $catalogoLibrosEntity->peso) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="autor_entidad" class="form-label">Autor entidad</label>
|
||||
<input type="text" id="autor_entidad" name="autor_entidad" class="form-control"
|
||||
value="<?= old('autor_entidad', $catalogoLibrosEntity->autor_entidad) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="traductor" class="form-label">Traductor</label>
|
||||
<input type="text" id="traductor" name="traductor" class="form-control"
|
||||
value="<?= old('traductor', $catalogoLibrosEntity->traductor) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="ilustrador" class="form-label">Ilustrador</label>
|
||||
<input type="text" id="ilustrador" name="ilustrador" class="form-control"
|
||||
value="<?= old('ilustrador', $catalogoLibrosEntity->ilustrador) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="idioma" class="form-label">Idioma</label>
|
||||
<input type="text" id="idioma" name="idioma" class="form-control"
|
||||
value="<?= old('idioma', $catalogoLibrosEntity->idioma ?? 'spa') ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_edic" class="form-label">Nº Edición</label>
|
||||
<input type="number" id="num_edic" name="num_edic" class="form-control"
|
||||
value="<?= old('num_edic', $catalogoLibrosEntity->num_edic ?? 1) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="fecha_disponibilidad" class="form-label">Fecha Disponibilidad</label>
|
||||
<input type="date" id="fecha_disponibilidad" name="fecha_disponibilidad" class="form-control"
|
||||
value="<?= old('fecha_disponibilidad', $catalogoLibrosEntity->fecha_disponibilidad?->format('Y-m-d')) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="fecha_public" class="form-label">Fecha Publicación</label>
|
||||
<input type="date" id="fecha_public" name="fecha_public" class="form-control"
|
||||
value="<?= old('fecha_public', $catalogoLibrosEntity->fecha_public?->format('Y-m-d')) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_fotos" class="form-label">Nº Fotos</label>
|
||||
<input type="number" id="num_fotos" name="num_fotos" class="form-control"
|
||||
value="<?= old('num_fotos', $catalogoLibrosEntity->num_fotos ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr" class="form-label">Nº Ilustraciones</label>
|
||||
<input type="number" id="num_ilustr" name="num_ilustr" class="form-control"
|
||||
value="<?= old('num_ilustr', $catalogoLibrosEntity->num_ilustr ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr_color" class="form-label">Nº Ilustraciones Color</label>
|
||||
<input type="number" id="num_ilustr_color" name="num_ilustr_color" class="form-control"
|
||||
value="<?= old('num_ilustr_color', $catalogoLibrosEntity->num_ilustr_color ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr_bn" class="form-label">Nº Ilustraciones B/N</label>
|
||||
<input type="number" id="num_ilustr_bn" name="num_ilustr_bn" class="form-control"
|
||||
value="<?= old('num_ilustr_bn', $catalogoLibrosEntity->num_ilustr_bn ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="resumen" class="form-label">Resumen</label>
|
||||
<textarea id="resumen" name="resumen" rows="4" class="form-control"><?= old('resumen', $catalogoLibrosEntity->resumen) ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="resumen_breve" class="form-label">Resumen breve</label>
|
||||
<textarea id="resumen_breve" name="resumen_breve" rows="4" class="form-control"><?= old('resumen_breve', $catalogoLibrosEntity->resumen_breve) ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,20 @@
|
||||
<?php if (!empty($catalogoLibrosEntity->user_created_id)): ?>
|
||||
<div
|
||||
class="container-fluid d-flex flex-md-row flex-column justify-content-between align-items-md-center gap-1 container-p-x py-3">
|
||||
<div class="col-md-6">
|
||||
<p>
|
||||
<strong><?= lang("Catalogo.created_by_at") ?></strong>
|
||||
<span id="created_by"><?= $catalogoLibrosEntity->createdUser ?></span>,
|
||||
<span id="created_at"><?= $catalogoLibrosEntity->created_at ?></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<p>
|
||||
<strong><?= lang("Catalogo.updated_by_at") ?></strong>
|
||||
<span id="updated_by"><?= $catalogoLibrosEntity->updatedUser ?></span>,
|
||||
<span id="updated_at_footer"><?= $catalogoLibrosEntity->updated_at ?></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
@ -0,0 +1,48 @@
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/sweetalert") ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section("content") ?>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
|
||||
</div><!--//.card-header -->
|
||||
|
||||
<form id="catalogoLibroForm" class="card-body" method="post" action="<?= $formAction ?>">
|
||||
<?= csrf_field() ?>
|
||||
<!-- card-body -->
|
||||
<div class="card-body">
|
||||
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
|
||||
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_datosGeneralesFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_otrosDatosFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_configuracionLibroFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_trackingFormItems") ?>
|
||||
</div>
|
||||
<!-- /.card-body -->
|
||||
<!-- card-footer -->
|
||||
<div class="pt-4">
|
||||
<?php if (auth()->user()->can('catalogo.edit')): ?>
|
||||
<input type="submit" class="btn btn-primary float-start me-sm-3 me-1" name="save"
|
||||
value="<?= lang("Basic.global.Save") ?>" />
|
||||
<?php endif; ?>
|
||||
<?= anchor(route_to("catalogoLibrosList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
|
||||
</div>
|
||||
<!-- /.card-footer -->
|
||||
</form>
|
||||
</div><!-- //.card -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.row -->
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/safekat.css') ?>">
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section("additionalExternalJs") ?>
|
||||
<script type="module" src="<?= site_url('assets/js/safekat/pages/catalogo/catalogo.js?' . 'token' . '=' . (csrf_token() ?? "token")) ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -0,0 +1,80 @@
|
||||
<?= $this->include('themes/_commonPartialsBs/datatables') ?>
|
||||
<?= $this->include('themes/_commonPartialsBs/sweetalert') ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section('content'); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?= lang('Catalogo.listingPage') ?></h3>
|
||||
<?= anchor(route_to('catalogoLibrosAdd'), lang('Basic.global.addNew') . ' ' . lang('Catalogo.libro'), ['class' => 'btn btn-primary float-end']); ?>
|
||||
</div><!--//.card-header -->
|
||||
<div class="card-body">
|
||||
<?= view('themes/_commonPartialsBs/_alertBoxes'); ?>
|
||||
|
||||
<table id="tableOfCatalogoLibros" class="table table-striped table-hover" style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= lang('Catalogo.portada') ?></th>
|
||||
<th><?= lang('Catalogo.id') ?></th>
|
||||
<th><?= lang('Catalogo.titulo') ?></th>
|
||||
<th><?= lang('Catalogo.cliente') ?></th>
|
||||
<th><?= lang('Catalogo.edicion') ?></th>
|
||||
<th><?= lang('Catalogo.autor') ?></th>
|
||||
<th><?= lang('Catalogo.isbn') ?></th>
|
||||
<th><?= lang('Catalogo.ean') ?></th>
|
||||
<th><?= lang('Catalogo.paginas') ?></th>
|
||||
<th class="text-nowrap" style="min-width: 85px;"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><input type="text" class="form-control filtro_catalogo" name="titulo"></th>
|
||||
<th><input type="text" class="form-control filtro_catalogo" name="cliente"></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div><!--//.card-body -->
|
||||
<div class="card-footer">
|
||||
|
||||
</div><!--//.card-footer -->
|
||||
</div><!--//.card -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.row -->
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet"
|
||||
href="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.css") ?>">
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" />
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
<script
|
||||
src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/dataTables.buttons.min.js") ?>"></script>
|
||||
<script
|
||||
src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.html5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.print.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/jszip/jszip.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/pdfmake/pdfmake.min.js") ?>"
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/pdfmake/vfs_fonts.js") ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.js') ?>"></script>
|
||||
<script type="module" src="<?= site_url("assets/js/safekat/pages/catalogo/list.js") ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -186,10 +186,10 @@ var editor_lineas = new $.fn.dataTable.Editor( {
|
||||
{
|
||||
name: "cantidad",
|
||||
attr: {
|
||||
type: "text",
|
||||
name : "cantidad",
|
||||
class :"autonumeric"
|
||||
}
|
||||
type: "text",
|
||||
name : "cantidad",
|
||||
class :"autonumeric"
|
||||
}
|
||||
}, {
|
||||
name: "descripcion",
|
||||
type: "textarea",
|
||||
@ -199,11 +199,21 @@ var editor_lineas = new $.fn.dataTable.Editor( {
|
||||
}
|
||||
}, {
|
||||
name: "iva",
|
||||
type: "select",
|
||||
options: [
|
||||
{ label: "4%", value: 4 },
|
||||
{ label: "21%", value: 21 }
|
||||
],
|
||||
attr: {
|
||||
type: "text",
|
||||
name : "iva",
|
||||
class :"autonumeric"
|
||||
}
|
||||
class: "autonumeric"
|
||||
}
|
||||
}, {
|
||||
name: "base",
|
||||
attr: {
|
||||
type: "text",
|
||||
name : "total",
|
||||
class :"autonumeric"
|
||||
}
|
||||
}, {
|
||||
name: "pedido_linea_impresion_id",
|
||||
type: "hidden"
|
||||
@ -213,9 +223,6 @@ var editor_lineas = new $.fn.dataTable.Editor( {
|
||||
}, {
|
||||
name: "id",
|
||||
type: "hidden"
|
||||
}, {
|
||||
name: "base",
|
||||
type: "hidden"
|
||||
},
|
||||
]
|
||||
} );
|
||||
@ -321,7 +328,9 @@ var tableLineas = $('#tableOfLineasFactura').DataTable({
|
||||
if(row.pedido_linea_impresion_id != null && <?= (auth()->user()->inGroup('cliente-admin') || auth()->user()->inGroup('cliente-editor')) ? 0 : 1 ?>){
|
||||
|
||||
// se convierten a float data.total_aceptado y subtotal
|
||||
var total_aceptado = parseFloat(row.total_aceptado);
|
||||
var total_aceptado_revisado = parseFloat(row.total_aceptado_revisado);
|
||||
var total_aceptado = total_aceptado_revisado?total_aceptado_revisado: parseFloat(row.total_aceptado);
|
||||
|
||||
var subtotal = parseFloat(row.base);
|
||||
|
||||
var error_text = '';
|
||||
@ -478,7 +487,7 @@ var tableLineas = $('#tableOfLineasFactura').DataTable({
|
||||
return sum;
|
||||
}, 0);
|
||||
|
||||
const totalTotal = table.column(10).data().reduce((a, b) => parseFloat(a) + parseFloat(b), 0);
|
||||
let totalTotal = table.column(10).data().reduce((a, b) => parseFloat(a) + parseFloat(b), 0);
|
||||
|
||||
autoNumericSubtotal.set(totalSubtotal);
|
||||
autoNumericIVA_4.set(totalIVA_4);
|
||||
@ -486,6 +495,7 @@ var tableLineas = $('#tableOfLineasFactura').DataTable({
|
||||
$('#total-iva-sum-4').closest('tr').addClass('d-none');
|
||||
}
|
||||
else{
|
||||
totalTotal += totalIVA_4;
|
||||
$('#total-iva-sum-4').closest('tr').removeClass('d-none');
|
||||
}
|
||||
autoNumericIVA_21.set(totalIVA_21);
|
||||
@ -493,6 +503,7 @@ var tableLineas = $('#tableOfLineasFactura').DataTable({
|
||||
$('#total-iva-sum-21').closest('tr').addClass('d-none');
|
||||
}
|
||||
else{
|
||||
totalTotal += totalIVA_21;
|
||||
$('#total-iva-sum-21').closest('tr').removeClass('d-none');
|
||||
}
|
||||
autoNumericTotal.set(totalTotal);
|
||||
|
||||
@ -73,6 +73,45 @@ const actionBtns_pagos = function(data) {
|
||||
<?php endif; ?>
|
||||
}
|
||||
|
||||
$(document).on('click', '.btn-delete-pago', function(e) {
|
||||
|
||||
const dataId = $(this).attr('data-id');
|
||||
const row = $(this).closest('tr');
|
||||
if ($.isNumeric(dataId)) {
|
||||
asyncConfirmDialogWithParams(
|
||||
"Borrar Linea de pagos",
|
||||
"¿Está seguro de borrar la línea? Esta acción no se puede deshacer.",
|
||||
deleteConfirmedLineaPago, function(){}, [dataId, row])
|
||||
}
|
||||
});
|
||||
|
||||
function deleteConfirmedLineaPago(params){
|
||||
|
||||
var factura_linea_id = params[0];
|
||||
var row = params[1];
|
||||
const row_data = tablePagos.row($(row)).data();
|
||||
const tabla = tablePagos;
|
||||
|
||||
if(row_data.id != null){
|
||||
var url = '<?= route_to('deleteLineaPago') ?>';
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: 'POST',
|
||||
data: {
|
||||
factura_id: <?= $facturaEntity->id ?>,
|
||||
pago_id: row_data.id,
|
||||
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
|
||||
}
|
||||
}).done((data, textStatus, jqXHR) => {
|
||||
tabla.clearPipeline().draw();
|
||||
$('#tableOfLineasFactura').DataTable().clearPipeline().draw();
|
||||
|
||||
}).fail((jqXHR, textStatus, errorThrown) => {
|
||||
popErrorAlert(jqXHR.responseJSON.messages.error)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const editor_pagos = new $.fn.dataTable.Editor( {
|
||||
ajax: {
|
||||
url: "<?= route_to('editorOfPagosFacturas') ?>",
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4><?= $boxTitle ?></h4>
|
||||
<h4><?= $boxTitle ?> <?= ($envioEntity->finalizado == 0)?'':'<span class="badge text-bg-success fw-lg">FINALIZADO</span>' ?></h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
@ -112,41 +112,43 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="accordion accordion-bordered">
|
||||
<div class="card accordion-item active mb-5">
|
||||
<h4 class="accordion-header px-4 py-3">
|
||||
<?= lang("Logistica.addLineasEnvio") ?>
|
||||
</h4>
|
||||
<?php if ($envioEntity->finalizado == 0): ?>
|
||||
<div class="accordion accordion-bordered">
|
||||
<div class="card accordion-item active mb-5">
|
||||
<h4 class="accordion-header px-4 py-3">
|
||||
<?= lang("Logistica.addLineasEnvio") ?>
|
||||
</h4>
|
||||
|
||||
<div id="accordionaddLineasEnvioTip" class="accordion-collapse collapse show">
|
||||
<div id="accordionaddLineasEnvioTip" class="accordion-collapse collapse show">
|
||||
|
||||
<div class="d-flex flex-row mb-3">
|
||||
<div class="col-sm-12 px-3">
|
||||
<p><?= lang('Logistica.addLineasText') ?></p>
|
||||
<div class="d-flex flex-row mb-3">
|
||||
<div class="col-sm-12 px-3">
|
||||
<p><?= lang('Logistica.addLineasText') ?></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-row mb-3">
|
||||
<div class="col-sm-6 px-3">
|
||||
<label for="buscadorPedidos" class="form-label">
|
||||
<?= lang("Logistica.buscadorPedidosTitle2") ?>
|
||||
</label>
|
||||
<select id="buscadorPedidos" name="buscador_pedidos" tabindex="1" maxlength="50"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnAddLinea" name="btnBuscar" tabindex="1"
|
||||
class="btn btn-primary mt-4 w-100">
|
||||
<?= lang("Logistica.add") ?>
|
||||
<ti class="ti ti-circle-plus"></ti>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-row mb-3">
|
||||
<div class="col-sm-6 px-3">
|
||||
<label for="buscadorPedidos" class="form-label">
|
||||
<?= lang("Logistica.buscadorPedidosTitle2") ?>
|
||||
</label>
|
||||
<select id="buscadorPedidos" name="buscador_pedidos" tabindex="1" maxlength="50"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnAddLinea" name="btnBuscar" tabindex="1"
|
||||
class="btn btn-primary mt-4 w-100">
|
||||
<?= lang("Logistica.add") ?>
|
||||
<ti class="ti ti-circle-plus"></ti>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<div class="accordion accordion-bordered">
|
||||
@ -168,13 +170,15 @@
|
||||
<i class="ti ti-select"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnEliminarLineas" name="btnEliminarLineas" tabindex="1"
|
||||
class="btn btn-danger w-100">
|
||||
<?= lang("Logistica.eliminar") ?>
|
||||
<i class="ti ti-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
<?php if ($envioEntity->finalizado == 0): ?>
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnEliminarLineas" name="btnEliminarLineas" tabindex="1"
|
||||
class="btn btn-danger w-100">
|
||||
<?= lang("Logistica.eliminar") ?>
|
||||
<i class="ti ti-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnGenerarAlbaran" name="btnGenerarAlbaran" tabindex="1"
|
||||
class="btn btn-success w-100">
|
||||
@ -244,35 +248,90 @@
|
||||
<input type="number" id="cajas" name="cajas" tabindex="1" maxlength="50"
|
||||
class="form-control" value="<?= old('cajas', $envioEntity->cajas) ?>">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="accordion accordion-bordered mt-3" id="accordioAlbaranes">
|
||||
<div class="accordion accordion-bordered mt-3 mb-5" id="accordioAlbaranes">
|
||||
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingAlbaranes">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse"
|
||||
data-bs-target="#accordionAlbaranesTip" aria-expanded="false"
|
||||
aria-controls="accordionAlbaranesTip">
|
||||
<h3><?= lang("Pedidos.albaranes") ?></h3>
|
||||
</button>
|
||||
</h2>
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingAlbaranes">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse"
|
||||
data-bs-target="#accordionAlbaranesTip" aria-expanded="false"
|
||||
aria-controls="accordionAlbaranesTip">
|
||||
<h3><?= lang("Pedidos.albaranes") ?></h3>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="accordionAlbaranesTip" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#accordioAlbaranes">
|
||||
<div id="contenedorAlbaranes" class="accordion-body">
|
||||
<div id="accordionAlbaranesTip" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#accordioAlbaranes">
|
||||
<div id="contenedorAlbaranes" class="accordion-body">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="accordion accordion-bordered">
|
||||
<div class="card accordion-item active mb-5">
|
||||
<h4 class="accordion-header px-4 py-3">
|
||||
<?= lang("Logistica.acciones") ?>
|
||||
</h4>
|
||||
|
||||
<div class="d-flex flex-row mb-3">
|
||||
<div class="col-sm-3 px-3">
|
||||
<label for="codigoSeguimiento" class="form-label">
|
||||
<?= lang("Logistica.codigoSeguimiento") ?>
|
||||
</label>
|
||||
<input type="text" id="codigoSeguimiento" name="codigo_seguimiento" tabindex="1"
|
||||
maxlength="100" class="form-control"
|
||||
<?= ($envioEntity->finalizado == 0) ? "" : "readonly" ?>
|
||||
value="<?= old('codigo_seguimiento', $envioEntity->codigo_seguimiento) ?>">
|
||||
</div>
|
||||
<div class="col-sm-3 px-3">
|
||||
<label for="empresaMensajeria" class="form-label">
|
||||
<?= lang("Logistica.empresaMensajería") ?>
|
||||
</label>
|
||||
<?php if ($envioEntity->finalizado == 0): ?>
|
||||
<select id="empresaMensajeria" name="empresa_mensajeria" tabindex="1" maxlength="50"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
<?php if ($envioEntity->proveedor_id): ?>
|
||||
<option value="<?= $envioEntity->proveedor_id ?>" "selected">
|
||||
<?= $envioEntity->proveedor_nombre ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
</select>
|
||||
<?php else: ?>
|
||||
<input type="text" id="empresaMensajeriaInput" name="empresa_mensajeria_input"
|
||||
tabindex="1" maxlength="100" class="form-control" readonly
|
||||
value="<?= old('empresa_mensajeria', $envioEntity->proveedor_nombre) ?>">
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php if ($envioEntity->finalizado == 0): ?>
|
||||
<div class="col-sm-3 px-3">
|
||||
<button id="finalizarEnvio" name="finalizar_envio" tabindex="1"
|
||||
class="btn btn-primary mt-4 w-100 btn-finalizar">
|
||||
<?= lang("Logistica.finalizarEnvio") ?>
|
||||
<ti class="ti ti-check"></ti>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sm-3 px-3">
|
||||
<button id="finalizarEnvioYOTs" name="finalizar_envio_ots" tabindex="1"
|
||||
class="btn btn-primary mt-4 w-100 btn-finalizar">
|
||||
<?= lang("Logistica.finalizarEnvioYOTs") ?>
|
||||
<ti class="ti ti-checks"></ti>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?= $this->include("themes/_commonPartialsBs/sweetalert") ?>
|
||||
<?= $this->include('themes/_commonPartialsBs/datatables') ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section('content'); ?>
|
||||
@ -22,15 +23,35 @@
|
||||
<div class="accordion-body px-4 py-3">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="mb-1 col-sm-4">
|
||||
<div class="mb-1 col-sm-6">
|
||||
<label for="buscadorPedidos" class="form-label">
|
||||
<?= lang("Logistica.buscadorPedidosTitle") ?>
|
||||
<?= lang("Logistica.buscadorPedidosTitle2") ?>
|
||||
</label>
|
||||
<input id="buscadorPedidos" name="buscador_pedidos" tabindex="1" maxlength="50"
|
||||
class="form-control" value="">
|
||||
<select id="buscadorPedidos" name="buscador_pedidos" tabindex="1" maxlength="50"
|
||||
class="form-control select2bs2">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row select-direcciones d-none">
|
||||
<div class="col-sm-6 px-3">
|
||||
<label for="selectDirecciones" class="form-label">
|
||||
<?= lang("Logistica.selectDirecciones") ?>
|
||||
</label>
|
||||
<select id="selectDirecciones" name="select_direcciones" tabindex="1" maxlength="50"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row add-envio d-none">
|
||||
<div class="col-sm-2 px-3">
|
||||
<button id="btnAddEnvio" name="btn_add_envio" tabindex="1"
|
||||
class="btn btn-primary mt-4 w-100">
|
||||
<?= lang("Logistica.add") ?>
|
||||
<ti class="ti ti-circle-plus"></ti>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -87,10 +108,10 @@
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" />
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" />
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.js') ?>"></script>
|
||||
<script type="module" src="<?= site_url("assets/js/safekat/pages/logistica/envio.js") ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.js') ?>"></script>
|
||||
<script type="module" src="<?= site_url("assets/js/safekat/pages/logistica/envio.js") ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -12,48 +12,24 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 "
|
||||
onclick="window.location.href='<?= route_to('selectEnvios', 'simple') ?>'"
|
||||
>
|
||||
<?= lang('Logistica.envioSimple') ?>
|
||||
</button>
|
||||
<div class="grid">
|
||||
<div class="item" onclick="location.href='<?= route_to('gestionEnvios') ?>'">
|
||||
<img src="<?= site_url("assets/img/logistica/envios.jpg") ?>" alt="Envíos">
|
||||
<div><span><?= lang("Logistica.gestionEnvios"); ?></span></div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.envioMultiple') ?>
|
||||
</button>
|
||||
<div class="item">
|
||||
<img src="<?= site_url("assets/img/logistica/envios_ferros.png") ?>" alt="Envío de Ferros/Prototipos">
|
||||
<div><span><?= lang("Logistica.envioFerros"); ?></span></div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.envioConjunto') ?>
|
||||
</button>
|
||||
<div class="item">
|
||||
<img src="<?= site_url("assets/img/logistica/impresionEtiquetas.jpg") ?>" alt="Etiquetas de títulos">
|
||||
<div><span><?= lang("Logistica.etiquetasTitulos"); ?></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.etiquetasTitulos') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.etiquetasEnvio') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.envioFerros') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<button type="button" style="height: 80px;" class="btn btn-primary w-100 " >
|
||||
<?= lang('Logistica.cerrarOTauto') ?>
|
||||
</button>
|
||||
<div class="item">
|
||||
<img src="<?= site_url("assets/img/logistica/albaranes.png") ?>" alt="Albaranes">
|
||||
<div><span><?= lang("Logistica.albaranes"); ?></span></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -63,6 +39,7 @@
|
||||
<?= $this->endSection(); ?>
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/logisticaPanel.css') ?>">
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
|
||||
@ -1,35 +1,33 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* MENU CATALOGO
|
||||
*/
|
||||
if (auth()->user()->inGroup('beta')) {
|
||||
?>
|
||||
if (auth()->user()->can('catalogo.menu')) {
|
||||
?>
|
||||
<!-- Catalogue -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle beta">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-book"></i>
|
||||
<div><?= lang("App.menu_catalogo") ?></div>
|
||||
<?= lang("App.menu_catalogo") ?>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_libros") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/nuevo") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_nuevo") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/categorias") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_categorias") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php if (auth()->user()->can('catalogo.menu')) { ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= route_to("catalogoLibrosList") ?>" class="menu-link">
|
||||
<?= lang("App.menu_catalogo_libros") ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (auth()->user()->can('catalogo.create')) { ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= route_to("catalogoLibrosAdd") ?>" class="menu-link">
|
||||
<?= lang("App.menu_catalogo_nuevo") ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/importar") ?>" class="menu-link beta">
|
||||
<div> <?= lang("App.menu_catalogo_importar") ?></div>
|
||||
<?= lang("App.menu_catalogo_importar") ?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -7,29 +7,10 @@ if (auth()->user()->inGroup('beta')) {
|
||||
?>
|
||||
<!-- Logistic -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<a href="<?= route_to("LogisticaPanel") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-truck"></i>
|
||||
<div> <?= lang("App.menu_logistica") ?></div>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<li class="menu-item">
|
||||
<a href="<?= route_to("LogisticaPanel") ?>" class="menu-link">
|
||||
<div> <?= lang("App.menu_logistica_panel") ?></div>
|
||||
</a>
|
||||
<a href="<?= site_url("envioslogistica/logistica") ?>" class="menu-link">
|
||||
<div> <?= lang("App.menu_logistica_envios") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("envioslogistica/logistica/etiquetas") ?>" class="menu-link">
|
||||
<div> <?= lang("App.menu_logistica_etiquetas") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("envioslogistica/logistica/tracking") ?>" class="menu-link">
|
||||
<div> <?= lang("App.menu_logistica_tracking") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<?php } ?>
|
||||
Reference in New Issue
Block a user