This commit is contained in:
KONE SOREL 2026-03-05 18:26:17 +00:00
parent 9c0b53546d
commit ebaec03537
5 changed files with 77 additions and 24 deletions

View File

@ -91642,4 +91642,38 @@ function loadMessageSection(section) {
$(target).html('<div class="alert alert-danger m-3">Erreur de chargement</div>');
}
});
}
function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Données') {
if ($(selector).length === 0) return;
return $(selector).DataTable({
"dom": '<"d-flex justify-content-between align-items-center p-3 border-bottom"<"dt-buttons-custom"B><"dt-search-custom"f>>t<"d-flex justify-content-between align-items-center p-3 bg-light"ip>',
"buttons": [
{
extend: 'excelHtml5',
text: '<i class="fas fa-file-excel me-2"></i>Excel',
className: 'btn btn-success btn-sm fw-bold border-0 shadow-sm px-3 me-2'
},
{
extend: 'pdfHtml5',
text: '<i class="fas fa-file-pdf me-2"></i>PDF',
className: 'btn btn-danger btn-sm fw-bold border-0 shadow-sm px-3',
title: pageTitle,
orientation: 'landscape',
pageSize: 'A4'
}
],
"language": {
"url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/fr-FR.json",
"search": "",
"searchPlaceholder": "Rechercher..."
},
"pageLength": 10,
"drawCallback": function() {
// Style dynamique de la barre de recherche
$('.dataTables_filter input').addClass('form-control form-control-sm rounded-pill border-2 ps-3 shadow-none');
$('.dataTables_paginate .paginate_button').addClass('btn btn-xs mx-1');
}
});
}

View File

@ -5,7 +5,7 @@
</div>
<div class="table-responsive">
<table class="table table-hover align-middle border">
<table id="tableMotifs" class="table table-hover align-middle border datatable-inter">
<thead class="bg-light small fw-bold">
<tr>
<th width="15%" class="text-center"><?= _("CODE") ?></th>
@ -29,3 +29,8 @@
</div>
</div>
<script>
$(document).ready(function() {
initSmartTable('#tableMotifs', 'Liste des Motifs de Dépassement');
});
</script>

View File

@ -5,7 +5,7 @@
</div>
<div class="table-responsive">
<table class="table table-hover align-middle border">
<table id="tableTextes" class="table table-hover align-middle border datatable-inter">
<thead class="bg-light small fw-bold">
<tr>
<th width="10%" class="text-center"><?= _("CODE") ?></th>
@ -34,4 +34,10 @@
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
initSmartTable('#tableTextes', 'Liste des Textes sur facture');
});
</script>

View File

@ -64,7 +64,12 @@ $descriptionVue = $_SESSION['descriptionVue'];
<link href="Bootstrap/vendor/quill/quill.bubble.css" rel="stylesheet">
<link href="Bootstrap/vendor/remixicon/remixicon.css" rel="stylesheet">
<link href="Bootstrap/vendor/simple-datatables/style.css" rel="stylesheet">
<link href="Bootstrap_new/css/datatables.min.css" rel="stylesheet">
<!-- dataTables -->
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.4.1/css/buttons.bootstrap5.min.css">
<link href="Bootstrap_new/css/select2.min.css" rel="stylesheet">
<link href="Bootstrap_new/select/css/bootstrap-select.min.css" rel="stylesheet">
@ -92,6 +97,7 @@ $descriptionVue = $_SESSION['descriptionVue'];
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<!-- Variable globale modeDev -->
<script>
var modeDev = <?= json_encode($_SESSION['modeDev_C']) ?>;

View File

@ -1,57 +1,59 @@
<!-- ======= Scripts Footer INTER SANTÉ ======= -->
<!-- IMPORTANT: Respecter strictement l'ordre de chargement -->
<!-- 1. Script spécifique à la société -->
<script src="<?= $_SESSION['dossierSociete'] . '/Js/societe.js' ?>"></script>
<!-- 2. Vendor Libs (Bootstrap ecosystem) -->
<!-- 2. jQuery (DOIT précéder tout le reste) -->
<script src="Bootstrap/js/jquery.min.js"></script>
<script src="Bootstrap/js/jquery-ui.js"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<!-- 3. Vendor Libs (Bootstrap ecosystem) -->
<script src="Bootstrap/vendor/apexcharts/apexcharts.min.js"></script>
<script src="Bootstrap/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="Bootstrap/vendor/chart.js/chart.umd.js"></script>
<script src="Bootstrap/vendor/echarts/echarts.min.js"></script>
<script src="Bootstrap/vendor/quill/quill.min.js"></script>
<script src="Bootstrap/vendor/simple-datatables/simple-datatables.js"></script>
<script src="Bootstrap/vendor/php-email-form/validate.js"></script>
<!-- 3. jQuery (DOIT précéder tout le reste) -->
<script src="Bootstrap/js/jquery.min.js"></script>
<script src="Bootstrap/js/jquery-ui.js"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<!-- 4. DataTables (après jQuery) -->
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<!-- 4. Select2 & Bootstrap-Select -->
<!-- 5. Select2 & Bootstrap-Select -->
<script src="Bootstrap_new/js/select2.min.js"></script>
<script src="Bootstrap_new/select/js/bootstrap-select.min.js"></script>
<!-- 5. Template main -->
<!-- 6. Template main -->
<script src="Bootstrap/js/main.js"></script>
<script src="Bootstrap_new/datatables/datatable.min.js" crossorigin="anonymous"></script>
<!-- 6. Datepicker selon langue -->
<!-- 7. Datepicker selon langue -->
<?php if (est_anglophone()): ?>
<script src="Js/datepicker-eng.js"></script>
<?php else: ?>
<script src="Js/datepicker-fr.js"></script>
<?php endif; ?>
<!-- 7. Utilitaires -->
<!-- 8. Utilitaires -->
<script src="Js/html2pdf.js"></script>
<!-- 8. Toastr notifications -->
<!-- 9. Toastr notifications -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.css" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js" crossorigin="anonymous"></script>
<!-- 9. SweetAlert2 -->
<!-- 10. SweetAlert2 -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.14.1/dist/sweetalert2.all.min.js"></script>
<!-- 10. Fonctions applicatives Inter Santé -->
<!-- 11. Fonctions applicatives Inter Santé -->
<script src="Js/fonctions.js?ver=<?= defined('APP_VERSION') ? APP_VERSION : date('YmdHi') ?>"></script>
<!-- 11. Vue.js -->
<!-- 12. Vue.js -->
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
<!-- 12. Chart.js (dédupliqué déjà en head, mais conservé pour compatibilité) -->
<!-- <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> -->
<!-- 13. Bootstrap JS -->
<script src="Bootstrap/js/bootstrap.min.js"></script>