Commit f56a3b96168dacafc16dfca49b8ebfa0396aea38

Authored by Marcelo Puebla

Merge branch 'develop' into 'develop'

Agregado pago con tarjeta

See merge request !5
src/app/app-routing.module.ts
... ... @@ -37,12 +37,12 @@ const routes: Routes = [
37 37 path: 'pago-tarjeta',
38 38 loadChildren: () => import('./modules/pago-tarjeta/pago-tarjeta.module').then(m => m.PagoTarjetaModule)
39 39 },
40   - {
41   - path: 'mensaje-final',
42   - loadChildren: () => import('./modules/mensaje-final/mensaje-final.module').then(m => m.MensajeFinalModule)
43   - },
44 40 ]
45 41 },
  42 + {
  43 + path: 'mensaje-final',
  44 + loadChildren: () => import('./modules/mensaje-final/mensaje-final.module').then(m => m.MensajeFinalModule)
  45 + },
46 46 { path: '**', redirectTo: '', pathMatch: 'full' },
47 47 ];
48 48  
src/app/modules/forma-pago/forma-pago.component.html
... ... @@ -50,7 +50,7 @@
50 50 <div class="col-auto px-0 h-auto align-self-start">
51 51 <div
52 52 class="btn-effect col-auto align-self-center px-0 bg-white"
53   - [routerLink]="['/pago-tarjeta']">
  53 + (click)="medioPago(4)">
54 54 <div class="row mx-0 bg-primary badge-pill">
55 55 <div class="col-auto p-0">
56 56 <img
src/app/modules/forma-pago/forma-pago.component.ts
1 1 import { Component, OnInit } from '@angular/core';
  2 +import { ArticuloService } from 'src/app/services/articulo/articulo.service';
  3 +import { Router } from '@angular/router';
2 4  
3 5 @Component({
4 6 selector: 'app-forma-pago',
... ... @@ -7,9 +9,24 @@ import { Component, OnInit } from &#39;@angular/core&#39;;
7 9 })
8 10 export class FormaPagoComponent implements OnInit {
9 11  
10   - constructor() { }
  12 + constructor(
  13 + private articuloService: ArticuloService,
  14 + private router: Router,
  15 + ) { }
11 16  
12 17 ngOnInit() {
13 18 }
14 19  
  20 + medioPago(medioPago: number) {
  21 + this.articuloService.medioPago = medioPago;
  22 + switch (medioPago) {
  23 + case 4:
  24 + this.router.navigate(['pago-tarjeta']);
  25 + break;
  26 + case 9:
  27 + this.router.navigate(['pago-electronico']);
  28 + break;
  29 + }
  30 + }
  31 +
15 32 }
src/app/modules/mensaje-final/mensaje-final.component.html
... ... @@ -25,7 +25,7 @@
25 25 class="img-in-top px-4 bg-white"
26 26 src="assets/img/ticket.svg">
27 27 <p class="h6 mb-2"><small>PRESENTร EL TICKET EN CAJA Y AGUARDร TU PEDIDO</small></p>
28   - <p class="h2 text-primary">Nรบmero de pedido {{023}}</p>
  28 + <p class="h2 text-primary">Nรบmero de pedido {{articuloService.idComanda}}</p>
29 29 </div>
30 30 </div>
31 31 <div class="row h-auto mt-6 mx-0 justify-content-center text-center">
... ... @@ -49,5 +49,20 @@
49 49 </p>
50 50 </div>
51 51 </div>
  52 + <div class="row justify-content-center">
  53 + <div class="col-auto">
  54 + <div
  55 + class="d-inline-block py-1 btn-effect bg-primary badge-pill text-white"
  56 + (click)="goToSplash()">
  57 + <span class="px-4">FINALIZAR</span>
  58 + <img
  59 + draggable="false"
  60 + ondragstart="return false;"
  61 + (contextmenu)="false"
  62 + class="icon-30"
  63 + src="assets/img/ir.svg">
  64 + </div>
  65 + </div>
  66 + </div>
52 67 </div>
53 68 </div>
src/app/modules/mensaje-final/mensaje-final.component.ts
1 1 import { Component, OnInit } from '@angular/core';
  2 +import { ArticuloService } from 'src/app/services/articulo/articulo.service';
  3 +import { Router } from '@angular/router';
