diff --git a/Bootstrap_new/css/custom.css b/Bootstrap_new/css/custom.css index d7e8beba..daa9aadd 100755 --- a/Bootstrap_new/css/custom.css +++ b/Bootstrap_new/css/custom.css @@ -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{ diff --git a/Bootstrap_new/css/theme-modern.css b/Bootstrap_new/css/theme-modern.css index b695e7f5..c942aba0 100644 --- a/Bootstrap_new/css/theme-modern.css +++ b/Bootstrap_new/css/theme-modern.css @@ -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; } diff --git a/Controleur/gabarit.php b/Controleur/gabarit.php index 5a304f6c..b094d3f7 100755 --- a/Controleur/gabarit.php +++ b/Controleur/gabarit.php @@ -263,7 +263,7 @@ controlerPlafondBeneficiaire : - + diff --git a/Js/fonctions.js b/Js/fonctions.js index 9da7626d..1ea27030 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -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 + }); + } } \ No newline at end of file diff --git a/Vue/Autresparametresgeneraux/index.php b/Vue/Autresparametresgeneraux/index.php index c227c021..529b6c79 100755 --- a/Vue/Autresparametresgeneraux/index.php +++ b/Vue/Autresparametresgeneraux/index.php @@ -1,1054 +1,515 @@ -titre = "INTER SANTE - Autres Paramètres Généraux"; ?> +
+ + - +
+ + +
+
+ - - + - - +
+
+
+
+ + +
+ +
- - - - -
- - - - - - - - - - - +
+
+ + + + + + + + + + + + + + + + + +
01 + + nettoyer($societeuser['codeLangueSociete']) ?> + +
02 + nettoyer($societeuser['code_timezone_identifier']) ?> +
03 + nettoyer($societeuser['devise']) ?> +
+
+
+
+ - - - + - - 06 - - - - - nettoyer($societeuser['spAlertAdherent']) . " % "?> - + - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01 - - - - - - - -
02 - - - - - - - -
03 - - - - - - - -
04 - - - - - - - -
05 - - - - - - - -
06 - - - - - - - -
07 - - - - - - - -
08 - - nettoyer($societeuser['montantTotalExamen'])). " " . $_SESSION['devise_C'] ?>
09 - - nettoyer($societeuser['montantTotalMedicament'])). " " . $_SESSION['devise_C'] ?>
10 - - - - - - - -
11 - - nettoyer($societeuser['delaisReponseMedecinSouscripteur'])." ". _("Heure(s)") ?>
12 - - - - - - - -
13 - - nettoyer($societeuser['nombreActeEntentePrealable']) ?>
14 - - - - - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01 - - - - - - - -
02 - - nettoyer($societeuser['nbMedicamentMax']) ?>
03 - - nettoyer($societeuser['nbConsultationSpecialisteJour']) ?>
04 - - nettoyer($societeuser['ageMaxiPediatrie']) ?>
05 - - nettoyer($societeuser['nombreFeuilleGratuitJour']) ?>
06 - - - - nettoyer($societeuser['biometrieEng']) ?> - - nettoyer($societeuser['biometrie']) ?> - - -
07 - - nettoyer($societeuser['nbTentativeBiometrie']) ?>
08 - - - - - - - -
09 - - - - nettoyer($societeuser['acteConsultationGratuiteEng']) ?> - - nettoyer($societeuser['acteConsultationGratuite']) ?> - - -
10 - - nettoyer($societeuser['quantiteMedicamentPermise']) ?>
11 - - - - - - - -
12 - - - - - - - -
13 - - - - - - - -
01 - - - - - - - -
02 - - - - - - - -
03 - - nettoyer($societeuser['typeMargePrixMedicament']) ?>
04 - - - - - - - -
05 - - nettoyer($societeuser['margePrixMedicament'])). " " . $_SESSION['devise_C'] ?> nettoyer($societeuser['margePrixMedicament'])). " " . "%" ?>
06 - - - - - - - -
07 - - nettoyer($societeuser['margePrixSubstitutMedicament'])). " " . $_SESSION['devise_C'] ?> nettoyer($societeuser['margePrixSubstitutMedicament'])). " " . "%" ?>
08 - - - - - - - -
09 - - - - - - - -
01 - - - - - - - -
+
+
+
+ +
+ +
+
+ + + + + + +
01 + + + + +
+
+
+
diff --git a/Vue/Modifautresparametresprod/index.php b/Vue/Modifautresparametresprod/index.php index 1b085a16..5a08822f 100755 --- a/Vue/Modifautresparametresprod/index.php +++ b/Vue/Modifautresparametresprod/index.php @@ -1,335 +1,221 @@ -titre = "INTER SANTE - Modifier Paramètres Généraux de la Production"; ?> +titre = "INTER SANTE - " . _("Modifier Paramètres Production"); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01 - - - nettoyer($societeuser['tauxHonoraires']) . " % "?>
02 - Nouvelle Prime = ((Ancienne Prime * S/P) / spMax ). Ce qui veut dire que la S/P ne devrait pas dépasser ce rapport spMax") ?> - nettoyer($societeuser['spMax']) . " % "?>
03 - - nettoyer($societeuser['fraisCarteAN'])) . " " . $_SESSION['devise_C']?>
04 - - nettoyer($societeuser['fraisCarteREN'])) . " " . $_SESSION['devise_C']?>
05 - - nettoyer($societeuser['fraisCarteImp'])) . " " . $_SESSION['devise_C']?>
06 - - nettoyer($societeuser['spAlertAdherent']) . " % "?>
07 - - nettoyer($societeuser['tauxRistourne']) . " % "?>
08 - - nettoyer($societeuser['seuilRistourne']) . " % " ?>
09 - - - - - - - - - -
10 - - - - - - - - - -
11 - - - - - - - - - -
12 - - - - - - - - - -
13 - - - - - - - - - -
01 - - nettoyer($societeuser['EcartEncaissementTolerable'])) . " " . $_SESSION['devise_C']?>
02 - - - - - - - - - -
" onClick="javascript:enregistrer_modif_parametres_prod();" style='font-size:10pt;' > " onClick="javascript:afficher_autres_parametresgeneraux();" style='font-size:10pt;' >
+ diff --git a/Vue/Modifautresparametressin/index.php b/Vue/Modifautresparametressin/index.php index deb55aea..727d54b1 100755 --- a/Vue/Modifautresparametressin/index.php +++ b/Vue/Modifautresparametressin/index.php @@ -1,877 +1,298 @@ -titre = "INTER SANTE - Modifier Paramètres Généraux de la Gestion Médical et Autres"; ?> +titre = "INTER SANTE - " . _("Modifier Paramètres Médical & Prestataires"); ?> +
+ +
+
+
+
+ +
+
+

