Mise à jour de l'affichage de la liste des collaborateurs

develop
Yanaël GRETTE 4 years ago
parent d7b947c956
commit 8b04b1ae08
  1. 4
      src/app/app-routing.module.ts
  2. 4
      src/app/app.module.ts
  3. 6
      src/app/collaborateurs/collaborateurs.component.html
  4. 47
      src/app/collaborateurs/collaborateurs.component.ts
  5. 8
      src/app/collaborateurs/collaborateurs.module.ts
  6. 8
      src/app/collaborateurs/collaborateurs.routing.module.ts
  7. 4
      src/app/home/home-assistante/home-assistante.component.html
  8. 2
      src/app/home/home.component.html
  9. 9
      src/app/home/home.module.ts

@ -21,11 +21,11 @@ const routes: Routes = [
component: HomeComponent, component: HomeComponent,
canActivate: [KeycloakGuard], canActivate: [KeycloakGuard],
pathMatch: 'full' pathMatch: 'full'
}/*, },
{ {
path: paths_collaborateurs.path, path: paths_collaborateurs.path,
loadChildren: () => import('./collaborateurs/collaborateurs.module').then(m=> m.CollaborateursModule) loadChildren: () => import('./collaborateurs/collaborateurs.module').then(m=> m.CollaborateursModule)
}, }/*,
{ {
path: paths_demandes_delegation.path, path: paths_demandes_delegation.path,
loadChildren: () => import('./demandes-delegation/demandes-delegation.module').then(m=> m.DemandesDelegationModule) loadChildren: () => import('./demandes-delegation/demandes-delegation.module').then(m=> m.DemandesDelegationModule)

@ -16,8 +16,8 @@ import { AppRoutingModule } from './app-routing.module';
import { ApiModule } from '@shared/api-swagger' import { ApiModule } from '@shared/api-swagger'
import { HomeModule } from './home'; import { HomeModule } from './home';
/*
import { CollaborateursModule } from './collaborateurs'; import { CollaborateursModule } from './collaborateurs';
/*
import { ReferentsModule } from './referents'; import { ReferentsModule } from './referents';
import { FormationsModule } from './formations'; import { FormationsModule } from './formations';
import { DemandesFormationModule } from './demandes-formation'; import { DemandesFormationModule } from './demandes-formation';
@ -42,7 +42,7 @@ let keycloakService: KeycloakService = new KeycloakService();
BrowserModule, BrowserAnimationsModule, BrowserModule, BrowserAnimationsModule,
KeycloakAngularModule, AppRoutingModule, KeycloakAngularModule, AppRoutingModule,
HttpClientModule, ApiModule, HttpClientModule, ApiModule,
HomeModule//, CollaborateursModule, HomeModule, CollaborateursModule//,
//ReferentsModule, FormationsModule, //ReferentsModule, FormationsModule,
//DemandesFormationModule, DemandesDelegationModule, //DemandesFormationModule, DemandesDelegationModule,
//EpSaisieModule //EpSaisieModule

@ -4,7 +4,7 @@
<mat-table matSort [dataSource]="dataSource"> <mat-table matSort [dataSource]="dataSource">
<ng-container matColumnDef="agence"> <ng-container matColumnDef="agence">
<mat-header-cell *matHeaderCellDef mat-sort-header>Agence</mat-header-cell> <mat-header-cell *matHeaderCellDef mat-sort-header>Agence</mat-header-cell>
<mat-cell *matCellDef="let row">{{ row.agence}}</mat-cell> <mat-cell *matCellDef="let row">{{ row.businessunit.nom }}</mat-cell>
</ng-container> </ng-container>
<ng-container matColumnDef="collaborateur"> <ng-container matColumnDef="collaborateur">
@ -14,12 +14,12 @@
<ng-container matColumnDef="dateembauche"> <ng-container matColumnDef="dateembauche">
<mat-header-cell *matHeaderCellDef mat-sort-header>Date embauche</mat-header-cell> <mat-header-cell *matHeaderCellDef mat-sort-header>Date embauche</mat-header-cell>
<mat-cell *matCellDef="let row">TODO AUSSI</mat-cell> <mat-cell *matCellDef="let row">{{row.dateArrivee | date:'yyyy/MM/dd'}}</mat-cell>
</ng-container> </ng-container>
<ng-container matColumnDef="referent"> <ng-container matColumnDef="referent">
<mat-header-cell *matHeaderCellDef mat-sort-header>Référent</mat-header-cell> <mat-header-cell *matHeaderCellDef mat-sort-header>Référent</mat-header-cell>
<mat-cell *matCellDef="let row">TODO</mat-cell> <mat-cell *matCellDef="let row">{{ row.referent.prenom }} {{ row.referent.nom }}</mat-cell>
</ng-container> </ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>

@ -6,6 +6,7 @@ import {MatTableDataSource} from '@angular/material/table';
import {MatPaginator} from '@angular/material/paginator'; import {MatPaginator} from '@angular/material/paginator';
import {MatSort} from '@angular/material/sort'; import {MatSort} from '@angular/material/sort';
import { CollaborateurDTO } from '@shared/api-swagger/model/models'
import { CollaborateursService } from "@shared/api-swagger/api/api"; import { CollaborateursService } from "@shared/api-swagger/api/api";
@ -20,19 +21,22 @@ import { CollaborateursService } from "@shared/api-swagger/api/api";
}) })
export class CollaborateursComponent implements OnInit { export class CollaborateursComponent implements OnInit {
collaborateursDisponibles : DisplayCollaborateur[]; asc = true;
collaborateursFiltre : DisplayCollaborateur[]; numPage = 1;
parPage = 5;
roles : string[] = ["collaborateur"];
private collaborateursDisponiblesSubscription : Subscription; private collaborateursDisponiblesSubscription : Subscription;
displayedColumns : string[] = ["agence", "collaborateur", "dateembauche", "referent"]; displayedColumns : string[] = ["agence", "collaborateur", "dateembauche", "referent"];
dataSource : MatTableDataSource<DisplayCollaborateur>; dataSource : MatTableDataSource<CollaborateurDTO>;
/** /**
* contenu de la recherche. * contenu de la recherche.
*/ */
search = ""; search = "";
tri = "";
/** /**
* Pagination du tableau. * Pagination du tableau.
*/ */
@ -50,34 +54,17 @@ export class CollaborateursComponent implements OnInit {
constructor(private service: CollaborateursService) {} constructor(private service: CollaborateursService) {}
ngOnInit() { ngOnInit() {
this. collaborateursDisponiblesSubscription = this.service.getCollaborateurs(undefined,undefined,undefined,1).subscribe( this.updateDataSource();
collaborateurs => {
this.initCollaborateur(collaborateurs)
}
);
}
initCollaborateur(collaborateurs:CollaborateurModel[]) {
this.collaborateursDisponibles = [];
let collaborateurDisplay : DisplayCollaborateur;
let today = new Date();
console.log(collaborateurs);
for(let c of collaborateurs) {
collaborateurDisplay = new DisplayCollaborateur();
collaborateurDisplay.id = c.id;
collaborateurDisplay.prenom = c.prenom;
collaborateurDisplay.nom = c.nom;
collaborateurDisplay.agence = c.businessUnit.nom;
collaborateurDisplay.embauche = c.dateArrivee;
collaborateurDisplay.anciennete = this.setAnciennete(new Date(c.dateArrivee), today);
collaborateurDisplay.annee = Math.floor(collaborateurDisplay.anciennete / 31536000000);
collaborateurDisplay.mois = Math.floor(collaborateurDisplay.anciennete / 2629800000 % 12);
this.collaborateursDisponibles.push(collaborateurDisplay);
} }
this.collaborateursFiltre = this.collaborateursDisponibles;
this.dataSource = new MatTableDataSource(this.collaborateursFiltre); updateDataSource() {
this.dataSource.paginator = this.paginator; this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.asc, this.numPage, this.parPage, this.roles, 1, undefined, this.search, this.tri).subscribe(
this.dataSource.sort = this.sort; collaborateurs => this.dataSource = new MatTableDataSource(collaborateurs),
err => console.log(err)
);
//this.dataSource.paginator = this.paginator;
//this.dataSource.sort = this.sort;
} }

