This commit is contained in:
KONE SOREL 2026-03-14 08:44:00 +00:00
parent ac46f4e0fc
commit 3bb38d983e
3 changed files with 165 additions and 141 deletions

View File

@ -1,29 +1,57 @@
<form id="formData">
<legend id="titre_formData"><?= _("Ajouter des données") ?></legend>
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" class="required"><?= _("Nom") ?></td>
<td width="30%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" ></td>
<td width="5%" align="center" class="required"><?= _("Pays") ?></td>
<td width="20%">
<select name="codePays" id="codePays" class="form-select" required AUTOCOMPLETE="OFF" onchange="JAVASCRIPT:filtreVilleParPays();">
<?= liste_options($pays,'',false) ?>
</select>
</td>
<div class="card border-0 shadow-sm border-start border-success border-4 mb-4">
<div class="card-header bg-white py-3 border-0">
<h6 class="mb-0 fw-bold text-uppercase text-success small" id="titre_formData">
<i class="fas fa-plus-circle me-2"></i><?= _("Ajouter une Localité") ?>
</h6>
</div>
<td width="5%" align="center" class="required"><?= _("Ville") ?></td>
<td width="20%">
<div id="div_ville" width="100%">
<select name="codeVille" id="codeVille" class="form-select" required AUTOCOMPLETE="OFF">
<?= liste_options($ville,'',false) ?>
<div class="card-body">
<form id="formData">
<input type="hidden" id="id" name="id" value="<?= $localite['id'] ?? '' ?>">
<div class="row g-3">
<div class="col-md-4">
<label class="form-label small fw-bold text-muted required"><?= _("Nom Localité") ?></label>
<div class="input-group">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-map-marker-alt text-muted"></i></span>
<input class="form-control border-2 border-start-0 ps-0 majuscule"
type="text" id="libelle" name="libelle"
value="<?= $this->nettoyer($localite['libelle'] ?? '') ?>"
required autocomplete="off" autofocus>
</div>
</div>
<div class="col-md-4">
<label class="form-label small fw-bold text-muted required"><?= _("Pays") ?></label>
<div class="input-group">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-flag text-muted"></i></span>
<select name="codePays" id="codePays"
class="form-control border-2 border-start-0 ps-0 selectpicker"
data-live-search="true" required onchange="filtreVilleParPays();">
<?= liste_options($pays, $localite['codePays'] ?? '', false) ?>
</select>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div class="col-md-4">
<label class="form-label small fw-bold text-muted required"><?= _("District ou Région") ?></label>
<div class="input-group" id="div_ville">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-city text-muted"></i></span>
<select name="codeVille" id="codeVille"
class="form-control border-2 border-start-0 ps-0 selectpicker"
data-live-search="true"
required onchange="JAVASCRIPT:filtreLocaliteParVille();">
<?= liste_options($ville, $localite['codeVille'] ?? '', false) ?>
</select>
</div>
</div>
</div>
</form>
</div>
</div>
<style>
/* Uniformisation des selects avec icônes */
.input-group > .bootstrap-select.form-control { flex: 1 1 auto; }
.bootstrap-select .btn { border-left: 0 !important; border-width: 2px !important; }
</style>

View File

