Compare commits

..

26 Commits

Author SHA1 Message Date
Alexis Burnaz a67638b223 main état : 12/06/2026, POUR TPPC 2026-06-12 11:18:30 +02:00
Alexis Burnaz 23ce270077 tfac be like, last ver 2026-06-12 10:19:12 +02:00
Alexis Burnaz 3ad5d2f3d3 total FAC TTPC RC 2026-06-11 17:07:54 +02:00
Alexis Burnaz 7b484f34c9 RC: stabilise projet validation and reorganize product scripts 2026-04-24 17:38:30 +02:00
Alexis Burnaz 349c379dc7 boutons flottants supr 2026-04-22 10:32:44 +02:00
Alexis Burnaz 5338f682af RC UI: uniformiser labels flottants et fiabiliser blocages projet/tarif 2026-04-21 15:24:37 +02:00
Alexis Burnaz 4927d22387 RC projet: restaurer prime HT de reference et fiabiliser listeners modal impact 2026-04-21 10:34:42 +02:00
Alexis Burnaz 0b7d8b6eb3 RC tarif: repositionner le blocage, placeholders et assouplir le blocage choix 2026-04-21 09:48:30 +02:00
Alexis Burnaz 47c70697d3 fix(rc): fiabiliser modal impact projet et bypass cache scripts 2026-04-20 11:38:03 +02:00
Alexis Burnaz a8d0e69585 fix(rc): decoupler detection impact modal des modulateurs 2026-04-20 10:26:17 +02:00
Alexis Burnaz f57855d143 chore(rc): tracer raisons de non-ouverture du modal impact 2026-04-16 15:59:16 +02:00
Alexis Burnaz b35d64a241 fix(rc): armer modal projet avec tarifRC/tarif fallback 2026-04-16 15:53:04 +02:00
Alexis Burnaz bb695a820e chore(rc): push complet sync tarif/projet et donnees locales 2026-04-16 15:30:31 +02:00
Alexis Burnaz cc7d3d9e08 RC: auto-check activités complémentaires 2026-03-20 10:53:55 +01:00
Alexis Burnaz e4cb9906b4 RC: restituer historique et valeurs par defaut 2026-03-20 10:33:51 +01:00
Alexis Burnaz 4919940a26 RC: nouveaux formulaires et synchro 2026-03-19 10:26:15 +01:00
Alexis Burnaz 0125e2ae69 Lm : plus de AJAX, plus de soucis de token, mais loader pas fou, du a l'app en elle meme 2025-12-22 17:20:33 +01:00
Alexis Burnaz d6f06dfd7b Lm : a jour 2025-12-22 16:05:14 +01:00
Alexis Burnaz 77bf98e6cd fix : recherche globale + tous les champs 2025-12-22 13:42:13 +01:00
Alexis Burnaz 0a536140ab fix : bouton desactivé pendant le téléchargement + plus de abort 2025-12-22 12:24:30 +01:00
Alexis Burnaz 5de492b308 fix : exports (csv, xls) fixed, clients expand, fixed 2025-12-22 11:46:51 +01:00
Alexis Burnaz 4f82b29f18 minor changes 2025-12-19 18:27:17 +01:00
Alexis Burnaz a929c0770c Ajout .gitignore et retrait node_modules/logs du suivi 2025-12-19 18:11:52 +01:00
Alexis Burnaz 4cc8167ad8 Hp quasiment terminé, version tres avancé, aucune erreur dans la console 2025-12-19 18:10:03 +01:00
Alexis Burnaz 5a0ff43300 Hp quasiment terminé, version tres avancé, aucune erreur dans la console 2025-12-19 18:08:26 +01:00
Alexis Burnaz 013cd0eb8d travail 2025-12-19 13:37:51 +01:00
233 changed files with 3269 additions and 1978 deletions

View File

@ -0,0 +1,15 @@
{
"keep": {
"days": true,
"amount": 14
},
"auditLog": "C:\\Users\\B722DA\\Documents\\etv2\\logs\\.08fe637d6ef44c0231313d33bee64c93b9084214-audit.json",
"files": [
{
"date": 1758200946499,
"name": "C:\\Users\\B722DA\\Documents\\etv2\\logs\\easytransport-18092025.log",
"hash": "1706becaf705914860a3975811363123969a9384d470caf37ee1ba3b6762cbcc"
}
],
"hashType": "sha256"
}

View File

@ -0,0 +1,15 @@
{
"keep": {
"days": true,
"amount": 14
},
"auditLog": "C:\\workspace\\etv2\\logs\\.3d67f34307b811ec6c096daeac0152b0eaa334a7-audit.json",
"files": [
{
"date": 1781187673716,
"name": "C:\\workspace\\etv2\\logs\\easytransport-11062026.log",
"hash": "c19430c072d594d17c7e822d673b22a8a9eb97f9955f27a7543fec107e9788c3"
}
],
"hashType": "sha256"
}

6
ecole/.env Normal file
View File

