mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-08 11:59:13 +00:00
series de facturación terminadas (vista en configuración)
This commit is contained in:
@ -0,0 +1,119 @@
|
||||
<!doctype html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<body>
|
||||
|
||||
<!-- Fragment: Modal para Alta/Edición de Serie de Facturación -->
|
||||
<th:block th:fragment="modal">
|
||||
|
||||
<div class="modal fade" id="serieFacturacionModal" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
|
||||
<!-- Header -->
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="serieFacturacionModalTitle" th:text="#{series-facturacion.modal.title.add}">
|
||||
Añadir serie
|
||||
</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
|
||||
<!-- Body -->
|
||||
<div class="modal-body">
|
||||
|
||||
<!-- Alert placeholder (JS lo rellena) -->
|
||||
<div id="serieFacturacionAlert" class="alert alert-danger d-none" role="alert"></div>
|
||||
|
||||
<form id="serieFacturacionForm" novalidate>
|
||||
<!-- Para editar: el JS setea este id -->
|
||||
<input type="hidden" id="serie_id" name="id" value="">
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="nombre_serie" class="form-label" th:text="#{series-facturacion.form.nombre}">
|
||||
Nombre
|
||||
</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
id="nombre_serie"
|
||||
name="nombre_serie"
|
||||
maxlength="100"
|
||||
required>
|
||||
<div class="invalid-feedback" th:text="#{app.validation.required}">
|
||||
Campo obligatorio
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="prefijo" class="form-label" th:text="#{series-facturacion.form.prefijo}">
|
||||
Prefijo
|
||||
</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
id="prefijo"
|
||||
name="prefijo"
|
||||
maxlength="10"
|
||||
required>
|
||||
<div class="invalid-feedback" th:text="#{app.validation.required}">
|
||||
Campo obligatorio
|
||||
</div>
|
||||
<div class="form-text" th:text="#{series-facturacion.form.prefijo.help}">
|
||||
Ej: FAC, F25...
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="tipo" class="form-label" th:text="#{series-facturacion.form.tipo}">
|
||||
Tipo
|
||||
</label>
|
||||
<!-- En BD solo hay facturacion, pero lo dejamos como select por UI -->
|
||||
<select class="form-select" id="tipo" name="tipo" required>
|
||||
<option value="facturacion" th:text="#{series-facturacion.tipo.facturacion}">
|
||||
Facturación
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="numero_actual" class="form-label" th:text="#{series-facturacion.form.numero-actual}">
|
||||
Número actual
|
||||
</label>
|
||||
<input type="number"
|
||||
class="form-control"
|
||||
id="numero_actual"
|
||||
name="numero_actual"
|
||||
min="1"
|
||||
step="1"
|
||||
value="1"
|
||||
required>
|
||||
<div class="invalid-feedback" th:text="#{app.validation.required}">
|
||||
Campo obligatorio
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-light"
|
||||
data-bs-dismiss="modal"
|
||||
th:text="#{app.cancelar}">
|
||||
Cancelar
|
||||
</button>
|
||||
|
||||
<button type="button"
|
||||
class="btn btn-secondary"
|
||||
id="serieFacturacionSaveBtn">
|
||||
<i class="ri-save-line align-bottom me-1"></i>
|
||||
<span th:text="#{app.guardar}">Guardar</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</th:block>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,83 @@
|
||||
<!doctype html>
|
||||
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{imprimelibros/layout}">
|
||||
|
||||
<head>
|
||||
<th:block layout:fragment="pagetitle" />
|
||||
<th:block th:replace="~{imprimelibros/partials/head-css :: head-css}" />
|
||||
<th:block layout:fragment="pagecss">
|
||||
<link th:href="@{/assets/css/presupuestador.css}" rel="stylesheet"
|
||||
th:unless="${#authorization.expression('isAuthenticated()')}" />
|
||||
<link th:href="@{/assets/libs/datatables/dataTables.bootstrap5.min.css}" rel="stylesheet" />
|
||||
</th:block>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div th:replace="~{imprimelibros/partials/topbar :: topbar}" />
|
||||
<div th:replace="~{imprimelibros/partials/sidebar :: sidebar}" />
|
||||
|
||||
<th:block layout:fragment="content">
|
||||
<div th:if="${#authorization.expression('isAuthenticated()')}">
|
||||
|
||||
<!-- Modales-->
|
||||
<div th:replace="~{imprimelibros/configuracion/series-facturas/series-facturacion-modal :: modal}" />
|
||||
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/"><i class="ri-home-5-fill"></i></a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page" th:text="#{series-facturacion.breadcrumb}">
|
||||
Series de Facturación</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<button type="button" class="btn btn-secondary mb-3" id="addButton">
|
||||
<i class="ri-add-line align-bottom me-1"></i> <span
|
||||
th:text="#{app.add}">Añadir</span>
|
||||
</button>
|
||||
|
||||
<table id="series-datatable" class="table table-striped table-nowrap responsive w-100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.id}">ID</th>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.nombre}">Nombre</th>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.prefijo}">Prefijo</th>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.tipo}">Tipo</th>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.numero-actual}">Número Actual</th>
|
||||
<th class="text-start" scope="col" th:text="#{series-facturacion.tabla.acciones}">Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
|
||||
<th:block layout:fragment="modal" />
|
||||
<th:block th:replace="~{theme/partials/vendor-scripts :: scripts}" />
|
||||
<th:block layout:fragment="pagejs">
|
||||
<script th:inline="javascript">
|
||||
window.languageBundle = /*[[${languageBundle}]]*/ {};
|
||||
</script>
|
||||
<script th:src="@{/assets/libs/datatables/datatables.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/datatables/dataTables.bootstrap5.min.js}"></script>
|
||||
|
||||
<!-- JS de Buttons y dependencias -->
|
||||
<script th:src="@{/assets/libs/datatables/dataTables.buttons.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/jszip/jszip.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/pdfmake/pdfmake.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/pdfmake/vfs_fonts.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/datatables/buttons.html5.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/datatables/buttons.print.min.js}"></script>
|
||||
<script th:src="@{/assets/libs/datatables/buttons.colVis.min.js}"></script>
|
||||
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/configuracion/series-facturacion/list.js}"></script>
|
||||
|
||||
</th:block>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -88,6 +88,14 @@
|
||||
</a>
|
||||
</li>
|
||||
</div>
|
||||
<div th:if="${#authentication.principal.role == 'SUPERADMIN'}">
|
||||
<li class="nav-item">
|
||||
<a href="/configuracion/series-facturacion" class="nav-link">
|
||||
<i class="ri-file-list-3-line"></i>
|
||||
<span th:text="#{series-facturacion.title}">Series de facturación</span>
|
||||
</a>
|
||||
</li>
|
||||
</div>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user