From d57ad1745d32744534e0ec7136654a0d6c3912a1 Mon Sep 17 00:00:00 2001 From: zadi francice Date: Wed, 15 May 2024 17:48:49 +0000 Subject: [PATCH] traitement des trafics --- src/app/account/auth/login-standard-user/login-standard-user.component.html | 6 ++---- src/app/account/auth/login-standard-user/login-standard-user.component.ts | 1 + src/app/app.component.ts | 1 - src/app/app.config.ts | 9 +++++++-- src/app/app.routes.ts | 5 +++++ src/app/integrations/integration/integration.routes.ts | 1 - src/app/integrations/integrations.component.html | 1 - src/app/trafics/trafics.component.html | 2 +- src/app/trafics/trafics.component.ts | 27 +++++++++++++++++---------- src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.html | 20 +++++++++++++++++--- src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.ts | 60 ++++++++++++++++++++++++++++++++++++++---------------------- src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------- src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.ts | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------- src/app/trafics/transactions/transaction.routes.ts | 3 +-- src/app/utilisateurs/create-users/create-users.component.html | 3 +-- src/app/utilisateurs/create-users/create-users.component.ts | 3 +-- src/app/utilisateurs/utilisateurs.component.html | 43 +++++++++++++++++++++++++++++++++++-------- src/app/utilisateurs/utilisateurs.component.ts | 16 ++++++++++++++++ src/index.html | 4 +++- 19 files changed, 282 insertions(+), 257 deletions(-) diff --git a/src/app/account/auth/login-standard-user/login-standard-user.component.html b/src/app/account/auth/login-standard-user/login-standard-user.component.html index 5fe6ca3..6a44766 100644 --- a/src/app/account/auth/login-standard-user/login-standard-user.component.html +++ b/src/app/account/auth/login-standard-user/login-standard-user.component.html @@ -65,12 +65,10 @@ diff --git a/src/app/account/auth/login-standard-user/login-standard-user.component.ts b/src/app/account/auth/login-standard-user/login-standard-user.component.ts index 9a8d527..d0eef74 100644 --- a/src/app/account/auth/login-standard-user/login-standard-user.component.ts +++ b/src/app/account/auth/login-standard-user/login-standard-user.component.ts @@ -55,6 +55,7 @@ export class LoginStandardUserComponent implements OnInit { username = new FormControl('', [Validators.required]); password = new FormControl('', [Validators.required]); + // eslint-disable-next-line @typescript-eslint/no-explicit-any user: any = { username: '', password: '', diff --git a/src/app/app.component.ts b/src/app/app.component.ts index c35e6e4..7693424 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,7 +5,6 @@ import { HttpClientModule } from '@angular/common/http'; import { FormsModule } from '@angular/forms'; import { MatDialogModule } from '@angular/material/dialog'; - @Component({ selector: 'bgui-root', standalone: true, diff --git a/src/app/app.config.ts b/src/app/app.config.ts index d018530..bf370f6 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -1,4 +1,8 @@ -import { ApplicationConfig, LOCALE_ID } from '@angular/core'; +import { + ApplicationConfig, + LOCALE_ID, + importProvidersFrom, +} from '@angular/core'; import { provideRouter, withViewTransitions } from '@angular/router'; import { routes } from './app.routes'; import { provideAnimations } from '@angular/platform-browser/animations'; @@ -11,6 +15,7 @@ export const appConfig: ApplicationConfig = { provideAnimations(), provideEnvironmentNgxMask(), { provide: LOCALE_ID, useValue: 'fr-FR' }, - HttpClientModule, // Ajout de HttpClientModule ici + //HttpClientModule, + importProvidersFrom(HttpClientModule), ], }; diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index c17746b..2052b90 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -38,6 +38,11 @@ export const routes: Routes = [ ), //canActivate:[AuthGuard] }, { + path: 'utilisateurs', + loadChildren: () => + import('./utilisateurs/user.routes').then(c => c.userRoutes), //canActivate:[AuthGuard] + }, + { path: 'reversements', loadChildren: () => import('./reversements/reversement/reversement.routes').then( diff --git a/src/app/integrations/integration/integration.routes.ts b/src/app/integrations/integration/integration.routes.ts index 4d70e4b..25661bd 100644 --- a/src/app/integrations/integration/integration.routes.ts +++ b/src/app/integrations/integration/integration.routes.ts @@ -42,7 +42,6 @@ export const integrationRoutes: Routes = [ path: 'php', component: PhpComponent, }, - ], }, ]; diff --git a/src/app/integrations/integrations.component.html b/src/app/integrations/integrations.component.html index 79be59c..0680b43 100644 --- a/src/app/integrations/integrations.component.html +++ b/src/app/integrations/integrations.component.html @@ -1,2 +1 @@ - diff --git a/src/app/trafics/trafics.component.html b/src/app/trafics/trafics.component.html index 90c6b64..0680b43 100644 --- a/src/app/trafics/trafics.component.html +++ b/src/app/trafics/trafics.component.html @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/app/trafics/trafics.component.ts b/src/app/trafics/trafics.component.ts index 13fb512..52d420f 100644 --- a/src/app/trafics/trafics.component.ts +++ b/src/app/trafics/trafics.component.ts @@ -1,15 +1,22 @@ import { Component } from '@angular/core'; -import { SuiviPaiementComponent } from "./transactions/suivi-paiement/suivi-paiement.component"; -import { SuiviTransactionComponent } from "./transactions/suivi-transaction/suivi-transaction.component"; +import { SuiviPaiementComponent } from './transactions/suivi-paiement/suivi-paiement.component'; +import { SuiviTransactionComponent } from './transactions/suivi-transaction/suivi-transaction.component'; import { RouterOutlet } from '@angular/router'; +import { TransactionService } from '../_services/trafics/transaction/transaction.service'; +import { CommonModule } from '@angular/common'; +import { OperateurService } from '../_services/trafics/operateur/operateur.service'; @Component({ - selector: 'bgui-trafics', - standalone: true, - templateUrl: './trafics.component.html', - styleUrl: './trafics.component.scss', - imports: [SuiviPaiementComponent, SuiviTransactionComponent,RouterOutlet] + selector: 'bgui-trafics', + standalone: true, + templateUrl: './trafics.component.html', + styleUrl: './trafics.component.scss', + imports: [ + SuiviPaiementComponent, + SuiviTransactionComponent, + RouterOutlet, + CommonModule, + ], + providers: [TransactionService, OperateurService], }) -export class TraficsComponent { - -} +export class TraficsComponent {} diff --git a/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.html b/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.html index eb20ff3..7547383 100644 --- a/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.html +++ b/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.html @@ -3,10 +3,12 @@

Paiemnts

-
- + +
+ +
diff --git a/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.ts b/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.ts index 9bad320..35d462b 100644 --- a/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.ts +++ b/src/app/trafics/transactions/suivi-paiement/suivi-paiement.component.ts @@ -3,14 +3,11 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; import { CommonModule } from '@angular/common'; -import { ReactiveFormsModule, FormsModule } from '@angular/forms'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule, MatCardTitle } from '@angular/material/card'; -import { MatCheckboxModule } from '@angular/material/checkbox'; -import { MatIconModule } from '@angular/material/icon'; +import { FormsModule } from '@angular/forms'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { RouterLink } from '@angular/router'; -import { CarouselComponent } from 'src/app/shared/carousel/carousel.component'; +import { HttpClient, HttpClientModule } from '@angular/common/http'; +import { IOperateur } from 'src/app/_interfaces/trafics/operateur/operateur'; export interface PElement { nfacture: number; @@ -155,23 +152,9 @@ const ELEMENT_DATA: PElement[] = [ MatFormFieldModule, MatInputModule, MatTableModule, - CommonModule, - MatPaginator, - MatTableModule, - MatFormFieldModule, - MatInputModule, - CarouselComponent, - MatFormFieldModule, - MatCardModule, - MatCardTitle, - ReactiveFormsModule, - MatInputModule, - MatInputModule, - MatButtonModule, - MatIconModule, - MatCheckboxModule, - MatTableModule, MatPaginatorModule, + CommonModule, + HttpClientModule, RouterLink, FormsModule, ], @@ -179,6 +162,11 @@ const ELEMENT_DATA: PElement[] = [ styleUrl: './suivi-paiement.component.scss', }) export class SuiviPaiementComponent { + private url = 'http://192.168.1.223:8000/operateur/'; + + operateurs: IOperateur[] = []; + selectedOperateur: string = ''; + displayedColumns: string[] = [ 'nfacture', 'nom', @@ -194,7 +182,35 @@ export class SuiviPaiementComponent { dataSource = new MatTableDataSource(ELEMENT_DATA); @ViewChild(MatPaginator) paginator!: MatPaginator | undefined; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + + constructor(private httpClient: HttpClient) {} + + ngOnInit(): void { + this.fetchOperateurs(); + } + fetchOperateurs(): void { + this.httpClient.get(this.url).subscribe( + (data: IOperateur) => { + this.operateurs.push(data); + + console.log('operateur==>', this.operateurs); + }, + error => { + console.error( + "Une erreur s'est produite lors de la récupération des opérateurs :", + error + ); + } + ); + } + + onOperateurChange(event: Event): void { + const selectElement = event.target as HTMLSelectElement; + this.selectedOperateur = selectElement.value; + console.log('Selected opérateur ===>', this.selectedOperateur); + } ngAfterViewInit() { if (this.paginator) { this.dataSource.paginator = this.paginator; diff --git a/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html b/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html index 2f865b2..50d3d15 100644 --- a/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html +++ b/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.html @@ -4,22 +4,15 @@
- - +
@@ -65,67 +58,87 @@ #input /> - - - N°Facture - {{ element.nfacture }} + + + ID + + {{ transaction.transaction_id }} + - - Nom - {{ element.nom }} + + ID type paiement + + {{ transaction.type_paiement }} + - - - Prenoms - {{ element.prenom }} + + + type paiement + + {{ transaction.type_paiement_label }} + - - - Contact - {{ element.contact }} + + + Marchand + + {{ transaction.marchand }} + - Service - {{ element.service }} - - - - - E-mail - {{ element.email }} + + {{ transaction.service }} + Montant - {{ element.montant }} + + {{ transaction.montant }} + - - Mode Paiement - - {{ element.modePaiement }} + + Date + + {{ transaction.date }} + + Commentaire + + {{ transaction.commentaire }} + + + + + Etat + + {{ transaction.etat }} + + + Status - {{ element.status }} + + {{ transaction.status }} + - - - Date Transaction - - {{ element.dateTransaction }} + + Réference + + {{ transaction.reference }} @@ -140,3 +153,12 @@ [showFirstLastButtons]="true">
+ + diff --git a/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.ts b/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.ts index 489e334..e956986 100644 --- a/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.ts +++ b/src/app/trafics/transactions/suivi-transaction/suivi-transaction.component.ts @@ -3,142 +3,13 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; - -export interface PElement { - nfacture: number; - nom: string; - prenom: string; - contact: string; - service: string; - email: string; - montant: number; - modePaiement: string; - status: string; - dateTransaction: string; -} - -const ELEMENT_DATA: PElement[] = [ - { - nfacture: 1, - nom: 'zaho', - prenom: 'zadi', - contact: '0101010101', - service: 'mtn', - email: 'mrtest@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '10-04-2024', - }, - { - nfacture: 2, - nom: 'kablan', - prenom: 'fatou', - contact: '0101010101', - service: 'mtn', - email: 'mrtet@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '16-03-2024', - }, - { - nfacture: 3, - nom: 'toure', - prenom: 'koffi', - contact: '0101010101', - service: 'mtn', - email: 'mrtest@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'invalide', - dateTransaction: '04-04-2024', - }, - { - nfacture: 4, - nom: 'belem', - prenom: 'asaph', - contact: '0101010101', - service: 'mtn', - email: 'test@mail.com', - montant: 27000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '16-02-2024', - }, - { - nfacture: 5, - nom: 'tanoh', - prenom: 'delmas', - contact: '0101010101', - service: 'mtn', - email: 'rtest@mail.com', - montant: 50000, - modePaiement: 'wave', - status: 'invalide', - dateTransaction: '16-04-2024', - }, - { - nfacture: 6, - nom: 'gaba', - prenom: 'akemane', - contact: '0101010101', - service: 'mtn', - email: 'mtst@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '16-01-2024', - }, - { - nfacture: 7, - nom: 'kra', - prenom: 'zoulou', - contact: '0101010101', - service: 'mtn', - email: 'mest@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '26-03-2024', - }, - { - nfacture: 8, - nom: 'kakou', - prenom: 'kasa', - contact: '0101010101', - service: 'mtn', - email: 'mrtst@mail.com', - montant: 80000, - modePaiement: 'wave', - status: 'invalide', - dateTransaction: '10-04-2024', - }, - { - nfacture: 9, - nom: 'nguessan', - prenom: 'daouda', - contact: '0101010101', - service: 'mtn', - email: 'mrte@mail.com', - montant: 25000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '16-04-2024', - }, - { - nfacture: 10, - nom: 'Neon', - prenom: 'kanon', - contact: '0101010101', - service: 'mtn', - email: 'mrtest@mail.com', - montant: 27000, - modePaiement: 'wave', - status: 'valide', - dateTransaction: '16-04-2024', - }, -]; +import { CommonModule } from '@angular/common'; +import { TransactionService } from 'src/app/_services/trafics/transaction/transaction.service'; +import { ITransaction } from 'src/app/_interfaces/trafics/transaction/transaction'; +import { HttpClient, HttpClientModule } from '@angular/common/http'; +import { RouterLink } from '@angular/router'; +import { IOperateur } from 'src/app/_interfaces/trafics/operateur/operateur'; +import { FormsModule } from '@angular/forms'; @Component({ selector: 'bgui-suivi-transaction', @@ -148,24 +19,74 @@ const ELEMENT_DATA: PElement[] = [ MatInputModule, MatTableModule, MatPaginatorModule, + CommonModule, + HttpClientModule, + RouterLink, + FormsModule, ], templateUrl: './suivi-transaction.component.html', styleUrl: './suivi-transaction.component.scss', }) export class SuiviTransactionComponent { + //private HtUrl = 'http://192.168.1.223:8000/transaction-history/'; + + private url = 'http://192.168.1.223:8000/operateur/'; + + transactions: ITransaction[] = []; + operateurs: IOperateur[] = []; + selectedOperateur: string = ''; + + constructor( + private httpClient: HttpClient, + public transactionService: TransactionService + ) {} + + ngOnInit(): void { + this.transactionService.getAll().subscribe((data: ITransaction[]) => { + this.transactions = data; + console.log('transactions===>', this.transactions); + + this.fetchOperateurs(); + }); + } + + fetchOperateurs(): void { + this.httpClient.get(this.url).subscribe( + (data: IOperateur) => { + this.operateurs.push(data); + + console.log('operateur==>', this.operateurs); + }, + error => { + console.error( + "Une erreur s'est produite lors de la récupération des opérateurs :", + error + ); + } + ); + } + + onOperateurChange(event: Event): void { + const selectElement = event.target as HTMLSelectElement; + this.selectedOperateur = selectElement.value; + console.log('Selected opérateur ===>', this.selectedOperateur); + } + displayedColumns: string[] = [ - 'nfacture', - 'nom', - 'prenom', - 'contact', + 'transaction_id', + 'type_paiement', + 'type_paiement_label', + 'marchand', 'service', - 'email', 'montant', - 'modePaiement', + 'date', + 'commentaire', + 'etat', 'status', - 'dateTransaction', + 'reference', ]; - dataSource = new MatTableDataSource(ELEMENT_DATA); + + dataSource = new MatTableDataSource(this.transactions); @ViewChild(MatPaginator) paginator!: MatPaginator | undefined; @@ -180,6 +101,3 @@ export class SuiviTransactionComponent { this.dataSource.filter = filterValue.trim().toLowerCase(); } } -// function ViewChild(MatPaginator: any): (target: SuiviTransactionComponent, propertyKey: "paginator") => void { -// throw new Error('Function not implemented.'); -// } diff --git a/src/app/trafics/transactions/transaction.routes.ts b/src/app/trafics/transactions/transaction.routes.ts index 56b9916..cac98ef 100644 --- a/src/app/trafics/transactions/transaction.routes.ts +++ b/src/app/trafics/transactions/transaction.routes.ts @@ -3,13 +3,12 @@ import { TraficsComponent } from '../trafics.component'; import { SuiviPaiementComponent } from './suivi-paiement/suivi-paiement.component'; import { SuiviTransactionComponent } from './suivi-transaction/suivi-transaction.component'; - export const transactionsRoutes: Routes = [ { path: '', component: TraficsComponent, children: [ - { path: '', redirectTo: 'suivi-paiement', pathMatch: 'full' }, + { path: '', redirectTo: 'suivi-paiement', pathMatch: 'full' }, { path: 'suivi-paiement', component: SuiviPaiementComponent, diff --git a/src/app/utilisateurs/create-users/create-users.component.html b/src/app/utilisateurs/create-users/create-users.component.html index 9d89652..b5c2385 100644 --- a/src/app/utilisateurs/create-users/create-users.component.html +++ b/src/app/utilisateurs/create-users/create-users.component.html @@ -1,4 +1,3 @@
-

Create Users

- +

Create Users

diff --git a/src/app/utilisateurs/create-users/create-users.component.ts b/src/app/utilisateurs/create-users/create-users.component.ts index f6e96b7..84d4f4f 100644 --- a/src/app/utilisateurs/create-users/create-users.component.ts +++ b/src/app/utilisateurs/create-users/create-users.component.ts @@ -1,10 +1,9 @@ import { Component } from '@angular/core'; -import { UtilisateursComponent } from 'src/app/utilisateurs/utilisateurs.component'; @Component({ selector: 'bgui-create-users', standalone: true, - imports: [UtilisateursComponent], + imports: [], templateUrl: './create-users.component.html', styleUrl: './create-users.component.scss', }) diff --git a/src/app/utilisateurs/utilisateurs.component.html b/src/app/utilisateurs/utilisateurs.component.html index f3ccd42..41fb158 100644 --- a/src/app/utilisateurs/utilisateurs.component.html +++ b/src/app/utilisateurs/utilisateurs.component.html @@ -42,15 +42,16 @@ Actions - - - - - @@ -64,3 +65,29 @@ [showFirstLastButtons]="true">
+ + diff --git a/src/app/utilisateurs/utilisateurs.component.ts b/src/app/utilisateurs/utilisateurs.component.ts index de1871f..8f29a49 100644 --- a/src/app/utilisateurs/utilisateurs.component.ts +++ b/src/app/utilisateurs/utilisateurs.component.ts @@ -13,6 +13,7 @@ import { MatIconModule } from '@angular/material/icon'; import { RouterLink } from '@angular/router'; import { CarouselComponent } from '../shared/carousel/carousel.component'; import { MatMenuModule } from '@angular/material/menu'; +import { HttpClient } from '@angular/common/http'; export interface IUsers { id: number; @@ -96,7 +97,22 @@ const ELEMENT_DATA: IUsers[] = [ styleUrl: './utilisateurs.component.scss', }) export class UtilisateursComponent { + constructor(private http: HttpClient) {} + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dataTypePaiements: any[] = []; + + ngOnInit(): void { + this.http + .get('http://192.168.1.223:8000/operateur/') + // eslint-disable-next-line @typescript-eslint/no-explicit-any + .subscribe((results: any) => { + console.log('results==>', results); + this.dataTypePaiements = results.results; + + console.log('dataTypePaiements===>', this.dataTypePaiements); + }); + } editUser() { throw new Error('Method not implemented.'); } diff --git a/src/index.html b/src/index.html index 8e54fcd..ac4dac4 100644 --- a/src/index.html +++ b/src/index.html @@ -23,7 +23,9 @@ - + -- libgit2 0.27.1