@ -0,0 +1,6 @@
#DB_URL=http://ppsi_nanterre.axa-fr.intraxa:3005/
DB_URL=http://127.0.0.1:8091/
DB_ADMIN=admin@axa.fr
DB_PASSWORD=DTadmin123TT
NODE_ENV=developpement
PORT=8082

View File

View File

@ -6,7 +6,8 @@
"scripts": { "scripts": {
"start": "nodemon ./src/server.js", "start": "nodemon ./src/server.js",
"build": "pkg ./src/server.js -o EasyTransport", "build": "pkg ./src/server.js -o EasyTransport",
"test": "jest" "test": "jest",
"db" : "cd ./src/db && start cmd /c Lancement_Pocketbase.cmd"
}, },
"pkg": { "pkg": {
"assets": [ "assets": [

View File

@ -102,13 +102,6 @@ hr.form {
font-size: smaller; font-size: smaller;
} }
.helper-text.error {
font-weight: bold;
text-align: center;
margin-top: 20px;
white-space: pre-line;
}
.mrg { .mrg {
padding: 0 5% !important; padding: 0 5% !important;
} }
@ -451,64 +444,4 @@ a.grille-garanties:hover{
.brand-logo img { .brand-logo img {
display: none; display: none;
} }
}
/* Overlay loader */
#loader-overlay {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background: linear-gradient(
rgba(10, 20, 60, 0.2),
rgba(0, 0, 0, 0.4)
);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 9999;
font-family: 'Roboto', sans-serif;
opacity: 0;
backdrop-filter: blur(0px);
pointer-events: none;
transition: opacity 0.5s ease, backdrop-filter 0.5s ease;
}
#loader-overlay.active {
opacity: 1;
backdrop-filter: blur(3px);
pointer-events: all;
}
#loader-overlay.hidden {
display: none;
}
.loader-spin-wrap {
opacity: 0;
transform: translateY(10px);
transition: opacity 0.5s ease, transform 0.5s ease;
transition-delay: 0.5s;
}
#loader-overlay.active .loader-spin-wrap {
opacity: 1;
transform: translateY(0);
}
/* Spinner circulaire */
.loader-spin {
width: 50px;
aspect-ratio: 1;
border-radius: 50%;
mask:1;
background:
radial-gradient(farthest-side,darkblue 94%,transparent) top/8px 8px no-repeat,
conic-gradient(transparent 30%,darkblue);
-webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);
animation: l13 1s infinite linear;
}
@keyframes l13 {
100% { transform: rotate(1turn); }
} }

View File

