Compare commits

..

No commits in common. '56be2bafe2f69f5d3bf290321861dff2de5199af' and '7cf6584250b6c464353aab32d91dac592ca615c1' have entirely different histories.

  1. 2
      angular.json
  2. 16256
      package-lock.json
  3. 3
      package.json
  4. 8
      src/app/app.module.ts
  5. 139
      src/app/components/home/home.component.html
  6. 24
      src/app/components/home/home.component.scss
  7. 103
      src/app/components/home/home.component.ts
  8. 3
      src/index.html
  9. 3
      src/styles.scss

@ -46,7 +46,6 @@
"src/assets"
],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
"node_modules/ngx-toastr/toastr.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"src/styles.scss"
@ -120,7 +119,6 @@
"src/assets"
],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
"src/styles.css"
],
"scripts": []

16256
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -11,17 +11,14 @@
"private": true,
"dependencies": {
"@angular/animations": "~12.0.0",
"@angular/cdk": "^12.2.13",
"@angular/common": "~12.0.0",
"@angular/compiler": "~12.0.0",
"@angular/core": "~12.0.0",
"@angular/forms": "~12.0.0",
"@angular/localize": "~12.0.0",
"@angular/material": "^12.2.13",
"@angular/platform-browser": "~12.0.0",
"@angular/platform-browser-dynamic": "~12.0.0",
"@angular/router": "~12.0.0",
"@material/card": "^14.0.0",
"@ng-bootstrap/ng-bootstrap": "^10.0.0",
"bootstrap": "^5.1.3",
"jquery": "^3.6.0",

@ -24,10 +24,6 @@ import {ReferencementEditComponent} from './components/referencement/referenceme
import {PeriodeEssaiAddComponent} from './components/periode-essai/periode-essai-add/periode-essai-add.component';
import {BusinessunitAddComponent} from './components/businessunit/businessunit-add/businessunit-add.component';
import {AgenceAddComponent} from './components/agence/agence-add/agence-add.component';
import {MatCardModule} from '@angular/material/card';
import {MatProgressBarModule} from "@angular/material/progress-bar";
import {MatDividerModule} from "@angular/material/divider";
import {MatButtonModule} from "@angular/material/button";
@NgModule({
declarations: [
@ -57,13 +53,9 @@ import {MatButtonModule} from "@angular/material/button";
RouterModule,
FormsModule,
AppRoutingModule,
MatCardModule,
ReactiveFormsModule,
BrowserAnimationsModule,
ToastrModule.forRoot({preventDuplicates: true}),
MatProgressBarModule,
MatDividerModule,
MatButtonModule,
],
providers: [Title],
bootstrap: [AppComponent]

@ -1,139 +1,2 @@
<h2 class="mb-4">Services Collaborateurs EPA</h2>
<h2>Services Collaborateurs EPA</h2>
<div class="mb-5" style="display: flex;">
<mat-card class="home-card">
<mat-card-title class="title-center">Fins de périodes d'essai</mat-card-title>
<mat-card-subtitle class="subtitle-center">7 jours restants ou moins</mat-card-subtitle>
<mat-card-content>
<div class="col-12">
<table class="table">
<thead>
<tr>
<th scope="col">Collaborateur</th>
<th scope="col">Date de fin</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let periodeEssai of periodeEssaisEnCours | slice:0:5;">
<td>{{getCollaborateurById(periodeEssai.collaborateurId).name}} {{getCollaborateurById(periodeEssai.collaborateurId).firstName}}</td>
<td> {{getSplitDate(periodeEssai.plannedEndingDate.toString())}}</td>
</tr>
</tbody>
</table>
</div>
</mat-card-content>
<mat-card-actions>
<button class="button-link" routerLink="/periodeessais">Accéder aux Périodes d'essai</button>
</mat-card-actions>
</mat-card>
<mat-card class="home-card">
<mat-card-title class="title-center">Référencements manquants</mat-card-title>
<mat-card-subtitle class="subtitle-center">collaborateurs sans référencements</mat-card-subtitle>
<mat-card-content>
<div class="col-12">
<table class="table">
<thead>
<tr>
<th scope="col">Nom</th>
<th scope="col">Prénom</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let collaborateur of collaborateursSansRef | slice:0:5;">
<td> {{collaborateur.name}} </td>
<td> {{collaborateur.firstName}} </td>
</tr>
</tbody>
</table>
</div>
</mat-card-content>
<mat-card-actions>
<button class="button-link" routerLink="/referencements">Accéder aux Référencements</button>
</mat-card-actions>
</mat-card>
<mat-card class="home-card">
<mat-card-title class="title-center">Ajout rapide</mat-card-title>
<mat-card-subtitle class="subtitle-center">liens vers les pages d'ajout</mat-card-subtitle>
<mat-card-content>
<table class="table">
<thead>
<tr>
<th scope="col"> </th>
</tr>
</thead>
<tbody>
<tr>
<td>
<button class="button-link" routerLink="/businessunits/add">Ajouter une Business Unit</button>
</td>
</tr>
<tr>
<td>
<button class="button-link" routerLink="/agences/add">Ajouter une Agence</button>
</td>
</tr>
<tr>
<td>
<button class="button-link" routerLink="/collaborateurs/add">Ajouter un Collaborateur</button>
</td>
</tr>
<tr>
<td>
<button class="button-link" routerLink="/referencements/add">Ajouter un Référencement</button>
</td>
</tr>
<tr>
<td>
<button class="button-link" routerLink="/periodeessais/add">Ajouter une Période d'essai</button>
</td>
</tr>
</tbody>
</table>
</mat-card-content>
</mat-card>
<mat-card class="home-card">
<mat-card-title class="title-center">Statistiques</mat-card-title>
<mat-card-content>
<div class="col-12">
<table class="table">
<thead>
<tr>
<th scope="col">Entité</th>
<th scope="col">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Business Units</td>
<td>{{businessUnits.length}}</td>
</tr>
<tr>
<td>Agences</td>
<td>{{agences.length}}</td>
</tr>
<tr>
<td>Collaborateur</td>
<td>{{collaborateurs.length}}</td>
</tr>
<tr>
<td>Référencements</td>
<td>{{referencements.length}}</td>
</tr>
<tr>
<td>Périodes d'essai</td>
<td>{{periodeEssais.length}}</td>
</tr>
</tbody>
</table>
</div>
</mat-card-content>
<mat-card-actions>
</mat-card-actions>
</mat-card>
</div>

@ -1,24 +0,0 @@
.home-card {
//width: 25%;
margin-right: 20px;
margin-left: 20px;
height: fit-content;
}
.title-center {
display: flex;
justify-content: center;
align-items: center;
font-size: 22px;
}
.subtitle-center {
display: flex;
justify-content: center;
align-items: center;
}
.button-link{
width: 100%;
padding: 2px;
}

@ -1,15 +1,4 @@
import {Component, OnInit} from '@angular/core';
import {Collaborateur} from "../../interfaces/collaborateur";
import {PeriodeEssai} from "../../interfaces/periode-essai";
import {HttpClient} from "@angular/common/http";
import {CollaborateurService} from "../../services/collaborateur.service";
import {PeriodeEssaiService} from "../../services/periode-essai.service";
import {Referencement} from "../../interfaces/referencement";
import {ReferencementService} from "../../services/referencement.service";
import {Businessunit} from "../../interfaces/businessunit";
import {Agence} from "../../interfaces/agence";
import {BusinessunitService} from "../../services/businessunit.service";
import {AgenceService} from "../../services/agence.service";
@Component({
selector: 'app-home',
@ -18,100 +7,10 @@ import {AgenceService} from "../../services/agence.service";
})
export class HomeComponent implements OnInit {
businessUnits: Businessunit[] = [];
agences: Agence[] = [];
collaborateurs: Collaborateur[] = [];
referencements: Referencement[] = [];
periodeEssais: PeriodeEssai[] = [];
collaborateursSansRef: Collaborateur[] = [];
idReferredTab: number[] = [];
periodeEssaisEnCours: PeriodeEssai[] = [];
isShown: boolean = false;
constructor(
private http: HttpClient,
private businessUnitService: BusinessunitService,
private agenceService: AgenceService,
private collaborateurService: CollaborateurService,
private periodeEssaiService: PeriodeEssaiService,
private referencementService: ReferencementService,
) {
}
private static getNextWeek() {
let result = new Date();
result.setDate(new Date().getDate() + 7);
return result;
constructor() {
}
ngOnInit(): void {
this.collaborateurService.getCollaborateurs()
.subscribe(collaborateurs => {
this.collaborateurs = collaborateurs;
this.referencementService.getReferencements()
.subscribe(referencements => {
this.referencements = referencements;
this.referencements.forEach(ref => {
if (this.idReferredTab.find(id => ref.id == id) == undefined) {
this.idReferredTab.push(ref.referredId);
}
});
this.collaborateurs.forEach(collab => {
if (this.idReferredTab.find(id => collab.id == id) == undefined) {
this.collaborateursSansRef.push(collab);
}
})
});
});
this.getPeriodeEssais();
this.businessUnitService.getBusinessunits().subscribe(
businessUnits => {
this.businessUnits = businessUnits
}
)
this.agenceService.getAgences().subscribe(
agences => {
this.agences = agences
}
)
}
getCollaborateurById(id: number): Collaborateur {
let collab = {} as Collaborateur;
this.collaborateurs.forEach(c => {
if (c.id == id) {
collab = c;
return;
}
});
return collab;
}
getPeriodeEssais() {
this.periodeEssaiService.getPeriodeEssais()
.subscribe(periodeEssais => {
this.periodeEssais = periodeEssais;
periodeEssais.forEach(pe => {
if (new Date(pe.plannedEndingDate).getTime() > new Date().getTime() && new Date(pe.plannedEndingDate).getTime() < HomeComponent.getNextWeek().getTime()) {
this.periodeEssaisEnCours.push(pe);
}
})
this.periodeEssaisEnCours.sort((b, a) => new Date(b.plannedEndingDate).getTime() - new Date(a.plannedEndingDate).getTime());
});
}
getSplitDate(date: string | undefined): string {
if (date == undefined) {
return "";
}
return date.split('T')[0];
}
}

@ -8,9 +8,6 @@
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
<app-root></app-root>

@ -77,6 +77,3 @@ button:disabled {
color: #ccc;
cursor: auto;
}
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }

Loading…
Cancel
Save