+

+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01 - - - - - - - - - -
02 - - - - - - - - - -
03 - - - - - - - - - -
04 - - - - - - - - - -
05 - - - - - - - - - -
06 - - - - - - - - - -
07 - - - - - - - - - -
08 - - nettoyer($societeuser['montantTotalExamen'])) ?>
09 - - nettoyer($societeuser['montantTotalMedicament'])) ?>
10 - - - - - - - - - -
11 - - nettoyer($societeuser['delaisReponseMedecinSouscripteur']) ?>
12 - - - - - - - - - -
13 - - nettoyer($societeuser['nombreActeEntentePrealable']) ?>
14 - - - - - - - - - -
01 - - - - - - - - - -
02 - - nettoyer($societeuser['nbMedicamentMax'])) ?>
03 - - nettoyer($societeuser['nbConsultationSpecialisteJour']) ?>
04 - - nettoyer($societeuser['ageMaxiPediatrie']) ?>
05 - - nettoyer($societeuser['nombreFeuilleGratuitJour']) ?>
06 - - - - nettoyer($societeuser['biometrieEng']) ?> - - nettoyer($societeuser['biometrie']) ?> - - - -
07 - - nettoyer($societeuser['nbTentativeBiometrie']) ?>
08 - - - - - - - - - -
09 - - - - nettoyer($societeuser['acteConsultationGratuiteEng']) ?> - - nettoyer($societeuser['acteConsultationGratuite']) ?> - - - -
10 - - nettoyer($societeuser['quantiteMedicamentPermise']) ?>
11 - - - - - - - - - -
12 - - - - - - - - - -
13 - - - - - - - - - -
01 - - - - - - - - - -
02 - - - - - - - - - -
03 - - nettoyer($societeuser['typeMargePrixMedicament']) ?> - -
04 - - - - - - - - - -
05 - - nettoyer($societeuser['margePrixMedicament'])) ?>
06 - - - - - - - - - -
07 - - nettoyer($societeuser['margePrixSubstitutMedicament'])) ?>
08 - - - - - - - - - -
09 - - - - - - - - - -
01 - - - - - - - - - -
" onClick="javascript:enregistrer_modif_parametres_sin();" style='font-size:10pt;' > " onClick="javascript:afficher_autres_parametresgeneraux();" style='font-size:10pt;' >
- + \ No newline at end of file diff --git a/Vue/Modifierparametresgeneraux/index.php b/Vue/Modifierparametresgeneraux/index.php index e7d5f2e9..3838f026 100755 --- a/Vue/Modifierparametresgeneraux/index.php +++ b/Vue/Modifierparametresgeneraux/index.php @@ -1,188 +1,197 @@ 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']); ?> - +
+
+
+
+ +
+
+

+
+ + +
+
+
+
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + +
+
+
- +
+
+
+
+ + +
+
+ +
+ +
+
+
+ + +
+
+
+
+
+
- +
+
+
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ + +
+
+
+
+
- - - - - - - - - - - - - - - - - - +
+
+
+
+ + +
+
+ + +
+
+
+
+ - - - - +
+
+
+
+
+
+
+
+ +
+ + % +
+
+
+ + +
+
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - -
- - -
- -
-
Fax
- - - -
- -
" onClick="javascript:enregistrer_modif_parametresgeneraux();" style='font-size:9pt;' > " onClick="javascript:afficher_parametresgeneraux();" style='font-size:9pt;' >
+
+ '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): ?> +
+
+ + + +
+ SMS + +
+ +
+
+ +
+
+
+
+
+ +
\ No newline at end of file diff --git a/Vue/Parametresgeneraux/index.php b/Vue/Parametresgeneraux/index.php index d92825f2..5eb58cc8 100755 --- a/Vue/Parametresgeneraux/index.php +++ b/Vue/Parametresgeneraux/index.php @@ -1,152 +1,256 @@ -titre = "INTER SANTE - Paramètres Généraux"; ?> - +
+
+
+
+ +
+
+

+

+
+
+
+ + nettoyer($_SESSION['libelleLang']) ?> + +
+
+
- +
+ +
+
+
+
+ +
+
+
+
+
+ +
nettoyer($societeuser['codeSociete']) ?>
+
+
+ + +
+
+ + +
- +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
+
- - - - - - +
+
+
+
+
+ +
+
+
nettoyer($societeuser['nomResponsable']) ?>
+

+
+
+
    +
  • + + nettoyer($societeuser['telephoneSociete']) ?> +
  • +
  • + + nettoyer($societeuser['portable']) ?> +
  • +
  • + + nettoyer($societeuser['emailSociete']) ?> +
  • +
  • + + nettoyer($societeuser['faxSociete']) ?> +
  • +
+
+
+
- - - - - +
+
+
+ +
+
+

+
+
+
+
+ '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'], + ]; -
- - + foreach($services as $s): ?> +
+
+
+ + +
+
+ +
nettoyer($societeuser[$s['v']]) ?>
+
+ +
+ +
nettoyer($societeuser[$s['sms']]) ?>
+
+ +
+
+ + + + + - - - +
+
+
+
+
+
+
+ +
+
+ +
+ nettoyer($societeuser['alertLimiteConsommation']) ?> + % +
+ nettoyer($societeuser['emailAlertLimiteConsommation']) ?> +
+
+
+
+
-
- - - - +
+
+
+ +
+
+ +
nettoyer($societeuser['spMax']) ?> %
+
+
+
- - - - - - - +
+
+
+ +
+
+ +
nettoyer($societeuser['fraisCarteAN'])) ?> FCFA
+
+
+
- - +
+ + nettoyer($societeuser['activerLogVisitePages']); + $badgeClass = ($logStatus == 'OUI' || $logStatus == '1') ? 'bg-success' : 'bg-secondary'; + ?> +
+ +
+
+ + + + + + - - + \ No newline at end of file diff --git a/Vue/Recherche/index.php b/Vue/Recherche/index.php index 6b6a799f..801d15ae 100755 --- a/Vue/Recherche/index.php +++ b/Vue/Recherche/index.php @@ -1,125 +1,162 @@ - -
-
-
- - -
-
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- +titre = "INTER SANTE - "._("Rechercher assuré") ; +?> + +
+ + +
+
+
+
+ +
+
+

+

