Commit d57ad174 by zadi francice

traitement des trafics

parent b85aa0f9
...@@ -65,12 +65,10 @@ ...@@ -65,12 +65,10 @@
<button <button
mat-icon-button mat-icon-button
matSuffix matSuffix
(click)="hide = hide" (click)="hide = !hide"
[attr.aria-label]="'Hide password'" [attr.aria-label]="'Hide password'"
[attr.aria-pressed]="hide"> [attr.aria-pressed]="hide">
<mat-icon>{{ <mat-icon>visibility</mat-icon>
hide ? 'visibility_off' : 'visibility'
}}</mat-icon>
</button> </button>
</mat-form-field> </mat-form-field>
</div> </div>
......
...@@ -55,6 +55,7 @@ export class LoginStandardUserComponent implements OnInit { ...@@ -55,6 +55,7 @@ export class LoginStandardUserComponent implements OnInit {
username = new FormControl('', [Validators.required]); username = new FormControl('', [Validators.required]);
password = new FormControl('', [Validators.required]); password = new FormControl('', [Validators.required]);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
user: any = { user: any = {
username: '', username: '',
password: '', password: '',
......
...@@ -5,7 +5,6 @@ import { HttpClientModule } from '@angular/common/http'; ...@@ -5,7 +5,6 @@ import { HttpClientModule } from '@angular/common/http';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import { MatDialogModule } from '@angular/material/dialog'; import { MatDialogModule } from '@angular/material/dialog';
@Component({ @Component({
selector: 'bgui-root', selector: 'bgui-root',
standalone: true, standalone: true,
......
import { ApplicationConfig, LOCALE_ID } from '@angular/core'; import {
ApplicationConfig,
LOCALE_ID,
importProvidersFrom,
} from '@angular/core';
import { provideRouter, withViewTransitions } from '@angular/router'; import { provideRouter, withViewTransitions } from '@angular/router';
import { routes } from './app.routes'; import { routes } from './app.routes';
import { provideAnimations } from '@angular/platform-browser/animations'; import { provideAnimations } from '@angular/platform-browser/animations';
...@@ -11,6 +15,7 @@ export const appConfig: ApplicationConfig = { ...@@ -11,6 +15,7 @@ export const appConfig: ApplicationConfig = {
provideAnimations(), provideAnimations(),
provideEnvironmentNgxMask(), provideEnvironmentNgxMask(),
{ provide: LOCALE_ID, useValue: 'fr-FR' }, { provide: LOCALE_ID, useValue: 'fr-FR' },
HttpClientModule, // Ajout de HttpClientModule ici //HttpClientModule,
importProvidersFrom(HttpClientModule),
], ],
}; };
...@@ -38,6 +38,11 @@ export const routes: Routes = [ ...@@ -38,6 +38,11 @@ export const routes: Routes = [
), //canActivate:[AuthGuard] ), //canActivate:[AuthGuard]
}, },
{ {
path: 'utilisateurs',
loadChildren: () =>
import('./utilisateurs/user.routes').then(c => c.userRoutes), //canActivate:[AuthGuard]
},
{
path: 'reversements', path: 'reversements',
loadChildren: () => loadChildren: () =>
import('./reversements/reversement/reversement.routes').then( import('./reversements/reversement/reversement.routes').then(
......
...@@ -42,7 +42,6 @@ export const integrationRoutes: Routes = [ ...@@ -42,7 +42,6 @@ export const integrationRoutes: Routes = [
path: 'php', path: 'php',
component: PhpComponent, component: PhpComponent,
}, },
], ],
}, },
]; ];
<router-outlet></router-outlet> <router-outlet></router-outlet>
<router-outlet></router-outlet> <router-outlet></router-outlet>
\ No newline at end of file
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { SuiviPaiementComponent } from "./transactions/suivi-paiement/suivi-paiement.component"; import { SuiviPaiementComponent } from './transactions/suivi-paiement/suivi-paiement.component';
import { SuiviTransactionComponent } from "./transactions/suivi-transaction/suivi-transaction.component"; import { SuiviTransactionComponent } from './transactions/suivi-transaction/suivi-transaction.component';
import { RouterOutlet } from '@angular/router'; 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({ @Component({
selector: 'bgui-trafics', selector: 'bgui-trafics',
standalone: true, standalone: true,
templateUrl: './trafics.component.html', templateUrl: './trafics.component.html',
styleUrl: './trafics.component.scss', styleUrl: './trafics.component.scss',
imports: [SuiviPaiementComponent, SuiviTransactionComponent,RouterOutlet] imports: [
SuiviPaiementComponent,
SuiviTransactionComponent,
RouterOutlet,
CommonModule,
],
providers: [TransactionService, OperateurService],
}) })
export class TraficsComponent { export class TraficsComponent {}
}
...@@ -3,10 +3,12 @@ ...@@ -3,10 +3,12 @@
<h3>Paiemnts</h3> <h3>Paiemnts</h3>
</div> </div>
<div class="row" style="margin-top: 40px"> <div class="row" style="margin-top: 40px">
<div class="col-md-2"> <!-- <div class="col-md-2">
<label for="moyensPaiement">Moyens de paiement</label> <label for="moyensPaiement">Opérateurs</label>
<select class="form-control filtre" style="width: 100%"> <select class="form-control filtre" style="width: 100%">
<option value="">Tout</option> <option *ngFor="let operateur of operateurs" [value]="operateurs.value">
{{ operateur.viewValue }}
</option>
<option value="*OMCIV2*">ORANGE CI</option> <option value="*OMCIV2*">ORANGE CI</option>
<option value="*MOMOCI*">MTN CI</option> <option value="*MOMOCI*">MTN CI</option>
<option value="*FLOOZ*">MOOV CI</option> <option value="*FLOOZ*">MOOV CI</option>
...@@ -21,6 +23,18 @@ ...@@ -21,6 +23,18 @@
<option value="*PAYPAL*">PAYPAL</option> <option value="*PAYPAL*">PAYPAL</option>
<option value="*OMGN*">ORANGE GUINEE BISSAU</option> <option value="*OMGN*">ORANGE GUINEE BISSAU</option>
</select> </select>
</div> -->
<div class="col-md-2">
<label for="operateurs">Opérateurs</label>
<select
class="form-control filtre"
id="operateurs"
style="width: 100%"
[(ngModel)]="selectedOperateur">
<option *ngFor="let operateur of operateurs" [value]="operateur.code">
{{ operateur.code }}
</option>
</select>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<label for="services">Services</label> <label for="services">Services</label>
......
...@@ -3,14 +3,11 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table'; ...@@ -3,14 +3,11 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { MatInputModule } from '@angular/material/input'; import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field'; import { MatFormFieldModule } from '@angular/material/form-field';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms'; import { 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 { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import { RouterLink } from '@angular/router'; 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 { export interface PElement {
nfacture: number; nfacture: number;
...@@ -155,23 +152,9 @@ const ELEMENT_DATA: PElement[] = [ ...@@ -155,23 +152,9 @@ const ELEMENT_DATA: PElement[] = [
MatFormFieldModule, MatFormFieldModule,
MatInputModule, MatInputModule,
MatTableModule, MatTableModule,
CommonModule,
MatPaginator,
MatTableModule,
MatFormFieldModule,
MatInputModule,
CarouselComponent,
MatFormFieldModule,
MatCardModule,
MatCardTitle,
ReactiveFormsModule,
MatInputModule,
MatInputModule,
MatButtonModule,
MatIconModule,
MatCheckboxModule,
MatTableModule,
MatPaginatorModule, MatPaginatorModule,
CommonModule,
HttpClientModule,
RouterLink, RouterLink,
FormsModule, FormsModule,
], ],
...@@ -179,6 +162,11 @@ const ELEMENT_DATA: PElement[] = [ ...@@ -179,6 +162,11 @@ const ELEMENT_DATA: PElement[] = [
styleUrl: './suivi-paiement.component.scss', styleUrl: './suivi-paiement.component.scss',
}) })
export class SuiviPaiementComponent { export class SuiviPaiementComponent {
private url = 'http://192.168.1.223:8000/operateur/';
operateurs: IOperateur[] = [];
selectedOperateur: string = '';
displayedColumns: string[] = [ displayedColumns: string[] = [
'nfacture', 'nfacture',
'nom', 'nom',
...@@ -194,7 +182,35 @@ export class SuiviPaiementComponent { ...@@ -194,7 +182,35 @@ export class SuiviPaiementComponent {
dataSource = new MatTableDataSource(ELEMENT_DATA); dataSource = new MatTableDataSource(ELEMENT_DATA);
@ViewChild(MatPaginator) paginator!: MatPaginator | undefined; @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<IOperateur>(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() { ngAfterViewInit() {
if (this.paginator) { if (this.paginator) {
this.dataSource.paginator = this.paginator; this.dataSource.paginator = this.paginator;
......
...@@ -4,22 +4,15 @@ ...@@ -4,22 +4,15 @@
</div> </div>
<div class="row" style="margin-top: 40px"> <div class="row" style="margin-top: 40px">
<div class="col-md-2"> <div class="col-md-2">
<label for="moyensPaiement">Moyens de paiement</label> <label for="operateurs">Opérateurs</label>
<select class="form-control filtre" style="width: 100%"> <select
<option value="">Tout</option> class="form-control filtre"
<option value="*OMCIV2*">ORANGE CI</option> id="operateurs"
<option value="*MOMOCI*">MTN CI</option> [(ngModel)]="selectedOperateur"
<option value="*FLOOZ*">MOOV CI</option> style="width: 100%">
<option value="*OMBF*">ORANGE BF</option> <option *ngFor="let operateur of operateurs" [value]="operateur.code">
<option value="*OMML*">ORANGE MALI</option> {{ operateur.code }}
<option value="*MOMOBJ*">MTN BENIN</option> </option>
<option value="*CARD*">VISA / MASTERCARD</option>
<option value="*FLOOZBJ*">MOOV BENIN</option>
<option value="*AIRTELNG*">AITEL NIGER</option>
<option value="*WAVECI*">WAVE CI</option>
<option value="*OMSN*">ORANGE SENEGAL</option>
<option value="*PAYPAL*">PAYPAL</option>
<option value="*OMGN*">ORANGE GUINEE BISSAU</option>
</select> </select>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
...@@ -65,67 +58,87 @@ ...@@ -65,67 +58,87 @@
#input /> #input />
</mat-form-field> </mat-form-field>
<mat-table #table [dataSource]="dataSource"> <mat-table #table [dataSource]="transactions">
<ng-container matColumnDef="nfacture"> <ng-container matColumnDef="transaction_id">
<mat-header-cell *matHeaderCellDef> N°Facture </mat-header-cell> <mat-header-cell *matHeaderCellDef> ID </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.nfacture }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.transaction_id }}
</mat-cell>
</ng-container> </ng-container>
<!-- Name Column --> <!-- Name Column -->
<ng-container matColumnDef="nom"> <ng-container matColumnDef="type_paiement">
<mat-header-cell *matHeaderCellDef> Nom </mat-header-cell> <mat-header-cell *matHeaderCellDef>ID type paiement </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.nom }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.type_paiement }}
</mat-cell>
</ng-container> </ng-container>
<!-- Weight Column --> <!-- Name Column -->
<ng-container matColumnDef="prenom"> <ng-container matColumnDef="type_paiement_label">
<mat-header-cell *matHeaderCellDef> Prenoms </mat-header-cell> <mat-header-cell *matHeaderCellDef>type paiement </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.prenom }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.type_paiement_label }}
</mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column --> <!-- Weight Column -->
<ng-container matColumnDef="contact"> <ng-container matColumnDef="marchand">
<mat-header-cell *matHeaderCellDef> Contact </mat-header-cell> <mat-header-cell *matHeaderCellDef> Marchand </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.contact }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.marchand }}
</mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column -->
<ng-container matColumnDef="service"> <ng-container matColumnDef="service">
<mat-header-cell *matHeaderCellDef> Service </mat-header-cell> <mat-header-cell *matHeaderCellDef> Service </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.service }} </mat-cell> <mat-cell *matCellDef="let transaction">
</ng-container> {{ transaction.service }}
</mat-cell>
<!-- Symbol Column -->
<ng-container matColumnDef="email">
<mat-header-cell *matHeaderCellDef> E-mail </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.email }} </mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column --> <!-- Symbol Column -->
<ng-container matColumnDef="montant"> <ng-container matColumnDef="montant">
<mat-header-cell *matHeaderCellDef> Montant </mat-header-cell> <mat-header-cell *matHeaderCellDef> Montant </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.montant }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.montant }}
</mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column --> <!-- Symbol Column -->
<ng-container matColumnDef="modePaiement"> <ng-container matColumnDef="date">
<mat-header-cell *matHeaderCellDef> Mode Paiement </mat-header-cell> <mat-header-cell *matHeaderCellDef> Date </mat-header-cell>
<mat-cell *matCellDef="let element"> <mat-cell *matCellDef="let transaction">
{{ element.modePaiement }} {{ transaction.date }}
</mat-cell> </mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column --> <!-- Symbol Column -->
<ng-container matColumnDef="commentaire">
<mat-header-cell *matHeaderCellDef> Commentaire </mat-header-cell>
<mat-cell *matCellDef="let transaction">
{{ transaction.commentaire }}
</mat-cell>
</ng-container>
<!-- Symbol Column -->
<ng-container matColumnDef="etat">
<mat-header-cell *matHeaderCellDef> Etat </mat-header-cell>
<mat-cell *matCellDef="let transaction">
{{ transaction.etat }}
</mat-cell>
</ng-container>
<!-- Symbol Column -->
<ng-container matColumnDef="status"> <ng-container matColumnDef="status">
<mat-header-cell *matHeaderCellDef> Status </mat-header-cell> <mat-header-cell *matHeaderCellDef> Status </mat-header-cell>
<mat-cell *matCellDef="let element"> {{ element.status }} </mat-cell> <mat-cell *matCellDef="let transaction">
{{ transaction.status }}
</mat-cell>
</ng-container> </ng-container>
<!-- Symbol Column --> <ng-container matColumnDef="reference">
<ng-container matColumnDef="dateTransaction"> <mat-header-cell *matHeaderCellDef> Réference </mat-header-cell>
<mat-header-cell *matHeaderCellDef> Date Transaction </mat-header-cell> <mat-cell *matCellDef="let transaction">
<mat-cell *matCellDef="let element"> {{ transaction.reference }}
{{ element.dateTransaction }}
</mat-cell> </mat-cell>
</ng-container> </ng-container>
...@@ -140,3 +153,12 @@ ...@@ -140,3 +153,12 @@
[showFirstLastButtons]="true"> [showFirstLastButtons]="true">
</mat-paginator> </mat-paginator>
</div> </div>
<!-- id ID[...]
transaction_id* Transaction id[...]
action* Action[...]
date Date[...]
description* Description[...]
marchand_code* Marchand code[...]
service_code* Service code[...]
type_paiement_code* Type paiement code -->
...@@ -3,142 +3,13 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table'; ...@@ -3,142 +3,13 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { MatInputModule } from '@angular/material/input'; import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field'; import { MatFormFieldModule } from '@angular/material/form-field';
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import { CommonModule } from '@angular/common';
export interface PElement { import { TransactionService } from 'src/app/_services/trafics/transaction/transaction.service';
nfacture: number; import { ITransaction } from 'src/app/_interfaces/trafics/transaction/transaction';
nom: string; import { HttpClient, HttpClientModule } from '@angular/common/http';
prenom: string; import { RouterLink } from '@angular/router';
contact: string; import { IOperateur } from 'src/app/_interfaces/trafics/operateur/operateur';
service: string; import { FormsModule } from '@angular/forms';
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',
},
];
@Component({ @Component({
selector: 'bgui-suivi-transaction', selector: 'bgui-suivi-transaction',
...@@ -148,24 +19,74 @@ const ELEMENT_DATA: PElement[] = [ ...@@ -148,24 +19,74 @@ const ELEMENT_DATA: PElement[] = [
MatInputModule, MatInputModule,
MatTableModule, MatTableModule,
MatPaginatorModule, MatPaginatorModule,
CommonModule,
HttpClientModule,
RouterLink,
FormsModule,
], ],
templateUrl: './suivi-transaction.component.html', templateUrl: './suivi-transaction.component.html',
styleUrl: './suivi-transaction.component.scss', styleUrl: './suivi-transaction.component.scss',
}) })
export class SuiviTransactionComponent { 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<IOperateur>(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[] = [ displayedColumns: string[] = [
'nfacture', 'transaction_id',
'nom', 'type_paiement',
'prenom', 'type_paiement_label',
'contact', 'marchand',
'service', 'service',
'email',
'montant', 'montant',
'modePaiement', 'date',
'commentaire',
'etat',
'status', 'status',
'dateTransaction', 'reference',
]; ];
dataSource = new MatTableDataSource(ELEMENT_DATA);
dataSource = new MatTableDataSource(this.transactions);
@ViewChild(MatPaginator) paginator!: MatPaginator | undefined; @ViewChild(MatPaginator) paginator!: MatPaginator | undefined;
...@@ -180,6 +101,3 @@ export class SuiviTransactionComponent { ...@@ -180,6 +101,3 @@ export class SuiviTransactionComponent {
this.dataSource.filter = filterValue.trim().toLowerCase(); this.dataSource.filter = filterValue.trim().toLowerCase();
} }
} }
// function ViewChild(MatPaginator: any): (target: SuiviTransactionComponent, propertyKey: "paginator") => void {
// throw new Error('Function not implemented.');
// }
...@@ -3,13 +3,12 @@ import { TraficsComponent } from '../trafics.component'; ...@@ -3,13 +3,12 @@ import { TraficsComponent } from '../trafics.component';
import { SuiviPaiementComponent } from './suivi-paiement/suivi-paiement.component'; import { SuiviPaiementComponent } from './suivi-paiement/suivi-paiement.component';
import { SuiviTransactionComponent } from './suivi-transaction/suivi-transaction.component'; import { SuiviTransactionComponent } from './suivi-transaction/suivi-transaction.component';
export const transactionsRoutes: Routes = [ export const transactionsRoutes: Routes = [
{ {
path: '', path: '',
component: TraficsComponent, component: TraficsComponent,
children: [ children: [
{ path: '', redirectTo: 'suivi-paiement', pathMatch: 'full' }, { path: '', redirectTo: 'suivi-paiement', pathMatch: 'full' },
{ {
path: 'suivi-paiement', path: 'suivi-paiement',
component: SuiviPaiementComponent, component: SuiviPaiementComponent,
......
<div> <div>
<h3>Create Users</h3> <h3>Create Users</h3>
<bgui-utilisateurs />
</div> </div>
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { UtilisateursComponent } from 'src/app/utilisateurs/utilisateurs.component';
@Component({ @Component({
selector: 'bgui-create-users', selector: 'bgui-create-users',
standalone: true, standalone: true,
imports: [UtilisateursComponent], imports: [],
templateUrl: './create-users.component.html', templateUrl: './create-users.component.html',
styleUrl: './create-users.component.scss', styleUrl: './create-users.component.scss',
}) })
......
...@@ -42,15 +42,16 @@ ...@@ -42,15 +42,16 @@
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<mat-header-cell *matHeaderCellDef>Actions</mat-header-cell> <mat-header-cell *matHeaderCellDef>Actions</mat-header-cell>
<mat-cell *matCellDef="let user" style="text-align: right"> <mat-cell *matCellDef="let user" style="text-align: right">
<button mat-icon [matMenuTriggerFor]="menu"> <a href="#" class="btn btn-info" [routerLink]="['view-user']">Voir</a>
<mat-icon>info</mat-icon> <a href="#" class="btn btn-primary m-1" [routerLink]="['edit-user/id']"
>Editer</a
>
<button
type="button"
class="btn btn-danger"
[routerLink]="['delete-user/id']">
Supprimer
</button> </button>
<mat-menu #menu="matMenu">
<button mat-menu-item [routerLink]="['/utilisateur', user.id]">
Modifier
</button>
<button mat-menu-item (click)="deleteUser()">Supprimer</button>
</mat-menu>
</mat-cell> </mat-cell>
</ng-container> </ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
...@@ -64,3 +65,29 @@ ...@@ -64,3 +65,29 @@
[showFirstLastButtons]="true"> [showFirstLastButtons]="true">
</mat-paginator> </mat-paginator>
</div> </div>
<!-- <hr />
<div>
<table>
<thead>
<tr>
<th>id</th>
<th>code</th>
<th>liens</th>
<th>etat</th>
<th>status</th>
<th>information</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let item of dataTypePaiements">
<td>{{ item.id }}</td>
<td>{{ item.code }}</td>
<td>{{ item.lien }}</td>
<td>{{ item.etat }}</td>
<td>{{ item.status }}</td>
<td>{{ item.information }}</td>
</tr>
</tbody>
</table>
</div> -->
...@@ -13,6 +13,7 @@ import { MatIconModule } from '@angular/material/icon'; ...@@ -13,6 +13,7 @@ import { MatIconModule } from '@angular/material/icon';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { CarouselComponent } from '../shared/carousel/carousel.component'; import { CarouselComponent } from '../shared/carousel/carousel.component';
import { MatMenuModule } from '@angular/material/menu'; import { MatMenuModule } from '@angular/material/menu';
import { HttpClient } from '@angular/common/http';
export interface IUsers { export interface IUsers {
id: number; id: number;
...@@ -96,7 +97,22 @@ const ELEMENT_DATA: IUsers[] = [ ...@@ -96,7 +97,22 @@ const ELEMENT_DATA: IUsers[] = [
styleUrl: './utilisateurs.component.scss', styleUrl: './utilisateurs.component.scss',
}) })
export class UtilisateursComponent { 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() { editUser() {
throw new Error('Method not implemented.'); throw new Error('Method not implemented.');
} }
......
...@@ -23,7 +23,9 @@ ...@@ -23,7 +23,9 @@
<script src="https://kit.fontawesome.com/a076d05399.js"></script> <script src="https://kit.fontawesome.com/a076d05399.js"></script>
</head> </head>
<body class="nk-body bgui-bg-body ui-rounder npc-default"> <body class="nk-body bgui-bg-body ui-rounder npc-default">
<script src="https://kit.fontawesome.com/a4c00a89bc.js" crossorigin="anonymous"></script> <script
src="https://kit.fontawesome.com/a4c00a89bc.js"
crossorigin="anonymous"></script>
<bgui-root></bgui-root> <bgui-root></bgui-root>
</body> </body>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment