Assurance individuelle
This commit is contained in:
parent
2a2a42acfe
commit
1f44b95584
|
|
@ -1268,3 +1268,56 @@ li i { margin-right:10px; color:#007bff; }
|
|||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* Style Recherche Individuelle */
|
||||
|
||||
#div_familiale .form-select,
|
||||
#div_familiale .form-control {
|
||||
border: 1px solid var(--office-border);
|
||||
transition: all 0.2s ease;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#div_familiale .form-select:focus,
|
||||
#div_familiale .form-control:focus {
|
||||
border-color: var(--office-secondary);
|
||||
box-shadow: 0 0 0 0.25rem rgba(43, 87, 154, 0.1);
|
||||
}
|
||||
|
||||
/* Groupement d'input avec icônes */
|
||||
.input-group-text {
|
||||
border: 1px solid var(--office-border);
|
||||
color: #adb5bd;
|
||||
}
|
||||
|
||||
/* Boutons personnalisés */
|
||||
#div_familiale .btn-primary {
|
||||
background-color: var(--office-secondary) !important;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#div_familiale .btn-primary:hover {
|
||||
background-color: #1a3a6b !important;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
#div_familiale .btn-outline-secondary {
|
||||
color: var(--office-secondary);
|
||||
border-color: var(--office-secondary);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#div_familiale .btn-outline-secondary:hover {
|
||||
background-color: var(--office-secondary);
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Badge spécifique Primes non facturées */
|
||||
.badge.bg-warning {
|
||||
background-color: #fff3cd !important;
|
||||
color: #856404 !important;
|
||||
border: 1px solid #ffeeba !important;
|
||||
font-size: 0.9rem;
|
||||
padding: 8px 12px;
|
||||
}
|
||||
31
Controleur/ControleurAssuranceindividuelle.php
Normal file
31
Controleur/ControleurAssuranceindividuelle.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Menuvueutilisateur.php';
|
||||
|
||||
require_once 'Modele/Typeapporteur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAssuranceindividuelle extends Controleur
|
||||
{
|
||||
private $typeapporteur;
|
||||
private $police;
|
||||
|
||||
public function __construct() {
|
||||
$this->menuvue = new Menuvueutilisateur();
|
||||
$this->menuvue->getMenuVue('Assuranceindividuelle');
|
||||
|
||||
$this->typeapporteur = new Typeapporteur();
|
||||
$this->police = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$typeapporteurs = $this->typeapporteur->getTypeapporteursCommercial();
|
||||
|
||||
$nb_non_facturees = $this->police->fn_primes_non_facturees_police($idPolice);
|
||||
|
||||
$this->genererVue(array('typeapporteurs' => $typeapporteurs, 'nb_non_facturees' => $nb_non_facturees));
|
||||
}
|
||||
}
|
||||
|
|
@ -666,3 +666,19 @@ function college_police()
|
|||
window.location.assign($("#racineWeb" ).val()+"Collegepolice/");
|
||||
}
|
||||
}
|
||||
|
||||
function assurance_familiale()
|
||||
{
|
||||
codeTypeContrat = $("#codeTypeContrat_C").val();
|
||||
|
||||
if (codeTypeContrat!="F")
|
||||
{
|
||||
v_msg="Ce n\'est pas une police FAMILIALE!";
|
||||
v_msgEng="This is not a FAMILIY policy!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
window.location.assign($("#racineWeb" ).val()+"Assuranceindividuelle/");
|
||||
}
|
||||
21
Modele/Typeapporteur.php
Normal file
21
Modele/Typeapporteur.php
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<?php
|
||||
require_once 'Framework/Modele.php';
|
||||
|
||||
class Typeapporteur extends Modele
|
||||
{
|
||||
public function getTypeapporteursCommercial()
|
||||
{
|
||||
/* modif du 15/11/2020
|
||||
$sql = 'SELECT codeTypeApporteur as `code`, libelle FROM typeapporteur A
|
||||
WHERE (A.codeSociete=? AND codeTypeApporteur not in ("AS", "VD") ) order by libelle';
|
||||
*/
|
||||
|
||||
$sql = 'SELECT codeTypeApporteur as `code`, libelle FROM typeapporteur A
|
||||
WHERE (A.codeSociete=? AND codeTypeApporteur != "AS" ) order by libelle';
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
|
||||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
}
|
||||
97
Vue/Assuranceindividuelle/index.php
Normal file
97
Vue/Assuranceindividuelle/index.php
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
$this->titre = "INTER-SANTE - ASSURANCE MALADIE INDIVIDUELLE";
|
||||
?>
|
||||
|
||||
<div id="div_familiale" class="container-fluid py-4 animate__animated animate__fadeIn">
|
||||
|
||||
<div class="d-flex align-items-center mb-4">
|
||||
<div class="bg-office-primary p-3 rounded-circle text-white shadow-sm me-3">
|
||||
<i class="fas fa-user-shield fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="fw-bold mb-0 text-dark"><?= _("ASSURANCE MALADIE INDIVIDUELLE") ?></h4>
|
||||
<span class="badge bg-warning text-dark border shadow-sm">
|
||||
<i class="fas fa-exclamation-triangle me-1"></i>
|
||||
<?= _("Primes non facturées") ?> : <strong><?= format_N($nb_non_facturees) ?></strong>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm border-0 mb-4" id="div_entete_apporteur" onkeypress="javascript:ctrlkeypress_rechercher_commercail_type_familiale(event);">
|
||||
<div class="card-header bg-light py-3 border-bottom-0">
|
||||
<h6 class="mb-0 fw-bold text-secondary text-uppercase small">
|
||||
<i class="fas fa-search me-2"></i><?= _("Filtres de recherche") ?>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
<div class="row g-4 align-items-end">
|
||||
<div class="col-md-4">
|
||||
<label for="codeTypeApporteur" class="form-label fw-bold small text-primary"><?= _("Type d'apporteur") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-filter text-muted"></i></span>
|
||||
<select class="form-select border-start-0" id="codeTypeApporteur" name="codeTypeApporteur" autofocus>
|
||||
<?php liste_options_consultation($typeapporteurs, ""); ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label for="libelleApporteur" class="form-label fw-bold small text-primary"><?= _("Nom du Commercial") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-user text-muted"></i></span>
|
||||
<input type="text" class="form-control border-start-0" id="libelleApporteur" name="libelleApporteur" placeholder="<?= _("Saisissez un nom...") ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="row g-2">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn btn-primary w-100 shadow-sm fw-bold py-2" onClick="javascript:rechercher_commercail_type_familiale();">
|
||||
<i class="fas fa-search me-2"></i><?= _("Filtrer") ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn btn-outline-secondary w-100 shadow-sm fw-bold py-2" onClick="javascript:rechercher_commercail_type_familiale_tous();">
|
||||
<i class="fas fa-globe me-2"></i><?= _("Tous") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="div_detail_apporteur" class="mt-4">
|
||||
<div class="d-flex align-items-center mb-3 border-bottom pb-2">
|
||||
<i class="fas fa-list me-2 text-secondary"></i>
|
||||
<h5 class="mb-0 fw-bold text-secondary text-uppercase small"><?= _("Liste des Commerciaux") ?></h5>
|
||||
</div>
|
||||
<div class="text-center py-5 text-muted">
|
||||
<i class="fas fa-info-circle me-1"></i> <?= _("Utilisez les filtres ci-dessus pour afficher les commerciaux.") ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="sr-only" id="btn_exporter" name="btn_exporter" type="button" data-toggle="modal" data-target="#pop_exporter"></button>
|
||||
|
||||
<div class="modal fade" id="pop_exporter" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered">
|
||||
<div class="modal-content border-0 shadow-lg">
|
||||
<div class="modal-header bg-office-blue text-white">
|
||||
<h5 class="modal-title">
|
||||
<i class="fas fa-file-export me-2"></i><?= _("Exportation des données") ?>
|
||||
</h5>
|
||||
<button type="button" class="btn-close btn-close-white" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body p-0">
|
||||
<div id="div_export_apporteur" class="p-4">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-secondary shadow-sm" data-dismiss="modal">
|
||||
<i class="fas fa-times me-2"></i><?= _("Fermer") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -119,7 +119,7 @@ $activeChildId = $menuData['child'];
|
|||
<link rel="manifest" href="<?= $racineWeb ?>manifest.json">
|
||||
|
||||
<!-- 4. VOS STYLES PERSONNALISÉS (en dernier pour qu'ils dominent) -->
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2025.12.29.13" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2025.12.30.00" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/ux_enhancements.css?ver=2025.12.21.02" rel="stylesheet">
|
||||
|
||||
<!-- ============================================
|
||||
|
|
@ -600,7 +600,7 @@ $activeChildId = $menuData['child'];
|
|||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
|
||||
<!-- Application Scripts -->
|
||||
<script src="/Js/fonctions.js?ver=2025.12.29.02"></script>
|
||||
<script src="/Js/fonctions.js?ver=2025.12.30.00"></script>
|
||||
|
||||
<?php if (est_anglophone()): ?>
|
||||
<script src="/Js/datepicker-eng.js"></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user