2 4  
3 5 @Component({
4 6 selector: 'app-mensaje-final',
... ... @@ -7,9 +9,20 @@ import { Component, OnInit } from &#39;@angular/core&#39;;
7 9 })
8 10 export class MensajeFinalComponent implements OnInit {
9 11  
10   - constructor() { }
  12 + constructor(
  13 + public articuloService: ArticuloService,
  14 + private router: Router,
  15 + ) { }
11 16  
12 17 ngOnInit() {
  18 + setTimeout(() => {
  19 + this.goToSplash();
  20 + }, 10000)
  21 + }
  22 +
  23 + goToSplash() {
  24 + this.articuloService.cleanShoppingCar();
  25 + this.router.navigate(['']);
13 26 }
14 27  
15 28 }
src/app/modules/pago-tarjeta/pago-tarjeta.component.ts
1 1 import { Component, OnInit } from '@angular/core';
  2 +import { ArticuloService } from 'src/app/services/articulo/articulo.service';
  3 +import { Router } from '@angular/router';
2 4  
3 5 @Component({
4 6 selector: 'app-pago-tarjeta',
... ... @@ -7,9 +9,20 @@ import { Component, OnInit } from &#39;@angular/core&#39;;
7 9 })
8 10 export class PagoTarjetaComponent implements OnInit {
9 11  
10   - constructor() { }
  12 + constructor(
  13 + private articuloService: ArticuloService,
  14 + private router: Router,
  15 + ) { }
11 16  
12 17 ngOnInit() {
  18 + let dataPago = {
  19 + pedidoAnombreDe: ''
  20 + }
  21 + this.articuloService.pay(dataPago)
  22 + .subscribe((res: any) => {
  23 + this.articuloService.idComanda = res.data;
  24 + this.router.navigate(['mensaje-final']);
  25 + }, err => console.error(err));
13 26 }
14 27  
15 28 }
src/app/modules/seleccion-articulos/seleccion-articulos.component.ts
... ... @@ -119,8 +119,11 @@ export class SeleccionArticulosComponent implements OnInit {
119 119 }
120 120  
121 121 elegirArticulo(articulo: IArticulo) {
122   - articulo.cantidad = 1;
123   - this.articuloService.setArticulo(articulo);
  122 + this.articuloService.getById(articulo.id)
  123 + .subscribe((res: IArticulo) => {
  124 + res.cantidad = 1;
  125 + this.articuloService.setArticulo(res);
  126 + }, err => console.error(err));
124 127 }
125 128  
126 129 increaseShow() {
src/app/services/articulo/articulo.service.ts
... ... @@ -13,6 +13,8 @@ export class ArticuloService {
13 13 mostrar: string;
14 14 esPromoPersonalizada: boolean = false;
15 15 urlDeboSuite = APP_SETTINGS.apiDeboSuite;
  16 + medioPago: number;
  17 + idComanda: number;
16 18  
17 19 constructor(
18 20 private http: HttpClient,
... ... @@ -46,14 +48,14 @@ export class ArticuloService {
46 48 return new Observable((observer) => {
47 49 this.clienteService.getById(-1)
48 50 .subscribe(cliente => {
49   - let puntoVenta = parseInt(localStorage.getItem('impresoraPVE'));
  51 + let puntoVenta = 9998;
50 52 this.markArticuloInPromoAsRemoved();
51   - this.http.post(`${this.urlDeboSuite}/comprobante/guardar/${dataPago.medioPago}`, {
  53 + this.http.post(`${this.urlDeboSuite}/comprobante/guardar/${this.medioPago}`, {
52 54 productos: this.carrito,
53 55 cliente: cliente,
54 56 origen: 'autoservicio',
55 57 codigoVendedor: 5,
56   - puntoVenta: dataPago.medioPago === 9 ? -1 * puntoVenta : puntoVenta,
  58 + puntoVenta: this.medioPago === 9 ? -1 * puntoVenta : puntoVenta,
57 59 pedidoAnombreDe: dataPago.pedidoAnombreDe,
58 60 numeroPlanilla: '11111',
59 61 })