Commit 5cb91c754535b3ff4af141792a9b2b5ded99e2b3
Exists in
develop
and in
1 other branch
Merge branch 'master' into 'develop'
Master(benjamin) See merge request !9
Showing
9 changed files
Show diff stats
src/app/app-routing.module.ts
... | ... | @@ -43,6 +43,10 @@ const routes: Routes = [ |
43 | 43 | path: 'mensaje-final', |
44 | 44 | loadChildren: () => import('./modules/mensaje-final/mensaje-final.module').then(m => m.MensajeFinalModule) |
45 | 45 | }, |
46 | + { | |
47 | + path: 'pedidos-salientes', | |
48 | + loadChildren: () => import('./modules/pedidos-salientes/pedidos-salientes.module').then(m => m.PedidosSalientesModule) | |
49 | + }, | |
46 | 50 | { path: '**', redirectTo: '', pathMatch: 'full' }, |
47 | 51 | ]; |
48 | 52 |
src/app/modules/pedidos-salientes/pedidos-salientes-routing.module.ts
... | ... | @@ -0,0 +1,14 @@ |
1 | +import { NgModule } from '@angular/core'; | |
2 | +import { Routes, RouterModule } from '@angular/router'; | |
3 | +import { PedidosSalientesComponent } from './pedidos-salientes.component'; | |
4 | + | |
5 | + | |
6 | +const routes: Routes = [ | |
7 | + { path: '', component: PedidosSalientesComponent } | |
8 | +]; | |
9 | + | |
10 | +@NgModule({ | |
11 | + imports: [RouterModule.forChild(routes)], | |
12 | + exports: [RouterModule] | |
13 | +}) | |
14 | +export class PedidosSalientesRoutingModule { } |
src/app/modules/pedidos-salientes/pedidos-salientes.component.html
... | ... | @@ -0,0 +1,31 @@ |
1 | +<div class="row justify-content-center h-15"> | |
2 | + <div class="col-3 col-lg-2 mt-1"> | |
3 | + <img src="../../../assets/img/logo-spot.svg" class="w-60 h-auto d-block mx-auto"> | |
4 | + </div> | |
5 | +</div> | |
6 | +<div class="row mt-n5 justify-content-around h-75"> | |
7 | + <div class="col-5 col-md-3 h-100"> | |
8 | + <div class="p-3 bg-white text-center shadow-lg rounded h-100"> | |
9 | + <h5 class="pt-3">ESTAMOS</h5> | |
10 | + <h3 class="font-weight-bold text-secondary">preparando</h3> | |
11 | + <h5>TU PEDIDO</h5> | |
12 | + <div | |
13 | + *ngFor="let pedido of pedidosPendientes; let i = index" | |
14 | + [hidden]="i == 0 || i > 4" | |
15 | + class="font-weight-bold mb-2 text-muted"> | |
16 | + <h1 class="display-4">{{rellenar(pedido.id.toString().slice(1), 2)}}</h1> | |
17 | + </div> | |
18 | + </div> | |
19 | + </div> | |
20 | + <div class="col-5 col-md-3 h-100"> | |
21 | + <div class="p-3 bg-white shadow-lg rounded text-center h-100"> | |
22 | + <h5 class="pt-3">LISTO PARA</h5> | |
23 | + <h3 class="font-weight-bold text-primary">retirar</h3> | |
24 | + <div *ngIf="pedidoFinalizado.length"> | |
25 | + <h1 class="display-1 mt-4 text-primary mb-0">{{rellenar(pedidoFinalizado[0].id.toString().slice(1), 2)}}</h1> | |
26 | + <hr class="line mt-0"> | |
27 | + </div> | |
28 | + <h3 class="font-weight-bold text-info mt-4">¡Que lo disfrutes!</h3> | |
29 | + </div> | |
30 | + </div> | |
31 | +</div> |
src/app/modules/pedidos-salientes/pedidos-salientes.component.scss
src/app/modules/pedidos-salientes/pedidos-salientes.component.spec.ts
... | ... | @@ -0,0 +1,25 @@ |
1 | +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |
2 | + | |
3 | +import { PedidosSalientesComponent } from './pedidos-salientes.component'; | |
4 | + | |
5 | +describe('PedidosSalientesComponent', () => { | |
6 | + let component: PedidosSalientesComponent; | |
7 | + let fixture: ComponentFixture<PedidosSalientesComponent>; | |
8 | + | |
9 | + beforeEach(async(() => { | |
10 | + TestBed.configureTestingModule({ | |
11 | + declarations: [ PedidosSalientesComponent ] | |
12 | + }) | |
13 | + .compileComponents(); | |
14 | + })); | |
15 | + | |
16 | + beforeEach(() => { | |
17 | + fixture = TestBed.createComponent(PedidosSalientesComponent); | |
18 | + component = fixture.componentInstance; | |
19 | + fixture.detectChanges(); | |
20 | + }); | |
21 | + | |
22 | + it('should create', () => { | |
23 | + expect(component).toBeTruthy(); | |
24 | + }); | |
25 | +}); |
src/app/modules/pedidos-salientes/pedidos-salientes.component.ts
... | ... | @@ -0,0 +1,58 @@ |
1 | +import { Component, OnInit } from '@angular/core'; | |
2 | +import { ComandaService } from 'src/app/services/comanda/comanda.service'; | |
3 | + | |
4 | +@Component({ | |
5 | + selector: 'app-pedidos-salientes', | |
6 | + templateUrl: './pedidos-salientes.component.html', | |
7 | + styleUrls: ['./pedidos-salientes.component.scss'] | |
8 | +}) | |
9 | +export class PedidosSalientesComponent implements OnInit { | |
10 | + pedidoFinalizado = []; | |
11 | + cicloTime; | |
12 | + pedidosPendientes = []; | |
13 | + | |
14 | + constructor( | |
15 | + private comandaServices: ComandaService | |
16 | + ) { } | |
17 | + | |
18 | + ngOnInit() { | |
19 | + this.buscarPedidosFinalizados(); | |
20 | + this.buscarPedidosPendientes(); | |
21 | + this.ciclo(); | |
22 | + } | |
23 | + | |
24 | + ngOnDestroy() { | |
25 | + clearTimeout(this.cicloTime); | |
26 | + } | |
27 | + | |
28 | + buscarPedidosFinalizados() { | |
29 | + this.comandaServices.getPendientesEntrega() | |
30 | + .subscribe((pedidos: []) => { | |
31 | + this.pedidoFinalizado = pedidos; | |
32 | + }); | |
33 | + } | |
34 | + | |
35 | + buscarPedidosPendientes() { | |
36 | + this.comandaServices.getAll() | |
37 | + .subscribe((resComandas: []) => { | |
38 | + this.pedidosPendientes = resComandas; | |
39 | + }, e => console.error(e)); | |
40 | + } | |
41 | + | |
42 | + ciclo() { | |
43 | + this.cicloTime = setTimeout(() => { | |
44 | + this.buscarPedidosFinalizados(); | |
45 | + this.buscarPedidosPendientes(); | |
46 | + this.ciclo(); | |
47 | + }, 5000); | |
48 | + } | |
49 | + | |
50 | + rellenar(relleno, longitud) { | |
51 | + relleno = '' + relleno; | |
52 | + while (relleno.length < longitud) { | |
53 | + relleno = '0' + relleno; | |
54 | + } | |
55 | + return relleno; | |
56 | + } | |
57 | + | |
58 | +} |
src/app/modules/pedidos-salientes/pedidos-salientes.module.ts
... | ... | @@ -0,0 +1,15 @@ |
1 | +import { NgModule } from '@angular/core'; | |
2 | +import { CommonModule } from '@angular/common'; | |
3 | + | |
4 | +import { PedidosSalientesRoutingModule } from './pedidos-salientes-routing.module'; | |
5 | +import { PedidosSalientesComponent } from './pedidos-salientes.component'; | |
6 | + | |
7 | + | |
8 | +@NgModule({ | |
9 | + declarations: [PedidosSalientesComponent], | |
10 | + imports: [ | |
11 | + CommonModule, | |
12 | + PedidosSalientesRoutingModule | |
13 | + ] | |
14 | +}) | |
15 | +export class PedidosSalientesModule { } |
src/app/services/comanda/comanda.service.spec.ts
... | ... | @@ -0,0 +1,12 @@ |
1 | +import { TestBed } from '@angular/core/testing'; | |
2 | + | |
3 | +import { ComandaService } from './comanda.service'; | |
4 | + | |
5 | +describe('ComandaService', () => { | |
6 | + beforeEach(() => TestBed.configureTestingModule({})); | |
7 | + | |
8 | + it('should be created', () => { | |
9 | + const service: ComandaService = TestBed.get(ComandaService); | |
10 | + expect(service).toBeTruthy(); | |
11 | + }); | |
12 | +}); |
src/app/services/comanda/comanda.service.ts
... | ... | @@ -0,0 +1,23 @@ |
1 | +import { Injectable } from '@angular/core'; | |
2 | +import { HttpClient } from "@angular/common/http"; | |
3 | +import { APP_SETTINGS } from "src/etc/AppSettings"; | |
4 | + | |
5 | +@Injectable({ | |
6 | + providedIn: 'root' | |
7 | +}) | |
8 | +export class ComandaService { | |
9 | + urlDeboSuite = APP_SETTINGS.apiDeboSuite; | |
10 | + | |
11 | + constructor( | |
12 | + private http: HttpClient, | |
13 | + ) { } | |
14 | + | |
15 | + getPendientesEntrega() { | |
16 | + return this.http.get(`${this.urlDeboSuite}/comandas/pendientes-entrega`); | |
17 | + } | |
18 | + | |
19 | + getAll() { | |
20 | + return this.http.get(`${this.urlDeboSuite}/comandas`); | |
21 | + } | |
22 | + | |
23 | +} |