This commit is contained in:
KONE SOREL 2026-02-26 09:14:18 +00:00
parent 31048a8fc0
commit 06406456dd
2 changed files with 135 additions and 234 deletions

View File

@ -1,125 +1,143 @@
<form id="frmrecherche" method="post" action="Recherche/index/"> <?php
<div class="card shadow-sm mb-4"> // $this->titre = "INTER SANTE - "._("Rechercher assuré") ;
<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> <div class="page-content">
<?= _("Critères de recherche de l'assuré") ?> <form id="frmrecherche" name="frmrecherche" method="post" action="Recherche/index/">
</h5>
</div> <div class="card shadow-sm border-0 mb-4" style="border-radius: var(--radius-md);">
<div class="card-body"> <div class="card-header bg-white py-3 border-bottom-0">
<div class="row g-3"> <h5 class="mb-0 fw-bold" style="color: var(--color-primary);">
<div class="col-md-3"> <i class="fas fa-search me-2"></i><?= _("Critères de recherche de l'assuré") ?>
<label class="form-label"><?= _("Numéro Bénéficiaire") ?></label> </h5>
<input type="text" class="form-control" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus> </div>
</div> <div class="card-body">
<div class="col-md-3"> <div class="row g-3">
<label class="form-label"><?= _("Numéro Famille") ?></label> <div class="col-md-6 col-lg-3">
<input type="text" class="form-control" id="numeroAdherent" name="numeroAdherent"> <label class="form-label small fw-bold text-muted"><?= _("Numéro Bénéficiaire") ?></label>
</div> <div class="input-group">
<div class="col-md-3"> <span class="input-group-text bg-light border-end-0"><i class="fas fa-id-card"></i></span>
<label class="form-label"><?= _("Nom") ?></label> <input class="form-control border-start-0" type="text" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus autocomplete="off">
<input type="text" class="form-control" id="nomBeneficiaire" name="nomBeneficiaire"> </div>
</div> </div>
<div class="col-md-3">
<label class="form-label"><?= _("Prénoms") ?></label> <div class="col-md-6 col-lg-3">
<input type="text" class="form-control" id="prenomsBeneficiaire" name="prenomsBeneficiaire"> <label class="form-label small fw-bold text-muted"><?= _("Numéro Famille") ?></label>
</div> <div class="input-group">
<div class="col-md-3"> <span class="input-group-text bg-light border-end-0"><i class="fas fa-users"></i></span>
<label class="form-label"><?= _("Tél.") ?></label> <input class="form-control border-start-0" type="text" id="numeroAdherent" name="numeroAdherent" autocomplete="off">
<input type="text" class="form-control" id="telephonePortable" name="telephonePortable"> </div>
</div> </div>
<div class="col-md-3">
<label class="form-label">E-mail</label> <div class="col-md-6 col-lg-3">
<input type="email" class="form-control" id="email" name="email"> <label class="form-label small fw-bold text-muted"><?= _("Nom") ?></label>
</div> <input class="form-control" type="text" id="nomBeneficiaire" name="nomBeneficiaire" placeholder="Ex: DOE" autocomplete="off">
<div class="col-md-12 text-end"> </div>
<button type="submit" class="btn btn-primary px-5">
<i class="fas fa-search me-2"></i><?= _("Rechercher") ?> <div class="col-md-6 col-lg-3">
</button> <label class="form-label small fw-bold text-muted"><?= _("Prénoms") ?></label>
<input class="form-control" type="text" id="prenomsBeneficiaire" name="prenomsBeneficiaire" autocomplete="off">
</div>
<div class="col-md-6 col-lg-3">
<label class="form-label small fw-bold text-muted">Tel</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="fas fa-phone"></i></span>
<input class="form-control border-start-0" type="text" id="telephonePortable" name="telephonePortable" autocomplete="off">
</div>
</div>
<div class="col-md-6 col-lg-3">
<label class="form-label small fw-bold text-muted">E-mail</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="fas fa-envelope"></i></span>
<input class="form-control border-start-0" type="email" id="email" name="email" autocomplete="off">
</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-primary" style="background-color: var(--color-primary); border: none; border-radius: var(--radius-sm);">
<i class="fas fa-search me-2"></i> <?= _("Rechercher") ?>
</button>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<?php <?php if (is_array($derniernumerobeneficiaires) && $derniernumerobeneficiaires['nouveau']>0): ?>
// CORRECTION : Vérifier que $derniernumerobeneficiaires est un tableau ET qu'il contient 'nouveau' <div class="alert alert-danger d-flex align-items-center mb-4 border-0 shadow-sm" role="alert" style="border-left: 4px solid var(--color-urgent) !important;">
if (isset($derniernumerobeneficiaires) && is_array($derniernumerobeneficiaires) && isset($derniernumerobeneficiaires['nouveau']) && $derniernumerobeneficiaires['nouveau'] > 0): <i class="fas fa-exclamation-triangle me-3 fs-4"></i>
?> <div>
<div class="alert alert-warning alert-dismissible fade show" role="alert"> <strong><?= _("Carte déclarée perdue") ?></strong><br>
<i class="fas fa-exclamation-triangle me-2"></i> <?= $derniernumerobeneficiaires['ancien'] . " remplacée par " . $derniernumerobeneficiaires['nouveau'] ?>.
<?= _("Cette carte") ?> => <?= $derniernumerobeneficiaires['ancien'] ?? '' ?> <span class="small opacity-75"><?= _("Veuillez ne pas le communiquer sans autorisation.") ?></span>
<?= _("a été déclarée perdue et remplacée par") ?> => <?= $derniernumerobeneficiaires['nouveau'] ?? '' ?>. </div>
<?= _("Veuillez ne pas le communiquer sans autorisation.") ?> </div>
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</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 endif; ?> <?php endif; ?>
</div>
<?php if (isset($beneficiaires) && is_array($beneficiaires) && count($beneficiaires) > 0): ?> <div class="card shadow-sm border-0" style="border-radius: var(--radius-md);">
<div class="table-responsive"> <div class="card-header bg-white py-3 border-bottom-0 d-flex justify-content-between align-items-center">
<table class="table table-hover align-middle datatable"> <h6 class="mb-0 fw-bold" style="color: var(--text-secondary);">
<thead> <i class="fas fa-list me-2"></i><?= _("Résultats de la recherche") ?>
<tr> </h6>
<th><?= _("Numéro Bénéficiaire") ?></th> <?php if (is_array($beneficiaires)): ?>
<th><?= _("Numéro Famille") ?></th> <span class="badge bg-light text-dark rounded-pill border fw-normal"><?= count($beneficiaires) ?> résultat(s)</span>
<th><?= _("Nom") ?></th> <?php endif; ?>
<th><?= _("Prénoms") ?></th> </div>
<th><?= _("Lien") ?></th>
<th><?= _("Naissance") ?></th> <div class="card-body p-0">
<th><?= _("Genre") ?></th> <div class="table-responsive">
<th><?= _("Tél") ?></th> <?php if (is_array($beneficiaires) && count($beneficiaires) > 0): ?>
<th><?= _("Souscripteur") ?></th> <table class="table table-hover align-middle mb-0" style="font-size: 0.85rem;">
<th><?= _("Etat") ?></th> <thead class="bg-light text-muted small text-uppercase">
<th></th> <tr>
</tr> <th class="px-3 border-0 text-center"><?= _("N° Bénéf.") ?></th>
</thead> <th class="border-0"><?= _("Nom & Prénoms") ?></th>
<tbody> <th class="border-0 text-center"><?= _("Parenté") ?></th>
<?php foreach ($beneficiaires as $beneficiaire): <th class="border-0 text-center"><?= _("Naissance") ?></th>
$idBeneficiaire = $this->nettoyer($beneficiaire['id'] ?? ''); <th class="border-0 text-center"><?= _("Genre") ?></th>
$numeroBeneficiaire = $this->nettoyer($beneficiaire['numeroBeneficiaire'] ?? ''); <th class="border-0"><?= _("Souscripteur") ?></th>
?> <th class="border-0 text-center"><?= _("Etat") ?></th>
<tr onclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();" style="cursor: pointer;"> </tr>
<td><span class="badge bg-light text-dark"><?= $numeroBeneficiaire ?></span></td> </thead>
<td><?= $this->nettoyer($beneficiaire['numeroAdherent'] ?? '') ?></td> <tbody>
<td><strong><?= $this->nettoyer($beneficiaire['nomBeneficiaire'] ?? '') ?></strong></td> <?php foreach ($beneficiaires as $beneficiaire):
<td><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire'] ?? '') ?></td> $idBeneficiaire=$this->nettoyer($beneficiaire['id']);
<td><?= $this->nettoyer($beneficiaire['codeLienParente'] ?? '') ?></td> $numeroBeneficiaire=$this->nettoyer($beneficiaire['numeroBeneficiaire']);
<td><?= isset($beneficiaire['dateNaissance']) ? dateLang($this->nettoyer($beneficiaire['dateNaissance'])) : '' ?></td> $etatCode = $this->nettoyer($beneficiaire['codeEtatBeneficiaire']);
<td><?= $this->nettoyer($beneficiaire['sexe'] ?? '') ?></td> // Définition de la pastille d'état
<td><?= $this->nettoyer($beneficiaire['telephonePortable'] ?? '') ?></td> $statusClass = ($etatCode == 'ACTIF') ? 'bg-success' : 'bg-secondary';
<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'
};
?> ?>
<span class="badge <?= $badgeClass ?>"><?= $etat ?></span> <tr style="cursor: pointer; transition: var(--transition-fast);"
</td> onclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');"
<td> ondblclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();">
<button class="btn btn-sm btn-outline-primary" onclick="event.stopPropagation();afficher_beneficiaire(<?= $idBeneficiaire ?>)">
<i class="fas fa-eye"></i> <td class="text-center px-3">
</button> <span class="badge bg-light text-primary border px-3 py-2 fw-bold"><?= $numeroBeneficiaire ?></span>
</td> </td>
</tr> <td>
<?php endforeach; ?> <div class="fw-bold text-dark"><?= $this->nettoyer($beneficiaire['nomBeneficiaire']) ?></div>
</tbody> <div class="small text-muted"><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire']) ?></div>
</table> </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']) ?></td>
<td class="small"><?= $this->nettoyer($beneficiaire['nomClient']) ?></td>
<td class="text-center">
<span class="badge <?= $statusClass ?> rounded-pill px-2" style="font-size: 0.7rem;"><?= $etatCode ?></span>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else: ?>
<div class="text-center py-5">
<i class="fas fa-search-minus fa-3x mb-3 text-light"></i>
<p class="text-muted"><?= _("Aucun bénéficiaire trouvé. Ajustez vos critères.") ?></p>
</div>
<?php endif; ?>
</div>
</div>
</div> </div>
<?php else: ?> </form>
<div class="text-center py-5 text-muted"> </div>
<i class="fas fa-search fa-3x mb-3"></i>
<p><?= _("Aucun résultat trouvé") ?></p>
</div>
<?php endif; ?>
</form>

View File

@ -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>