@ -1,88 +1,64 @@
<?php
$nbreTotal = count($localite);
if($nbreTotal < 10){
$nbreTotal = '0'.$nbreTotal;
}else{
$nbreTotal = format_N($nbreTotal);
}
if (est_anglophone()){
if($existeselection){
$libbouton = "Uncheck all";
}else{
$libbouton = "Check all";
}
}else{
if($existeselection){
$libbouton = "Décocher tous";
}else{
$libbouton = "Cocher tous";
}
}
?>
<div class="card border-0 shadow-sm overflow-hidden" style="border-radius: var(--radius-md);">
<div class="card-header bg-white py-3 border-bottom d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<h6 class="mb-0 fw-bold text-uppercase text-primary small">
<i class="fas fa-map-marker-alt me-2"></i><?= _("Référentiel des Localités") ?>
</h6>
<span class="badge bg-primary-ghost text-primary ms-3 px-3 py-2 rounded-pill fw-bold" id="badge-total">
0 <?= _("Lignes") ?>
</span>
</div>
<div id="table-buttons" class="d-flex gap-2"></div>
</div>
<?php $superUser = $_SESSION['superUser']; ?>
<div class="card-body p-0">
<div class="table-responsive">
<table id="tableLister" class="table table-hover align-middle mb-0" style="width:100%">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="ps-4 border-0"><?= _("Centre") ?></th>
<th class="border-0 text-center"><?= _("Code") ?></th>
<th class="border-0"><?= _("Nom Localité") ?></th>
<th class="border-0"><?= _("District / Région") ?></th>
<th class="border-0"><?= _("Pays") ?></th>
<th class="border-0 text-center pe-4"><?= _("Actions") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($localite as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr>
<td class="ps-4 fw-medium text-muted small"><?= $this->nettoyer($v['codeSociete']) ?></td>
<td class="text-center">
<span class="badge bg-light text-dark border fw-bold"><?= $this->nettoyer($v['codeLocalite']) ?></span>
</td>
<td class="fw-bold text-dark"><?= $this->nettoyer($v['libelle']) ?></td>
<td class="text-muted"><?= $this->nettoyer($v['nomville']) ?></td>
<td>
<i class="fas fa-flag-checkered me-1 text-secondary opacity-50 small"></i>
<?= $this->nettoyer($v['nompays']) ?>
</td>
<td class="text-center pe-4">
<button type="button"
class="btn btn-outline-primary btn-sm px-3 rounded-pill fw-bold shadow-xs"
onclick="formModifTableRef(<?= $idData ?>);">
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<table style="margin: auto" class="table-responsive">
<tbody>
<td><input class="form-control" style="text-align: center; font-size:10pt;" type="text" id="nbreTotal" name="nbreTotal" value="<?= _("Lignes Total").": ". $nbreTotal; ?>" readonly> </td>
</tbody>
</table>
<input type="hidden" id="total" value="<?= $nbreTotal; ?>">
<table id="tableLister" class="table table-striped table-bordered table-hover table-condensed table-responsive compact">
<thead>
<tr>
<th class="text-center"><?= _("Centre gestion") ?></th>
<th class="text-center">Code</th>
<th class="text-center"><?= _("Nom") ?> </th>
<th class="text-center"><?= _("District ou Région") ?></th>
<th class="text-center"><?= _("Pays") ?></th>
<!--
<th class="text-center">
<button type="button" style="font-size:10pt; font-weight: bold; width:100%; background-color:#4caf50; color: white;" class="form-control btn" onclick="javascript:cocherDecocherTout($('#fichier_lister').val());" > <?= $libbouton; ?> </button>
</th>
-->
<th class="text-center"><?= _("Modifier") ?></th>
<!--
<th class="text-center">Supprimer</th>
-->
</tr>
</thead>
<tbody>
<?php foreach ($localite as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr valign="top">
<td class="text-center" width="15%"><?= $this->nettoyer($v['codeSociete']) ?></td>
<td class="text-center" width="10%"><?= $this->nettoyer($v['codeLocalite']) ?></td>
<td class="text-left" width="20%"><?= $this->nettoyer($v['libelle']) ?></td>
<td class="text-left" width="20%"><?= $this->nettoyer($v['nomville']) ?></td>
<td class="text-left" width="15%"><?= $this->nettoyer($v['nompays']) ?></td>
<!--
<td class="text-center" width="10%">
<?php
if($this->nettoyer($v['choix'] == '0')){
$check ='';
}
else{
$check = 'checked';
}
?>
<INPUT TYPE="checkbox" class="custom-control-input" style="width: 2rem;height: 2rem;" id="choix" NAME="choix" value="<?=(($this->nettoyer($v['choix'])==0)? 0 : 1);?>" onclick="if (this.checked) this.value=1; else this.value=0;cocherDecocherUn($('#fichier_lister').val(),<?= $idData; ?>);" <?= $check;?>>
</td>
-->
<td class="text-center" width="10%">
<button style="width:100%" class ="form-control btn btn-primary" type="button" id="btn-editer" name="Modifier"
onclick="JAVASCRIPT:formModifTableRef(<?= $idData; ?>);" ><?= _("Modifier") ?></button>
</td>
<!--
<td class="text-center" width="10%">
<button style="width:100%" class = "form-control btn btn-danger" type="button" id="btn-supprimer" name="Supprimer"
onclick="JAVASCRIPT:supprimeLigneListe(<?= $idData; ?>,'<?= $superUser; ?>')">Supprimer</button>
</td>
-->
</tr>
<?php endforeach; ?>
</tbody>
</table>
<style>
/* Rappel des styles Ghost pour la cohérence */
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
#tableLister thead th { padding-top: 15px; padding-bottom: 15px; font-size: 0.75rem; }
#tableLister tbody td { border-color: #f1f4f6; height: 60px; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.text-primary { color: #212e53 !important; }
</style>

View File

@ -1,31 +1,51 @@
<form id="formData">
<legend id="titre_formData"><?= _("Modification des données") ?></legend>
<INPUT class="sr-only" TYPE="text" id = "id" name = "id" value="<?=$localite['id']?>">
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" >Code</td>
<td width="10%" ><INPUT class="form-control majuscule" TYPE="text" id="codeLocalite" NAME="codeLocalite" value="<?= $this->nettoyer($localite['codeLocalite']); ?>" disabled></td>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="30%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" value="<?= $this->nettoyer($localite['libelle']); ?>"></td>
<td width="5%" align="center" class="required"><?= _("Pays") ?></td>
<td width="20%">
<select name="codePays" id="codePays" class="form-select" required AUTOCOMPLETE="OFF" onchange="JAVASCRIPT:filtreVilleParPays();">
<?= liste_options($pays,$this->nettoyer($localite['codePays']),true) ?>
</select>
</td>
<td width="5%" align="center" class="required"><?= _("Ville") ?></td>
<td width="20%">
<div id="div_ville" width="100%">
<select name="codeVille" id="codeVille" class="form-select" required AUTOCOMPLETE="OFF">
<?= liste_options($ville,$this->nettoyer($localite['codeVille']),true) ?>
</select>
<form id="formData" class="container-fluid p-0">
<input type="hidden" id="id" name="id" value="<?= $localite['id'] ?>">
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3">
<h6 class="card-title mb-0 fw-bold text-uppercase text-warning small">
<i class="fas fa-edit me-2"></i><?= _("Modification des données de la localité") ?>
</h6>
</div>
<div class="card-body bg-light-50">
<div class="row g-3">
<div class="col-md-2">
<label class="form-label small fw-bold text-muted"><?= _("Code") ?></label>
<div class="input-group">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-barcode text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold" id="codeLocalite" name="codeLocalite" value="<?= $this->nettoyer($localite['codeLocalite']); ?>" disabled>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="col-md-4">
<label class="form-label small fw-bold text-muted required"><?= _("Libellé Localité") ?></label>
<div class="input-group">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-map-marker-alt text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule" id="libelle" name="libelle" required autocomplete="off" value="<?= $this->nettoyer($localite['libelle']); ?>">
</div>
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted required"><?= _("Pays") ?></label>
<div class="input-group">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-globe text-muted"></i></span>
<select name="codePays" id="codePays" class="form-control selectpicker border-2 border-start-0" required onchange="filtreVilleParPays();">
<?= liste_options($pays, $this->nettoyer($localite['codePays']), true) ?>
</select>
</div>
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted required"><?= _("Ville / District") ?></label>
<div class="input-group" id="div_ville_container">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-city text-muted"></i></span>
<select name="codeVille" id="codeVille" class="form-control selectpicker border-2 border-start-0" required>
<?= liste_options($ville, $this->nettoyer($localite['codeVille']), true) ?>
</select>
</div>
</div>
</div>
</div>
</div>
</form>