Compare commits

..

24 Commits
main ... trc

Author SHA1 Message Date
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
260 changed files with 33954 additions and 4551 deletions

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

@ -1,8 +1,16 @@
body { body {
font-family: 'Roboto', sans-serif; font-family: 'Roboto', sans-serif;
background-color: white;
color: black;
color-scheme: light;
} }
h1, h2, h3, h4, h5, h6 { h1,
h2,
h3,
h4,
h5,
h6 {
color: darkblue !important; color: darkblue !important;
font-weight: bold; font-weight: bold;
} }
@ -113,6 +121,11 @@ hr.form {
padding: 0 5% !important; padding: 0 5% !important;
} }
.center {
display: flex;
justify-content: center
}
.circle { .circle {
cursor: pointer; cursor: pointer;
width: 35px; width: 35px;
@ -183,6 +196,17 @@ hr.form {
padding: 5px 12px !important; padding: 5px 12px !important;
} }
.chip-info{
padding: 5px;
width: 30%;
text-align: center;
background: darkblue;
color: white;
border-radius: 10px;
font-size: 13px;
font-weight: 500;
}
#goodParcoursModal { #goodParcoursModal {
width: 80%; width: 80%;
max-height: 80%; max-height: 80%;
@ -218,7 +242,10 @@ hr.form {
content: none; content: none;
} }
#selectHistory, #selectHistory ul, #selectHistory li, #selectHistory span { #selectHistory,
#selectHistory ul,
#selectHistory li,
#selectHistory span {
font-size: 13px !important; font-size: 13px !important;
} }
@ -274,6 +301,14 @@ hr.form {
padding-right: 10px; padding-right: 10px;
} }
.moyenTransportTarif {
margin-bottom: 30px;
}
.moyenTransportTarif td i {
padding-right: 10px;
}
.select-chip { .select-chip {
display: none; display: none;
color: darkblue color: darkblue
@ -308,6 +343,13 @@ hr.form {
font-weight: bold; font-weight: bold;
} }
.step {
background-color: #f44336 ;
color: white;
font-weight: bold;
margin-top: 10px;
}
.modulo-resume { .modulo-resume {
font-size: 20px; font-size: 20px;
font-weight: normal; font-weight: normal;
@ -327,6 +369,7 @@ hr.form {
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-evenly; justify-content: space-evenly;
margin-bottom: 20px; margin-bottom: 20px;
align-items: flex-start;
} }
@ -367,7 +410,7 @@ hr.form {
outline-offset: 3px; outline-offset: 3px;
} }
.garAdd .card-content{ .garAdd .card-content {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
justify-content: flex-start; justify-content: flex-start;
@ -375,29 +418,28 @@ hr.form {
} }
.garAdd .card-title { .garAdd .card-title {
padding: 10px; padding: 10px;
} }
form h5 { form h5 {
margin : 0px 0px 30px 0px margin: 0px 0px 30px 0px
} }
a.grille-garanties { a.grille-garanties {
width : 40px ; width: 40px;
height : 40px ; height: 40px;
padding: 2px 0 0 0; padding: 2px 0 0 0;
border-radius: 100%; border-radius: 100%;
background-color: #F44336; background-color: #F44336;
} }
a.grille-garanties:hover{ a.grille-garanties:hover {
background-color: #be3026; background-color: #be3026;
} }
.modalAlert .modal-content .modalRed { .modalAlert .modal-content .modalRed {
list-style-type: square; list-style-type: square;
color : red; color: red
font-weight: bold;
} }
.modalAlert .modal-content h4 { .modalAlert .modal-content h4 {
@ -405,7 +447,111 @@ a.grille-garanties:hover{
} }
.modalAlert .modal-footer a { .modalAlert .modal-footer a {
color : white color: white
}
#rcProjetBlockingSummary,
#rcTarifBlockingSummary {
margin: 1rem 0 1.5rem 0;
}
.rc-blocking-summary {
display: none;
border-left: 6px solid #c62828;
background-color: #ffebee;
color: #b71c1c;
padding: 12px 16px;
border-radius: 6px;
}
.rc-blocking-title {
font-weight: 700;
margin-bottom: 8px;
}
.rc-blocking-list {
margin: 0;
padding-left: 20px;
}
.rc-blocking-list li {
margin: 3px 0;
}
.rc-field-label {
display: block;
color: #1a237e;
font-weight: 700;
margin-bottom: 6px;
text-align: left;
}
.rc-has-floating-label {
position: relative;
margin-top: 0.5rem;
}
.rc-has-floating-label .rc-field-label.rc-floating-label {
position: static;
top: auto;
left: auto;
margin: 0 0 6px 0;
font-size: 0.95rem;
font-weight: 700;
color: #1a237e;
pointer-events: none;
transition: none;
background: transparent;
padding: 0;
z-index: auto;
}
.rc-has-floating-label .rc-field-label.rc-floating-label.active {
top: auto;
font-size: 0.95rem;
font-weight: 700;
color: #1a237e;
}
.rc-tarifettes-hidden {
display: none !important;
}
.rc-three-col-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.rc-three-col-grid > [class*="col"] {
width: 100% !important;
margin-left: 0 !important;
padding: 0 !important;
display: flex;
}
.rc-three-col-grid .card {
width: 100%;
display: flex;
flex-direction: column;
}
.rc-three-col-grid .card-content {
flex: 1;
}
.rc-equal-card-row > [class*="col"] {
display: flex;
}
.rc-equal-card-row .card {
width: 100%;
display: flex;
flex-direction: column;
}
.rc-equal-card-row .card-content {
flex: 1;
} }
#modalTarifCom span.material-icons { #modalTarifCom span.material-icons {
@ -421,10 +567,110 @@ a.grille-garanties:hover{
padding: 0 10px; padding: 0 10px;
} }
#rowExtensionsGarantie .dropdown-content.select-dropdown.multiple-select-dropdown{ #rowExtensionsGarantie .dropdown-content.select-dropdown.multiple-select-dropdown {
z-index: 20 !important; z-index: 20 !important;
} }
.flux-card {
width: 41rem !important;
padding: 2rem 1.4rem;
border-radius: 20px;
box-shadow: 5px 5px 7px -3px rgba(0, 0, 0, 0.173);
}
.flux-card .flux-card-title {
font-size: 20px;
font-weight: bold;
margin: 0 0 20px 0;
color: darkblue
}
#div-fluxAchats {
background-color: #d5ecd4;
transition: 0.2s;
}
#div-fluxVentes {
background-color: #ddddfb;
transition: 0.2s;
}
#div-fluxAchats:hover {
background-color: #e5f0e5;
}
#div-fluxVentes:hover {
background-color: #f0f0ff;
}
.listNatureMar input:disabled {
color: black !important
}
.flux-card hr {
height: 0px;
}
.flux-card hr.divider {
margin: 3rem 0px;
border-color: #9b9b9b17;
}
.flux-card .select-wrapper {
background-color: white;
}
.listNatureMar {
margin-bottom: 30px;
}
#div-fluxAchats .listNatureMar>div {
background-color: #aad8a7;
}
#div-fluxVentes .listNatureMar>div {
background-color: rgb(193, 189, 236);
}
.listNatureMar>div {
border-radius: 5px;
margin: 5px 0;
padding: 6px 0;
display: flex;
justify-content: space-around;
align-items: center;
}
.listNatureMar .btn-floating {
margin-right: 20px;
}
.flux-card .input-field {
width: 20rem;
}
.checkedCheckbox::before {
background-color: rgba(0, 0, 0, 0.42) !important;
border-color: #949494 !important;
}
.propositions-flex {
display: flex;
justify-content: space-between;
}
.propositions-flex>div {
width: 100%;
margin: 0px 20px
}
#row-sinistresAsIf > div {
display: flex;
justify-content: center;
align-items: center
}
@media only screen and (max-width: 600px) { @media only screen and (max-width: 600px) {
.flex-adaptable { .flex-adaptable {
flex-direction: column; flex-direction: column;
@ -512,3 +758,49 @@ a.grille-garanties:hover{
@keyframes l13 { @keyframes l13 {
100% { transform: rotate(1turn); } 100% { transform: rotate(1turn); }
} }
/* Message d'erreur du loader */
#error-message {
display: none;
color: #ff4444;
font-weight: bold;
text-align: center;
margin-top: 20px;
white-space: pre-line;
font-size: 16px;
}
/* Message de timeout du loader */
#timeout-message {
display: none;
margin-top: 30px;
text-align: center;
color: #d0d0d0;
font-size: 14px;
max-width: 420px;
line-height: 1.6;
padding: 0 20px;
animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Lien cliquable pour annuler le chargement */
#cancel-loading-link {
color: #66B2FF;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
cursor: pointer;
transition: all 0.2s ease;
font-weight: 500;
}
#cancel-loading-link:hover {
color: #90CAF9;
text-decoration-thickness: 2px;
text-shadow: 0 0 10px rgba(102, 178, 255, 0.6);
}

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