This commit is contained in:
KONE SOREL 2026-03-25 16:05:37 +00:00
parent 418e51476e
commit 6ee0e53a4b
4 changed files with 120 additions and 101 deletions

View File

@ -13,11 +13,13 @@ class ControleurAjaxlistegedbeneficiaireprod extends Controleur {
{ {
unset($_FILES['fichier_upload']); unset($_FILES['fichier_upload']);
$d1 = $this->requete->getParametreDate("d1"); $d1 = $this->requete->getParametreDate("d1");
$d2 = $this->requete->getParametreDate("d2"); $d2 = $this->requete->getParametreDate("d2");
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, $nomOrigine); $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
$codeNaturePiece = $this->requete->getParametreFormulaire("codeNaturePiece");
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, $nomOrigine, $codeNaturePiece);
$this->genererVueAjax(array('geds' => $geds)); $this->genererVueAjax(array('geds' => $geds));
} }

View File

@ -6961,8 +6961,9 @@ function lister_ged_beneficiaire_prod()
d1 = $("#d1").val(); d1 = $("#d1").val();
d2 = $("#d2").val(); d2 = $("#d2").val();
nomOrigine = $("#nomOrigine").val(); nomOrigine = $("#nomOrigine").val();
codeNaturePiece = $("#codeNaturePiece").val();
donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine+'&codeNaturePiece='+codeNaturePiece;
$("#div_ged").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/>&nbsp;&nbsp;<span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>'); $("#div_ged").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/>&nbsp;&nbsp;<span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');

View File

@ -1,58 +1,60 @@
<div id="div_ged" class="card border-0 shadow-sm overflow-hidden"> <div class="table-responsive">
<?php if((isset($msgErreur)) && ($msgErreur > " ")) : ?> <table class="table table-hover align-middle mb-0" style="font-size:8.5pt;">
<div class="alert alert-danger m-3 border-0 shadow-xs text-center fw-bold"> <thead class="table-dark text-nowrap">
<i class="fas fa-exclamation-triangle me-2"></i> <?= $msgErreur ?> <tr>
</div> <th class="text-center px-3">Date</th>
<?php endif; ?> <th class="text-center">Src</th>
<th><?= _("Souscripteur / Police") ?></th>
<th><?= _("Bénéficiaire / Adhérent") ?></th>
<th><?= _("Type du Document") ?></th>
<th><?= _("Nom du Document") ?></th>
<th class="text-center no-export"><?= _("Action") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($geds as $ged):
$idGed = $this->nettoyer($ged['idGed']);
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
<div class="table-responsive"> if($ged['codeNaturePiece'] == "AUT")
<table class="table table-hover align-middle mb-0" style="font-size:8.5pt;"> {
<thead class="table-dark text-nowrap"> $libelleType = $this->nettoyer($ged['libelleAutre']);
<tr> } else
<th class="text-center px-3">Date</th> {
<th class="text-center">Src</th> $libelleType = $this->nettoyer($ged['libelleType']);
<th><?= _("Souscripteur / Police") ?></th> }
<th><?= _("Prestataire") ?></th> ?>
<th><?= _("Bénéficiaire (Adhérent)") ?></th> <tr class="text-nowrap">
<th><?= _("Document") ?></th> <td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
<th class="text-center"><?= _("Action") ?></th> <td class="text-center">
</tr> <span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span>
</thead> </td>
<tbody> <td>
<?php foreach ($geds as $ged): <div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div>
$idGed = $this->nettoyer($ged['idGed']); <div class="small text-primary"> <?= $this->nettoyer($ged['numeroPolice']) ?></div>
$cheminFichier = $this->nettoyer($ged['cheminFichier']); </td>
?> <td>
<tr class="text-nowrap"> <div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td> <div class="small text-muted italic">
<td class="text-center"> <?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>)
<span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span> </div>
</td> </td>
<td>
<div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div> <td class="small text-uppercase"><?= $libelleType; ?></td>
<div class="small text-primary"> <?= $this->nettoyer($ged['numeroPolice']) ?></div>
</td> <td class="small">
<td class="small text-muted text-truncate" style="max-width: 150px;"><?= $this->nettoyer($ged['prestataire']) ?></td> <i class="far fa-file-pdf text-danger me-1"></i>
<td> <span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div> <?= $this->nettoyer($ged['nomOrigine']) ?>
<div class="small text-muted italic"> </span>
<?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>) </td>
</div> <td class="text-center">
</td> <a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2" style="font-size:9pt;">
<td class="small"> <i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
<i class="far fa-file-pdf text-danger me-1"></i> </a>
<span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>"> </td>
<?= $this->nettoyer($ged['nomOrigine']) ?> </tr>
</span> <?php endforeach; ?>
</td> </tbody>
<td class="text-center"> </table>
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2">
<i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div> </div>