@ -0,0 +1,368 @@
/* Historique Parcours */
body>main>div>div.section.center-align {
width: 100% !important;
}
body>main>div>div.section.center-align>div.container {
width: 100% !important;
}
#historiqueParcours_wrapper {
width: 100% !important;
overflow-x: auto !important;
margin-top: 30px;
}
table#historiqueParcours {
width: 150%;
border-collapse: collapse !important;
border: 2px solid darkblue !important;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
#historiqueParcours th,
#historiqueParcours td {
color: black;
text-align: left;
font-size: 11px;
max-width: 100px;
overflow: hidden;
text-overflow: ellipsis;
}
table.dataTable thead th {
padding-right: 18px !important;
position: relative !important;
}
/* Div pour encapsuler le texte dans les cellules d'en-tête */
table.dataTable thead th>div {
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
#historiqueParcours_filter {
margin-bottom: 20px;
}
.dataTables_wrapper .dataTables_filter {
position: relative;
text-align: left;
float: left;
padding: 2px;
overflow: visible;
}
/* Cacher complètement le label "Rechercher" de DataTables */
.dataTables_wrapper .dataTables_filter label {
position: relative;
display: inline-block;
margin: 0;
font-size: 0 !important;
line-height: 0 !important;
overflow: visible;
}
.dataTables_wrapper .dataTables_filter label > span:first-child {
display: none !important;
}
/* fond blanc, bordure grise fine, capsule arrondie */
.dataTables_wrapper .dataTables_filter input[type="search"] {
background-color: #fff;
border: 1px solid #e0e0e0;
border-radius: 42px;
outline: none;
height: 42px;
width: 220px;
font-size: 15px;
margin: 0;
padding: 0 20px 0 52px;
box-sizing: border-box;
transition: all 0.2s ease;
color: #333;
position: relative;
}
.dataTables_wrapper .dataTables_filter input[type="search"]:focus {
background-color: #fff;
border-color: #1d9bf0;
box-shadow: 0 0 0 2px #1d9bf0;
color: #333;
}
.dataTables_wrapper .dataTables_filter input[type="search"]::placeholder {
color: #71767a;
}
/* Icône de loupe SVG */
.dataTables_wrapper .dataTables_filter label::before {
content: "";
position: absolute;
left: 20px;
top: 50%;
transform: translateY(-50%);
width: 18px;
height: 18px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371767a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
pointer-events: none;
z-index: 1;
}
/* Texte "Rechercher" à côté de l'icône */
.dataTables_wrapper .dataTables_filter label::after {
content: "Rechercher";
position: absolute;
left: 52px;
top: 50%;
transform: translateY(-50%);
font-size: 15px;
color: #71767a;
pointer-events: none;
z-index: 1;
white-space: nowrap;
}
/* Cacher le texte "Rechercher" quand on tape, focus, ou si l'input a une valeur */
.dataTables_wrapper .dataTables_filter:focus-within label::after,
.dataTables_wrapper .dataTables_filter label.has-value::after {
opacity: 0;
}
.dataTables_wrapper .dataTables_filter input[type="search"]:focus::placeholder {
color: transparent;
}
#historiqueParcours_length>label {
font-size: 14px;
display: flex !important;
align-items: center !important;
}
.dataTables_length select[name="historiqueParcours_length"] {
display: block !important;
font-size: 14px;
color: #555;
padding: 8px;
margin: 0 0.5em;
border: none;
background: none;
padding: 5px;
font-size: 16px;
outline: none;
width: 60px;
}
/* Style Input recherche par ligne */
#historiqueParcours>thead>tr:nth-child(2)>th>input {
font-size: 13px !important;
padding: 6px !important;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
/* icone de tri sur les colonnes */
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
background-position: right center;
background-repeat: no-repeat;
}
/* Ajouter un espacement entre le texte et l'icône */
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before {
content: "";
}
/* boutons de navigation */
.dataTables_wrapper .dataTables_paginate .paginate_button {
background-color: white !important;
border: darkblue solid 1.5px !important;
color: black !important;
padding: 6px 12px !important;
margin: 0 2px !important;
cursor: pointer !important;
border-radius: 4px !important;
transition: background-color 0.3s, color 0.3s, border-color 0.3s !important;
}
#historiqueParcours_paginate>span>a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate:hover .paginate_button:hover {
background: none !important;
background-color: darkblue !important;
border-color: white !important;
color: white !important;
}
/* NC value */
td.nc-value {
color: lightgray !important;
}
/* Les bouton pour le filtres et les extraction */
#divBtnFilter {
display: inline-grid;
width: 100%;
grid-template-columns: auto;
column-gap: 3%;
row-gap: 10%;
}
#checkRegionAdmin {
grid-column: 1 / span 3;
justify-self: center;
}
#divToggleSearch {
grid-column: 2;
grid-row: 3;
justify-self: center;
white-space: nowrap;
}
#toggleSearch {
white-space: nowrap;
width: auto;
min-width: fit-content;
padding: 0 24px;
color: white !important;
background-color: darkblue !important;
border: none !important;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(16, 0, 75, 0.2), 0 4px 8px rgba(16, 0, 75, 0.1);
transition: background-color 0.3s;
}
#toggleSearch:hover {
background-color: #26a69a !important;
}
#toggleSearch:active {
background-color: gray !important;
}
#divExtractAll {
grid-column: 1;
grid-row: 1;
justify-self: start;
}
#divExtractFilter {
grid-column: 3;
grid-row: 1;
justify-self: end;
}
#divBtnFilter button {
border-radius: 8px;
box-shadow: 0 2px 4px rgba(16, 0, 75, 0.2),
0 4px 8px rgba(16, 0, 75, 0.1);
}
/* Bouton Reprendre */
#btnReprendre,
#btnGenerate {
border: none;
color: white;
padding: 0px 15px;
font-size: 10px;
cursor: pointer;
border-radius: 8px;
}
#btnReprendre i {
margin: 0;
}
/* checkbox Filter Region Admin a supprimer probablement*/
#checkRegionAdmin {
border: 1px solid #ccc;
padding: 10px;
display: flex;
flex-wrap: wrap;
margin-bottom: 10px;
display: none;
}
[class^="checkbox-wrapper-"] {
margin-right: 20px;
}
#checkRegionAdmin input[type="checkbox"] {
display: none;
visibility: hidden;
}
#checkRegionAdmin label {
display: inline-block;
}
#historiqueParcours tr.shown > td { background: #fffdf5; }
.parcours-details { font-size: 0.95rem; }
/* Style pour les boutons d'export désactivés */
#divBtnFilter button:disabled {
opacity: 0.5 !important;
cursor: not-allowed !important;
pointer-events: none !important;
}
#historiqueParcours td .col-with-text {
white-space: normal !important;
}
#historiqueParcours_wrapper {
overflow-x: visible !important;
}
table.dataTable {
width: 100% !important;
table-layout: auto !important;
}
.col-with-text {
display: flex;
align-items: center;
gap: 8px;
white-space: nowrap;
}
.col-with-text .np {
white-space: normal !important;
}
.btn-row-details {
cursor: pointer;
width: 35px;
height: 28px;
background-color: #F44336 !important;
border-radius: 6px;
border: 3px solid darkblue;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: bold;
font-size: 16px;
padding: 0;
line-height: 1;
transition: 0.15s ease-in-out;
}
/* petit effet hover propre pour le bouton détails*/
.btn-row-details:hover {
background-color: #d7372f;
transform: scale(1.05);
}

Some files were not shown because too many files have changed in this diff Show More