radiantrh/Vue/Ajaxdetailretrait/index.php
2026-01-19 18:41:05 +00:00

144 lines
8.5 KiB
PHP

<?php
$nbFactAntiDate = $this->nettoyer($avenant['nbFactAntiDate']);
$taxLabel = (isset($_SESSION['composanteprime']['Taxes'])) ? _($_SESSION['composanteprime']['Taxes']) : _("Taxes");
?>
<div class="card shadow-sm border-0 mb-4 animate__animated animate__fadeIn">
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-borderless align-middle mb-0 text-center" style="font-size: 8.5pt;">
<thead class="bg-light text-muted text-uppercase" style="font-size: 7.5pt;">
<tr>
<th class="py-3"><?= _("P. Nette Comm") ?></th>
<th class="py-3"><?= _("Comm Courtage") ?></th>
<th class="py-3"><?= _("Comm Commerc") ?></th>
<th class="py-3"><?= _("Accessoires") ?></th>
<th class="py-3 fw-bold text-dark"><?= _("Primes Nettes") ?></th>
<th class="py-3"><?= $taxLabel ?></th>
<th class="py-3"><?= _("Cartes") ?></th>
<th class="py-3 text-primary fw-bold"><?= _("TTC") ?></th>
<th class="py-3"><?= _("P. Nette Stat") ?></th>
</tr>
</thead>
<tbody>
<tr class="fw-bold border-bottom">
<td><?= format_N($this->nettoyer($avenant['primeNette'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['commission'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['commissionAutre'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['accessoire'])) ?></td>
<td class="bg-light-subtle"><?= format_N($this->nettoyer($avenant['primeHt'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['taxe'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['fraisCarte'])) ?></td>
<td class="text-primary fs-6"><?= format_N($this->nettoyer($avenant['primeTtcInitial'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['primeNetteStat'])) ?></td>
</tr>
</tbody>
</table>
</div>
<div class="bg-light p-3 d-flex flex-wrap gap-2 justify-content-center border-top">
<button type="button" class="btn btn-outline-info px-4 fw-bold shadow-sm rounded-pill" onclick="pop_afficher_selection_retrait();">
<i class="fas fa-user-plus me-2"></i><?= _("Sélectionner Assurés") ?>
</button>
<button type="button" class="btn btn-danger px-4 fw-bold shadow-sm rounded-pill text-uppercase" onclick="recapituler_retrait();">
<i class="fas fa-calculator me-2"></i><?= _("Récapituler") ?>
</button>
<button type="button" class="btn btn-primary px-4 fw-bold shadow-sm rounded-pill text-uppercase" onclick="enregistrer_retrait();">
<i class="fas fa-save me-2"></i><?= _("Enregistrer le retrait") ?>
</button>
</div>
</div>
</div>
<?php if ($nbFactAntiDate > 1): ?>
<div class="alert alert-custom-danger d-flex align-items-center animate__animated animate__headShake" role="alert">
<i class="fas fa-exclamation-triangle fa-2x me-3"></i>
<div>
<h5 class="alert-heading mb-1 fw-bold"><?= _("Alerte de cohérence") ?></h5>
<p class="mb-0"><?= sprintf(_("Attention, cette police possède %d factures plus anciennes que la date de retrait !"), $nbFactAntiDate) ?></p>
</div>
</div>
<?php endif; ?>
<div class="d-flex align-items-center justify-content-between mb-3 mt-5">
<h5 class="fw-bold text-uppercase mb-0 text-secondary border-start border-4 border-info ps-3">
<?= _("Détail des assurés à retirer") ?>
</h5>
<input type="hidden" id="nbAliment" name="nbAliment" value="<?= $this->nettoyer($avenant['nbAliment']) ?>">
<span class="badge bg-info shadow-sm px-3 py-2"><?= _("Effectif") ?> : <?= $this->nettoyer($avenant['nbAliment']) ?></span>
</div>
<div class="card shadow-sm border-0">
<div class="table-responsive shadow-sm rounded border">
<table class="table table-hover align-middle mb-0" style="font-size: 8pt; min-width: 1100px;">
<thead class="table-dark text-uppercase" style="font-size: 7pt;">
<tr class="text-center">
<th class="ps-2">Cat</th>
<th class="text-start" style="min-width: 150px;"><?= _("Nom & Prénoms") ?></th>
<th>Type</th>
<th>N°</th>
<th>Entrée</th>
<th>Durée</th>
<th>Ratio</th>
<th>S/P</th>
<th class="bg-secondary text-white"><?= _("Non Acquise") ?></th>
<th class="bg-info text-dark"><?= _("P. Nette Rist") ?></th>
<th class="bg-info text-dark"><?= $taxLabel ?></th>
<th class="bg-primary text-white"><?= _("TTC Rist") ?></th>
<th class="pe-2">Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($beneficiaires_sel as $b): ?>
<tr class="text-center">
<td class="fw-bold text-muted"><?= $this->nettoyer($b['codeProduit']) ?></td>
<td class="text-start fw-bold"><?= $this->nettoyer($b['nomBeneficiaire']) ?></td>
<td><span class="badge bg-light text-dark border"><?= $this->nettoyer($b['codeLienParente']) ?></span></td>
<td class="text-muted small"><?= $this->nettoyer($b['numeroBeneficiaire']) ?></td>
<td class="text-nowrap"><?= dateLang($this->nettoyer($b['dateEntree']), $_SESSION['lang']) ?></td>
<td><?= $this->nettoyer($b['duree']) ?></td>
<td><?= $this->nettoyer($b['ratioNonAcquise']) ?></td>
<td><?= $this->nettoyer($b['rapportsp']) ?>%</td>
<td class="fw-bold text-danger text-nowrap"><?= format_N($this->nettoyer($b['primeNonAcquise'])) ?></td>
<td class="text-nowrap"><?= format_N($this->nettoyer($b['primeHt'])) ?></td>
<td class="text-nowrap"><?= format_N($this->nettoyer($b['taxe'])) ?></td>
<td class="fw-bold text-primary text-nowrap"><?= format_N($this->nettoyer($b['primeTtc'])) ?></td>
<td>
<div class="form-check form-switch d-inline-block">
<input class="form-check-input" type="checkbox" style="cursor:pointer"
<?= ($b['choix'] == '1') ? 'checked' : '' ?>
onclick="beneficiaire_a_retirer(this.checked ? '1' : '0', <?= $b['idBeneficiaire_temp'] ?>);">
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
<tfoot class="table-light fw-bold">
<tr class="text-center">
<td colspan="8" class="text-end pe-3 text-uppercase small"><?= _("Totaux") ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($avenant['primeNonAcquise'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['primeHt'])) ?></td>
<td><?= format_N($this->nettoyer($avenant['taxe'])) ?></td>
<td class="text-primary fs-6"><?= format_N($this->nettoyer($avenant['primeTtc'])) ?></td>
<td></td>
</tr>
</tfoot>
</table>
</div>
</div>
<style>
/* Design Alertes */
.alert-custom-danger { background-color: #fff5f5; border-left: 5px solid #dc3545; color: #842029; box-shadow: 0 2px 10px rgba(220, 53, 69, 0.1); }
/* Boutons et Inputs */
.custom-switch { cursor: pointer; width: 2.5em !important; height: 1.25em !important; }
.custom-switch:checked { background-color: #0d6efd; border-color: #0d6efd; }
/* Table Styling */
.table-hover tbody tr:hover { background-color: rgba(13, 110, 253, 0.05); }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; }
/* Badge contextuel */
.bg-light-subtle { background-color: #f8f9fa; }
</style>