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,108 +78166,58 @@ function supprimer_detailbareme_college_temp(adminProd, idDetail)
} }
function modecalculeprime() function modecalculeprime() {
{ let codeModecalculPrime = $("#codeModecalculPrime").val();
codeModecalculPrime = $("#codeModecalculPrime").val(); let codeGcAssureur = $("#codeGcAssureur").val();
codeGcAssureur = $("#codeGcAssureur").val(); let codeProduit = $("#codeProduit").val() || '';
let racineWeb = $("#racineWeb").val();
codeEnteteTrancheAge = $("#codeEnteteTrancheAge").val();
plafondAdherent = $("#plafondAdherent").val();
codeProduit = $("#codeProduit").val();
if(codeGcAssureur =="AUC"){
v_msg="Veuillez indiquer le code garant!";
v_msgEng="Please indicate the guarantor code!";
alert_ebene(v_msg, v_msgEng);
$("#codeGcAssureur").focus(); // Validation du Garant
$("#codeModecalculPrime").val(""); if (codeGcAssureur == "AUC") {
return; 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(); // Nettoyage des zones
$("#codeModecalculPrime").val(""); $("#div_typetrancheage, #div_prime_lienparente").empty();
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);
$("#codeModecalculPrime").focus(); if (codeModecalculPrime <= " ") {
alert_ebene("Veuillez indiquer le mode de calcul!", "Please indicate the calculation mode!");
$("#div_typetrancheage").empty(); $("#codeModecalculPrime").focus();
$("#div_prime_lienparente").empty(); return;
}
return;
}else if(codeModecalculPrime=="TA") // Définition du loader
{ const loader = `
$("#div_prime_lienparente").empty(); <div class="d-flex justify-content-center align-items-center p-5 animate__animated animate__fadeIn">
$("#div_typetrancheage").empty(); <div class="spinner-grow text-primary" role="status"></div>
$("#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>'); <span class="ms-3 fw-bold text-primary">Chargement de la configuration...</span>
</div>`;
donnees = "codeGcAssureur="+codeGcAssureur;
if (codeModecalculPrime == "TA") {
$.ajax({ $("#div_typetrancheage").html(loader);
url: $("#racineWeb").val()+"Ajaxprimelienparente/typetrancheage/", $.ajax({
type : 'post', url: racineWeb + "Ajaxprimelienparente/typetrancheage/",
data: donnees, type: 'post',
error: function(errorData){ data: { codeGcAssureur: codeGcAssureur },
//alert("Erreur : "+errorData); success: function(data) {
}, $("#div_typetrancheage").hide().html(data).fadeIn();
success: function(data) { if ($('.selectpicker').length) { $('.selectpicker').selectpicker('refresh'); }
//alert("Success : "+data); }
$("#div_typetrancheage").html(data); });
$("#codeEnteteTrancheAge").selectpicker(); } else {
$("#div_prime_lienparente").html(loader);
}, $.ajax({
complete: function() { url: racineWeb + "Ajaxprimelienparente/",
type: 'post',
} data: { codeGcAssureur: codeGcAssureur, codeProduit: codeProduit },
}); success: function(data) {
$("#div_prime_lienparente").hide().html(data).fadeIn();
}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;
$.ajax({
url: $("#racineWeb").val()+"Ajaxprimelienparente/",
type : 'post',
data: donnees,
error: function(errorData){
//alert("Erreur : "+errorData);
},
success: function(data) {
//alert("Success : "+data);
$("#div_prime_lienparente").html(data);
},
complete: function() {
}
});
}
} }
function trancheage() { function trancheage() {

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

View File

@ -8,7 +8,7 @@
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th> <th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Plafond") ?></th> <th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Max/Fam") ?></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"><?= _("Surprime") ?></th>
<th class="text-center"><?= _("Âge Min") ?></th> <th class="text-center"><?= _("Âge Min") ?></th>
<th class="text-center"><?= _("Âge Max") ?></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="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Plafond") ?></th> <th class="text-center"><?= _("Plafond") ?></th>
<th class="text-center"><?= _("Max/Famille") ?></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> <th class="text-end pe-3"><?= _("Surprime") ?></th>
</tr> </tr>
</thead> </thead>
@ -146,7 +146,7 @@
<th class="py-3 ps-3"><?= _("Lien Parenté") ?></th> <th class="py-3 ps-3"><?= _("Lien Parenté") ?></th>
<th class="text-center"><?= _("Prime Base") ?></th> <th class="text-center"><?= _("Prime Base") ?></th>
<th class="text-center"><?= _("Plafond") ?></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-center"><?= _("Max/Famille") ?></th>
<th class="text-end pe-3"><?= _("Surprime") ?></th> <th class="text-end pe-3"><?= _("Surprime") ?></th>
</tr> </tr>