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']);
$d1 = $this->requete->getParametreDate("d1");
$d2 = $this->requete->getParametreDate("d2");
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
$d1 = $this->requete->getParametreDate("d1");
$d2 = $this->requete->getParametreDate("d2");
$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));
}

View File

@ -6961,8 +6961,9 @@ function lister_ged_beneficiaire_prod()
d1 = $("#d1").val();
d2 = $("#d2").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>');

View File

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

View File

@ -1,7 +1,7 @@
<?php $this->titre = "INTER-SANTE - GED Bénéficiaire"; ?>
<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">
<h5 class="mb-0 fw-bold">
@ -76,44 +76,6 @@
</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>
</div>
</div>
@ -188,4 +150,56 @@
</table>
</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>