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/">
<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="card shadow-sm border-0 mb-4" style="border-radius: var(--radius-md);">
<div class="card-header bg-white py-3 border-bottom-0">
<h5 class="mb-0 fw-bold" style="color: var(--color-primary);">
<i class="fas fa-search me-2"></i><?= _("Critères de recherche de l'assuré") ?>
</h5>
</div>
<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-muted"><?= _("Numéro Bénéficiaire") ?></label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="fas fa-id-card"></i></span>
<input class="form-control border-start-0" type="text" id="numeroBeneficiaire" name="numeroBeneficiaire" autofocus autocomplete="off">
</div>
</div>
<div class="col-md-6 col-lg-3">
<label class="form-label small fw-bold text-muted"><?= _("Numéro Famille") ?></label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="fas fa-users"></i></span>
<input class="form-control border-start-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-muted"><?= _("Nom") ?></label>
<input class="form-control" type="text" id="nomBeneficiaire" name="nomBeneficiaire" placeholder="Ex: DOE" autocomplete="off">
</div>
<div class="col-md-6 col-lg-3">
<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>
<?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>
<?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 (is_array($derniernumerobeneficiaires) && $derniernumerobeneficiaires['nouveau']>0): ?>
<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;">
<i class="fas fa-exclamation-triangle me-3 fs-4"></i>
<div>
<strong><?= _("Carte déclarée perdue") ?></strong><br>
<?= $derniernumerobeneficiaires['ancien'] . " remplacée par " . $derniernumerobeneficiaires['nouveau'] ?>.
<span class="small opacity-75"><?= _("Veuillez ne pas le communiquer sans autorisation.") ?></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" style="border-radius: var(--radius-md);">
<div class="card-header bg-white py-3 border-bottom-0 d-flex justify-content-between align-items-center">
<h6 class="mb-0 fw-bold" style="color: var(--text-secondary);">
<i class="fas fa-list me-2"></i><?= _("Résultats de la recherche") ?>
</h6>
<?php if (is_array($beneficiaires)): ?>
<span class="badge bg-light text-dark rounded-pill border fw-normal"><?= count($beneficiaires) ?> résultat(s)</span>
<?php endif; ?>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<?php if (is_array($beneficiaires) && count($beneficiaires) > 0): ?>
<table class="table table-hover align-middle mb-0" style="font-size: 0.85rem;">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="px-3 border-0 text-center"><?= _("N° Bénéf.") ?></th>
<th class="border-0"><?= _("Nom & Prénoms") ?></th>
<th class="border-0 text-center"><?= _("Parenté") ?></th>
<th class="border-0 text-center"><?= _("Naissance") ?></th>
<th class="border-0 text-center"><?= _("Genre") ?></th>
<th class="border-0"><?= _("Souscripteur") ?></th>
<th class="border-0 text-center"><?= _("Etat") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($beneficiaires as $beneficiaire):
$idBeneficiaire=$this->nettoyer($beneficiaire['id']);
$numeroBeneficiaire=$this->nettoyer($beneficiaire['numeroBeneficiaire']);
$etatCode = $this->nettoyer($beneficiaire['codeEtatBeneficiaire']);
// Définition de la pastille d'état
$statusClass = ($etatCode == 'ACTIF') ? 'bg-success' : 'bg-secondary';
?>
<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 style="cursor: pointer; transition: var(--transition-fast);"
onclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');"
ondblclick="selectionner_beneficiaire(<?= $idBeneficiaire ?>,'<?= $numeroBeneficiaire ?>');afficher_beneficiaire_id();">
<td class="text-center px-3">
<span class="badge bg-light text-primary border px-3 py-2 fw-bold"><?= $numeroBeneficiaire ?></span>
</td>
<td>
<div class="fw-bold text-dark"><?= $this->nettoyer($beneficiaire['nomBeneficiaire']) ?></div>
<div class="small text-muted"><?= $this->nettoyer($beneficiaire['prenomsBeneficiaire']) ?></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']) ?></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>
<?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>

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>