View File

@ -1,7 +1,7 @@
<?php $this->titre = "INTER-SANTE - GED Bénéficiaire"; ?> <?php $this->titre = "INTER-SANTE - GED Bénéficiaire"; ?>
<div id="div_adherent" class="container-fluid py-1 animate__animated animate__fadeIn"> <div id="div_adherent" class="container-fluid py-1 animate__animated animate__fadeIn">
<h1 class="text-primary"><i class="fas fa-file-user me-2"></i><?= _('G E D Bénéficiaire') ?></h1> <h1 class="text-primary"><i class="bi bi-file-earmark-person me-2"></i><?= _('G E D Bénéficiaire') ?></h1>
<div class="card-header d-flex justify-content-between align-items-center py-1 mb-2"> <div class="card-header d-flex justify-content-between align-items-center py-1 mb-2">
<h5 class="mb-0 fw-bold"> <h5 class="mb-0 fw-bold">
@ -76,44 +76,6 @@
</div> </div>
</div> </div>
</div> </div>
<!--
<div class="row g-3 align-items-end">
<div class="col-xl-4 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-calendar-alt text-primary"></i></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold px-3"><?= _("au") ?></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-xl-3 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-search"></i></span>
<input class="form-control" type="text" id="nomOrigine" name="nomOrigine"
onkeypress="javascript:ctrlkeypress_lister_ged(event);" placeholder="<?= _("Contient...") ?>">
<button class="btn btn-primary fw-bold px-3" type="button" onclick="javascript:lister_ged_beneficiaire_prod();">
<i class="fas fa-sync-alt me-1"></i>
</button>
</div>
</div>
<div class="col-xl-3 col-lg-8">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload" />
</div>
<div class="col-xl-2 col-lg-4 text-end">
<button type="submit" name="submit" class="btn btn-success btn-sm w-100 fw-bold py-2 shadow-sm">
<i class="fas fa-upload me-2"></i><?= _("ENVOYER") ?>
</button>
</div>
</div>-->
</form> </form>
</div> </div>
</div> </div>
@ -188,4 +150,56 @@
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const selectNature = document.getElementById('codeNaturePiece');
const divAutre = document.getElementById('div_autre_type');
const inputAutre = document.getElementById('libelleAutre');
const formGed = document.getElementById('form_ged_beneficiaireprod');
// 1. Affichage dynamique du champ Libellé
selectNature.addEventListener('change', function() {
if (this.value === 'AUT') {
divAutre.style.display = 'block';
inputAutre.focus();
} else {
divAutre.style.display = 'none';
inputAutre.value = '';
}
});
// 2. Blocage du Submit si conditions non remplies
formGed.addEventListener('submit', async function(e) {
// On ne vérifie que si on tente de soumettre (clic sur Envoyer)
const isSubmit = e.submitter && e.submitter.name === 'submit';
if (isSubmit) {
const valNature = selectNature.value;
// Cas 1 : Type de document vide
if (valNature === "") {
e.preventDefault();
await alert_ebene(
"Veuillez sélectionner un type de document avant d'envoyer.",
"Please select a document type before sending."
);
selectNature.focus();
return false;
}
// Cas 2 : Type "Autre" mais libellé vide
if (valNature === 'AUT' && inputAutre.value.trim() === "") {
e.preventDefault();
await alert_ebene(
"Veuillez préciser le type de document (champ Libellé).",
"Please specify the document type (Label field)."
);
inputAutre.focus();
return false;
}
}
});
});
</script>