This commit is contained in:
KONE SOREL 2026-03-16 12:46:10 +00:00
parent 375f78338b
commit 866c3c4597
4 changed files with 145 additions and 197 deletions

View File

@ -78166,107 +78166,57 @@ function supprimer_detailbareme_college_temp(adminProd, idDetail)
}
function modecalculeprime()
{
codeModecalculPrime = $("#codeModecalculPrime").val();
codeGcAssureur = $("#codeGcAssureur").val();
codeEnteteTrancheAge = $("#codeEnteteTrancheAge").val();
plafondAdherent = $("#plafondAdherent").val();
codeProduit = $("#codeProduit").val();
function modecalculeprime() {
let codeModecalculPrime = $("#codeModecalculPrime").val();
let codeGcAssureur = $("#codeGcAssureur").val();
let codeProduit = $("#codeProduit").val() || '';
let racineWeb = $("#racineWeb").val();
// Validation du Garant
if (codeGcAssureur == "AUC") {
v_msg="Veuillez indiquer le code garant!";
v_msgEng="Please indicate the guarantor code!";
alert_ebene(v_msg, v_msgEng);
alert_ebene("Veuillez indiquer le code garant!", "Please indicate the guarantor code!");
$("#codeGcAssureur").focus();
$("#codeModecalculPrime").val("");
return;
}
/* Ne pas rendre le plafond adhérent obligatoire
if(plafondAdherent=="0" || plafondAdherent<=" "){
v_msg="Veuillez indiquer le montant du plafond de famille!";
v_msgEng="Please indicate the amount of the family limit!";
alert_ebene(v_msg, v_msgEng);
$("#plafondAdherent").focus();
$("#codeModecalculPrime").val("");
return;
}
*/
if(codeProduit==undefined){
codeProduit = '';
}
if(codeModecalculPrime<=" ")
{
v_msg="Veuillez indiquer le mode de calcul de prime!";
v_msgEng="Please indicate how the premium is calculated!";
alert_ebene(v_msg, v_msgEng);
// Nettoyage des zones
$("#div_typetrancheage, #div_prime_lienparente").empty();
if (codeModecalculPrime <= " ") {
alert_ebene("Veuillez indiquer le mode de calcul!", "Please indicate the calculation mode!");
$("#codeModecalculPrime").focus();
$("#div_typetrancheage").empty();
$("#div_prime_lienparente").empty();
return;
}else if(codeModecalculPrime=="TA")
{
$("#div_prime_lienparente").empty();
$("#div_typetrancheage").empty();
$("#div_typetrancheage").html('<div style="padding-top:80px; text-align:center; font-size:14px; color: #0088cf; "><span><i class="fa fa-spinner fa-spin fa-5x" >' + '</span></div>');
}
donnees = "codeGcAssureur="+codeGcAssureur;
// Définition du loader
const loader = `
<div class="d-flex justify-content-center align-items-center p-5 animate__animated animate__fadeIn">
<div class="spinner-grow text-primary" role="status"></div>
<span class="ms-3 fw-bold text-primary">Chargement de la configuration...</span>
</div>`;
if (codeModecalculPrime == "TA") {
$("#div_typetrancheage").html(loader);
$.ajax({
url: $("#racineWeb").val()+"Ajaxprimelienparente/typetrancheage/",
url: racineWeb + "Ajaxprimelienparente/typetrancheage/",
type: 'post',
data: donnees,
error: function(errorData){
//alert("Erreur : "+errorData);
},
data: { codeGcAssureur: codeGcAssureur },
success: function(data) {
//alert("Success : "+data);
$("#div_typetrancheage").html(data);
$("#codeEnteteTrancheAge").selectpicker();
},
complete: function() {
$("#div_typetrancheage").hide().html(data).fadeIn();
if ($('.selectpicker').length) { $('.selectpicker').selectpicker('refresh'); }
}
});
} else {
$("#div_typetrancheage").empty();
$("#div_prime_lienparente").empty();
$("#div_prime_lienparente").html('<div style="padding-top:80px; text-align:center; font-size:14px; color: #0088cf; "><span><i class="fa fa-spinner fa-spin fa-5x" >' + '</span></div>');
donnees = "codeGcAssureur="+codeGcAssureur+'&codeProduit='+codeProduit;
$("#div_prime_lienparente").html(loader);
$.ajax({
url: $("#racineWeb").val()+"Ajaxprimelienparente/",
url: racineWeb + "Ajaxprimelienparente/",
type: 'post',
data: donnees,
error: function(errorData){
//alert("Erreur : "+errorData);
},
data: { codeGcAssureur: codeGcAssureur, codeProduit: codeProduit },
success: function(data) {
//alert("Success : "+data);
$("#div_prime_lienparente").html(data);
},
complete: function() {
$("#div_prime_lienparente").hide().html(data).fadeIn();
}
});
}
}

View File

@ -1,97 +1,95 @@
<table id="tab_prime_categorie" class="table table-striped table-bordered table-hover table-condensed table-responsive" style="font-size:10pt;">
<thead>
<div class="card border-0 shadow-sm animate__animated animate__fadeIn">
<div class="table-responsive">
<table id="tab_prime_categorie" class="table table-hover align-middle mb-0" style="font-size: 9pt;">
<thead class="bg-primary-ghost text-primary small fw-bold text-uppercase">
<tr>
<th style='text-align:center '> <?= _("Lien Parenté") ?> </th>
<th style='text-align:center;'> <?= _("Prime de Base") ?> </th>
<th style='text-align:center'> <?= _("Plafond") ?> </th>
<th style='text-align:center'> <?= _("Maximum par Famille") ?> </th>
<th style='text-align:center'> <?= _("Autoriser Plus?") ?> </th>
<th style='text-align:center'> <?= _("Surprime") ?> </th>
<th style='text-align:center'> <?= _("Âge Min") ?> </th>
<th style='text-align:center'> <?= _("Âge Max") ?> </th>
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Prime Base") ?></th>
<th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Max/Fam") ?></th>
<th class="text-center"><?= _("Plus ?") ?></th>
<th class="text-center"><?= _("Surprime") ?></th>
<th class="text-center"><i class="fas fa-hourglass-start me-1"></i><?= _("Âge Min") ?></th>
<th class="text-center pe-3"><i class="fas fa-hourglass-end me-1"></i><?= _("Âge Max") ?></th>
</tr>
</thead>
<tbody>
<?php
$i = 0;
foreach ($primeLienParente as $v):
$idPrime = $this->nettoyer($v['id']);
$codeLienParente = $this->nettoyer($v['codeLienParente']);
$lienparente = $this->nettoyer($v['lienparente']);
if (est_anglophone()){
$lienparente = $this->nettoyer($v['lienparenteEng']);
}
$ageMin = $this->nettoyer($v['ageMinimum']);
$ageMax = $this->nettoyer($v['ageMaximum']);
++$i;
$lien = est_anglophone() ? $this->nettoyer($v['lienparenteEng']) : $this->nettoyer($v['lienparente']);
$i++;
?>
<tr valign="top">
<td width="20%"><?= $lienparente ?></td>
<td align='center'>
<INPUT class="form-control text-center" id="tabPrime<?=$i;?>" TYPE="text" value="<?= format_N($this->nettoyer($v['prime'])); ?>"
onChange="ajax_maj_prime_produit_lienparente('<?=$idPrime?>', this.value, this);" onkeyup="controle_numerique(this);"
onblur="formatMonetaire(this);" onfocus="formatNumerique(this);">
<tr class="<?= ($codeLienParente == 'A') ? 'bg-primary-ghost-light fw-bold' : '' ?>">
<td class="ps-3 text-dark">
<i class="fas <?= ($codeLienParente == 'A') ? 'fa-user-tie' : 'fa-users' ?> me-2 opacity-50"></i>
<?= $lien ?>
</td>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabPlafond<?=$i;?>" value="<?= format_N($v['plafondBeneficiaire']); ?>"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onChange="ajax_maj_plafond_produit_lienparente('<?=$idPrime?>', this.value, this);" onfocus="formatNumerique(this);">
<td>
<input class="form-control form-control-sm text-center border-2 fw-bold text-primary input-editable"
type="text" value="<?= format_N($v['prime']) ?>"
onfocus="formatNumerique(this);" onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onchange="ajax_maj_prime_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
<td>
<input class="form-control form-control-sm text-center border-2 input-editable"
type="text" value="<?= format_N($v['plafondBeneficiaire']) ?>"
onfocus="formatNumerique(this);" onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onchange="ajax_maj_plafond_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
<?php if($codeLienParente != "A"): ?>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabnbreParFamille<?=$i;?>" value="<?= $v['nbreParFamille']; ?>"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onChange="ajax_maj_nbrefamille_produit_lienparente('<?=$idPrime?>', this.value, this);" onfocus="formatNumerique(this);">
<td>
<input class="form-control form-control-sm text-center border-2 input-editable"
type="text" value="<?= $v['nbreParFamille'] ?>"
onfocus="formatNumerique(this);" onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onchange="ajax_maj_nbrefamille_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
<td align='center'>
<select class="form-select text-center" id="tabAutoriser<?=$i;?>" onChange="ajax_maj_autoriser_produit_lienparente('<?=$idPrime?>', this.value, this, <?=$i;?>);">
<td>
<select class="form-select form-select-sm border-2 input-editable text-center"
onchange="ajax_maj_autoriser_produit_lienparente('<?=$idPrime?>', this.value, this, <?=$i;?>);">
<?php liste_options($ouinonautoriser, $this->nettoyer($v['autoriserSupplement']), true); ?>
</SELECT>
</select>
</td>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabprimeSupplementaire<?=$i;?>" value="<?= format_N($v['primeSupplementaire']); ?>"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onChange="ajax_maj_supplementaire_produit_lienparente('<?=$idPrime?>', this.value, this);" onfocus="formatNumerique(this);">
<td>
<input class="form-control form-control-sm text-center border-2 input-editable"
type="text" value="<?= format_N($v['primeSupplementaire']) ?>"
onfocus="formatNumerique(this);" onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);"
onchange="ajax_maj_supplementaire_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
<?php else: ?>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" value="<?= $v['nbreParFamille']; ?>" disabled>
</td>
<td align='center'>
<select class="form-select text-center" disabled>
<?php liste_options($ouinonautoriser, $this->nettoyer($v['autoriserSupplement']), true); ?>
</SELECT>
</td>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabprimeSupplementaire<?=++$i;?>"
value="<?= format_N($v['primeSupplementaire']); ?>" disabled>
</td>
<td class="text-center"><span class="text-muted small">---</span></td>
<td class="text-center"><span class="badge bg-light text-muted">FIXE</span></td>
<td class="text-center"><span class="text-muted small">---</span></td>
<?php endif; ?>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabAgeMin<?=$i;?>" value="<?= $ageMin; ?>"
onkeyup="controle_numerique(this);" onChange="ajax_maj_Agemin_produit_lienparente('<?=$idPrime?>', this.value, this);">
<td>
<input class="form-control form-control-sm text-center border-2 input-editable"
type="text" value="<?= $this->nettoyer($v['ageMinimum']) ?>"
onkeyup="controle_numerique(this);"
onchange="ajax_maj_Agemin_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
<td align='center'>
<INPUT class="form-control text-center" TYPE="text" id="tabAgeMax<?=$i;?>" value="<?= $ageMax; ?>"
onkeyup="controle_numerique(this);" onChange="ajax_maj_Agemax_produit_lienparente('<?=$idPrime?>', this.value, this);">
<td class="pe-3">
<input class="form-control form-control-sm text-center border-2 input-editable"
type="text" value="<?= $this->nettoyer($v['ageMaximum']) ?>"
onkeyup="controle_numerique(this);"
onchange="ajax_maj_Agemax_produit_lienparente('<?=$idPrime?>', this.value, this);">
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<style>
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.05) !important; }
.bg-primary-ghost-light { background-color: rgba(33, 46, 83, 0.02) !important; }
.input-editable { border-color: #eee; transition: all 0.2s; background-color: #fdfdfd; }
.input-editable:focus { border-color: var(--bs-primary); background-color: #fff !important; box-shadow: 0 0 0 0.2rem rgba(33, 46, 83, 0.1); }
.table-hover tbody tr:hover { background-color: rgba(33, 46, 83, 0.03); }
</style>

View File

@ -8,7 +8,7 @@
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Max/Fam") ?></th>
<th class="text-center"><?= _("Surplus") ?></th>
<th class="text-center"><?= _("Plus ?") ?></th>
<th class="text-center"><?= _("Surprime") ?></th>
<th class="text-center"><?= _("Âge Min") ?></th>
<th class="text-center"><?= _("Âge Max") ?></th>

View File

@ -88,7 +88,7 @@
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Max/Famille") ?></th>
<th class="text-center"><?= _("Surplus") ?></th>
<th class="text-center"><?= _("Plus ?") ?></th>
<th class="text-end pe-3"><?= _("Surprime") ?></th>
</tr>
</thead>
@ -146,7 +146,7 @@
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Prime Base") ?></th>
<th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Surplus") ?></th>
<th class="text-center"><?= _("Plus ?") ?></th>
<th class="text-center"><?= _("Max/Famille") ?></th>
<th class="text-end pe-3"><?= _("Surprime") ?></th>
</tr>