Commit 060e6b1a5943a4f30a9376c0b3cb3a5909ebb42a
1 parent
b1698a5276
Exists in
develop
and in
1 other branch
pantalla comanda
Showing
7 changed files
with
70 additions
and
24 deletions
Show diff stats
angular.json
| ... | ... | @@ -29,11 +29,13 @@ |
| 29 | 29 | ], |
| 30 | 30 | "styles": [ |
| 31 | 31 | "./node_modules/bootstrap/dist/css/bootstrap.min.css", |
| 32 | + "node_modules/@fortawesome/fontawesome-free/css/all.min.css", | |
| 32 | 33 | "src/styles.scss" |
| 33 | 34 | ], |
| 34 | 35 | "scripts": [ |
| 35 | 36 | "./node_modules/jquery/dist/jquery.slim.min.js", |
| 36 | 37 | "./node_modules/popper.js/dist/umd/popper.min.js", |
| 38 | + "node_modules/@fortawesome/fontawesome-free/js/all.min.js", | |
| 37 | 39 | "./node_modules/bootstrap/dist/js/bootstrap.min.js" |
| 38 | 40 | ] |
| 39 | 41 | }, |
package-lock.json
| ... | ... | @@ -8389,14 +8389,6 @@ |
| 8389 | 8389 | "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-5.2.0.tgz", |
| 8390 | 8390 | "integrity": "sha512-fh+OmaEdxCZnVLQFLqexdw4Xv0Lp2Ueq7un52gF26lTENhTAypGWgf2c92HXzbp4W/B0tnwIZ9mzQPwdDMH91w==" |
| 8391 | 8391 | }, |
| 8392 | - "ngx-spinner": { | |
| 8393 | - "version": "8.1.0", | |
| 8394 | - "resolved": "https://registry.npmjs.org/ngx-spinner/-/ngx-spinner-8.1.0.tgz", | |
| 8395 | - "integrity": "sha512-VtIcKsxe+cNj9zCelNesSJZ/xarjxKL86GQG9h4JM++/Hf7HUJtPDBWXZ6lBk0CpgWdJ4++XX3aeOntI92ApEw==", | |
| 8396 | - "requires": { | |
| 8397 | - "tslib": "^1.9.0" | |
| 8398 | - } | |
| 8399 | - }, | |
| 8400 | 8392 | "nice-try": { |
| 8401 | 8393 | "version": "1.0.5", |
| 8402 | 8394 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", |
package.json
src/app/app.module.ts
| ... | ... | @@ -10,7 +10,7 @@ import { SplashScreenComponent } from './modules/splash-screen/splash-screen.com |
| 10 | 10 | import { AdminComponent } from './modules/admin/admin.component'; |
| 11 | 11 | import { FooterComponent } from './shared/footer/footer.component'; |
| 12 | 12 | import { SharedModule } from './modules/shared/shared.module'; |
| 13 | -import { NgxSpinnerModule } from "ngx-spinner"; | |
| 13 | +import { NgxSpinnerModule } from 'ngx-spinner'; | |
| 14 | 14 | |
| 15 | 15 | @NgModule({ |
| 16 | 16 | declarations: [ |
src/app/modules/comanda/comanda.component.html
| ... | ... | @@ -34,11 +34,11 @@ |
| 34 | 34 | </p> |
| 35 | 35 | <!-- TIMER PEDIDO --> |
| 36 | 36 | <div class="d-flex justify-content-between align-items-center mt-2"> |
| 37 | - <p><i class="fas fa-user-clock"></i></p> | |
| 37 | + <p><i class="fas fa-user-clock text-info"></i></p> | |
| 38 | 38 | <p class="text-center mb-1"> |
| 39 | 39 | {{comanda.hoursPedido}}:{{comanda.minutesPedido}}:{{comanda.secondsPedido}} |
| 40 | 40 | </p> |
| 41 | - <p><i class="far fa-clock fa-spin"></i></p> | |
| 41 | + <p><i class="far fa-clock fa-spin text-info"></i></p> | |
| 42 | 42 | </div> |
| 43 | 43 | <div *ngFor="let detalle of comanda.detalles"> |
| 44 | 44 | <p |
| ... | ... | @@ -88,12 +88,36 @@ |
| 88 | 88 | *ngIf="comanda.estado === 2" |
| 89 | 89 | class="btn btn-block btn-deshacer btn-sm shadow-sm p-0" |
| 90 | 90 | (click)="updateComanda(comanda, 1, 'Pagado')"> |
| 91 | - <div class="row justify-content-center"> | |
| 92 | - <span class="h6"><small>Deshacer</small></span> | |
| 91 | + <div class="row justify-content-between"> | |
| 92 | + <div></div> | |
| 93 | + <span class="h6 ml-4"><small>Deshacer</small></span> | |
| 94 | + <i class="fas fa-undo-alt text-info mr-4 my-auto"></i> | |
| 93 | 95 | </div> |
| 94 | - <i class="fas fa-undo-alt"></i> | |
| 95 | 96 | </button> |
| 96 | 97 | </div> |
| 98 | + <!-- TIMER DE ELABORACION --> | |
| 99 | + <div *ngIf="comanda.estado === 2" class="d-flex justify-content-between align-items-center mt-2"> | |
| 100 | + <div *ngIf="comanda.estado !== 1"> | |
| 101 | + <i class="fa fa-utensils text-info" aria-hidden="true"></i> | |
| 102 | + </div> | |
| 103 | + <span *ngIf="comanda.estado === 1" class="text-dark"> | |
| 104 | + {{comanda.hoursElaboracion}}:{{comanda.minutesElaboracion}}:{{comanda.secondsElaboracion}} | |
| 105 | + </span> | |
| 106 | + <span *ngIf="comanda.estado !== 1" class="text-white"> | |
| 107 | + {{comanda.hoursElaboracion}}:{{comanda.minutesElaboracion}}:{{comanda.secondsElaboracion}} | |
| 108 | + </span> | |
| 109 | + <i class="fas fa-clock fa-spin text-info"></i> | |
| 110 | + <!-- <ngx-spinner | |
| 111 | + name="{{comanda.id.toString()}}" | |
| 112 | + class="mr-2" | |
| 113 | + bdOpacity="0" | |
| 114 | + bdColor="rgba(255,255,255,0)" | |
| 115 | + size="small" | |
| 116 | + color="#fff" | |
| 117 | + type="timer" | |
| 118 | + [fullScreen]="false"> | |
| 119 | + </ngx-spinner> --> | |
| 120 | + </div> | |
| 97 | 121 | </div> |
| 98 | 122 | </div> |
| 99 | 123 | </div> |
src/app/modules/comanda/comanda.component.ts
| ... | ... | @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; |
| 2 | 2 | import { IComanda, IComandaDetalle, IComponente } from 'src/app/interfaces/IComanda'; |
| 3 | 3 | import { ComandaService } from 'src/app/services/comanda/comanda.service'; |
| 4 | 4 | import * as _ from 'lodash'; |
| 5 | +import { NgxSpinnerService } from 'ngx-spinner' | |
| 5 | 6 | |
| 6 | 7 | @Component({ |
| 7 | 8 | selector: 'app-comanda', |
| ... | ... | @@ -14,16 +15,27 @@ export class ComandaComponent implements OnInit { |
| 14 | 15 | |
| 15 | 16 | constructor( |
| 16 | 17 | private comandaService: ComandaService, |
| 18 | + private spinnerService: NgxSpinnerService, | |
| 17 | 19 | ) { } |
| 18 | 20 | |
| 19 | 21 | ngOnInit() { |
| 20 | 22 | this.getComandas(); |
| 23 | + this.timerGetComandas(); | |
| 24 | + } | |
| 25 | + | |
| 26 | + ngOnDestroy() { | |
| 27 | + clearInterval(this.cicloTime); | |
| 28 | + } | |
| 29 | + | |
| 30 | + timerGetComandas() { | |
| 31 | + this.cicloTime = setInterval(() => { | |
| 32 | + this.getComandas(); | |
| 33 | + }, 5000); | |
| 21 | 34 | } |
| 22 | 35 | |
| 23 | 36 | getComandas() { |
| 24 | 37 | this.comandaService.getAll() |
| 25 | 38 | .subscribe((resComandas: IComanda[]) => { |
| 26 | - console.log(resComandas) | |
| 27 | 39 | this.addNewComandas(resComandas); |
| 28 | 40 | }, e => console.error(e)); |
| 29 | 41 | } |
| ... | ... | @@ -38,7 +50,7 @@ export class ComandaComponent implements OnInit { |
| 38 | 50 | } |
| 39 | 51 | if (!resComandas.length) return; |
| 40 | 52 | Array.prototype.push.apply(this.comandas, resComandas); |
| 41 | - // this.startTimersPedido(resComandas); | |
| 53 | + this.startTimersPedido(resComandas); | |
| 42 | 54 | } |
| 43 | 55 | |
| 44 | 56 | updateComanda(comanda: IComanda, estadoNuevo: number, observacionNueva: string) { |
| ... | ... | @@ -54,6 +66,7 @@ export class ComandaComponent implements OnInit { |
| 54 | 66 | .subscribe(res => { }, err => console.error(err) |
| 55 | 67 | ); |
| 56 | 68 | } |
| 69 | + | |
| 57 | 70 | if (estadoNuevo !== 2) comanda.detalles.forEach(d => d.seeDetalle = false); |
| 58 | 71 | |
| 59 | 72 | this.comandaService.update(data) |
| ... | ... | @@ -61,6 +74,11 @@ export class ComandaComponent implements OnInit { |
| 61 | 74 | if (res.data) { |
| 62 | 75 | comanda.estado = estadoNuevo; |
| 63 | 76 | comanda.observacion = observacionNueva; |
| 77 | + if (estadoNuevo == 2) { | |
| 78 | + this.startTimerElaboracion(comanda); | |
| 79 | + } else if (comanda.timerElaboracion) { | |
| 80 | + clearInterval(comanda.timerElaboracion) | |
| 81 | + } | |
| 64 | 82 | } |
| 65 | 83 | }, e => console.error(e)); |
| 66 | 84 | } |
| ... | ... | @@ -78,7 +96,23 @@ export class ComandaComponent implements OnInit { |
| 78 | 96 | } |
| 79 | 97 | |
| 80 | 98 | hasTipo(componentes: IComponente[]) { |
| 81 | - return componentes.some(c => c.tipoArticulo == 6); | |
| 99 | + return componentes.some(c => c.tipoArticulo === 6); | |
| 82 | 100 | } |
| 83 | 101 | |
| 102 | + //#region TIMERS | |
| 103 | + startTimersPedido(comandas) { | |
| 104 | + comandas.forEach((comanda: IComanda) => { | |
| 105 | + this.comandaService.startTimerComanda(comanda, 'Pedido'); | |
| 106 | + if (comanda.estado === 2) { | |
| 107 | + this.startTimerElaboracion(comanda); | |
| 108 | + } | |
| 109 | + }); | |
| 110 | + } | |
| 111 | + | |
| 112 | + startTimerElaboracion(comanda: IComanda) { | |
| 113 | + this.spinnerService.show(comanda.id.toString()); | |
| 114 | + this.comandaService.startTimerComanda(comanda, 'Elaboracion'); | |
| 115 | + } | |
| 116 | + //#endregion | |
| 117 | + | |
| 84 | 118 | } |
src/app/services/comanda/comanda.service.ts
| 1 | 1 | import { Injectable } from '@angular/core'; |
| 2 | -<<<<<<< HEAD | |
| 3 | -import { HttpClient } from "@angular/common/http"; | |
| 4 | -import { APP_SETTINGS } from "src/etc/AppSettings"; | |
| 5 | -import { IComanda } from 'src/app/interfaces/IComanda'; | |
| 6 | -======= | |
| 7 | 2 | import { HttpClient } from '@angular/common/http'; |
| 8 | 3 | import { APP_SETTINGS } from 'src/etc/AppSettings'; |
| 9 | ->>>>>>> ef98cd0d724050b0dfc83575636af079b59235d8 | |
| 4 | +import { IComanda } from 'src/app/interfaces/IComanda'; | |
| 10 | 5 | |
| 11 | 6 | @Injectable({ |
| 12 | 7 | providedIn: 'root' |