451 lines
18 KiB
HTML
451 lines
18 KiB
HTML
{% load static %}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>{% block titulo %}{% endblock%}</title>
|
|
|
|
|
|
<!-- imagen Favicon -->
|
|
<link rel="icon" href="/static/imagenes/dos.ico" type="image/x-icon">
|
|
|
|
<!-- Google Font: Source Sans Pro -->
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"/>
|
|
|
|
<!-- Ekko Lightbox -->
|
|
<link rel="stylesheet" href="/static/plugins/ekko-lightbox/ekko-lightbox.css"/>
|
|
|
|
<!-- SweetAlert2 -->
|
|
<link rel="stylesheet" href="/static/plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
|
|
<link rel="stylesheet" href="/static/plugins/toastr/toastr.min.css">
|
|
|
|
<!-- Font Awesome Icons -->
|
|
<link rel="stylesheet" href="/static/plugins/fontawesome-free/css/all.min.css"/>
|
|
<!-- IonIcons -->
|
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"/>
|
|
<!-- overlayScrollbars -->
|
|
<link rel="stylesheet" href="/static/plugins/overlayScrollbars/css/OverlayScrollbars.min.css" />
|
|
<!-- DataTables -->
|
|
<link rel="stylesheet" href="/static/plugins/datatables-bs4/css/dataTables.bootstrap4.min.css"/>
|
|
<link rel="stylesheet" href="/static/plugins/datatables-responsive/css/responsive.bootstrap4.min.css"/>
|
|
<link rel="stylesheet" href="/static/plugins/datatables-buttons/css/buttons.bootstrap4.min.css"/>
|
|
<!-- Select2 -->
|
|
<link rel="stylesheet" href="/static/plugins/select2/css/select2.min.css">
|
|
<link rel="stylesheet" href="/static/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css">
|
|
<!-- daterange picker -->
|
|
<link rel="stylesheet" href="/static/plugins/daterangepicker/daterangepicker.css">
|
|
<!-- iCheck for checkboxes and radio inputs -->
|
|
<link rel="stylesheet" href="/static/plugins/icheck-bootstrap/icheck-bootstrap.min.css">
|
|
<!-- Bootstrap Color Picker -->
|
|
<link rel="stylesheet" href="/static/plugins/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css">
|
|
<!-- Tempusdominus Bootstrap 4 -->
|
|
<link rel="stylesheet" href="/static/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css">
|
|
<!-- Bootstrap4 Duallistbox -->
|
|
<link rel="stylesheet" href="/static/plugins/bootstrap4-duallistbox/bootstrap-duallistbox.min.css">
|
|
<!-- BS Stepper -->
|
|
<link rel="stylesheet" href="/static/plugins/bs-stepper/css/bs-stepper.min.css">
|
|
<!-- dropzonejs -->
|
|
<link rel="stylesheet" href="/static/plugins/dropzone/min/dropzone.min.css">
|
|
<!-- Theme style -->
|
|
<link rel="stylesheet" href="/static/bootstrap5/css/bootstrap.min.css" />
|
|
<link rel="stylesheet" href="/static/dist/css/adminlte.min.css" />
|
|
</head>
|
|
|
|
<body class="hold-transition sidebar-mini ayout-fixed layout-navbar-fixed layout-footer-fixed">
|
|
<div class="wrapper">
|
|
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
|
|
<ul class="navbar-nav">
|
|
<li class="nav-item">
|
|
<a class="nav-link" data-widget="pushmenu" href="#" role="button"
|
|
><i class="fas fa-bars"></i
|
|
></a>
|
|
</li>
|
|
<li class="nav-item d-none d-sm-inline-block">
|
|
<a href="{% url 'articulos' %}" class="nav-link brand-text font-weight-bold">Inicio</a>
|
|
</li>
|
|
<li class="nav-item d-none d-sm-inline-block">
|
|
<a href="{% url 'unidad' %}" class="nav-link brand-text font-weight-bold">Unidad</a>
|
|
</li>
|
|
<li class="nav-item d-none d-sm-inline-block">
|
|
<a href="{% url 'envio_articulo' %}" class="nav-link brand-text font-weight-bold">Comprobante</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<ul class="navbar-nav ml-auto">
|
|
<li class="nav-item">
|
|
<a class="nav-link" data-widget="navbar-search" href="#" role="button">
|
|
<i class="fas fa-search"></i>
|
|
</a>
|
|
<div class="navbar-search-block">
|
|
<form class="form-inline">
|
|
<div class="input-group input-group-sm">
|
|
<input class="form-control form-control-navbar" type="search" placeholder="Buscar" aria-label="Search"/>
|
|
<div class="input-group-append">
|
|
<button class="btn btn-navbar" type="submit">
|
|
<i class="fas fa-search"></i>
|
|
</button>
|
|
<button class="btn btn-navbar" type="button" data-widget="navbar-search">
|
|
<i class="fas fa-times"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- Notifications Dropdown Menu -->
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link" data-toggle="dropdown" href="#">
|
|
<img src="/static/dist/img/user2-160x160.jpg" class="img-circle elevation-1" alt="User Image" width="25px" height="25px"/>
|
|
<span class="brand-text font-weight-bold"> {{request.user.username}}</span>
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
|
|
<span class="dropdown-item dropdown-header"
|
|
>Configuración</span>
|
|
<div class="dropdown-divider"></div>
|
|
<a href="{% url 'logout' %}" class="dropdown-item"><i class="fas fa-solid fa-power-off"></i> Salir <span class="float-right text-muted text-sm">3 mins</span>
|
|
</a>
|
|
</div>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
|
|
<i class="fas fa-expand-arrows-alt"></i>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item"></li>
|
|
</ul>
|
|
</nav>
|
|
<!-- /.navbar -->
|
|
|
|
<!-- Main Sidebar Container -->
|
|
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
|
<!-- Brand Logo -->
|
|
<a href="#" class="brand-link">
|
|
<img src="/static/imagenes/logo.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: 0.8"/>
|
|
<span class="brand-text font-weight-bold">SINTEJB</span>
|
|
</a>
|
|
|
|
<div class="sidebar">
|
|
<nav class="mt-2">
|
|
<ul
|
|
class="nav nav-pills nav-sidebar flex-column"
|
|
data-widget="treeview"
|
|
role="menu"
|
|
data-accordion="false"
|
|
></ul>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
|
|
<div class="content-wrapper">
|
|
<div class="content-header">
|
|
<div class="container-fluid">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6">
|
|
<h1 class="m-0">{% block titulodeseccion %}{% endblock%}</h1>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<ol class="breadcrumb float-sm-right">
|
|
<li class="breadcrumb-item"><a href="#"> {% block etiqueta1 %}{% endblock%}</a></li>
|
|
<li class="breadcrumb-item">{% block etiqueta2 %}{% endblock%}</li>
|
|
<li>{% block etiqueta3 %}{% endblock%}</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="content">
|
|
|
|
<div class="container-fluid">
|
|
{% block contenido %}{% endblock %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Footer -->
|
|
<footer class="main-footer">
|
|
<strong>Copyright © 2024-2030 <a href="#">Dirección de Teconologia de la Información y las Comunicaciones</a>.</strong>
|
|
<div class="float-right d-none d-sm-inline-block">
|
|
<b>Version</b> 0.0.1
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
<!-- ./wrapper -->
|
|
|
|
<!-- REQUIRED SCRIPTS -->
|
|
<!-- jQuery -->
|
|
<script src="/static/plugins/jquery/jquery.min.js"></script>
|
|
<!-- Bootstrap -->
|
|
<script src="/static/bootstrap5/js/bootstrap.bundle.min.js"></script>
|
|
<script src="/static/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
|
|
<!-- overlayScrollbars -->
|
|
<script src="/static/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
|
|
<!-- AdminLTE -->
|
|
<script src="/static/dist/js/adminlte.js"></script>
|
|
<!-- Ekko Lightbox -->
|
|
<script src="/static/plugins/ekko-lightbox/ekko-lightbox.min.js"></script>
|
|
|
|
<!-- Filterizr-->
|
|
<script src="/static/plugins/filterizr/jquery.filterizr.min.js"></script>
|
|
|
|
<!-- OPTIONAL SCRIPTS -->
|
|
<script src="/static/plugins/chart.js/Chart.min.js"></script>
|
|
|
|
<!-- Select2 -->
|
|
<script src="/static/plugins/select2/js/select2.full.min.js"></script>
|
|
<!-- Bootstrap4 Duallistbox -->
|
|
<script src="/static/plugins/bootstrap4-duallistbox/jquery.bootstrap-duallistbox.min.js"></script>
|
|
<!-- InputMask -->
|
|
<script src="/static/plugins/moment/moment.min.js"></script>
|
|
<script src="/static/plugins/inputmask/jquery.inputmask.min.js"></script>
|
|
<!-- date-range-picker -->
|
|
<script src="/static/plugins/daterangepicker/daterangepicker.js"></script>
|
|
<!-- bootstrap color picker -->
|
|
<script src="/static/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script>
|
|
<!-- Tempusdominus Bootstrap 4 -->
|
|
<script src="/static/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
|
|
<!-- Bootstrap Switch -->
|
|
<script src="/static/plugins/bootstrap-switch/js/bootstrap-switch.min.js"></script>
|
|
<!-- BS-Stepper -->
|
|
<script src="/static/plugins/bs-stepper/js/bs-stepper.min.js"></script>
|
|
<!-- dropzonejs -->
|
|
<script src="/static/plugins/dropzone/min/dropzone.min.js"></script>
|
|
|
|
<!-- PAGE PLUGINS -->
|
|
<!-- jQuery Mapael -->
|
|
<script src="/static/plugins/jquery-mousewheel/jquery.mousewheel.js"></script>
|
|
<script src="/static/plugins/raphael/raphael.min.js"></script>
|
|
<script src="/static/plugins/jquery-mapael/jquery.mapael.min.js"></script>
|
|
<script src="/static/plugins/jquery-mapael/maps/usa_states.min.js"></script>
|
|
|
|
<!-- SweetAlert2 -->
|
|
<script src="/static/plugins/sweetalert2/sweetalert2.min.js"></script>
|
|
<!-- Toastr -->
|
|
<script src="/static/plugins/toastr/toastr.min.js"></script>
|
|
|
|
|
|
<!-- DataTables & Plugins -->
|
|
<script src="/static/plugins/datatables/jquery.dataTables.min.js"></script>
|
|
<script src="/static/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
|
|
<script src="/static/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
|
|
<script src="/static/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
|
|
<script src="/static/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
|
|
<script src="/static/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
|
|
<script src="/static/plugins/jszip/jszip.min.js"></script>
|
|
<script src="/static/plugins/pdfmake/pdfmake.min.js"></script>
|
|
<script src="/static/plugins/pdfmake/vfs_fonts.js"></script>
|
|
<script src="/static/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
|
|
<script src="/static/plugins/datatables-buttons/js/buttons.print.min.js"></script>
|
|
<script src="/static/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
|
|
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<script>
|
|
const Toast = Swal.mixin({
|
|
toast: true,
|
|
position: "top-end",
|
|
showConfirmButton: false,
|
|
timer: 3000,
|
|
timerProgressBar: true,
|
|
didOpen: (toast) => {
|
|
toast.onmouseenter = Swal.stopTimer;
|
|
toast.onmouseleave = Swal.resumeTimer;
|
|
}
|
|
});
|
|
Toast.fire({
|
|
icon: "{{ message.tags }}",
|
|
title: "{{ message }}"
|
|
});
|
|
</script>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</body>
|
|
</html>
|
|
|
|
<script>
|
|
$(function () {
|
|
$("#example1")
|
|
.DataTable({
|
|
responsive: true,
|
|
lengthChange: true,
|
|
autoWidth: false,
|
|
//buttons: ["copy", "csv", "excel", "pdf", "print", "colvis"],
|
|
language: {
|
|
"pageLength": "",
|
|
"decimal": "",
|
|
"emptyTable": "No hay datos",
|
|
"info": "Mostrando _START_ a _END_ de _TOTAL_ Registros",
|
|
"infoEmpty": "Mostrando 0 a 0 de 0 Registros",
|
|
"infoFiltered": "(Filtro de _MAX_ total Registros)",
|
|
"infoPostFix": "",
|
|
"thousands": ",",
|
|
"lengthMenu": "Mostrar _MENU_ Registros",
|
|
"loadingRecords": "Cargando...",
|
|
"processing": "Procesando...",
|
|
"search": "Buscar:",
|
|
"zeroRecords": "No se encontraron coincidencias",
|
|
"paginate": {
|
|
"first": "Primero",
|
|
"last": "Ultimo",
|
|
"next": "Próximo",
|
|
"previous": "Anterior",
|
|
},
|
|
"aria": {
|
|
"sortAscending": ": Activar orden de columna ascendente",
|
|
"sortDescending": ": Activar orden de columna desendente",
|
|
}
|
|
}
|
|
}).buttons().container().appendTo("#example1_wrapper .col-md-6:eq(0)");
|
|
$("#example2").DataTable({
|
|
paging: true,
|
|
lengthChange: false,
|
|
searching: false,
|
|
ordering: true,
|
|
info: true,
|
|
autoWidth: false,
|
|
responsive: true,
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
$(function () {
|
|
//Initialize Select2 Elements
|
|
$('.select2').select2()
|
|
|
|
//Initialize Select2 Elements
|
|
$('.select2bs4').select2({
|
|
theme: 'bootstrap4'
|
|
})
|
|
|
|
//Datemask dd/mm/yyyy
|
|
$('#datemask').inputmask('dd/mm/yyyy', { 'placeholder': 'dd/mm/yyyy' })
|
|
//Datemask2 mm/dd/yyyy
|
|
$('#datemask2').inputmask('mm/dd/yyyy', { 'placeholder': 'mm/dd/yyyy' })
|
|
//Money Euro
|
|
$('[data-mask]').inputmask()
|
|
|
|
//Date picker
|
|
$('#reservationdate').datetimepicker({
|
|
format: 'L'
|
|
});
|
|
|
|
//Date and time picker
|
|
$('#reservationdatetime').datetimepicker({ icons: { time: 'far fa-clock' } });
|
|
|
|
//Date range picker
|
|
$('#reservation').daterangepicker()
|
|
//Date range picker with time picker
|
|
$('#reservationtime').daterangepicker({
|
|
timePicker: true,
|
|
timePickerIncrement: 30,
|
|
locale: {
|
|
format: 'MM/DD/YYYY hh:mm A'
|
|
}
|
|
})
|
|
//Date range as a button
|
|
$('#daterange-btn').daterangepicker(
|
|
{
|
|
ranges : {
|
|
'Today' : [moment(), moment()],
|
|
'Yesterday' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
|
'Last 7 Days' : [moment().subtract(6, 'days'), moment()],
|
|
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
|
'This Month' : [moment().startOf('month'), moment().endOf('month')],
|
|
'Last Month' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
|
},
|
|
startDate: moment().subtract(29, 'days'),
|
|
endDate : moment()
|
|
},
|
|
function (start, end) {
|
|
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'))
|
|
}
|
|
)
|
|
|
|
//Timepicker
|
|
$('#timepicker').datetimepicker({
|
|
format: 'LT'
|
|
})
|
|
|
|
//Bootstrap Duallistbox
|
|
$('.duallistbox').bootstrapDualListbox()
|
|
|
|
//Colorpicker
|
|
$('.my-colorpicker1').colorpicker()
|
|
//color picker with addon
|
|
$('.my-colorpicker2').colorpicker()
|
|
|
|
$('.my-colorpicker2').on('colorpickerChange', function(event) {
|
|
$('.my-colorpicker2 .fa-square').css('color', event.color.toString());
|
|
})
|
|
|
|
$("input[data-bootstrap-switch]").each(function(){
|
|
$(this).bootstrapSwitch('state', $(this).prop('checked'));
|
|
})
|
|
|
|
})
|
|
// BS-Stepper Init
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
window.stepper = new Stepper(document.querySelector('.bs-stepper'))
|
|
})
|
|
|
|
// DropzoneJS Demo Code Start
|
|
Dropzone.autoDiscover = false
|
|
|
|
// Get the template HTML and remove it from the doumenthe template HTML and remove it from the doument
|
|
var previewNode = document.querySelector("#template")
|
|
previewNode.id = ""
|
|
var previewTemplate = previewNode.parentNode.innerHTML
|
|
previewNode.parentNode.removeChild(previewNode)
|
|
|
|
var myDropzone = new Dropzone(document.body, { // Make the whole body a dropzone
|
|
url: "/target-url", // Set the url
|
|
thumbnailWidth: 80,
|
|
thumbnailHeight: 80,
|
|
parallelUploads: 20,
|
|
previewTemplate: previewTemplate,
|
|
autoQueue: false, // Make sure the files aren't queued until manually added
|
|
previewsContainer: "#previews", // Define the container to display the previews
|
|
clickable: ".fileinput-button" // Define the element that should be used as click trigger to select files.
|
|
})
|
|
|
|
myDropzone.on("addedfile", function(file) {
|
|
// Hookup the start button
|
|
file.previewElement.querySelector(".start").onclick = function() { myDropzone.enqueueFile(file) }
|
|
})
|
|
|
|
// Update the total progress bar
|
|
myDropzone.on("totaluploadprogress", function(progress) {
|
|
document.querySelector("#total-progress .progress-bar").style.width = progress + "%"
|
|
})
|
|
|
|
myDropzone.on("sending", function(file) {
|
|
// Show the total progress bar when upload starts
|
|
document.querySelector("#total-progress").style.opacity = "1"
|
|
// And disable the start button
|
|
file.previewElement.querySelector(".start").setAttribute("disabled", "disabled")
|
|
})
|
|
|
|
// Hide the total progress bar when nothing's uploading anymore
|
|
myDropzone.on("queuecomplete", function(progress) {
|
|
document.querySelector("#total-progress").style.opacity = "0"
|
|
})
|
|
|
|
// Setup the buttons for all transfers
|
|
// The "add files" button doesn't need to be setup because the config
|
|
// `clickable` has already been specified.
|
|
document.querySelector("#actions .start").onclick = function() {
|
|
myDropzone.enqueueFiles(myDropzone.getFilesWithStatus(Dropzone.ADDED))
|
|
}
|
|
document.querySelector("#actions .cancel").onclick = function() {
|
|
myDropzone.removeAllFiles(true)
|
|
}
|
|
// DropzoneJS Demo Code End
|
|
</script>
|
|
|