Merge branch 'main' of git.ebene.ovh:ebene/radiantrh

This commit is contained in:
KANE LAZENI 2026-01-05 18:49:39 +00:00
commit da7689a6d0
3 changed files with 88 additions and 92 deletions

View File

@ -2502,102 +2502,96 @@ $( ".datepicker" ).datepicker({
}); });
function charger_fichier_modele_assure() /**
{ * ETAPE 2 : Affichage du formulaire d'upload
$('#div_exporter_liste_assures').html(""); */
function charger_fichier_modele_assure() {
$('#div_form_upload').show(); // Nettoie la zone de prévisualisation avant un nouvel upload
$('#div_exporter_liste_assures').empty();
// Animation fluide pour afficher le formulaire
$('#div_form_upload').slideDown();
// Scroll automatique vers le formulaire pour l'utilisateur
$('html, body').animate({
scrollTop: $("#div_form_upload").offset().top - 100
}, 500);
} }
function init_importer_modele_assure() /**
{ * ETAPE 3 (Init) : Chargement de la liste des avenants
etape2=$("#etape2").val(); */
function init_importer_modele_assure() {
// On récupère la valeur du champ caché
var statusEtape2 = $("#etape2").val();
if (etape2 != "1") if (statusEtape2 !== "1") {
{ // Message d'alerte stylisé
v_msg="Etape 2 incomplète!"; alert_ebene("L'étape 2 (Chargement du fichier) n'est pas finalisée.", "Step 2 is not completed!");
v_msgEng="Incomplete step 2!"; return;
alert_ebene(v_msg, v_msgEng); }
return; // Si OK, on continue le workflow
} $('#div_form_upload').slideUp();
var div_export = $('#div_exporter_liste_assures');
// Affichage du chargement
div_export.html('<div class="text-center p-5"><div class="spinner-border text-primary"></div><br>Préparation de la liste...</div>');
$('#div_form_upload').hide(); $.ajax({
url: $("#racineWeb").val() + "Ajaximporterlisteassure/initimportermodele/",
var div_export = $('#div_exporter_liste_assures'); type: 'POST',
success: function(data) {
div_export.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>'); div_export.html(data);
// Optionnel : on peut mettre à jour un indicateur visuel ici
$.ajax({ }
url: $("#racineWeb").val()+"Ajaximporterlisteassure/initimportermodele/", });
type: 'POST',
// data: donnees,
success: function(data)
{
div_export.html(data);
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
}
});
} }
function importer_modele_assure(idAvenant) /**
{ * ETAPE 3 (Action) : Liaison du fichier à l'avenant choisi
etape2=$("#etape2").val(); */
function importer_modele_assure(idAvenant) {
// On re-vérifie la présence du fichier par sécurité
var cheminFichier = $("#cheminFichier").val();
if (!cheminFichier || cheminFichier === "") {
alert_ebene("Erreur: Aucun fichier trouvé.", "Error: No file found.");
return;
}
if (etape2 != "1") var div_export = $('#div_exporter_liste_assures');
{ div_export.html('<div class="text-center py-5"><div class="spinner-border text-info" role="status"></div><p class="mt-2">Analyse du fichier et liaison à l\'avenant...</p></div>');
v_msg="Etape 2 incomplète!";
v_msgEng="Incomplete step 2!";
alert_ebene(v_msg, v_msgEng);
return; var donnees = {
} idAvenant: idAvenant,
cheminFichier: cheminFichier
};
$("#div_erreur_excel").empty();
$('#div_form_upload').hide(); $.ajax({
url: $("#racineWeb").val() + "Ajaximporterlisteassure/importermodele/",
var div_export = $('#div_exporter_liste_assures'); type: 'POST',
data: donnees,
div_export.html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/>&nbsp;&nbsp;<span style="font-size:15pt;">' + 'Chargement en cours! Veuillez patienter...' + '</span></div>'); success: function(data) {
// Le serveur doit retourner un flag de succès dans le HTML
cheminFichier=$("#cheminFichier").val(); // ex: <input type="hidden" id="succes_impot_execl" value="1">
$("#div_erreur_excel").html(data);
donnees = 'idAvenant='+idAvenant+'&cheminFichier='+cheminFichier;
var isSuccess = $("#succes_impot_execl").val();
$("#div_erreur_excel").html("");
if (isSuccess === "1") {
$.ajax({ alert_ebene("Liaison réussie ! Passage au traitement...", "Link successful! Moving to processing...");
url: $("#racineWeb").val()+"Ajaximporterlisteassure/importermodele/", maj_etape_3_import_assures();
type: 'POST', } else {
data: donnees, div_export.empty(); // On vide le spinner pour laisser voir l'erreur
success: function(data) alert_ebene("Le fichier contient des erreurs de format.", "The file contains formatting errors.");
{ }
div_export.html(''); },
$("#div_erreur_excel").html(data); error: function() {
alert_ebene("Erreur technique lors de l'importation.", "Technical error during import.");
v_msg="Opération terminée avec succès!"; }
v_msgEng="Operation completed successfully!"; });
alert_ebene(v_msg, v_msgEng);
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
div_export.html('');
succes_impot_execl=$("#succes_impot_execl").val();
if (succes_impot_execl == "1")
{
maj_etape_3_import_assures();
}
}
});
} }
function maj_etape_3_import_assures() function maj_etape_3_import_assures()

View File

@ -1,6 +1,8 @@
<div id="div_liste_adherent" class="container-fluid py-0 animate__animated animate__fadeIn"> <div id="div_liste_adherent" class="container-fluid py-1 animate__animated animate__fadeIn">
<input type="hidden" id="etape2" value="<?= $fichierimport['etape2'] ?>">
<h1 class="text-primary"><i class="fas fa-file-import me-2"></i></i> <?= _("Importer les Assurés") ?></h1> <input type="hidden" id="etape3" value="<?= $fichierimport['etape3'] ?>">
<h1 class="text-primary"><i class="fas fa-file-import me-2"></i></i> <?= _("Importer les assurés") ?></h1>
<div class="card shadow-sm border-0 mb-0 bg-light"> <div class="card shadow-sm border-0 mb-0 bg-light">
<div class="card-body"> <div class="card-body">
@ -26,8 +28,8 @@
</div> </div>
</div> </div>
<div class="card shadow-sm border-0 mb-1"> <div class="card shadow-sm border-0 mb-4">
<div class="card-header bg-white py-1"> <div class="card-header bg-white py-1">
<h5 class="card-title mb-0 fw-bold"><i class="fas fa-file-import me-2 text-info"></i><?= _("Processus d'importation des assurés") ?></h5> <h5 class="card-title mb-0 fw-bold"><i class="fas fa-file-import me-2 text-info"></i><?= _("Processus d'importation des assurés") ?></h5>
</div> </div>

View File

@ -638,7 +638,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Application Scripts --> <!-- Application Scripts -->
<script src="/Js/fonctions.js?ver=2026.01.05.25"></script> <script src="/Js/fonctions.js?ver=2026.01.05.27"></script>
<script type="text/javascript"> <script type="text/javascript">
raffraichier_gabarit(); raffraichier_gabarit();