+
-
- 0): - ?> -
Code
- - Fax E-mail
- - - - - - - - - - - - - - - - - nettoyer($beneficiaire['id'] ?? ''); - $numeroBeneficiaire = $this->nettoyer($beneficiaire['numeroBeneficiaire'] ?? ''); - ?> - - - - - - - - - - - + + + + + + + + + + + +
nettoyer($beneficiaire['numeroAdherent'] ?? '') ?>nettoyer($beneficiaire['nomBeneficiaire'] ?? '') ?>nettoyer($beneficiaire['prenomsBeneficiaire'] ?? '') ?>nettoyer($beneficiaire['codeLienParente'] ?? '') ?>nettoyer($beneficiaire['dateNaissance'])) : '' ?>nettoyer($beneficiaire['sexe'] ?? '') ?>nettoyer($beneficiaire['telephonePortable'] ?? '') ?>nettoyer($beneficiaire['nomClient'] ?? '') ?> - nettoyer($beneficiaire['codeEtatBeneficiaire'] ?? ''); - $badgeClass = match($etat) { - 'ACT' => 'bg-success', - 'SUS' => 'bg-warning', - 'RAD' => 'bg-danger', - default => 'bg-secondary' - }; +
+
+
+ +
+ + + +
+ +
+
+ 0): ?> + + + + + + + + + + + + + + nettoyer($beneficiaire['id']); + $numeroBeneficiaire = $this->nettoyer($beneficiaire['numeroBeneficiaire']); + $etatCode = $this->nettoyer($beneficiaire['codeEtatBeneficiaire']); + $statusBadge = ($etatCode == 'ACTIF') ? 'badge-success-ghost' : 'badge-secondary-ghost'; ?> - - - - - - -
- -
+
+ + +
+
+ +
+
+
nettoyer($beneficiaire['nomBeneficiaire']) ?>
+
nettoyer($beneficiaire['prenomsBeneficiaire']) ?>
+
+
+
nettoyer($beneficiaire['codeLienParente']) ?>nettoyer($beneficiaire['dateNaissance'])) ?>nettoyer($beneficiaire['sexe']) == 'M') ? 'Masc.' : 'Fém.' ?>nettoyer($beneficiaire['nomClient']) ?> + +
+ +
+
+ +
+
+

+
+ +
+ - -
- -

-
- - \ No newline at end of file + + \ No newline at end of file diff --git a/Vue/Recherche/index_old.php b/Vue/Recherche/index_old.php deleted file mode 100755 index 61b363a1..00000000 --- a/Vue/Recherche/index_old.php +++ /dev/null @@ -1,117 +0,0 @@ -titre = "INTER SANTE - "._("Rechercher assuré") ; -?> - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TelE-mail
" >
- -
- 0): ?> -
-

".$derniernumerobeneficiaires['ancien'] . " "._("a été déclarée perdue et remplacée par") ." => ".$derniernumerobeneficiaires['nouveau'] .". ". _("Veuillez ne pas le communiquer sans autorisation.") ?>

-
- - -"; -} -*/ - -?> - - -

- - 0): ?> - - - - - - - - - - - - - - - - - - nettoyer($beneficiaire['id']); - $numeroBeneficiaire=$this->nettoyer($beneficiaire['numeroBeneficiaire']); - ?> - - - - - - - - - - - - - - - - - - -
nettoyer($beneficiaire['numeroAdherent']) ?>nettoyer($beneficiaire['nomBeneficiaire']) ?>nettoyer($beneficiaire['prenomsBeneficiaire']) ?>nettoyer($beneficiaire['codeLienParente']) ?>nettoyer($beneficiaire['dateNaissance'])) ?>nettoyer($beneficiaire['sexe']) ?>nettoyer($beneficiaire['telephonePortable']) ?>nettoyer($beneficiaire['nomClient']) ?>nettoyer($beneficiaire['codeEtatBeneficiaire']) ?>
- - -
diff --git a/Vue/gabarit.php b/Vue/gabarit.php index 968e895d..a2f6ed26 100755 --- a/Vue/gabarit.php +++ b/Vue/gabarit.php @@ -74,10 +74,6 @@ $descriptionVue = $_SESSION['descriptionVue']; - - - - @@ -85,7 +81,7 @@ $descriptionVue = $_SESSION['descriptionVue']; - + <?= htmlspecialchars($_SESSION['descriptionVue'] ?? '', ENT_QUOTES) ?> @@ -105,7 +101,7 @@ $descriptionVue = $_SESSION['descriptionVue']; - + diff --git a/Vue/includes/head-meta.php b/Vue/includes/head-meta.php deleted file mode 100644 index f9f17573..00000000 --- a/Vue/includes/head-meta.php +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<?= $_SESSION['descriptionVue'] ?? 'INTER SANTE' ?> - - - - - - \ No newline at end of file diff --git a/Vue/includes/header.php b/Vue/includes/header.php index b168c8cc..7ae8062b 100644 --- a/Vue/includes/header.php +++ b/Vue/includes/header.php @@ -33,15 +33,15 @@ if ($_SESSION['bdTests_C'] == '1') { diff --git a/Vue/includes/main-content.php b/Vue/includes/main-content.php deleted file mode 100644 index e12121e3..00000000 --- a/Vue/includes/main-content.php +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - -
- - - - - -
- - - - - -
- -
- - - - - -
-
\ No newline at end of file diff --git a/Vue/includes/sidebar.php b/Vue/includes/sidebar.php index 6ad82c06..65ecb409 100644 --- a/Vue/includes/sidebar.php +++ b/Vue/includes/sidebar.php @@ -72,20 +72,12 @@ - + -