@ -8,18 +8,20 @@ import { MaterialModule } from "@shared/angular-material/angular-material.module
import {NavMenuModule} from '@shared/nav-menu/nav-menu.module'; import {NavMenuModule} from '@shared/nav-menu/nav-menu.module';
import { CollaborateursComponent } from "./collaborateurs.component"; import { CollaborateursComponent } from "./collaborateurs.component";
/*
import { DetailsCollaborateurComponent } from "./details-collaborateur/details-collaborateur.component"; import { DetailsCollaborateurComponent } from "./details-collaborateur/details-collaborateur.component";
import { EvaluationComponent } from "./formations-collaborateur/details-evaluation/evaluation.component"; import { EvaluationComponent } from "./formations-collaborateur/details-evaluation/evaluation.component";
import { EditEvaluationComponent } from "./formations-collaborateur/edit-evaluation/edit-evaluation.component"; import { EditEvaluationComponent } from "./formations-collaborateur/edit-evaluation/edit-evaluation.component";
import { FormationsCollaboateurComponent } from "./formations-collaborateur/formations-collaborateur.component"; import { FormationsCollaboateurComponent } from "./formations-collaborateur/formations-collaborateur.component";
*/
import { CollaborateursRoutingModule } from "./collaborateurs.routing.module"; import { CollaborateursRoutingModule } from "./collaborateurs.routing.module";
@NgModule({ @NgModule({
declarations: [ declarations: [
DetailsCollaborateurComponent, EvaluationComponent, EditEvaluationComponent, CollaborateursComponent
CollaborateursComponent, FormationsCollaboateurComponent /*DetailsCollaborateurComponent, EvaluationComponent, EditEvaluationComponent,
, FormationsCollaboateurComponent*/
], ],
exports: [ exports: [
CollaborateursComponent CollaborateursComponent

@ -1,24 +1,24 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
import { CollaborateursComponent } from "./collaborateurs.component"; import { CollaborateursComponent } from "./collaborateurs.component";
/*
import { DetailsCollaborateurComponent } from "./details-collaborateur/details-collaborateur.component"; import { DetailsCollaborateurComponent } from "./details-collaborateur/details-collaborateur.component";
import { FormationsCollaboateurComponent } from "./formations-collaborateur/formations-collaborateur.component"; import { FormationsCollaboateurComponent } from "./formations-collaborateur/formations-collaborateur.component";
import { EvaluationComponent } from './formations-collaborateur/details-evaluation/evaluation.component'; import { EvaluationComponent } from './formations-collaborateur/details-evaluation/evaluation.component';
import { EditEvaluationComponent } from './formations-collaborateur/edit-evaluation/edit-evaluation.component'; import { EditEvaluationComponent } from './formations-collaborateur/edit-evaluation/edit-evaluation.component';
*/
import { paths_collaborateurs } from '@shared/utils/paths'; import { paths_collaborateurs } from '@shared/utils/paths';
import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { KeycloakGuard } from '@shared/guards/keycloakguard';
const routes: Routes = [ const routes: Routes = [
{ path:'', component: CollaborateursComponent, pathMatch: 'full', canActivate: [KeycloakGuard] }, { path:'', component: CollaborateursComponent, pathMatch: 'full', canActivate: [KeycloakGuard] }/*,
{ path:paths_collaborateurs.formations, component: FormationsCollaboateurComponent, canActivate: [KeycloakGuard] }, { path:paths_collaborateurs.formations, component: FormationsCollaboateurComponent, canActivate: [KeycloakGuard] },
{ path:paths_collaborateurs.evaluation, component: EvaluationComponent, canActivate: [KeycloakGuard] }, { path:paths_collaborateurs.evaluation, component: EvaluationComponent, canActivate: [KeycloakGuard] },
{ path:paths_collaborateurs.edit, component: EditEvaluationComponent, canActivate: [KeycloakGuard] }, { path:paths_collaborateurs.edit, component: EditEvaluationComponent, canActivate: [KeycloakGuard] },
{ path:paths_collaborateurs.get, component: DetailsCollaborateurComponent, canActivate: [KeycloakGuard] } { path:paths_collaborateurs.get, component: DetailsCollaborateurComponent, canActivate: [KeycloakGuard] }*/
]; ];

@ -16,12 +16,12 @@
<ng-container matColumnDef="agence"> <ng-container matColumnDef="agence">
<mat-header-cell *matHeaderCellDef mat-sort-header> Agence </mat-header-cell> <mat-header-cell *matHeaderCellDef mat-sort-header> Agence </mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.collaborateur.businessunit.agence.nom}} </mat-cell> <mat-cell *matCellDef="let row"> {{row.collaborateur.businessunit.nom}} </mat-cell>
</ng-container> </ng-container>
<ng-container matColumnDef="collaborateur"> <ng-container matColumnDef="collaborateur">
<mat-header-cell *matHeaderCellDef mat-sort-header> Collaborateur </mat-header-cell> <mat-header-cell *matHeaderCellDef mat-sort-header> Collaborateur </mat-header-cell>
<mat-cell *matCellDef="let row" [routerLink]="['/collaborateurs', row.collaborateur.id]"> {{row.collaborateur.nom}} {{row.collaborateur.prenom}} </mat-cell> <mat-cell *matCellDef="let row" [routerLink]="['/collaborateurs', row.collaborateur.id]">{{row.collaborateur.prenom}} {{row.collaborateur.nom}}</mat-cell>
</ng-container> </ng-container>
<ng-container matColumnDef="anciennete"> <ng-container matColumnDef="anciennete">

@ -2,7 +2,5 @@
<h1> Bonjour</h1> <h1> Bonjour</h1>
<home-assistante *ngIf="this.userRole == role.assistante"></home-assistante> <home-assistante *ngIf="this.userRole == role.assistante"></home-assistante>
<home-rh *ngIf="this.userRole ==role.rh"></home-rh> <home-rh *ngIf="this.userRole ==role.rh"></home-rh>
<!--
<home-collaborateur *ngIf="this.userRole ==role.collaborateur"></home-collaborateur> <home-collaborateur *ngIf="this.userRole ==role.collaborateur"></home-collaborateur>
<home-commercial *ngIf="this.userRole ==role.commercial"></home-commercial> <home-commercial *ngIf="this.userRole ==role.commercial"></home-commercial>
-->

@ -7,17 +7,16 @@ import { MaterialModule } from "@shared/angular-material/angular-material.module
import {HomeAssistanteComponent} from './home-assistante/home-assistante.component'; import {HomeAssistanteComponent} from './home-assistante/home-assistante.component';
import {HomeRHComponent} from './home-rh/home-rh.component'; import {HomeRHComponent} from './home-rh/home-rh.component';
/*
import {HomeCollaborateurComponent} from './home-collaborateur/home-collaborateur.component'; import {HomeCollaborateurComponent} from './home-collaborateur/home-collaborateur.component';
import {HomeCommercialComponent} from './home-commercial/home-commercial.component'; import {HomeCommercialComponent} from './home-commercial/home-commercial.component';
*/
import {HomeComponent} from './home.component'; import {HomeComponent} from './home.component';
import {NavMenuModule} from '@shared/nav-menu/nav-menu.module'; import {NavMenuModule} from '@shared/nav-menu/nav-menu.module';
@NgModule({ @NgModule({
declarations: [ declarations: [
HomeComponent, HomeAssistanteComponent, HomeRHComponent HomeComponent, HomeAssistanteComponent, HomeRHComponent,
/*, HomeCollaborateurComponent, HomeCollaborateurComponent, HomeCommercialComponent
HomeCommercialComponent, */
], ],
exports: [ exports: [
HomeComponent HomeComponent

Loading…
Cancel
Save