newdesigngestionnaire/Vue/Detailbaremepriseencharge/index.php
2026-03-31 08:24:38 +00:00

164 lines
10 KiB
PHP
Executable File

<?php
$idBareme = $_SESSION['idBaremePriseEnCharge'];
$libelleBareme = $this->nettoyer($bareme['libelle']);
$isAnglais = est_anglophone();
?>
<div class="page-content animate__animated animate__fadeIn">
<div class="header-section mb-1">
<div class="d-flex align-items-center justify-content-between bg-white p-3 shadow-sm border-start border-primary border-4" style="border-radius: var(--radius-md);">
<div class="d-flex align-items-center">
<div class="icon-shape bg-primary-ghost text-primary rounded-circle me-3" style="width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;">
<i class="fas fa-cogs fs-4"></i>
</div>
<div>
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Pilotage du Barème Modèle") ?></h4>
<p class="text-muted small mb-0"><?= _("Structure de remboursement") ?> : <span class="fw-bold text-dark"><?= $libelleBareme ?></span></p>
</div>
</div>
</div>
</div>
<input type="hidden" id="nomForm" name="nomForm" value="frmDetailBareme">
<input type="hidden" id="idBaremePriseEnCharge" name="idBaremePriseEnCharge" value="<?= $idBareme ?>">
<input type="hidden" id="ligne2" name="ligne2" value="<?= count($garantiesajoutees); ?>">
<input type="hidden" id="masquerBareme" name="masquerBareme" value="1">
<input type="hidden" id="maxDateEffetBareme" name="maxDateEffetBareme" value="<?= $maxDateEffetBareme ?>">
<div class="row g-3">
<div class="col-12">
<div class="card border-0 shadow-sm overflow-hidden">
<div class="card-header bg-white py-3">
<h6 class="mb-0 fw-bold text-primary text-uppercase small">
<i class="fas fa-cog me-2"></i><?= _("Taux applicables sur tous les actes") ?>
</h6>
</div>
<div class="card-body p-2 bg-light-subtle">
<div class="row g-3 align-items-end">
<div class="col-md-2">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Référence") ?></label>
<div class="p-2 bg-white border-2 border rounded text-center fw-bold text-primary">#<?= $idBareme ?></div>
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase required"><?= _("Date de mise en vigueur") ?></label>
<div class="input-group">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-calendar-check text-primary"></i></span>
<input type="text" id="dateEffetBareme" name="dateEffetBareme" class="form-control border-2 border-start-0 datepicker fw-bold text-center" required>
</div>
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase required"><?= _("Part Patient (TM) Global") ?></label>
<div class="input-group">
<input type="text" id="ticketModerateurBareme" name="ticketModerateurBareme" class="form-control border-2 fw-bold text-center fs-5" value="<?= $tmBareme ?>">
<span class="input-group-text bg-white border-2 border-start-0 fw-bold">%</span>
</div>
</div>
<div class="col-md-4">
<button type="button" class="btn btn-primary w-100 py-2 fw-bold shadow-sm rounded-3" onclick="inserer_bareme();">
<i class="fas fa-sync-alt me-2"></i> <?= _("Mettre à jour tous les actes") ?>
</button>
</div>
</div>
</div>
<div class="card-footer bg-white border-top-0 p-0">
<button class="btn btn-light w-100 rounded-0 py-2 fw-bold text-dark text-uppercase" onclick="afficherDetailBareme();">
<i class="fas fa-history me-2"></i><?= _("Consulter l'historique des changements de taux") ?> <i id="span_bareme" class="fas fa-chevron-down ms-2"></i>
</button>
<div id="div_bareme" class="p-3 border-top bg-white" style="display:none;"></div>
</div>
</div>
</div>
<div class="col-12">
<div class="card border-0 shadow-sm border-top border-primary border-4">
<div class="card-header bg-white py-3 d-flex justify-content-between align-items-center">
<h6 class="mb-0 fw-bold text-primary text-uppercase small">
<i class="fas fa-th-list me-2"></i><?= _("Détail des plafonds et taux par Famille d'actes") ?>
</h6>
<span class="badge bg-primary-ghost text-primary px-3 rounded-pill"><?= count($garantiesajoutees) ?> <?= _("Familles") ?></span>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover align-middle mb-0" style="font-size: 9.5pt;">
<thead class="bg-light shadow-sm">
<tr>
<th class="ps-4 py-3" width="120px"><?= _("Code") ?></th>
<th class="py-3"><?= _("Libellé de la Famille") ?></th>
<th class="text-center py-3"><?= _("Actes Paramétrés") ?></th>
<th class="text-center py-3"><?= _("Non Paramétrés") ?></th>
<th class="text-center py-3" width="80px"><?= _("Détails") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($garantiesajoutees as $v):
$codeG = $this->nettoyer($v['codeGarantie']);
$nomG = $isAnglais ? $this->nettoyer($v['libelleEng']) : $this->nettoyer($v['libelle']);
$actives = (int)$v['nbre_lignes_actives'];
$inactives = (int)$v['nbre_lignes_inactives'];
?>
<tr class="cursor-pointer" ondblclick="afficher_actes_garantiebareme(<?= $idBareme ?>,'<?= $codeG ?>');">
<td class="ps-4">
<code class="text-primary fw-bold fs-6"><?= $codeG ?></code>
</td>
<td>
<div class="fw-bold text-dark"><?= $nomG ?></div>
<div class="text-muted smaller"><?= _("Double-cliquez pour configurer") ?></div>
</td>
<td class="text-center">
<div class="badge <?= $actives > 0 ? 'bg-success' : 'bg-light text-muted border' ?> rounded-pill px-3 py-2">
<?= str_pad($actives, 2, "0", STR_PAD_LEFT) ?>
</div>
</td>
<td class="text-center">
<div class="badge <?= $inactives > 0 ? 'bg-danger-light text-danger' : 'bg-light text-muted border' ?> rounded-pill px-3 py-2">
<?= str_pad($inactives, 2, "0", STR_PAD_LEFT) ?>
</div>
</td>
<td class="text-center pe-4">
<button class="btn btn-sm btn-primary-ghost rounded-circle action-icon shadow-none"
onclick="afficher_actes_garantiebareme(<?= $idBareme ?>,'<?= $codeG ?>');">
<i class="fas fa-arrow-right"></i>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="div_actesgarantiebareme" role="dialog" data-bs-backdrop="static" data-bs-keyboard="false"></div>
<script>
document.addEventListener('focusin', function (e) {
// Si l'élément cliqué est l'input date
if (e.target.id === 'dateEffetBareme' || e.target.classList.contains('datepicker')) {
setTimeout(function() {
var picker = document.querySelector('.datepicker-dropdown');
if (picker) {
// On déplace le calendrier à la racine du BODY
document.body.appendChild(picker);
// On s'assure qu'il est visible et au premier plan
picker.style.zIndex = "99999";
picker.style.display = "block";
}
}, 100);
}
});
</script>
<style>
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
.btn-primary-ghost { background-color: rgba(33, 46, 83, 0.05); color: #212e53; border: 1px solid rgba(33, 46, 83, 0.1); }
.btn-danger-light { background-color: rgba(220, 53, 69, 0.1); color: #dc3545; border: none; }
.action-icon { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; transition: all 0.2s; }
.action-icon:hover { transform: scale(1.1); background-color: #0056b3; }
.cursor-pointer { cursor: pointer; }
</style>