Merge branch 'main' of https://git.ebene.ovh/ebene/newdesigngestionnaire
This commit is contained in:
commit
38c6727080
|
|
@ -18,7 +18,7 @@ color:white
|
|||
}
|
||||
.active-submenu{
|
||||
color:black !important;
|
||||
width:250px;
|
||||
width:150px;
|
||||
font-weight: 700;
|
||||
/* background:#857a7a */
|
||||
/* text-decoration: underline; */
|
||||
|
|
@ -33,9 +33,9 @@ color:white
|
|||
}
|
||||
|
||||
.sidebar-nav .nav-content a:hover{
|
||||
color:grey !important
|
||||
color:#cac2a4 !important;
|
||||
/* background:grey !important */
|
||||
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
.nav-item:hover .bi, .nav-item:hover .bx, .nav-item:hover .collapsed{
|
||||
|
|
@ -109,10 +109,6 @@ visibility:hidden
|
|||
margin-right:2px;
|
||||
}
|
||||
|
||||
.active-main{
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* style la barre de navigation horizontale */
|
||||
|
||||
div.scrollmenu {
|
||||
|
|
@ -209,7 +205,7 @@ padding:5px
|
|||
}
|
||||
|
||||
.sidebar-nav .nav-link{
|
||||
width:180px
|
||||
width:190px
|
||||
}
|
||||
|
||||
#main{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
/* =============================
|
||||
INTER SANTÉ — THEME MODERN
|
||||
SaaS Premium UI v2025
|
||||
INTER SANTÉ — THEME NEUTRAL PRO
|
||||
SaaS Minimal UI v2025
|
||||
Palette : Charcoal · Gris · Blanc
|
||||
============================= */
|
||||
|
||||
/* === FONTS === */
|
||||
|
|
@ -8,36 +9,36 @@
|
|||
|
||||
/* === CSS VARIABLES === */
|
||||
:root {
|
||||
/* Brand Colors */
|
||||
--color-primary: #1a6b4a;
|
||||
--color-primary-light: #25a06e;
|
||||
--color-primary-dark: #114532;
|
||||
--color-primary-ghost: rgba(26, 107, 74, 0.08);
|
||||
/* Brand Colors — Charcoal / Gris neutre (zéro vert) */
|
||||
--color-primary: #212E53; /*#2e3440;*/ /* charcoal foncé */
|
||||
--color-primary-light: #4c566a; /* slate moyen */
|
||||
--color-primary-dark: #1a1d24; /* quasi-noir */
|
||||
--color-primary-ghost: rgba(46, 52, 64, 0.07);
|
||||
|
||||
/* Accent / Status */
|
||||
--color-accent: #0abf7c;
|
||||
--color-urgent: #e63946;
|
||||
--color-warning: #f4a261;
|
||||
--color-success: #2ec4b6;
|
||||
--color-info: #3a86ff;
|
||||
--color-neutral: #6c757d;
|
||||
/* Accent / Status — conservés pour lisibilité fonctionnelle */
|
||||
--color-accent: #5e6e82; /* gris-bleu neutre */
|
||||
--color-urgent: #c0392b;
|
||||
--color-warning: #e67e22;
|
||||
--color-success: #27ae60;
|
||||
--color-info: #2980b9;
|
||||
--color-neutral: #7f8c8d;
|
||||
|
||||
/* Backgrounds */
|
||||
--bg-base: #f4f6f9;
|
||||
--bg-base: #f2f3f5;
|
||||
--bg-surface: #ffffff;
|
||||
--bg-surface-2: #f8fafc;
|
||||
--bg-sidebar: #ffffff;
|
||||
--bg-surface-2: #f8f9fa;
|
||||
--bg-sidebar: #7A90A4;/*#1e2228;*/ /* charcoal très sombre */
|
||||
--bg-header: #ffffff;
|
||||
|
||||
/* Text */
|
||||
--text-primary: #1a2332;
|
||||
--text-secondary: #6b7280;
|
||||
--text-muted: #9ca3af;
|
||||
/* Text — contraste maximal */
|
||||
--text-primary: #1a1d24;
|
||||
--text-secondary: #4c566a;
|
||||
--text-muted: #7b8a99;
|
||||
--text-inverse: #ffffff;
|
||||
|
||||
/* Borders */
|
||||
--border-light: #e8ecf0;
|
||||
--border-medium: #d1d5db;
|
||||
--border-light: #e3e6ea;
|
||||
--border-medium: #c8cdd4;
|
||||
|
||||
/* Spacing & Radius */
|
||||
--radius-sm: 6px;
|
||||
|
|
@ -46,13 +47,13 @@
|
|||
--radius-xl: 24px;
|
||||
--radius-full: 9999px;
|
||||
|
||||
/* Shadows */
|
||||
--shadow-xs: 0 1px 3px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.04);
|
||||
--shadow-sm: 0 2px 8px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.05);
|
||||
--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);
|
||||
--shadow-lg: 0 8px 32px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.06);
|
||||
--shadow-xl: 0 16px 48px rgba(0,0,0,.12), 0 8px 24px rgba(0,0,0,.07);
|
||||
--shadow-primary: 0 4px 20px rgba(26,107,74,.25);
|
||||
/* Shadows — neutres, sans teinte colorée */
|
||||
--shadow-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
|
||||
--shadow-sm: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05);
|
||||
--shadow-md: 0 4px 16px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06);
|
||||
--shadow-lg: 0 8px 32px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.07);
|
||||
--shadow-xl: 0 16px 48px rgba(0,0,0,.14), 0 8px 24px rgba(0,0,0,.08);
|
||||
--shadow-primary: 0 4px 20px rgba(30,34,40,.20);
|
||||
|
||||
/* Transitions */
|
||||
--transition-fast: 0.15s ease;
|
||||
|
|
@ -60,7 +61,7 @@
|
|||
--transition-slow: 0.4s cubic-bezier(.4,0,.2,1);
|
||||
|
||||
/* Layout */
|
||||
--sidebar-width: 240px;
|
||||
--sidebar-width: 200px;
|
||||
--sidebar-collapsed: 68px;
|
||||
--header-height: 64px;
|
||||
--context-width: 320px;
|
||||
|
|
@ -104,7 +105,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
}
|
||||
|
||||
#header.mode-test {
|
||||
background: linear-gradient(90deg, #7b2d00, #c0392b);
|
||||
background: linear-gradient(90deg, #5d0000, #c0392b);
|
||||
}
|
||||
|
||||
#header .logo {
|
||||
|
|
@ -155,8 +156,9 @@ h1, h2, h3, h4, h5, h6,
|
|||
transition: color var(--transition-fast);
|
||||
}
|
||||
.breadcrumb-item a:hover { color: var(--color-primary); }
|
||||
.breadcrumb-item.active { color: var(--color-primary); font-weight: 600; }
|
||||
.breadcrumb-item.active { color: var(--color-primary); }
|
||||
.breadcrumb-item + .breadcrumb-item::before { color: var(--border-medium); }
|
||||
#descriptionVue{color:#212E53 !important; font-weight: bold;}
|
||||
|
||||
/* Header Nav Icons */
|
||||
#header .header-nav .nav-link {
|
||||
|
|
@ -273,15 +275,16 @@ h1, h2, h3, h4, h5, h6,
|
|||
overflow-x: hidden;
|
||||
transition: width var(--transition-slow);
|
||||
z-index: 900;
|
||||
padding: 12px 8px;
|
||||
padding: 8px 4px;
|
||||
}
|
||||
|
||||
/* Liseré supérieur discret — gris clair */
|
||||
#sidebar::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0; left: 0; right: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, var(--color-accent), var(--color-primary-light));
|
||||
background: linear-gradient(90deg, #4c566a, #7b8a99);
|
||||
}
|
||||
|
||||
/* Sidebar Nav */
|
||||
|
|
@ -333,8 +336,9 @@ h1, h2, h3, h4, h5, h6,
|
|||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Active item : blanc brillant */
|
||||
.sidebar-nav > .nav-item > .nav-link span.active-main {
|
||||
color: var(--color-accent);
|
||||
color: var(--text-primary);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
|
@ -345,7 +349,6 @@ h1, h2, h3, h4, h5, h6,
|
|||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Rotates chevron when open */
|
||||
.sidebar-nav > .nav-item > .nav-link[aria-expanded="true"] .bi-chevron-down {
|
||||
transform: rotate(180deg);
|
||||
opacity: 1;
|
||||
|
|
@ -356,7 +359,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
list-style: none;
|
||||
padding: 4px 0 4px 32px;
|
||||
margin: 0;
|
||||
background: rgba(0,0,0,0.15);
|
||||
background: rgba(0,0,0,0.18);
|
||||
border-radius: var(--radius-sm);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
|
@ -378,19 +381,20 @@ h1, h2, h3, h4, h5, h6,
|
|||
.sidebar-nav .nav-content li a:hover {
|
||||
color: white;
|
||||
background: rgba(255,255,255,0.07);
|
||||
border-left-color: var(--color-accent);
|
||||
border-left-color: rgba(255,255,255,0.5);
|
||||
padding-left: 14px;
|
||||
}
|
||||
|
||||
/* Sous-menu actif : fond blanc translucide + bordure blanche */
|
||||
.sidebar-nav .nav-content li a.active-submenu {
|
||||
color: var(--color-accent);
|
||||
background: rgba(10,191,124,0.12);
|
||||
border-left-color: var(--color-accent);
|
||||
color: #ffffff;
|
||||
background: rgba(255,255,255,0.12);
|
||||
border-left-color: #ffffff;
|
||||
font-weight: 600;
|
||||
padding-left: 14px;
|
||||
padding-left: 10px;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* Active indicator dot */
|
||||
.sidebar-nav .nav-content li a.active-submenu::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
|
|
@ -400,7 +404,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
width: 5px;
|
||||
height: 5px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent);
|
||||
background: rgba(255,255,255,0.8);
|
||||
}
|
||||
|
||||
/* Separator label */
|
||||
|
|
@ -410,11 +414,39 @@ h1, h2, h3, h4, h5, h6,
|
|||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
color: rgba(255,255,255,0.28);
|
||||
padding: 12px 10px 4px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.sidebar-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding: 15px;
|
||||
border-top: 1px solid var(--border-light);
|
||||
background: var(--bg-sidebar); /* Garde la couleur de ta sidebar */
|
||||
}
|
||||
|
||||
.version-info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 0.7rem;
|
||||
color: rgba(255, 255, 255, 0.4); /* Très discret sur fond sombre */
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.version-tag {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* ==============================
|
||||
MAIN CONTENT
|
||||
============================== */
|
||||
|
|
@ -441,7 +473,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
background: var(--bg-surface);
|
||||
border-radius: var(--radius-md);
|
||||
box-shadow: var(--shadow-xs);
|
||||
margin: 0 16px 16px;
|
||||
margin: 0 1px 16px;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
.scrollmenu::-webkit-scrollbar { display: none; }
|
||||
|
|
@ -462,7 +494,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
.scrollmenu a:hover {
|
||||
background: var(--color-primary-ghost);
|
||||
color: var(--color-primary);
|
||||
border-color: rgba(26,107,74,0.2);
|
||||
border-color: rgba(46,52,64,0.15);
|
||||
}
|
||||
|
||||
.scrollmenu a.active {
|
||||
|
|
@ -473,7 +505,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
|
||||
/* Page content wrapper */
|
||||
.page-content {
|
||||
padding: 0 16px;
|
||||
padding: 26px 0px;
|
||||
}
|
||||
|
||||
/* Fixed header within main */
|
||||
|
|
@ -482,17 +514,15 @@ h1, h2, h3, h4, h5, h6,
|
|||
top: var(--header-height);
|
||||
z-index: 500;
|
||||
background: var(--bg-base);
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
/* Section */
|
||||
.section { padding: 0; }
|
||||
|
||||
/* ==============================
|
||||
CONTEXT DRAWER (Barre Latérale D)
|
||||
============================== */
|
||||
|
||||
/* Trigger button */
|
||||
/* Trigger button — gris charcoal */
|
||||
.btn-info-context {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
|
@ -560,7 +590,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
margin-bottom: 16px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.btn-cacher-contexte:hover { background: var(--color-primary); }
|
||||
.btn-cacher-contexte:hover { background: var(--color-primary-light); }
|
||||
|
||||
/* Context Cards */
|
||||
.context-card {
|
||||
|
|
@ -584,7 +614,8 @@ h1, h2, h3, h4, h5, h6,
|
|||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.context-card-label i { color: var(--color-primary); }
|
||||
/* Icône label — gris moyen */
|
||||
.context-card-label i { color: var(--color-primary-light); }
|
||||
|
||||
.context-card-label a {
|
||||
color: var(--color-primary);
|
||||
|
|
@ -619,7 +650,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
border-color: var(--color-primary-light);
|
||||
color: var(--color-primary);
|
||||
}
|
||||
.context-btn i { color: var(--color-primary); flex-shrink: 0; }
|
||||
.context-btn i { color: var(--color-primary-light); flex-shrink: 0; }
|
||||
|
||||
.context-btn.btn-primary-context {
|
||||
background: var(--color-primary);
|
||||
|
|
@ -672,7 +703,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
gap: 6px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.recent-policies-title i { color: var(--color-primary); }
|
||||
.recent-policies-title i { color: var(--color-primary-light); }
|
||||
|
||||
.policy-item {
|
||||
padding: 7px 10px;
|
||||
|
|
@ -692,7 +723,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
.policy-item:hover {
|
||||
background: var(--color-primary-ghost);
|
||||
color: var(--color-primary);
|
||||
border-color: rgba(26,107,74,0.2);
|
||||
border-color: rgba(46,52,64,0.18);
|
||||
padding-left: 14px;
|
||||
}
|
||||
|
||||
|
|
@ -737,7 +768,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
|
||||
/* Devis mode banner */
|
||||
.mode-devis-banner {
|
||||
background: linear-gradient(135deg, #7209b7, #f72585);
|
||||
background: linear-gradient(135deg, #3a3a4a, #55556a);
|
||||
color: white;
|
||||
text-align: center;
|
||||
font-family: 'Syne', sans-serif;
|
||||
|
|
@ -772,6 +803,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
--bs-table-striped-color: var(--text-primary) !important;
|
||||
}
|
||||
|
||||
/* En-tête : charcoal sombre */
|
||||
.table thead tr {
|
||||
background: var(--color-primary) !important;
|
||||
color: white !important;
|
||||
|
|
@ -813,8 +845,9 @@ h1, h2, h3, h4, h5, h6,
|
|||
background: var(--color-primary-ghost) !important;
|
||||
font-style: normal !important;
|
||||
}
|
||||
/* Bordure gauche gris moyen au survol */
|
||||
.table tbody tr:hover td:first-child {
|
||||
border-left: 3px solid var(--color-accent);
|
||||
border-left: 3px solid var(--color-primary-light);
|
||||
}
|
||||
|
||||
/* Status Badges */
|
||||
|
|
@ -836,11 +869,11 @@ h1, h2, h3, h4, h5, h6,
|
|||
border-radius: 50%;
|
||||
background: currentColor;
|
||||
}
|
||||
.badge-valide { background: rgba(46,196,182,0.12); color: var(--color-success); }
|
||||
.badge-urgent { background: rgba(230,57,70,0.12); color: var(--color-urgent); }
|
||||
.badge-attente { background: rgba(244,162,97,0.12); color: var(--color-warning); }
|
||||
.badge-info { background: rgba(58,134,255,0.12); color: var(--color-info); }
|
||||
.badge-inactive { background: rgba(108,117,125,0.12); color: var(--color-neutral); }
|
||||
.badge-valide { background: rgba(39,174,96,0.10); color: #1e8449; }
|
||||
.badge-urgent { background: rgba(192,57,43,0.10); color: var(--color-urgent); }
|
||||
.badge-attente { background: rgba(230,126,34,0.10); color: #b9720a; }
|
||||
.badge-info { background: rgba(41,128,185,0.10); color: #1a6898; }
|
||||
.badge-inactive { background: rgba(127,140,141,0.10); color: var(--color-neutral); }
|
||||
|
||||
/* ==============================
|
||||
CARDS
|
||||
|
|
@ -879,14 +912,15 @@ h1, h2, h3, h4, h5, h6,
|
|||
gap: 6px;
|
||||
}
|
||||
|
||||
/* Bouton primaire : charcoal */
|
||||
.btn-primary {
|
||||
background: var(--color-primary) !important;
|
||||
color: white !important;
|
||||
box-shadow: 0 2px 8px rgba(26,107,74,0.3);
|
||||
box-shadow: 0 2px 8px rgba(30,34,40,.22);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: var(--color-primary-light) !important;
|
||||
box-shadow: 0 4px 16px rgba(26,107,74,0.4);
|
||||
box-shadow: 0 4px 16px rgba(30,34,40,.30);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
|
|
@ -895,7 +929,7 @@ h1, h2, h3, h4, h5, h6,
|
|||
color: white !important;
|
||||
}
|
||||
.btn-info:hover {
|
||||
background: #2563eb !important;
|
||||
background: #1f6fa0 !important;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
|
|
@ -930,13 +964,13 @@ h1, h2, h3, h4, h5, h6,
|
|||
}
|
||||
.form-control:focus, .form-select:focus {
|
||||
border-color: var(--color-primary-light);
|
||||
box-shadow: 0 0 0 3px rgba(26,107,74,0.1);
|
||||
box-shadow: 0 0 0 3px rgba(46,52,64,0.10);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
td input[readonly], td select[readonly],
|
||||
td input[disabled], td select[disabled] {
|
||||
background: #f1f5f9 !important;
|
||||
background: #f1f4f6 !important;
|
||||
font-weight: 600;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
|
@ -967,6 +1001,7 @@ fieldset legend, form legend {
|
|||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Header modal : charcoal */
|
||||
.modal-header {
|
||||
background: var(--color-primary) !important;
|
||||
color: white !important;
|
||||
|
|
@ -981,16 +1016,16 @@ fieldset legend, form legend {
|
|||
}
|
||||
|
||||
.modal-header .close, .modal-header .btn-close {
|
||||
background: rgba(255,255,255,0.2) !important;
|
||||
background: rgba(255,255,255,0.18) !important;
|
||||
color: white !important;
|
||||
border: 1px solid rgba(255,255,255,0.3) !important;
|
||||
border: 1px solid rgba(255,255,255,0.28) !important;
|
||||
border-radius: var(--radius-sm);
|
||||
opacity: 1;
|
||||
transition: background var(--transition-fast);
|
||||
font-size: 0.75rem;
|
||||
padding: 4px 10px;
|
||||
}
|
||||
.modal-header .close:hover { background: rgba(255,255,255,0.35) !important; }
|
||||
.modal-header .close:hover { background: rgba(255,255,255,0.32) !important; }
|
||||
|
||||
.modal-body { padding: 20px; }
|
||||
|
||||
|
|
@ -1000,7 +1035,7 @@ fieldset legend, form legend {
|
|||
gap: 8px;
|
||||
}
|
||||
|
||||
/* Side Panel Modal (optional modern variant) */
|
||||
/* Side Panel Modal */
|
||||
.modal.side-panel .modal-dialog {
|
||||
position: fixed;
|
||||
top: 0; right: 0;
|
||||
|
|
@ -1034,6 +1069,7 @@ fieldset legend, form legend {
|
|||
color: var(--color-primary);
|
||||
background: var(--color-primary-ghost);
|
||||
}
|
||||
/* Onglet actif : charcoal */
|
||||
.nav-tabs .nav-item.show .nav-link,
|
||||
.nav-tabs .nav-link.active {
|
||||
background: var(--color-primary) !important;
|
||||
|
|
@ -1052,13 +1088,13 @@ fieldset legend, form legend {
|
|||
font-size: 0.82rem;
|
||||
border-left: 4px solid;
|
||||
}
|
||||
.alert-success { border-color: var(--color-success); background: rgba(46,196,182,0.1); }
|
||||
.alert-danger { border-color: var(--color-urgent); background: rgba(230,57,70,0.1); }
|
||||
.alert-warning { border-color: var(--color-warning); background: rgba(244,162,97,0.1); }
|
||||
.alert-info { border-color: var(--color-info); background: rgba(58,134,255,0.1); }
|
||||
.alert-success { border-color: var(--color-success); background: rgba(39,174,96,0.08); }
|
||||
.alert-danger { border-color: var(--color-urgent); background: rgba(192,57,43,0.08); }
|
||||
.alert-warning { border-color: var(--color-warning); background: rgba(230,126,34,0.08); }
|
||||
.alert-info { border-color: var(--color-info); background: rgba(41,128,185,0.08); }
|
||||
|
||||
/* ==============================
|
||||
FOOTER (inside context bar)
|
||||
FOOTER
|
||||
============================== */
|
||||
footer { background: transparent !important; color: var(--text-muted) !important; font-size: 0.7rem; }
|
||||
|
||||
|
|
@ -1081,7 +1117,7 @@ footer { background: transparent !important; color: var(--text-muted) !important
|
|||
|
||||
/* Skeleton Loader */
|
||||
.skeleton {
|
||||
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
||||
background: linear-gradient(90deg, #ebebeb 25%, #dcdcdc 50%, #ebebeb 75%);
|
||||
background-size: 200% 100%;
|
||||
animation: skeleton-loading 1.5s infinite;
|
||||
border-radius: var(--radius-sm);
|
||||
|
|
@ -1111,18 +1147,18 @@ footer { background: transparent !important; color: var(--text-muted) !important
|
|||
|
||||
/* Pulse animation for notifications */
|
||||
@keyframes pulse-badge {
|
||||
0%, 100% { box-shadow: 0 0 0 0 rgba(230,57,70,0.4); }
|
||||
50% { box-shadow: 0 0 0 5px rgba(230,57,70,0); }
|
||||
0%, 100% { box-shadow: 0 0 0 0 rgba(192,57,43,0.4); }
|
||||
50% { box-shadow: 0 0 0 5px rgba(192,57,43,0); }
|
||||
}
|
||||
.badge-number { animation: pulse-badge 2s infinite; }
|
||||
.badge-number { animation: pulse-badge 2s infinite; color:#fff;}
|
||||
|
||||
/* Mode Test Banner */
|
||||
.mode-test-active #header {
|
||||
background: linear-gradient(90deg, #7b2d00, #c0392b) !important;
|
||||
background: linear-gradient(90deg, #5d0000, #c0392b) !important;
|
||||
}
|
||||
.mode-test-banner {
|
||||
background: repeating-linear-gradient(
|
||||
45deg, #ffd700, #ffd700 10px, #000 10px, #000 20px
|
||||
45deg, #cccccc, #cccccc 10px, #333333 10px, #333333 20px
|
||||
);
|
||||
color: white;
|
||||
text-align: center;
|
||||
|
|
@ -1134,7 +1170,7 @@ footer { background: transparent !important; color: var(--text-muted) !important
|
|||
|
||||
/* Filter option */
|
||||
.filter-option-inner-inner {
|
||||
background-color: #f1f5f9 !important;
|
||||
background-color: #f1f4f6 !important;
|
||||
}
|
||||
|
||||
/* h6 links in context */
|
||||
|
|
@ -1142,7 +1178,7 @@ h6 a {
|
|||
text-decoration: none;
|
||||
color: var(--color-primary);
|
||||
font-weight: 600;
|
||||
border-bottom: 1px dashed var(--color-primary);
|
||||
border-bottom: 1px dashed var(--color-primary-light);
|
||||
transition: all var(--transition-fast);
|
||||
}
|
||||
h6 a:hover {
|
||||
|
|
@ -1162,7 +1198,7 @@ h6 a:hover {
|
|||
padding: 8px;
|
||||
}
|
||||
|
||||
/* .sr-only (keep accessible but hidden visually) */
|
||||
/* .sr-only */
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px; height: 1px;
|
||||
|
|
@ -1173,6 +1209,10 @@ h6 a:hover {
|
|||
border-width: 0;
|
||||
}
|
||||
|
||||
/* ==============================
|
||||
SCROLLBAR hover — gris neutre */
|
||||
::-webkit-scrollbar-thumb:hover { background: var(--color-primary-light); }
|
||||
|
||||
/* ==============================
|
||||
RESPONSIVE
|
||||
============================== */
|
||||
|
|
@ -1180,5 +1220,205 @@ h6 a:hover {
|
|||
#sidebar { width: var(--sidebar-width); }
|
||||
#barre_laterale_d { width: 100% !important; }
|
||||
.scrollmenu { margin: 0 8px 8px; }
|
||||
.page-content { padding: 0 8px; }
|
||||
.page-content { padding: 18px 0px; }
|
||||
}
|
||||
|
||||
/* --- COMPOSANTS GLOBAUX --- */
|
||||
.required::after { content: " *"; color: var(--color-urgent); font-weight: bold; }
|
||||
.bg-warning-ghost { background: rgba(243, 156, 18, 0.12); }
|
||||
.bg-primary-ghost { background: rgba(33, 46, 83, 0.05); }
|
||||
|
||||
/* ============================================================
|
||||
BOOTSTRAP-SELECT : CORRECTIF FINAL SANS LARGEUR FORCÉE
|
||||
============================================================ */
|
||||
|
||||
/* 1. DISPARITION TOTALE DU SELECT NATIF
|
||||
On utilise opacity et position pour le rendre invisible sans casser
|
||||
le fonctionnement du plugin, tout en évitant le doublon visuel. */
|
||||
select.selectpicker,
|
||||
select[class*="selectpicker"],
|
||||
.bootstrap-select > select.bs-select-hidden {
|
||||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
opacity: 0 !important;
|
||||
position: absolute !important;
|
||||
z-index: -1 !important;
|
||||
}
|
||||
|
||||
/* 2. STYLE DU BOUTON (L'interface visible)
|
||||
On retire le "width: 100%" pour laisser le bouton s'adapter à son contenu
|
||||
ou à sa colonne parente naturelle. */
|
||||
.btn-form-select {
|
||||
background-color: #ffffff !important;
|
||||
border: 1px solid #e2e8f0 !important;
|
||||
color: var(--color-primary) !important;
|
||||
font-size: 0.82rem !important;
|
||||
padding: 0.5rem 0.75rem !important;
|
||||
border-radius: var(--radius-sm) !important;
|
||||
display: inline-flex !important; /* Permet au bouton de ne pas prendre toute la largeur */
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
min-width: 200px; /* Optionnel : définit une largeur minimale raisonnable */
|
||||
}
|
||||
|
||||
/* 3. NETTOYAGE DE L'ÉLÉMENT INTERNE (Ce que vous avez vu à l'image)
|
||||
On s'assure qu'il n'y a pas de background ou de bordure parasite */
|
||||
.bootstrap-select .filter-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.filter-option-inner-inner {
|
||||
background-color: transparent !important;
|
||||
padding: 0 !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
/* 4. LE MENU DÉROULANT
|
||||
On le laisse s'adapter à la largeur du bouton parent */
|
||||
.bootstrap-select .dropdown-menu {
|
||||
border: 1px solid #e2e8f0;
|
||||
box-shadow: var(--shadow-lg);
|
||||
border-radius: var(--radius-md);
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
|
||||
/* 5. ZONE DE RECHERCHE */
|
||||
.bootstrap-select .bs-searchbox .form-control {
|
||||
border: 1px solid #ced4da !important;
|
||||
font-size: 0.8rem !important;
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
/* --- Style spécifique aux onglets de paramètres --- */
|
||||
|
||||
/* On cible les ID des conteneurs pour isoler le style */
|
||||
#Generaux, #Production, #Medical, #Prestation {
|
||||
animation: fadeIn 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
/* On cible les lignes de paramètres spécifiquement dans ces ID */
|
||||
#Generaux .table td,
|
||||
#Production .table td,
|
||||
#Medical .table td,
|
||||
#Prestation .table td {
|
||||
padding: 1.1rem 1rem;
|
||||
border-top: 1px solid #f1f4f6;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* --- THÈME NEUTRAL PRO : HAUT CONTRASTE --- */
|
||||
.text-dark { color: #1a1d24 !important; }
|
||||
.bg-success-ghost { background-color: rgba(39, 174, 96, 0.12); color: #27ae60; }
|
||||
.bg-danger-ghost { background-color: rgba(192, 57, 43, 0.12); color: #c0392b; }
|
||||
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08); color: #212e53; }
|
||||
|
||||
/* Navigation Pills Modernes */
|
||||
.nav-pills .nav-link { color: #64748b; padding: 10px 20px; transition: 0.3s; border: none; background: none; }
|
||||
.nav-pills .nav-link.active { background-color: #212e53 !important; color: white !important; box-shadow: var(--shadow-md); }
|
||||
|
||||
/* Tableaux et Cards */
|
||||
.table td { padding: 1.2rem 1rem !important; border-top: 1px solid #f1f4f6 !important; font-size:0.95rem !important;}
|
||||
.table-hover tbody tr:hover { background-color: #f8fafc; cursor: pointer; }
|
||||
|
||||
.bg-light-info { background-color: rgba(33, 46, 83, 0.02); }
|
||||
.bg-light-success { background-color: rgba(39, 174, 96, 0.02); }
|
||||
|
||||
.fs-5 { font-size: 1.15rem !important; }
|
||||
|
||||
.searchable-row:hover { background-color: #f8fafc !important; }
|
||||
|
||||
|
||||
/* ============================================================
|
||||
DESIGN SYSTEM - PAGE PARAMÈTRES (NEUTRAL PRO)
|
||||
============================================================ */
|
||||
|
||||
/* Conteneurs de sections (Onglets) */
|
||||
.tab-custom-content {
|
||||
animation: fadeIn 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
/* Style des Cartes (Sections) */
|
||||
.tab-custom-content .card {
|
||||
border-radius: var(--radius-md);
|
||||
overflow: hidden;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
/* En-têtes de tableaux/sections */
|
||||
.tab-custom-content .card-header {
|
||||
padding: 0.75rem 1.25rem;
|
||||
}
|
||||
|
||||
.tab-custom-content .card-header h6 {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.85rem;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
/* Tableaux de paramètres */
|
||||
.tab-custom-content .table td {
|
||||
padding: 1.1rem 1rem;
|
||||
border-top: 1px solid #f1f4f6;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Libellés de paramètres (Haut Contraste) */
|
||||
.tab-custom-content .text-dark {
|
||||
color: #1a1d24 !important; /* Noir profond */
|
||||
font-weight: 700 !important; /* Gras pour la lisibilité */
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
/* Valeurs (Colonne de droite) */
|
||||
.tab-custom-content .valeur-display {
|
||||
text-align: center;
|
||||
border-left: 1px solid #f1f4f6;
|
||||
background-color: rgba(248, 250, 252, 0.5);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* BADGES "GHOST" (Sémantique des couleurs) */
|
||||
.badge-ghost {
|
||||
padding: 0.5rem 0.8rem;
|
||||
border-radius: 50px;
|
||||
font-weight: 700;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
@keyframes fadeIn {
|
||||
from { opacity: 0; transform: translateY(5px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
|
||||
/* Optionnel : Réduire légèrement l'entête lors du scroll (via JS si besoin) */
|
||||
#titre-page {
|
||||
color: var(--color-primary);
|
||||
letter-spacing: -0.5px;
|
||||
font-family: 'DM Sans', sans-serif; /* Ou votre police SaaS */
|
||||
}
|
||||
|
||||
/* ENTÊTE FIXE "STICKY" */
|
||||
.header-section {
|
||||
position: -webkit-sticky; /* Pour Safari */
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1050; /* Doit être supérieur aux cartes et tableaux */
|
||||
background-color: rgba(244, 247, 250, 0.8); /* Couleur de fond de votre page avec transparence */
|
||||
backdrop-filter: blur(10px); /* Effet de flou moderne */
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
margin-bottom: 0.5rem !important;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
/* On s'assure que la carte à l'intérieur de la section fixe garde son ombre */
|
||||
.header-section > div {
|
||||
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08) !important;
|
||||
}
|
||||
|
||||
/* Ajustement des icônes pour plus de finesse */
|
||||
.icon-shape {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ controlerPlafondBeneficiaire : <?= $_SESSION['controlerPlafondBeneficiaire'] ?>
|
|||
<script src="Js/datepicker-fr.js"></script>
|
||||
<?php endif; ?>
|
||||
|
||||
<script src="Js/fonctions.js?ver=2021.10.25.08"></script>
|
||||
<script src="Js/fonctions.js?ver=2021.10.25.09"></script>
|
||||
|
||||
<script src="<?= $_SESSION['dossierSociete'].'/Js/societe.js' ?>"></script>
|
||||
|
||||
|
|
|
|||
|
|
@ -46023,20 +46023,7 @@ $(function(){
|
|||
// Initialiser Select2
|
||||
$('.js-example-basic-single').select2();
|
||||
|
||||
// Initialiser Bootstrap Select avec vérification
|
||||
if (typeof $.fn.selectpicker !== 'undefined') {
|
||||
$('.selectpicker').selectpicker();
|
||||
} else {
|
||||
console.warn("Bootstrap Select n'est pas disponible. Assurez-vous que bootstrap-select.min.js est chargé.");
|
||||
// Fallback: transformer les select en select2
|
||||
$('.selectpicker').each(function() {
|
||||
if (!$(this).hasClass('select2-hidden-accessible')) {
|
||||
$(this).select2({
|
||||
theme: 'bootstrap-5'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
initSelectPicker();
|
||||
|
||||
// Rafraîchir les notifications toutes les 2 secondes
|
||||
setInterval(raffraichier_gabarit, 2000);
|
||||
|
|
@ -46174,6 +46161,24 @@ $(function(){
|
|||
document.getElementById('Production').style.display="none";
|
||||
document.getElementById('Medical').style.display="none";
|
||||
document.getElementById('Prestation').style.display="none";
|
||||
|
||||
// SYSTÈME DE RECHERCHE DYNAMIQUE
|
||||
$("#globalSearch").on("keyup", function() {
|
||||
var value = $(this).val().toLowerCase();
|
||||
$(".searchable-row").filter(function() {
|
||||
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
|
||||
});
|
||||
});
|
||||
|
||||
// Gestion visuelle des boutons nav-link
|
||||
const navButtons = document.querySelectorAll('.nav-pills .nav-link');
|
||||
navButtons.forEach(btn => {
|
||||
btn.addEventListener('click', function() {
|
||||
navButtons.forEach(b => b.classList.remove('active'));
|
||||
this.classList.add('active');
|
||||
});
|
||||
});
|
||||
|
||||
}else if($('#nomForm').val()=="listebareme"){
|
||||
codeGcAssureur = $("#codeGcAssureur").val();
|
||||
codeProduit = $("#codeProduit").val();
|
||||
|
|
@ -74780,8 +74785,7 @@ function liste_villes()
|
|||
},
|
||||
success: function(data) {
|
||||
$("#div_ville").html(data);
|
||||
$("#ville" ).selectpicker();
|
||||
|
||||
ui_refresh_select("#ville");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -84315,16 +84319,6 @@ function alertvip(codeReponse, medical, idDemandederogation)
|
|||
}
|
||||
|
||||
|
||||
function retour_modifierparametre()
|
||||
{
|
||||
codeProfil = $('#codeProfil_C').val();
|
||||
|
||||
if(codeProfil=="SUPADM"){
|
||||
window.location.assign($("#racineWeb" ).val()+"Listecentregestion/");
|
||||
}else{
|
||||
window.location.assign($("#racineWeb" ).val()+"Parametresgeneraux/");
|
||||
}
|
||||
}
|
||||
|
||||
function listeenteteententeprealables() {
|
||||
codePrestataire = $("#codePrestataire").val();
|
||||
|
|
@ -91564,4 +91558,37 @@ function init_revoquer_htagcarte(idHtagcarte) {
|
|||
$("#idHtagcarte").val(idHtagcarte);
|
||||
$("#div_revoquer_carte").modal({backdrop: 'static', keyboard: false, show: true });
|
||||
$("#div_revoquer_carte").modal("show");
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation globale au chargement
|
||||
*/
|
||||
function initSelectPicker() {
|
||||
// Appel direct de la fonction générique sur la classe
|
||||
ui_refresh_select('.selectpicker');
|
||||
}
|
||||
|
||||
/**
|
||||
* Rafraîchit un SelectPicker de manière propre
|
||||
*/
|
||||
function ui_refresh_select(selector) {
|
||||
let $el = $(selector);
|
||||
if ($el.length === 0) return;
|
||||
|
||||
// Détection de la langue pour les textes
|
||||
let codeLangue = $("#codeLangue").val();
|
||||
let placeholder = (codeLangue === "en_US") ? 'Search...' : 'Rechercher...';
|
||||
let noneText = (codeLangue === "en_US") ? 'Nothing selected' : 'Rien de sélectionné';
|
||||
|
||||
if (typeof $.fn.selectpicker !== 'undefined') {
|
||||
// La séquence 'destroy' puis initialisation est cruciale contre le doublon
|
||||
$el.selectpicker('destroy').selectpicker({
|
||||
style: 'btn-form-select',
|
||||
liveSearch: true,
|
||||
liveSearchPlaceholder: placeholder,
|
||||
noneSelectedText: noneText,
|
||||
width: 'auto', // Laisse le plugin décider de la largeur selon le contenu
|
||||
container: false // Garde le menu dans son parent direct
|
||||
});
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,335 +1,221 @@
|
|||
<?php $this->titre = "INTER SANTE - Modifier Paramètres Généraux de la Production"; ?>
|
||||
<?php //$this->titre = "INTER SANTE - " . _("Modifier Paramètres Production"); ?>
|
||||
|
||||
<script type="text/javascript">
|
||||
<div class="page-content">
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>">
|
||||
|
||||
<div class="header-section">
|
||||
<div class="d-flex flex-column flex-md-row align-items-md-center justify-content-between bg-white p-3 border-start border-warning border-4" style="border-radius: var(--radius-md);">
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-warning-ghost text-warning rounded-circle me-3" style="width: 45px; height: 45px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-edit fs-5"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Modifier Règles Métier") ?></h4>
|
||||
<p class="text-muted small mb-0"><?= _("Production & Comptabilité") ?></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="position-relative mx-md-3 mt-3 mt-md-0" style="min-width: 250px; flex-grow: 1; max-width: 400px;">
|
||||
<i class="fas fa-search position-absolute top-50 start-0 translate-middle-y ms-3 text-muted"></i>
|
||||
<input type="text" id="globalSearch" class="form-control ps-5 border-2 rounded-pill shadow-none" placeholder="<?= _('Filtrer les paramètres...') ?>">
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2 mt-3 mt-md-0">
|
||||
<button class="btn btn-outline-secondary btn-sm px-3 fw-bold" onclick="javascript:afficher_autres_parametresgeneraux();">
|
||||
<i class="fas fa-undo me-2"></i><?= _("Annuler") ?>
|
||||
</button>
|
||||
<button class="btn btn-primary btn-sm px-3 fw-bold shadow-sm" id="btn_enreg" onclick="javascript:enregistrer_modif_parametres_prod();">
|
||||
<i class="fas fa-save me-2"></i><?= _("Enregistrer") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="formModifProd">
|
||||
|
||||
<div class="card border-0 shadow-sm mb-4">
|
||||
<div class="card-header bg-primary py-3 d-flex align-items-center justify-content-between">
|
||||
<h6 class="mb-0 text-white fw-bold text-uppercase"><i class="fas fa-industry me-2"></i><?= _("Paramètres de Production") ?></h6>
|
||||
<span class="badge bg-white text-primary rounded-pill"><?= _("13 Paramètres") ?></span>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th width="5%" class="text-center border-0 small text-muted">#</th>
|
||||
<th class="border-0 small text-muted"><?= _("Désignation du paramètre") ?></th>
|
||||
<th width="18%" class="text-center border-0 small text-muted"><?= _("Ancienne Valeur") ?></th>
|
||||
<th width="22%" class="text-center border-0 small text-muted"><?= _("Nouvelle Valeur") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost">01</span></td>
|
||||
<td class="text-muted fw-bold"><?= _("Quote-part du centre de gestion par prime encaissée.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= $this->nettoyer($societeuser['tauxHonoraires']) ?> %</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="tauxHonoraires" name="tauxHonoraires" type="text" value="<?= $this->nettoyer($societeuser['tauxHonoraires']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['tauxHonoraires']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning">%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost">02</span></td>
|
||||
<td class="text-muted fw-bold small"><?= _("Seuil maximum du ratio S/P (spMax) appliqué au taux d'ajustement.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= $this->nettoyer($societeuser['spMax']) ?> %</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="spMax" name="spMax" type="text" value="<?= $this->nettoyer($societeuser['spMax']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['spMax']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning">%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$cartes = [
|
||||
['03', _("Frais d'émission de carte pour un nouvel assuré."), 'fraisCarteAN'],
|
||||
['04', _("Frais de carte au renouvellement."), 'fraisCarteREN'],
|
||||
['05', _("Frais de duplicata de carte (perte ou dommage)."), 'fraisCarteImp']
|
||||
];
|
||||
foreach($cartes as $c): ?>
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost"><?= $c[0] ?></span></td>
|
||||
<td class="text-muted fw-bold"><?= $c[1] ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= format_N($this->nettoyer($societeuser[$c[2]])) ?> <?= $_SESSION['devise_C'] ?></td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="<?= $c[2] ?>" name="<?= $c[2] ?>" type="text" value="<?= $this->nettoyer($societeuser[$c[2]]) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser[$c[2]]) ?>);">
|
||||
<span class="input-group-text bg-white border-warning"><?= $_SESSION['devise_C'] ?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost">06</span></td>
|
||||
<td class="text-muted fw-bold small"><?= _("Ratio S/P marquant une famille en surconsommation.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= $this->nettoyer($societeuser['spAlertAdherent']) ?> %</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="spAlertAdherent" name="spAlertAdherent" type="text" value="<?= $this->nettoyer($societeuser['spAlertAdherent']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['spAlertAdherent']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning">%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost">07</span></td>
|
||||
<td class="text-muted fw-bold small"><?= _("Taux appliqué à la prime non acquise lors d'un retrait.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= $this->nettoyer($societeuser['tauxRistourne']) ?> %</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="tauxRistourne" name="tauxRistourne" type="text" value="<?= $this->nettoyer($societeuser['tauxRistourne']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['tauxRistourne']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning">%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost">08</span></td>
|
||||
<td class="text-muted fw-bold small"><?= _("Seuil S/P annulant la ristourne au retrait de l'assuré.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= $this->nettoyer($societeuser['seuilRistourne']) ?> %</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="seuilRistourne" name="seuilRistourne" type="text" value="<?= $this->nettoyer($societeuser['seuilRistourne']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['seuilRistourne']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning">%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$selects = [
|
||||
['09', _("Archiver automatiquement les primes à l'incorporation."), 'archivageAutomatiquePrime', $archiveautoouinon],
|
||||
['10', _("Notifier l'assuré de son numéro de carte."), 'notificationSmsNumeroAssure', $notificationSmsNumeroAssureouinon],
|
||||
['11', _("Notifier l'assuré principal des numéros de carte de sa famille."), 'notificationGroupeNumeroAssure', $notificationGroupeNumeroAssureouinon],
|
||||
['12', _("Activer la facturation par produit pour garant."), 'parametresFacturationGarantProduit', $parametresFacturationGarantProduitouinon],
|
||||
['13', _("Autoriser l'upload de photo sur le portail assuré."), 'assureAjoutPhoto', $assureAjoutPhotoOuinon]
|
||||
];
|
||||
foreach($selects as $s): ?>
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-primary-ghost"><?= $s[0] ?></span></td>
|
||||
<td class="text-muted fw-bold"><?= $s[1] ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= ($societeuser[$s[2]] == "1") ? _("Oui") : _("Non") ?></td>
|
||||
<td>
|
||||
<select class="form-select form-select-sm fw-bold border-warning" id="<?= $s[2] ?>" name="<?= $s[2] ?>">
|
||||
<?php liste_options($s[3], $this->nettoyer($societeuser[$s[2]]), true); ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border-0 shadow-sm mb-5">
|
||||
<div class="card-header bg-success py-3 d-flex align-items-center justify-content-between">
|
||||
<h6 class="mb-0 text-white fw-bold text-uppercase"><i class="fas fa-calculator me-2"></i><?= _("Paramètres Comptables") ?></h6>
|
||||
<span class="badge bg-white text-success rounded-pill"><?= _("02 Paramètres") ?></span>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<tbody>
|
||||
<tr class="searchable-row">
|
||||
<td width="5%" class="text-center"><span class="badge-ghost bg-success-ghost">01</span></td>
|
||||
<td class="text-muted fw-bold"><?= _("Tolérance d'écart à l'encaissement des primes garants.") ?></td>
|
||||
<td width="18%" class="text-center bg-light text-muted fw-bold"><?= format_N($this->nettoyer($societeuser['EcartEncaissementTolerable'])) ?> <?= $_SESSION['devise_C'] ?></td>
|
||||
<td width="22%">
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control text-center fw-bold border-warning" id="ecartEncaissementTolerable" name="ecartEncaissementTolerable" type="text" value="<?= $this->nettoyer($societeuser['EcartEncaissementTolerable']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['EcartEncaissementTolerable']) ?>);">
|
||||
<span class="input-group-text bg-white border-warning"><?= $_SESSION['devise_C'] ?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="searchable-row">
|
||||
<td class="text-center"><span class="badge-ghost bg-success-ghost">02</span></td>
|
||||
<td class="text-muted fw-bold"><?= _("Activer le lettrage automatique des primes garants.") ?></td>
|
||||
<td class="text-center bg-light text-muted fw-bold"><?= ($societeuser['lettrageAutoGarant'] == "1") ? _("Oui") : _("Non") ?></td>
|
||||
<td>
|
||||
<select class="form-select form-select-sm fw-bold border-warning" id="lettrageAutoGarant" name="lettrageAutoGarant">
|
||||
<?php liste_options($lettrageAutoGarantouinon, $this->nettoyer($societeuser['lettrageAutoGarant']), true); ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// RECHERCHE RAPIDE EN JAVASCRIPT PUR (SANS JQUERY)
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const searchInput = document.getElementById('globalSearch');
|
||||
|
||||
if (searchInput) {
|
||||
searchInput.addEventListener('keyup', function() {
|
||||
const filter = this.value.toLowerCase();
|
||||
const rows = document.querySelectorAll('.searchable-row');
|
||||
|
||||
rows.forEach(row => {
|
||||
const text = row.textContent.toLowerCase();
|
||||
// Si le texte correspond, on affiche la ligne, sinon on la cache
|
||||
row.style.display = text.includes(filter) ? "" : "none";
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>" >
|
||||
|
||||
<legend > <?= _("MODIFIER PARAMETRES SYSTEME DE PRODUCTION ET DE COMPTABILITE") ?> </legend>
|
||||
|
||||
<table class="table table-striped table-bordered table-hover table-condensed table-responsive" style='font-size:11pt;'>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2" style="text-align: center; font-weight: bold; background-color:#696969; color:#fff;" height="25"><?= _("Paramètres") ?></th>
|
||||
<th width="14%" style="text-align: center; font-weight: bold; background-color:#696969; color:#fff;" height="25"> <?= _("Ancienne Valeur") ?> </th>
|
||||
<th width="14%" style="text-align: center; font-weight: bold; background-color:#696969; color:#fff;" height="25"> <?= _("Nouvelle Valeur") ?> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr style="background-color: #ffefd5;">
|
||||
<td height="30" colspan="4" style='font-weight: bold; text-align: center; font-size:11pt;'> <?= _("PRODUCTION") ?> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">01 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Taux des honoraires ou des commissions du gestionnaire sur chaque prime.") ?>
|
||||
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=$this->nettoyer($societeuser['tauxHonoraires']) . " % "?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="tauxHonoraires" NAME="tauxHonoraires" TYPE="text" value="<?= $this->nettoyer($societeuser['tauxHonoraires']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['tauxHonoraires']) ?>);"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">02 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Rapport Sinistres/Primes au-delà duquel les lignes s'affichent en rouge dans les états statistiques. Il est utilisé pour le calcul du taux d'ajustement lors du renouvellement => Nouvelle Prime = ((Ancienne Prime * S/P) / spMax ). Ce qui veut dire que la S/P ne devrait pas dépasser ce rapport spMax") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=$this->nettoyer($societeuser['spMax']) . " % "?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="spMax" NAME="spMax" TYPE="text" value="<?= $this->nettoyer($societeuser['spMax']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['spMax']) ?>);"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">03 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Le coût d'une nouvelle carte (assuré entrant)") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=format_N($this->nettoyer($societeuser['fraisCarteAN'])) . " " . $_SESSION['devise_C']?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="fraisCarteAN" NAME="fraisCarteAN" TYPE="text" value="<?= $this->nettoyer($societeuser['fraisCarteAN']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['fraisCarteAN']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">04 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Le coût d'une carte pour un renouvellement (assuré déjà dans le portefeuille)") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=format_N($this->nettoyer($societeuser['fraisCarteREN'])) . " " . $_SESSION['devise_C']?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="fraisCarteREN" NAME="fraisCarteREN" TYPE="text" value="<?= $this->nettoyer($societeuser['fraisCarteREN']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['fraisCarteREN']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">05 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Le coût pour ré-imprimer une carte existante (perdue, abîmée, etc.)") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=format_N($this->nettoyer($societeuser['fraisCarteImp'])) . " " . $_SESSION['devise_C']?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="fraisCarteImp" NAME="fraisCarteImp" TYPE="text" value="<?= $this->nettoyer($societeuser['fraisCarteImp']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['fraisCarteImp']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">06 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Rapport Sinistres/Primes au délà duquel une famille est marquée comme à consommation trop élevée") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=$this->nettoyer($societeuser['spAlertAdherent']) . " % "?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="spAlertAdherent" NAME="spAlertAdherent" TYPE="text" value="<?= $this->nettoyer($societeuser['spAlertAdherent']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['spAlertAdherent']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">07 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Taux à appliquer à la prime non acquise en cas de retrait d'un assuré afin d'avoir la prime à ristourner. Exemple, pour une prime non acquise de 100 000, on retournera 75 000 si tauxRistourne = 75%") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=$this->nettoyer($societeuser['tauxRistourne']) . " % "?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="tauxRistourne" NAME="tauxRistourne" TYPE="text" value="<?= $this->nettoyer($societeuser['tauxRistourne']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['tauxRistourne']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">08 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Rapport Sinistres/Primes au dela duquel, il n'y aura plus de ristourne en cas de retrait d'un assuré. Exemple si le seuil est de 65% et que le S/P de la police est de 55%, on aura une retourne en cas de retrait. Par contre, dès que le S/P de la police atteindra 65%, tous les futurs retraits se feront sans ristourne") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=$this->nettoyer($societeuser['seuilRistourne']) . " % " ?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="seuilRistourne" NAME="seuilRistourne" TYPE="text" value="<?= $this->nettoyer($societeuser['seuilRistourne']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['seuilRistourne']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">09 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Permettre l'archivage automatique des primes?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['archivageAutomatiquePrime']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="archivageAutomatiquePrime" NAME="archivageAutomatiquePrime" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($archiveautoouinon, $this->nettoyer($societeuser['archivageAutomatiquePrime']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">10 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Le bénéficiaire reçoit-il son numéro d'assuré par SMS, WhatsApp et/ou Mail ?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['notificationSmsNumeroAssure']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="notificationSmsNumeroAssure" NAME="notificationSmsNumeroAssure" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($notificationSmsNumeroAssureouinon, $this->nettoyer($societeuser['notificationSmsNumeroAssure']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">11 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("L'assuré principal reçoit en groupe, les numéros d'assurés de tous les membres de sa famille, par SMS, WhatsApp et/ou E-Mail ?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['notificationGroupeNumeroAssure']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="notificationGroupeNumeroAssure" NAME="notificationGroupeNumeroAssure" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($notificationGroupeNumeroAssureouinon, $this->nettoyer($societeuser['notificationGroupeNumeroAssure']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">12 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Activer le paramétrage de la facturation d'un garant par produit ?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['parametresFacturationGarantProduit']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="parametresFacturationGarantProduit" NAME="parametresFacturationGarantProduit" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($parametresFacturationGarantProduitouinon, $this->nettoyer($societeuser['parametresFacturationGarantProduit']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-primary">13 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Permettre aux adhérents d'ajouter les photos de leurs familles au niveau du portail assuré ?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['assureAjoutPhoto']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="assureAjoutPhoto" NAME="assureAjoutPhoto" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($assureAjoutPhotoOuinon, $this->nettoyer($societeuser['assureAjoutPhoto']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr style="background-color: #ffefd5;">
|
||||
<td height="30" colspan="4" style='font-weight: bold; text-align: center; font-size:11pt;'> <?= _("COMPTABILITE") ?> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-success">01 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("La valeur de l'écart toléré lorsqu'un encaissement de prime ou de facture garant est fait") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;"> <?=format_N($this->nettoyer($societeuser['EcartEncaissementTolerable'])) . " " . $_SESSION['devise_C']?> </td>
|
||||
|
||||
<td> <INPUT style='font-size:10pt; text-align:center;' class="form-control" id="ecartEncaissementTolerable" NAME="ecartEncaissementTolerable" TYPE="text" value="<?= $this->nettoyer($societeuser['EcartEncaissementTolerable']) ?>" onBlur="javascript:controle_numerique_new(this.id, <?= $this->nettoyer($societeuser['EcartEncaissementTolerable']) ?>);" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr height="50">
|
||||
<td style='text-align:center;' width="5%" class=" text-success">02 <i class='bx bxs-right-arrow'></td>
|
||||
<td class=" text-dark">
|
||||
<?= _("Le lettrage des encaissements garants se fait-il automatiquement ?") ?>
|
||||
</td>
|
||||
|
||||
<td style="text-align: center; background-color:#dcdcdc;">
|
||||
<?php if ($societeuser['lettrageAutoGarant']=="1"): ?>
|
||||
<?= _("Oui") ?>
|
||||
<?php else: ?>
|
||||
<?= _("Non") ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<select class="form-select" id="lettrageAutoGarant" NAME="lettrageAutoGarant" style='font-size:10pt; text-align:center;' >
|
||||
<?php liste_options($lettrageAutoGarantouinon, $this->nettoyer($societeuser['lettrageAutoGarant']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="5"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2"> <input id="btn_enreg" name="btn_enreg" class = "form-control btn btn-primary" type="button" value="<?= _("Enregistrer") ?>" onClick="javascript:enregistrer_modif_parametres_prod();" style='font-size:10pt;' > </td>
|
||||
|
||||
<td colspan="2"> <input class = "form-control btn btn-warning" type="button" value="<?= _("Annuler") ?>" onClick="javascript:afficher_autres_parametresgeneraux();" style='font-size:10pt;' > </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<style>
|
||||
/* Style spécifique Mode Édition */
|
||||
#globalSearch:focus { border-color: #f39c12; box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.15); }
|
||||
.form-control:focus, .form-select:focus { border-color: #f39c12 !important; box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.1) !important; }
|
||||
.table td { border-bottom: 1px solid #f1f4f6 !important; padding-top: 0.8rem; padding-bottom: 0.8rem; }
|
||||
</style>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,188 +1,197 @@
|
|||
<?php
|
||||
$this->titre = "INTER SANTE - Paramètres Généraux";
|
||||
$codeLangueSociete = $this->nettoyer($societeuser['codeLangueSociete']);
|
||||
//$this->titre = "INTER SANTE - Paramètres Généraux";
|
||||
$codeLangueSociete = $this->nettoyer($societeuser['codeLangueSociete']);
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
<div class="page-content">
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>">
|
||||
|
||||
</script>
|
||||
<div class="header-section mb-3 sticky-top" style="z-index: 1020; top: 0px;">
|
||||
<div class="d-flex align-items-center justify-content-between bg-white p-3 shadow-sm border-start border-warning border-4" style="border-radius: var(--radius-md);">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-warning-ghost text-warning rounded-circle me-3" style="width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-edit fs-4"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Modifer Configuration Globale") ?></h4>
|
||||
<div class="d-flex align-items-center text-secondary small">
|
||||
<span class="badge bg-warning text-white me-2 fw-bold text-uppercase" style="font-size: 0.6rem;"><?= _("Mode Édition") ?></span>
|
||||
<?= _("Ajustez les paramètres opérationnels du centre de gestion") ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex gap-2">
|
||||
<button class="btn btn-outline-secondary btn-sm px-3 fw-bold border-2" onclick="afficher_parametresgeneraux();">
|
||||
<i class="fas fa-times me-2"></i><?= _("Annuler") ?>
|
||||
</button>
|
||||
<button class="btn btn-primary btn-sm px-4 fw-bold shadow-sm" id="btn_enreg" onclick="enregistrer_modif_parametresgeneraux();">
|
||||
<i class="fas fa-save me-2"></i><?= _("Enregistrer") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="formParametres" class="mt-2">
|
||||
<div class="row g-4">
|
||||
|
||||
<div class="col-xl-7">
|
||||
<div class="card border-0 shadow-sm h-100">
|
||||
<div class="card-header bg-white py-3 border-bottom border-light">
|
||||
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-fingerprint me-2"></i><?= _("Identité Institutionnelle") ?></h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Code Interne") ?></label>
|
||||
<input class="form-control bg-light border-0 fw-bold text-primary" type="text" value="<?=$this->nettoyer($societeuser['codeSociete'])?>" readonly>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label small fw-bold text-dark required"><?= _("Type de Structure") ?></label>
|
||||
<select class="selectpicker w-100" data-live-search="true" id="codeTypeSociete" name="codeTypeSociete" required>
|
||||
<?php liste_options($typeSociete, $this->nettoyer($societeuser['typeSociete'])); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<label class="form-label small fw-bold text-dark required"><?= _("Nom Complet") ?></label>
|
||||
<input class="form-control fw-bold text-dark" type="text" id="nomCentreGestion" name="nomCentreGestion" value="<?=$this->nettoyer($societeuser['nomSociete'])?>" required>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Sigle / Label") ?></label>
|
||||
<input class="form-control" type="text" id="sigleSociete" name="sigleSociete" value="<?=$this->nettoyer($societeuser['sigleSociete'])?>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Directeur / Responsable") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-light text-muted border-end-0"><i class="fas fa-user-tie"></i></span>
|
||||
<input class="form-control border-start-0" type="text" id="nomResponsable" name="nomResponsable" value="<?=$this->nettoyer($societeuser['nomResponsable'])?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>" >
|
||||
<div class="mt-4 p-3 rounded-3 bg-primary-ghost border border-white">
|
||||
<h6 class="small fw-bold text-primary text-uppercase mb-3" style="letter-spacing: 0.5px;"><?= _("Localisation du Siège") ?></h6>
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark required"><?= _("Pays") ?></label>
|
||||
<select onchange="liste_villes();" class="selectpicker w-100" data-live-search="true" id="codePays" name="codePays" required>
|
||||
<?php liste_options($pays, $this->nettoyer($societeuser['codePays'])); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark required"><?= _("Ville") ?></label>
|
||||
<div id="div_ville">
|
||||
<select class="selectpicker w-100" data-live-search="true" id="ville" name="ville" required>
|
||||
<?php liste_options($villes, $this->nettoyer($societeuser['ville'])); ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Adresse Géographique") ?></label>
|
||||
<input class="form-control" type="text" id="adresseGeoSociete" name="adresseGeoSociete" value="<?=$this->nettoyer($societeuser['adresseGeoSociete'])?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<legend > <?= _("Modifier Paramètres Système du Centre de Gestion") ?> </legend>
|
||||
<div class="col-xl-5">
|
||||
<div class="card border-0 shadow-sm mb-4">
|
||||
<div class="card-header bg-white py-3 border-bottom border-light">
|
||||
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-address-book me-2"></i><?= _("Canaux de Contact") ?></h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Tél. Fixe") ?></label>
|
||||
<input class="form-control" type="text" id="telephoneSociete" name="telephoneSociete" value="<?=$this->nettoyer($societeuser['telephoneSociete'])?>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Tél. Mobile") ?></label>
|
||||
<input class="form-control fw-bold" type="text" id="portable" name="portable" value="<?=$this->nettoyer($societeuser['portable'])?>">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label class="form-label small fw-bold text-dark required"><?= _("E-mail Officiel") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-light border-end-0 text-muted"><i class="fas fa-envelope"></i></span>
|
||||
<input class="form-control border-start-0" type="email" id="emailSociete" name="emailSociete" value="<?=$this->nettoyer($societeuser['emailSociete'])?>" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="table table-responsive table-condensed" style='font-size:9pt;'>
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td width="13%" class="required">Code</td>
|
||||
<td width="10%"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="codeSociete" NAME="codeSociete" value="<?=$this->nettoyer($societeuser['codeSociete'])?>" readonly></td>
|
||||
|
||||
<td width="12%" align="center" class="required"> <?= _("Type") ?> </td>
|
||||
<td >
|
||||
<select class="form-control selectpicker" data-live-search="true" id="codeTypeSociete" NAME="codeTypeSociete" required AUTOCOMPLETE="OFF">
|
||||
<?php liste_options($typeSociete, $this->nettoyer($societeuser['typeSociete'])); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
|
||||
<td width="14%" align="center" class="required"> <?= _("Nom") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt; text-transform: uppercase;' class="form-control" TYPE="text" id="nomCentreGestion" NAME="nomCentreGestion" value="<?=$this->nettoyer($societeuser['nomSociete'])?>" required AUTOCOMPLETE="OFF" ></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" ><?= _("Adresse Géographique") ?></td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="adresseGeoSociete" NAME="adresseGeoSociete" value="<?=$this->nettoyer($societeuser['adresseGeoSociete'])?>"></td>
|
||||
<div class="card border-0 shadow-sm" style="background: #fcfdfe;">
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Langue Système") ?></label>
|
||||
<select class="form-select border-2" id="codeLangueUser" name="codeLangueUser">
|
||||
<?php liste_options($langue, $codeLangueSociete, true); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Journalisation") ?></label>
|
||||
<select class="form-select border-2" id="activerLogVisitePages" name="activerLogVisitePages">
|
||||
<?php liste_options($visitePage, $this->nettoyer($societeuser['activerLogVisitePages']), true); ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td width="10%" align="center"> <?= _("Adresse Postale") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="adressePostSociete" NAME="adressePostSociete" value="<?=$this->nettoyer($societeuser['adressePostSociete'])?>"></td>
|
||||
|
||||
</tr>
|
||||
<div class="col-12 mb-5">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white py-3 border-bottom border-light">
|
||||
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-microchip me-2"></i><?= _("Configuration des Passerelles (Notifications)") ?></h6>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
<div class="row g-3 mb-4 p-3 border rounded-3" style="border-style: dashed !important; border-color: #f39c12 !important; background-color: rgba(243, 156, 18, 0.02);">
|
||||
<div class="col-md-2">
|
||||
<label class="form-label small fw-bold text-warning text-uppercase" style="font-size: 0.65rem;"><?= _("Seuil Alerte Conso") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control fw-bold border-warning" type="number" id="alertLimiteConsommation" name="alertLimiteConsommation" value="<?=$this->nettoyer($societeuser['alertLimiteConsommation'])?>">
|
||||
<span class="input-group-text bg-warning text-white border-warning">%</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<label class="form-label small fw-bold text-dark"><?= _("Email de Notification (Alerte Consommation)") ?></label>
|
||||
<input class="form-control border-warning" type="email" id="emailAlertLimiteConsommation" name="emailAlertLimiteConsommation" value="<?=$this->nettoyer($societeuser['emailAlertLimiteConsommation'])?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<tr>
|
||||
<td class="required"> <?= _("Pays") ?> </td>
|
||||
<td colspan="3">
|
||||
<SELECT onChange="liste_villes();" class="form-control selectpicker" data-live-search="true" id="codePays" NAME="codePays" required AUTOCOMPLETE="OFF">
|
||||
<?php liste_options($pays, $this->nettoyer($societeuser['codePays'])); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
|
||||
<td align="center" class="required"> <?= _("Ville") ?> </td>
|
||||
<td colspan="3">
|
||||
<div id="div_ville">
|
||||
<select class="form-control selectpicker" data-live-search="true" id="ville" NAME="ville" required AUTOCOMPLETE="OFF">
|
||||
<?php liste_options($villes, $this->nettoyer($societeuser['ville'])); ?>
|
||||
</SELECT>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td > <?= _("Téléphone Fixe") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="telephoneSociete" NAME="telephoneSociete" value="<?=$this->nettoyer($societeuser['telephoneSociete'])?>" ></td>
|
||||
|
||||
<td align="center"> Fax </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="faxSociete" NAME="faxSociete" value="<?=$this->nettoyer($societeuser['faxSociete'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Téléphone Mobile") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="portable" NAME="portable" value="<?=$this->nettoyer($societeuser['portable'])?>" ></td>
|
||||
|
||||
<td class="required" align="center"> <?= _("E-mail Centre Gestion") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailSociete" NAME="emailSociete" value="<?=$this->nettoyer($societeuser['emailSociete'])?>" required AUTOCOMPLETE="OFF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td > <?= _("Responsable") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="nomResponsable" NAME="nomResponsable" value="<?=$this->nettoyer($societeuser['nomResponsable'])?>" ></td>
|
||||
|
||||
<td align="center"> <?= _("Sigle") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="sigleSociete" NAME="sigleSociete" value="<?=$this->nettoyer($societeuser['sigleSociete'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Médécin Conseil") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailMedecinConseil" NAME="emailMedecinConseil" value="<?=$this->nettoyer($societeuser['emailMedecinConseil'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Bons") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailGestionBon" NAME="emailGestionBon" value="<?=$this->nettoyer($societeuser['emailGestionBon'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Comptabilité") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailCcomptabilite" NAME="emailCcomptabilite" value="<?=$this->nettoyer($societeuser['emailCcomptabilite'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Dérogation") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailDerogation" NAME="emailDerogation" value="<?=$this->nettoyer($societeuser['emailDerogation'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Accord") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailAccordPrealable" NAME="emailAccordPrealable" value="<?=$this->nettoyer($societeuser['emailAccordPrealable'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Fraude") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailFraudeFinger" NAME="emailFraudeFinger" value="<?=$this->nettoyer($societeuser['emailFraudeFinger'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail RD") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailRd" NAME="emailRd" value="<?=$this->nettoyer($societeuser['emailRd'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td > <?= _("Code Préfixe Police") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="codePrefixePolice" NAME="codePrefixePolice" value="<?=$this->nettoyer($societeuser['codePrefixePolice'])?>"></td>
|
||||
|
||||
<td align="center"> <?= _("SMS RD") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsRd" NAME="smsRd" value="<?=$this->nettoyer($societeuser['smsRd'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("SMS Médécin Conseil") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsMedecinConseil" NAME="smsMedecinConseil" value="<?=$this->nettoyer($societeuser['smsMedecinConseil'])?>" ></td>
|
||||
|
||||
<td align="center"> <?= _("SMS Bons") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsGestionBon" NAME="smsGestionBon" value="<?=$this->nettoyer($societeuser['smsGestionBon'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("SMS Dérogation") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsDerogation" NAME="smsDerogation" value="<?=$this->nettoyer($societeuser['smsDerogation'])?>" ></td>
|
||||
|
||||
<td align="center"> <?= _("SMS Accord") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsAccordPrealable" NAME="smsAccordPrealable" value="<?=$this->nettoyer($societeuser['smsAccordPrealable'])?>" ></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Activer Logs Visite Page?") ?> </td>
|
||||
<td>
|
||||
<SELECT style="font-size:9pt;" class="form-select" id="activerLogVisitePages" NAME="activerLogVisitePages" >
|
||||
<?php liste_options($visitePage, $this->nettoyer($societeuser['activerLogVisitePages']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
|
||||
<td align="center"> <?= _("Taux Alerte Limite Conso (%)") ?> </td>
|
||||
<td>
|
||||
<INPUT style='font-size:9pt;' class="form-control" TYPE="number" id="alertLimiteConsommation" NAME="alertLimiteConsommation" value="<?=$this->nettoyer($societeuser['alertLimiteConsommation'])?>" >
|
||||
</td>
|
||||
|
||||
<td align="center"> <?= _("E-mail Alerte Limite Conso") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailAlertLimiteConsommation" NAME="emailAlertLimiteConsommation" value="<?=$this->nettoyer($societeuser['emailAlertLimiteConsommation'])?>"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Langue") ?> </td>
|
||||
<td>
|
||||
<SELECT style="font-size:9pt;" class="form-select" id="codeLangueUser" NAME="codeLangueUser" >
|
||||
<?php liste_options($langue, $codeLangueSociete, true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
|
||||
<td align="center"> <?= _("Indicatif Téléphone") ?> </td>
|
||||
<td><INPUT class="form-control" style='font-size:9pt;' TYPE="text" id="indicatifTelephone" NAME="indicatifTelephone" value="<?=$this->nettoyer($societeuser['indicatifTelephone'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("Taux Alerte S/P (%)") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="number" id="spMax" NAME="spMax" value="<?=$this->nettoyer($societeuser['spMax'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("Carte AFN") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="fraisCarteAN" NAME="fraisCarteAN" value="<?=format_N($this->nettoyer($societeuser['fraisCarteAN']))?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="3"> <input id="btn_enreg" name="btn_enreg" class = "form-control btn btn-primary" type="button" value="<?= _("Enregistrer") ?>" onClick="javascript:enregistrer_modif_parametresgeneraux();" style='font-size:9pt;' > </td>
|
||||
|
||||
<td> </td>
|
||||
<td colspan="3"> <input class = "form-control btn btn-warning" type="button" value="<?= _("Annuler") ?>" onClick="javascript:afficher_parametresgeneraux();" style='font-size:9pt;' > </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row g-3">
|
||||
<?php
|
||||
$emails = [
|
||||
['id' => 'emailMedecinConseil', 'label' => 'Médécin Conseil', 'icon' => 'fa-user-md', 'sms' => 'smsMedecinConseil'],
|
||||
['id' => 'emailGestionBon', 'label' => 'Gestion des Bons', 'icon' => 'fa-ticket-alt', 'sms' => 'smsGestionBon'],
|
||||
['id' => 'emailCcomptabilite', 'label' => 'Comptabilité', 'icon' => 'fa-calculator', 'sms' => null],
|
||||
['id' => 'emailDerogation', 'label' => 'Dérogation', 'icon' => 'fa-exclamation-circle', 'sms' => 'smsDerogation'],
|
||||
['id' => 'emailAccordPrealable', 'label' => 'Accord Préalable', 'icon' => 'fa-check-double', 'sms' => 'smsAccordPrealable'],
|
||||
['id' => 'emailFraudeFinger', 'label' => 'Fraude & Biométrie', 'icon' => 'fa-fingerprint', 'sms' => null],
|
||||
['id' => 'emailRd', 'label' => 'Remboursement (RD)', 'icon' => 'fa-hand-holding-usd', 'sms' => 'smsRd'],
|
||||
];
|
||||
foreach($emails as $e): ?>
|
||||
<div class="col-md-6 col-lg-4 col-xl-3">
|
||||
<div class="p-3 border rounded-3 bg-white h-100 shadow-xs hover-shadow-sm transition-all">
|
||||
<label class="form-label small fw-bold text-primary mb-2">
|
||||
<i class="fas <?= $e['icon'] ?> me-2 opacity-50"></i><?= _($e['label']) ?>
|
||||
</label>
|
||||
<input class="form-control form-control-sm mb-2" type="email" id="<?= $e['id'] ?>" name="<?= $e['id'] ?>" value="<?=$this->nettoyer($societeuser[$e['id']])?>" placeholder="Email...">
|
||||
<?php if($e['sms']): ?>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-light text-muted fw-bold" style="font-size: 0.6rem;">SMS</span>
|
||||
<input class="form-control" type="text" id="<?= $e['sms'] ?>" name="<?= $e['sms'] ?>" value="<?=$this->nettoyer($societeuser[$e['sms']])?>">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,152 +1,256 @@
|
|||
<?php $this->titre = "INTER SANTE - Paramètres Généraux"; ?>
|
||||
|
||||
<script type="text/javascript">
|
||||
<div class="page-content">
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>">
|
||||
|
||||
</script>
|
||||
<div class="header-section mb-4">
|
||||
<div class="d-flex align-items-center justify-content-between bg-white p-3 shadow-sm border-start border-primary border-4" style="border-radius: var(--radius-md);">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-primary-ghost text-primary rounded-circle me-3" style="width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-sliders-h fs-4"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Configuration Globale") ?></h4>
|
||||
<p class="text-muted small mb-0"><?= _("Profil institutionnel et passerelles de communication du centre") ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-end d-none d-md-block">
|
||||
<span class="badge bg-light text-dark border px-3 py-2 fw-bold" style="border-radius: var(--radius-sm);">
|
||||
<i class="fas fa-globe me-2 text-primary"></i><?= $this->nettoyer($_SESSION['libelleLang']) ?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>" >
|
||||
<div class="row g-4">
|
||||
|
||||
<div class="col-xl-7">
|
||||
<div class="card border-0 shadow-sm h-100" style="border-radius: var(--radius-md);">
|
||||
<div class="card-header bg-transparent border-0 pt-4 px-4">
|
||||
<h6 class="fw-bold mb-0 text-uppercase small text-dark" style="letter-spacing: 1px;">
|
||||
<i class="fas fa-id-badge me-2 text-primary"></i><?= _("Profil Institutionnel") ?>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small text-dark fw-bold"><?= _("Code") ?></label>
|
||||
<div class="p-2 bg-light border rounded text-center fw-bold text-primary"><?= $this->nettoyer($societeuser['codeSociete']) ?></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-dark fw-bold"><?= _("Dénomination") ?></label>
|
||||
<input class="form-control border-0 bg-light" type="text" value="<?=$this->nettoyer($societeuser['nomSociete'])?>" readonly>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small text-dark fw-bold"><?= _("Sigle") ?></label>
|
||||
<input class="form-control border-0 bg-light" type="text" value="<?=$this->nettoyer($societeuser['sigleSociete'])?>" readonly>
|
||||
</div>
|
||||
|
||||
<legend > <?= _("Paramètres système du centre de gestion") ?> </legend>
|
||||
<div class="col-12 mt-4">
|
||||
<div class="row g-3 p-3 rounded" style="background-color: #f8f9fa;">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-dark"><i class="fas fa-map-marker-alt me-1"></i> <?= _("Siège Social") ?></label>
|
||||
<textarea class="form-control form-control-sm border-0 bg-white" rows="2" readonly><?=$this->nettoyer($societeuser['adresseGeoSociete'])?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-dark"><i class="fas fa-box me-1"></i> <?= _("Boite Postale") ?></label>
|
||||
<textarea class="form-control form-control-sm border-0 bg-white" rows="2" readonly><?=$this->nettoyer($societeuser['adressePostSociete'])?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-dark"><?= _("Ville") ?></label>
|
||||
<input class="form-control form-control-sm border-0 bg-white" type="text" value="<?=$this->nettoyer($societeuser['ville'])?>" readonly>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-dark"><?= _("Pays") ?></label>
|
||||
<input class="form-control form-control-sm border-0 bg-white fw-bold" type="text" value="<?=$societeuser['pays']?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="table table-responsive table-condensed" style='font-size:9pt;'>
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td width="10%" >Code</td>
|
||||
<td width="10%"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="codeSociete" NAME="codeSociete" value="<?=$this->nettoyer($societeuser['codeSociete'])?>" readonly></td>
|
||||
<div class="col-xl-5">
|
||||
<div class="card border-0 shadow-sm h-100" style="border-radius: var(--radius-md);">
|
||||
<div class="card-header bg-transparent border-0 pt-4 px-4 text-center">
|
||||
<div class="avatar-md mx-auto mb-3">
|
||||
<div class="rounded-circle bg-primary-ghost text-primary d-flex align-items-center justify-content-center mx-auto" style="width: 60px; height: 60px;">
|
||||
<i class="fas fa-user-tie fs-3"></i>
|
||||
</div>
|
||||
</div>
|
||||
<h6 class="fw-bold mb-1"><?= $this->nettoyer($societeuser['nomResponsable']) ?></h6>
|
||||
<p class="text-dark small"><?= _("Responsable du Centre") ?></p>
|
||||
</div>
|
||||
<div class="card-body px-4 pt-0">
|
||||
<ul class="list-group list-group-flush border-top border-light">
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center px-0 py-3 bg-transparent">
|
||||
<span class="small text-dark"><i class="fas fa-phone-alt me-2 text-primary opacity-50"></i><?= _("Standard Fixe") ?></span>
|
||||
<span class="fw-medium"><?= $this->nettoyer($societeuser['telephoneSociete']) ?></span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center px-0 py-3 bg-transparent">
|
||||
<span class="small text-dark"><i class="fas fa-mobile-alt me-2 text-primary opacity-50"></i><?= _("Ligne Directe") ?></span>
|
||||
<span class="fw-medium"><?= $this->nettoyer($societeuser['portable']) ?></span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center px-0 py-3 bg-transparent">
|
||||
<span class="small text-dark"><i class="fas fa-envelope me-2 text-primary opacity-50"></i><?= _("Email Officiel") ?></span>
|
||||
<span class="fw-medium"><?= $this->nettoyer($societeuser['emailSociete']) ?></span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center px-0 py-3 bg-transparent border-bottom-0">
|
||||
<span class="small text-dark"><i class="fas fa-fax me-2 text-primary opacity-50"></i><?= _("Fax") ?></span>
|
||||
<span class="fw-medium"><?= $this->nettoyer($societeuser['faxSociete']) ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td width="12%" align="center"> <?= _("Nom") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="nomSociete" NAME="nomSociete" value="<?=$this->nettoyer($societeuser['nomSociete'])?>" readonly></td>
|
||||
|
||||
<td width="12%" align="center" ><?= _("Adresse Géo") ?></td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="adresseGeoSociete" NAME="adresseGeoSociete" value="<?=$this->nettoyer($societeuser['adresseGeoSociete'])?>" readonly></td>
|
||||
<div class="col-12">
|
||||
<div class="card border-0 shadow-sm" style="border-radius: var(--radius-md);">
|
||||
<div class="card-header bg-white py-3 px-4 border-bottom border-light d-flex align-items-center">
|
||||
<i class="fas fa-envelope-open-text me-3 text-primary fs-5"></i>
|
||||
<div>
|
||||
<h6 class="mb-0 fw-bold"><?= _("Points de Contact par Service") ?></h6>
|
||||
<p class="mb-0 text-dark small"><?= _("Configuration des passerelles emails pour la gestion automatisée") ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
<div class="row g-4">
|
||||
<?php
|
||||
$services = [
|
||||
['l' => 'Médecin Conseil', 'v' => 'emailMedecinConseil', 'i' => 'fa-user-md', 'sms' => 'smsMedecinConseil'],
|
||||
['l' => 'Gestion des Bons', 'v' => 'emailGestionBon', 'i' => 'fa-ticket-alt', 'sms' => 'smsGestionBon'],
|
||||
['l' => 'Comptabilité', 'v' => 'emailCcomptabilite', 'i' => 'fa-calculator', 'sms' => null],
|
||||
['l' => 'Dérogation', 'v' => 'emailDerogation', 'i' => 'fa-exclamation-circle', 'sms' => 'smsDerogation'],
|
||||
['l' => 'Accord Préalable', 'v' => 'emailAccordPrealable', 'i' => 'fa-check-double', 'sms' => 'smsAccordPrealable'],
|
||||
['l' => 'Lutte Fraude', 'v' => 'emailFraudeFinger', 'i' => 'fa-fingerprint', 'sms' => null],
|
||||
['l' => 'Remboursements', 'v' => 'emailRd', 'i' => 'fa-hand-holding-usd', 'sms' => 'smsRd'],
|
||||
];
|
||||
|
||||
<td width="10%" align="center"> <?= _("Adresse Postale") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="adressePostSociete" NAME="adressePostSociete" value="<?=$this->nettoyer($societeuser['adressePostSociete'])?>" readonly></td>
|
||||
</tr>
|
||||
foreach($services as $s): ?>
|
||||
<div class="col-md-6 col-lg-4 col-xl-3">
|
||||
<div class="p-3 border rounded shadow-xs h-100 transition-base hover-shadow-sm">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<i class="fas <?= $s['i'] ?> text-primary opacity-50 me-2"></i>
|
||||
<span class="small fw-bold text-dark"><?= _($s['l']) ?></span>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="text-dark" style="font-size: 0.65rem; text-uppercase; font-weight: 700;"><?= _("Email Service") ?></label>
|
||||
<div class="small text-truncate text-primary"><?= $this->nettoyer($societeuser[$s['v']]) ?></div>
|
||||
</div>
|
||||
<?php if($s['sms']): ?>
|
||||
<div>
|
||||
<label class="text-dark" style="font-size: 0.65rem; text-uppercase; font-weight: 700;"><?= _("SMS Alertes") ?></label>
|
||||
<div class="small text-dark fw-medium"><?= $this->nettoyer($societeuser[$s['sms']]) ?></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Ville") ?> </td>
|
||||
<td>
|
||||
<select class="form-select" id="ville" NAME="ville" disabled>
|
||||
<?php liste_options($villes, $this->nettoyer($societeuser['ville'])); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
<div class="col-12 mb-5">
|
||||
<div class="card border-0 shadow-sm" style="border-radius: var(--radius-md); background: linear-gradient(to right, #ffffff, #fdfdfd);">
|
||||
<div class="card-body p-4">
|
||||
<div class="row g-4 align-items-center">
|
||||
<div class="col-md-4 border-end border-light">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-warning-ghost text-warning rounded-circle me-3" style="width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-chart-line"></i>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<label class="form-label small text-dark mb-0"><?= _("Alerte Consommation") ?></label>
|
||||
<div class="d-flex align-items-center mt-1">
|
||||
<span class="h4 mb-0 fw-bold text-dark"><?= $this->nettoyer($societeuser['alertLimiteConsommation']) ?></span>
|
||||
<span class="ms-1 text-dark fw-bold">%</span>
|
||||
<div class="ms-3 small text-dark text-truncate" style="max-width: 150px;" title="<?= $this->nettoyer($societeuser['emailAlertLimiteConsommation']) ?>">
|
||||
<i class="fas fa-paper-plane me-1"></i><?= $this->nettoyer($societeuser['emailAlertLimiteConsommation']) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td align="center"> <?= _("Téléphone") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="telephoneSociete" NAME="telephoneSociete" value="<?=$this->nettoyer($societeuser['telephoneSociete'])?>" readonly></td>
|
||||
|
||||
<td align="center"> Fax </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="faxSociete" NAME="faxSociete" value="<?=$this->nettoyer($societeuser['faxSociete'])?>" readonly></td>
|
||||
<div class="col-md-3 border-end border-light">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-danger-ghost text-danger rounded-circle me-3" style="width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label small text-dark mb-0"><?= _("Taux Alerte S/P Max") ?></label>
|
||||
<div class="h4 mb-0 fw-bold text-danger"><?= $this->nettoyer($societeuser['spMax']) ?> <small class="fs-6">%</small></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td align="center"> E-mail </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailSociete" NAME="emailSociete" value="<?=$this->nettoyer($societeuser['emailSociete'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Tél Portable") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="portable" NAME="portable" value="<?=$this->nettoyer($societeuser['portable'])?>" readonly></td>
|
||||
<div class="col-md-3 border-end border-light">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-success-ghost text-success rounded-circle me-3" style="width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-credit-card"></i>
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label small text-dark mb-0"><?= _("Tarif Carte AFN") ?></label>
|
||||
<div class="h4 mb-0 fw-bold text-dark"><?= format_N($this->nettoyer($societeuser['fraisCarteAN'])) ?> <small class="fs-6 fw-normal text-dark">FCFA</small></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td align="center"> <?= _("Responsable") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="nomResponsable" NAME="nomResponsable" value="<?=$this->nettoyer($societeuser['nomResponsable'])?>" readonly></td>
|
||||
<div class="col-md-2">
|
||||
<label class="form-label small text-dark mb-1"><?= _("Logs Visites") ?></label>
|
||||
<?php
|
||||
$logStatus = $this->nettoyer($societeuser['activerLogVisitePages']);
|
||||
$badgeClass = ($logStatus == 'OUI' || $logStatus == '1') ? 'bg-success' : 'bg-secondary';
|
||||
?>
|
||||
<div class="badge <?= $badgeClass ?> d-block py-2 rounded-pill">
|
||||
<i class="fas fa-history me-1"></i> <?= $logStatus ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<td align="center"> <?= _("Pays") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="pays" NAME="pays" value="<?=$societeuser['pays']?>" readonly></td>
|
||||
<style>
|
||||
/* --- Optimisations spécifiques Thème Modern --- */
|
||||
.page-content {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
<td align="center"> <?= _("Sigle") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="sigleSociete" NAME="sigleSociete" value="<?=$this->nettoyer($societeuser['sigleSociete'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Médecin Conseil") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailMedecinConseil" NAME="emailMedecinConseil" value="<?=$this->nettoyer($societeuser['emailMedecinConseil'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Bons") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailGestionBon" NAME="emailGestionBon" value="<?=$this->nettoyer($societeuser['emailGestionBon'])?>" readonly></td>
|
||||
</tr>
|
||||
.card {
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Comptabilité") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailCcomptabilite" NAME="emailCcomptabilite" value="<?=$this->nettoyer($societeuser['emailCcomptabilite'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Dérogation") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailDerogation" NAME="emailDerogation" value="<?=$this->nettoyer($societeuser['emailDerogation'])?>" readonly></td>
|
||||
</tr>
|
||||
.hover-shadow-sm:hover {
|
||||
box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important;
|
||||
border-color: var(--color-primary-light) !important;
|
||||
}
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Accord") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailAccordPrealable" NAME="emailAccordPrealable" value="<?=$this->nettoyer($societeuser['emailAccordPrealable'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail Fraude") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailFraudeFinger" NAME="emailFraudeFinger" value="<?=$this->nettoyer($societeuser['emailFraudeFinger'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("E-mail RD") ?> </td>
|
||||
<td colspan="7" ><INPUT style='font-size:9pt;' class="form-control" TYPE="email" id="emailRd" NAME="emailRd" value="<?=$this->nettoyer($societeuser['emailRd'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td > <?= _("Code Préfixe Police") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="codePrefixePolice" NAME="codePrefixePolice" value="<?=$this->nettoyer($societeuser['codePrefixePolice'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("SMS RD") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsRd" NAME="smsRd" value="<?=$this->nettoyer($societeuser['smsRd'])?>" readonly></td>
|
||||
</tr>
|
||||
.input-group-text {
|
||||
background-color: #f8f9fa;
|
||||
border-color: #e9ecef;
|
||||
}
|
||||
|
||||
<tr>
|
||||
<td> <?= _("SMS Méd Cons") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsMedecinConseil" NAME="smsMedecinConseil" value="<?=$this->nettoyer($societeuser['smsMedecinConseil'])?>" readonly></td>
|
||||
.form-control[readonly] {
|
||||
cursor: default;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
<td align="center"> <?= _("SMS Bons") ?> </td>
|
||||
<td colspan="3" ><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsGestionBon" NAME="smsGestionBon" value="<?=$this->nettoyer($societeuser['smsGestionBon'])?>" readonly></td>
|
||||
</tr>
|
||||
.bg-primary-ghost { background: rgba(33, 46, 83, 0.08); }
|
||||
.bg-warning-ghost { background: rgba(243, 156, 18, 0.08); }
|
||||
.bg-danger-ghost { background: rgba(192, 57, 43, 0.08); }
|
||||
.bg-success-ghost { background: rgba(39, 174, 96, 0.08); }
|
||||
|
||||
<tr>
|
||||
<td> <?= _("SMS Dérogation") ?> </td>
|
||||
<td colspan="3" > <INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsDerogation" NAME="smsDerogation" value="<?=$this->nettoyer($societeuser['smsDerogation'])?>" readonly></td>
|
||||
.icon-shape {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
<td align="center"> <?= _("SMS Accord") ?> </td>
|
||||
<td colspan="3" > <INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="smsAccordPrealable" NAME="smsAccordPrealable" value="<?=$this->nettoyer($societeuser['smsAccordPrealable'])?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Activer Logs Visite Page ?") ?> </td>
|
||||
<td>
|
||||
<SELECT style="font-size:9pt;" class="form-select" id="activerLogVisitePages" NAME="activerLogVisitePages" disabled >
|
||||
<?php liste_options($visitePage, $this->nettoyer($societeuser['activerLogVisitePages']), true); ?>
|
||||
</SELECT>
|
||||
</td>
|
||||
|
||||
<td align="center"> <?= _("Taux Alerte Limite Conso (%)") ?> </td>
|
||||
<td>
|
||||
<INPUT style='font-size:9pt;' class="form-control" TYPE="number" id="alertLimiteConsommation" NAME="alertLimiteConsommation" value="<?=$this->nettoyer($societeuser['alertLimiteConsommation'])?>" disabled>
|
||||
</td>
|
||||
|
||||
<td align="center"> <?= _("E-mail Alerte Limite Conso") ?> </td>
|
||||
<td colspan="3"><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="emailAlertLimiteConsommation" NAME="emailAlertLimiteConsommation" value="<?=$this->nettoyer($societeuser['emailAlertLimiteConsommation'])?>" disabled></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Langue") ?> </td>
|
||||
<td> <INPUT style='font-size:9pt;' class="form-control" TYPE="text" value="<?=$this->nettoyer($_SESSION['libelleLang'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("Indicatif Téléphone") ?> </td>
|
||||
<td><INPUT class="form-control" style='font-size:9pt;' TYPE="text" id="indicatifTelephone" NAME="indicatifTelephone" value="<?=$this->nettoyer($societeuser['indicatifTelephone'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("Taux Alerte S/P (%)") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="number" id="spMax" NAME="spMax" value="<?=$this->nettoyer($societeuser['spMax'])?>" readonly></td>
|
||||
|
||||
<td align="center"> <?= _("Carte AFN") ?> </td>
|
||||
<td><INPUT style='font-size:9pt;' class="form-control" TYPE="text" id="fraisCarteAN" NAME="fraisCarteAN" value="<?=format_N($this->nettoyer($societeuser['fraisCarteAN']))?>" readonly></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
/* Scroll intelligent pour la page riche */
|
||||
body {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,125 +1,162 @@
|
|||
<form id="frmrecherche" method="post" action="Recherche/index/">
|
||||
<div class="card shadow-sm mb-4">
|
||||
<div class="card-header bg-white py-3">
|
||||
<h5 class="card-title mb-0">
|
||||
<i class="fas fa-search me-2" style="color: var(--primary-color);"></i>
|
||||
<?= _("Critères de recherche de l'assuré") ?>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label"><?= _("Numéro Bénéficiaire") ?></label>
|
||||
<input type="text" class="form-control" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label"><?= _("Numéro Famille") ?></label>
|
||||
<input type="text" class="form-control" id="numeroAdherent" name="numeroAdherent">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label"><?= _("Nom") ?></label>
|
||||
<input type="text" class="form-control" id="nomBeneficiaire" name="nomBeneficiaire">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label"><?= _("Prénoms") ?></label>
|
||||
<input type="text" class="form-control" id="prenomsBeneficiaire" name="prenomsBeneficiaire">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label"><?= _("Tél.") ?></label>
|
||||
<input type="text" class="form-control" id="telephonePortable" name="telephonePortable">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" name="email">
|
||||
</div>
|
||||
<div class="col-md-12 text-end">
|
||||
<button type="submit" class="btn btn-primary px-5">
|
||||
<i class="fas fa-search me-2"></i><?= _("Rechercher") ?>
|
||||
</button>
|
||||
<?php
|
||||
// $this->titre = "INTER SANTE - "._("Rechercher assuré") ;
|
||||
?>
|
||||
|
||||
<div class="page-content">
|
||||
<form id="frmrecherche" name="frmrecherche" method="post" action="Recherche/index/">
|
||||
|
||||
<div class="header-section mb-4">
|
||||
<div class="d-flex align-items-center justify-content-between bg-white p-3 shadow-sm border-start border-primary border-4" style="border-radius: var(--radius-md);">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon-shape bg-primary-ghost text-primary rounded-circle me-3" style="width: 45px; height: 45px; display: flex; align-items: center; justify-content: center;">
|
||||
<i class="fas fa-search fs-5"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Recherche Assurés") ?></h4>
|
||||
<p class="text-secondary small mb-0"><?= _("Retrouvez un bénéficiaire par son numéro, son nom ou ses coordonnées") ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// CORRECTION : Vérifier que $derniernumerobeneficiaires est un tableau ET qu'il contient 'nouveau'
|
||||
if (isset($derniernumerobeneficiaires) && is_array($derniernumerobeneficiaires) && isset($derniernumerobeneficiaires['nouveau']) && $derniernumerobeneficiaires['nouveau'] > 0):
|
||||
?>
|
||||
<div class="alert alert-warning alert-dismissible fade show" role="alert">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i>
|
||||
<?= _("Cette carte") ?> => <?= $derniernumerobeneficiaires['ancien'] ?? '' ?>
|
||||
<?= _("a été déclarée perdue et remplacée par") ?> => <?= $derniernumerobeneficiaires['nouveau'] ?? '' ?>.
|
||||
<?= _("Veuillez ne pas le communiquer sans autorisation.") ?>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
||||
<div class="card shadow-sm border-0 mb-4" style="border-radius: var(--radius-md); background: #ffffff;">
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1"><?= _("Numéro Bénéficiaire") ?></label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text bg-light border-end-0 text-muted"><i class="fas fa-id-card small"></i></span>
|
||||
<input class="form-control border-start-0 ps-0" type="text" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus autocomplete="off" placeholder="Ex: 100234...">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1"><?= _("Numéro Famille") ?></label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text bg-light border-end-0 text-muted"><i class="fas fa-users small"></i></span>
|
||||
<input class="form-control border-start-0 ps-0" type="text" id="numeroAdherent" name="numeroAdherent" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1"><?= _("Nom") ?></label>
|
||||
<input class="form-control" type="text" id="nomBeneficiaire" name="nomBeneficiaire" placeholder="Ex: DOE" style="text-transform: uppercase;">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1"><?= _("Prénoms") ?></label>
|
||||
<input class="form-control" type="text" id="prenomsBeneficiaire" name="prenomsBeneficiaire">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1"><?= _("Téléphone") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-light border-end-0 text-muted"><i class="fas fa-phone-alt small"></i></span>
|
||||
<input class="form-control border-start-0 ps-0" type="tel" id="telephonePortable" name="telephonePortable">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<label class="form-label small fw-bold text-dark mb-1">E-mail</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-light border-end-0 text-muted"><i class="fas fa-at small"></i></span>
|
||||
<input class="form-control border-start-0 ps-0" type="email" id="email" name="email">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-lg-6 d-flex align-items-end">
|
||||
<button type="submit" id="lancerrecherche" name="lancerrecherche" class="btn btn-primary w-100 fw-bold py-2 shadow-sm transition-all" style="background-color: var(--color-primary); border: none;">
|
||||
<i class="fas fa-filter me-2"></i> <?= _("Lancer la recherche") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h5 class="mb-0"><?= _("Résultats de la recherche") ?></h5>
|
||||
<?php if (isset($beneficiaires) && is_array($beneficiaires) && count($beneficiaires) > 0): ?>
|
||||
<span class="badge bg-primary"><?= count($beneficiaires) ?> <?= _("résultat(s)") ?></span>
|
||||
<?php if (isset($derniernumerobeneficiaires) && is_array($derniernumerobeneficiaires) && $derniernumerobeneficiaires['nouveau']>0): ?>
|
||||
<div class="alert alert-custom-urgent d-flex align-items-center mb-4 p-3 shadow-sm" role="alert">
|
||||
<div class="icon-circle bg-danger text-white me-3">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="alert-heading fw-bold mb-1 text-danger"><?= _("Carte déclarée perdue") ?></h6>
|
||||
<span class="text-dark">L'ancien numéro <strong><?= $derniernumerobeneficiaires['ancien'] ?></strong> a été remplacé par <strong><?= $derniernumerobeneficiaires['nouveau'] ?></strong>.</span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if (isset($beneficiaires) && is_array($beneficiaires) && count($beneficiaires) > 0): ?>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle datatable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= _("Numéro Bénéficiaire") ?></th>
|
||||
<th><?= _("Numéro Famille") ?></th>
|
||||
<th><?= _("Nom") ?></th>
|
||||
<th><?= _("Prénoms") ?></th>
|
||||
<th><?= _("Lien") ?></th>
|
||||
<th><?= _("Naissance") ?></th>
|
||||
<th><?= _("Genre") ?></th>
|
||||
<th><?= _("Tél") ?></th>
|
||||
<th><?= _("Souscripteur") ?></th>
|
||||
<th><?= _("Etat") ?></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($beneficiaires as $beneficiaire):
|
||||
$idBeneficiaire = $this->nettoyer($beneficiaire['id'] ?? '');
|
||||
$numeroBeneficiaire = $this->nettoyer($beneficiaire['numeroBeneficiaire'] ?? '');
|
||||
?>
|
||||
<tr onclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();" style="cursor: pointer;">
|
||||
<td><span class="badge bg-light text-dark"><?= $numeroBeneficiaire ?></span></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['numeroAdherent'] ?? '') ?></td>
|
||||
<td><strong><?= $this->nettoyer($beneficiaire['nomBeneficiaire'] ?? '') ?></strong></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire'] ?? '') ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['codeLienParente'] ?? '') ?></td>
|
||||
<td><?= isset($beneficiaire['dateNaissance']) ? dateLang($this->nettoyer($beneficiaire['dateNaissance'])) : '' ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['sexe'] ?? '') ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['telephonePortable'] ?? '') ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['nomClient'] ?? '') ?></td>
|
||||
<td>
|
||||
<?php
|
||||
$etat = $this->nettoyer($beneficiaire['codeEtatBeneficiaire'] ?? '');
|
||||
$badgeClass = match($etat) {
|
||||
'ACT' => 'bg-success',
|
||||
'SUS' => 'bg-warning',
|
||||
'RAD' => 'bg-danger',
|
||||
default => 'bg-secondary'
|
||||
};
|
||||
<div class="card shadow-sm border-0 overflow-hidden" style="border-radius: var(--radius-md);">
|
||||
<div class="card-header bg-white py-3 d-flex justify-content-between align-items-center border-bottom">
|
||||
<h6 class="mb-0 fw-bold text-dark">
|
||||
<i class="fas fa-th-list me-2 text-primary"></i><?= _("Liste des assurés trouvés") ?>
|
||||
</h6>
|
||||
<?php if (isset($beneficiaires) && is_array($beneficiaires)): ?>
|
||||
<span class="badge bg-primary-ghost text-primary border-0 rounded-pill"><?= count($beneficiaires) ?> <?= _("résultats") ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="card-body p-0">
|
||||
<div class="table-responsive">
|
||||
<?php if (isset($beneficiaires) && is_array($beneficiaires) && count($beneficiaires) > 0): ?>
|
||||
<table class="table table-hover align-middle mb-0 custom-table">
|
||||
<thead class="bg-light-gray text-muted small text-uppercase">
|
||||
<tr>
|
||||
<th class="ps-4 border-0 text-center"><?= _("Matricule") ?></th>
|
||||
<th class="border-0"><?= _("Identité") ?></th>
|
||||
<th class="border-0 text-center"><?= _("Parenté") ?></th>
|
||||
<th class="border-0 text-center"><?= _("Date Naissance") ?></th>
|
||||
<th class="border-0 text-center"><?= _("Sexe") ?></th>
|
||||
<th class="border-0"><?= _("Souscripteur / Entreprise") ?></th>
|
||||
<th class="border-0 text-center pe-4"><?= _("Statut") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($beneficiaires as $beneficiaire):
|
||||
$idBeneficiaire = $this->nettoyer($beneficiaire['id']);
|
||||
$numeroBeneficiaire = $this->nettoyer($beneficiaire['numeroBeneficiaire']);
|
||||
$etatCode = $this->nettoyer($beneficiaire['codeEtatBeneficiaire']);
|
||||
$statusBadge = ($etatCode == 'ACTIF') ? 'badge-success-ghost' : 'badge-secondary-ghost';
|
||||
?>
|
||||
<span class="badge <?= $badgeClass ?>"><?= $etat ?></span>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-outline-primary" onclick="event.stopPropagation();afficher_beneficiaire(<?= $idBeneficiaire ?>)">
|
||||
<i class="fas fa-eye"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<tr class="beneficiaire-row"
|
||||
onclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');"
|
||||
ondblclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();">
|
||||
|
||||
<td class="text-center ps-4">
|
||||
<span class="fw-bold text-primary"><?= $numeroBeneficiaire ?></span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="avatar-sm bg-light text-primary rounded-circle me-2 d-flex align-items-center justify-content-center fw-bold" style="width: 32px; height: 32px; font-size: 0.7rem;">
|
||||
<?= substr($beneficiaire['nomBeneficiaire'], 0, 1) ?>
|
||||
</div>
|
||||
<div>
|
||||
<div class="fw-bold text-dark mb-0"><?= $this->nettoyer($beneficiaire['nomBeneficiaire']) ?></div>
|
||||
<div class="small text-muted"><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center small"><?= $this->nettoyer($beneficiaire['codeLienParente']) ?></td>
|
||||
<td class="text-center small"><?= dateLang($this->nettoyer($beneficiaire['dateNaissance'])) ?></td>
|
||||
<td class="text-center small"><?= ($this->nettoyer($beneficiaire['sexe']) == 'M') ? 'Masc.' : 'Fém.' ?></td>
|
||||
<td class="small text-truncate" style="max-width: 200px;"><?= $this->nettoyer($beneficiaire['nomClient']) ?></td>
|
||||
<td class="text-center pe-4">
|
||||
<span class="badge <?= $statusBadge ?> rounded-pill"><?= $etatCode ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<div class="text-center py-5">
|
||||
<div class="mb-3">
|
||||
<i class="fas fa-user-slash fa-3x text-light-gray"></i>
|
||||
</div>
|
||||
<h5 class="text-muted"><?= _("Aucun résultat") ?></h5>
|
||||
<p class="small text-muted px-4"><?= _("Assurez‑vous que vos critères de recherche sont corrects avant de lancer la recherche.") ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="text-center py-5 text-muted">
|
||||
<i class="fas fa-search fa-3x mb-3"></i>
|
||||
<p><?= _("Aucun résultat trouvé") ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
<?php
|
||||
// $this->titre = "INTER SANTE - "._("Rechercher assuré") ;
|
||||
?>
|
||||
|
||||
<form id="frmrecherche" name="frmrecherche" method="post" action="Recherche/index/">
|
||||
<fieldset>
|
||||
|
||||
<legend> <?= _("Critères de recherche de l'assuré") ?> </legend>
|
||||
|
||||
|
||||
<table class="table table-condensed table-responsive" style='font-size:8pt;'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="10%" > <?= _("Numéro Bénéficiaire") ?> </td>
|
||||
<td width="40%" ><INPUT class="form-control" TYPE="text" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus AUTOCOMPLETE="OFF"></td>
|
||||
|
||||
<td align="center" width="10%"> <?= _("Numéro Famille") ?> </td>
|
||||
<td align="center"><INPUT class="form-control" TYPE="text" id="numeroAdherent" name="numeroAdherent" AUTOCOMPLETE="OFF"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> <?= _("Nom") ?> </td>
|
||||
<td><INPUT class="form-control" TYPE="text" id="nomBeneficiaire" name="nomBeneficiaire" AUTOCOMPLETE="OFF"></td>
|
||||
|
||||
<td align="center"> <?= _("Prénoms") ?> </td>
|
||||
<td><INPUT class="form-control" TYPE="text" id="prenomsBeneficiaire" name="prenomsBeneficiaire" AUTOCOMPLETE="OFF"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tel</td>
|
||||
<td><INPUT class="form-control" TYPE="text" id="telephonePortable" NAME="telephonePortable" AUTOCOMPLETE="OFF"></td>
|
||||
|
||||
<td align="center">E-mail</td>
|
||||
<td><INPUT class="form-control" TYPE="text" id="email" NAME="email" AUTOCOMPLETE="OFF"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input id="lancerrecherche" name="lancerrecherche" class="sr-only" type="submit" value="<?= _("Rechercher") ?>" ></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</fieldset>
|
||||
<?php if (is_array($derniernumerobeneficiaires) && $derniernumerobeneficiaires['nouveau']>0): ?>
|
||||
<div class="alert alert-danger" style="height:30px; padding:5px; text-align:center; margin-bottom:5px;" >
|
||||
<H4> <?= _("Cette carte")." => ".$derniernumerobeneficiaires['ancien'] . " "._("a été déclarée perdue et remplacée par") ." => ".$derniernumerobeneficiaires['nouveau'] .". ". _("Veuillez ne pas le communiquer sans autorisation.") ?> </H4>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
|
||||
/*
|
||||
$keys = [
|
||||
'session.gc_maxlifetime',
|
||||
'session.cookie_lifetime',
|
||||
'session.cookie_secure',
|
||||
'session.cookie_httponly',
|
||||
'session.cookie_samesite',
|
||||
'session.gc_probability',
|
||||
'session.gc_divisor',
|
||||
];
|
||||
|
||||
foreach ($keys as $k) {
|
||||
echo $k . ' = ' . ini_get($k) . "<br>";
|
||||
}
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<h4> <?= _("Résultats de la recherche") ?> </h4>
|
||||
|
||||
<?php if (is_array($beneficiaires) && count($beneficiaires) > 0): ?>
|
||||
<table class="table table-striped table-bordered table-hover table-condensed table-responsive" style='font-size:8pt;'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="8%" style="text-align: center"> <?= _("Numéro Bénéficiaire") ?> </th>
|
||||
<th width="8%" style="text-align: center"> <?= _("Numéro Famille") ?> </th>
|
||||
<th width="20%" > <?= _("Nom") ?> </th>
|
||||
<th width="20%" > <?= _("Prénoms") ?> </th>
|
||||
<th style="text-align: center"> <?= _("Lien parenté") ?> </th>
|
||||
<th style="text-align: center"> <?= _("Naissance") ?> </th>
|
||||
<th style="text-align: center"><?= _("Genre") ?></th>
|
||||
<th style="text-align: center"> <?= _("Tél") ?> </th>
|
||||
<th width="20%" > <?= _("Souscripteur") ?> </th>
|
||||
<th> <?= _("Etat") ?> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($beneficiaires as $beneficiaire):
|
||||
$idBeneficiaire=$this->nettoyer($beneficiaire['id']);
|
||||
$numeroBeneficiaire=$this->nettoyer($beneficiaire['numeroBeneficiaire']);
|
||||
?>
|
||||
<tr onclick="javascript:selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');"
|
||||
ondblclick="javascript:selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();" valign="top">
|
||||
|
||||
<td align="center"> <input type="button" value="<?= $numeroBeneficiaire ?>" onClick="javascript:selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();"> </td>
|
||||
|
||||
<td align="center"> <?= $this->nettoyer($beneficiaire['numeroAdherent']) ?></td>
|
||||
|
||||
<td><?= $this->nettoyer($beneficiaire['nomBeneficiaire']) ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire']) ?></td>
|
||||
<td align="center"><?= $this->nettoyer($beneficiaire['codeLienParente']) ?></td>
|
||||
<td align="center"><?= dateLang($this->nettoyer($beneficiaire['dateNaissance'])) ?></td>
|
||||
<td align="center"><?= $this->nettoyer($beneficiaire['sexe']) ?></td>
|
||||
<td align="center"><?= $this->nettoyer($beneficiaire['telephonePortable']) ?></td>
|
||||
<td><?= $this->nettoyer($beneficiaire['nomClient']) ?></td>
|
||||
<td align="center"><?= $this->nettoyer($beneficiaire['codeEtatBeneficiaire']) ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
|
||||
</form>
|
||||
|
|
@ -74,10 +74,6 @@ $descriptionVue = $_SESSION['descriptionVue'];
|
|||
<!-- FontAwesome -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer">
|
||||
|
||||
<!-- App CSS (Bootstrap original conservé pour rétrocompatibilité) -->
|
||||
<link href="Bootstrap/css/style.css?ver=2024.03.14.05" rel="stylesheet">
|
||||
<link href="Bootstrap_new/css/style.css?ver=2025.09.10.00" rel="stylesheet">
|
||||
|
||||
<!-- DataTables custom CSS -->
|
||||
<link rel="stylesheet" href="Bootstrap_new/datatables/datatable.min.css" crossorigin="anonymous">
|
||||
|
||||
|
|
@ -85,7 +81,7 @@ $descriptionVue = $_SESSION['descriptionVue'];
|
|||
<link href="Bootstrap_new/css/theme-modern.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
|
||||
|
||||
<!-- Custom overrides -->
|
||||
<link href="Bootstrap_new/css/custom.css?ver=2025.08.22.06" rel="stylesheet">
|
||||
<link href="Bootstrap_new/css/custom.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
|
||||
|
||||
<title><?= htmlspecialchars($_SESSION['descriptionVue'] ?? '', ENT_QUOTES) ?></title>
|
||||
|
||||
|
|
@ -105,7 +101,7 @@ $descriptionVue = $_SESSION['descriptionVue'];
|
|||
</script>
|
||||
</head>
|
||||
|
||||
<body class="<?= $_SESSION['bdTests_C'] == '1' ? 'mode-test-active' : '' ?>">
|
||||
<body class="<?= ($_SESSION['bdTests_C'] == '1') ? 'mode-test-active' : '' ?> theme-outlook">
|
||||
|
||||
<?php include 'includes/header.php'; ?>
|
||||
<?php include 'includes/sidebar.php'; ?>
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
<?php
|
||||
// Versioning automatique pour le cache navigateur
|
||||
$version = date('YmdHi');
|
||||
|
||||
// $racineWeb est défini dans gabarit.php, on le garde
|
||||
// Exemple: $racineWeb = '/newdesignstationnaire/';
|
||||
?>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- On garde la balise base avec $racineWeb -->
|
||||
<base href="<?= $racineWeb ?>">
|
||||
|
||||
<!-- Favicon - chemin relatif à la base -->
|
||||
<link rel="icon" href="Bootstrap_new/images/favicon.ico"/>
|
||||
|
||||
<!-- Google Fonts : Inter -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.gstatic.com" rel="preconnect">
|
||||
|
||||
<!-- Vendor CSS Files -->
|
||||
<link href="Bootstrap/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="Bootstrap/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="Bootstrap/vendor/boxicons/css/boxicons.min.css" rel="stylesheet">
|
||||
<link href="Bootstrap_new/css/select2.min.css" rel="stylesheet">
|
||||
<link href="Bootstrap_new/select/css/bootstrap-select.min.css" rel="stylesheet">
|
||||
<link href="Bootstrap_new/datatables/datatable.min.css" rel="stylesheet">
|
||||
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.14.1/dist/sweetalert2.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome 6 -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
|
||||
|
||||
<!-- Thème principal -->
|
||||
<link href="Bootstrap_new/css/theme-modern.css?ver=<?= $version ?>" rel="stylesheet">
|
||||
|
||||
<title><?= $_SESSION['descriptionVue'] ?? 'INTER SANTE' ?></title>
|
||||
|
||||
<!-- Chart.js -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2.0.0"></script>
|
||||
|
||||
<style>
|
||||
/* Style de secours minimal en attendant le chargement du CSS */
|
||||
body {
|
||||
font-family: 'Inter', sans-serif;
|
||||
margin: 0;
|
||||
background: #f4f6f9;
|
||||
}
|
||||
.sidebar {
|
||||
width: 260px;
|
||||
background: #1a2b3c;
|
||||
color: white;
|
||||
position: fixed;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -33,15 +33,15 @@ if ($_SESSION['bdTests_C'] == '1') {
|
|||
<nav aria-label="breadcrumb" class="flex-grow-1 d-none d-md-block">
|
||||
<ol class="breadcrumb mb-0">
|
||||
<?php if (!empty($_SESSION['retourVue'])): ?>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="<?= $_SESSION['retourVue'] ?>" class="d-flex align-items-center gap-1">
|
||||
<li class="breadcrumb-item me-2">
|
||||
<a href="<?= $_SESSION['retourVue'] ?>" class="d-flex align-items-center gap-1 text-uppercase">
|
||||
<i class="fas fa-arrow-left" style="font-size:0.65rem;"></i>
|
||||
<?= htmlspecialchars($_SESSION['titreRetour'], ENT_QUOTES) ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<li class="breadcrumb-item active">
|
||||
<?= htmlspecialchars($_SESSION['descriptionVue'] ?? '', ENT_QUOTES) ?>
|
||||
<li class="breadcrumb-item">
|
||||
<span id="descriptionVue" class="active text-uppercase"><?= htmlspecialchars($_SESSION['descriptionVue'] ?? '', ENT_QUOTES) ?></span>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
// $contenu vient du contrôleur, on le garde
|
||||
if (!isset($contenu)) $contenu = '';
|
||||
?>
|
||||
|
||||
<!-- Inputs cachés essentiels -->
|
||||
<input type="hidden" id="vue" value="<?= $_SESSION['vue'] ?? '' ?>">
|
||||
<input type="hidden" id="racineWeb" value="<?= $racineWeb ?>">
|
||||
<input type="hidden" id="dureeSession" value="<?= $_SESSION['dureeSession'] ?? '' ?>">
|
||||
<input type="hidden" id="codeLangue" value="<?= $_SESSION['lang'] ?? 'fr_FR' ?>">
|
||||
|
||||
<!-- Navigation secondaire -->
|
||||
<?php if (!empty($menusvue)): ?>
|
||||
<div class="scrollmenu">
|
||||
<?php foreach ($menusvue as $menu): ?>
|
||||
<a href="<?= $menu['lienMenu'] ?>"
|
||||
class="<?= (explode('/', $menu['lienMenu'])[0] == $activeLink) ? 'active' : '' ?>">
|
||||
<?= _($menu['libeleMenu']) ?>
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- CONTENU PRINCIPAL - NE PAS MODIFIER -->
|
||||
<!-- ================================================= -->
|
||||
<div class="page-content">
|
||||
<!-- Div pour AJAX -->
|
||||
<div id="div_test_gabarit" class="d-none"></div>
|
||||
|
||||
<!-- LE CONTENU DYNAMIQUE DES PAGES -->
|
||||
<?= $contenu ?>
|
||||
|
||||
<!-- Div pour entité -->
|
||||
<div id="div_entite" class="d-none"></div>
|
||||
</div>
|
||||
|
|
@ -72,20 +72,12 @@
|
|||
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<div class="sidebar-footer">
|
||||
<div class="version-info">
|
||||
<span class="copyright text-light fw-bold">INTER SANTÉ ©</span>
|
||||
<span class="version-tag text-light fw-bold">v2026</span>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
<!-- End Sidebar -->
|
||||
|
||||
<style>
|
||||
/* Sidebar — styles inline spécifiques au composant */
|
||||
#sidebar { background: var(--bg-sidebar, #0f2d20); }
|
||||
|
||||
/* Active parent: highlight subtle */
|
||||
#sidebar .nav-link.parent-active {
|
||||
background: rgba(255,255,255,0.08);
|
||||
color: white;
|
||||
}
|
||||
#sidebar .nav-link.parent-active > i:first-child {
|
||||
color: var(--color-accent, #0abf7c);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user