Commit 6690b26783371ce02f06634d5d3b9f49ba4ccd99
1 parent
cf95fd9dd5
Exists in
master
and in
1 other branch
Cambio en metodo pagar, agregado input para ingresar el nombre de quien realiza la compra.
Showing
2 changed files
with
27 additions
and
14 deletions
Show diff stats
src/app/components/confirmacion-carrito/confirmacion-carrito.component.html
| 1 | <div | 1 | <div |
| 2 | *ngIf="!compraConEfectivofinalizada && !compraConQRfinalizada" | 2 | *ngIf="!compraConEfectivofinalizada && !compraConQRfinalizada" |
| 3 | class="row m-0 fade-in bg-primary-gradient disable-user-select" | 3 | class="row m-0 fade-in bg-primary-gradient disable-user-select" |
| 4 | (click)="reiniciarTimer()"> | 4 | (click)="reiniciarTimer()"> |
| 5 | <div class="col-12 p-0 vh-100"> | 5 | <div class="col-12 p-0 vh-100"> |
| 6 | <!-- TOP HEADER --> | 6 | <!-- TOP HEADER --> |
| 7 | <app-header></app-header> | 7 | <app-header></app-header> |
| 8 | 8 | ||
| 9 | <!-- NOMBRE DE SECCION --> | 9 | <!-- NOMBRE DE SECCION --> |
| 10 | <div class="row m-0"> | 10 | <div class="row m-0"> |
| 11 | <div class="col-12 p-0"> | 11 | <div class="col-12 p-0"> |
| 12 | <p class="h5 py-1 bg-gray text-muted text-center m-0"> | 12 | <p class="h5 py-1 bg-gray text-muted text-center m-0"> |
| 13 | | 13 | |
| 14 | </p> | 14 | </p> |
| 15 | </div> | 15 | </div> |
| 16 | </div> | 16 | </div> |
| 17 | 17 | ||
| 18 | <div class="row m-0"> | 18 | <div class="row m-0"> |
| 19 | <div class="col-10 px-1"> | 19 | <div class="col-10 px-1"> |
| 20 | <!-- TEXTO DE IZQUIERDA --> | 20 | <!-- TEXTO DE IZQUIERDA --> |
| 21 | <div *ngIf="!verQR" class="row mx-2 mt-4 text-white"> | 21 | <div *ngIf="!verQR" class="row mx-2 mt-4 text-white"> |
| 22 | <div class="col-sm-auto my-auto"> | 22 | <div class="col-sm-auto my-auto"> |
| 23 | <p class="h2">Mi Compra | 23 | <p class="h2">Mi Compra |
| 24 | <i class="fa fa-shopping-cart "></i> | 24 | <i class="fa fa-shopping-cart "></i> |
| 25 | </p> | 25 | </p> |
| 26 | </div> | 26 | </div> |
| 27 | <div class="col-sm-9 my-auto"> | 27 | <div class="col-sm-9 my-auto"> |
| 28 | <p class="h4">Por favor, controle y confirme su compra.</p> | 28 | <p class="h4">Por favor, controle y confirme su compra.</p> |
| 29 | </div> | 29 | </div> |
| 30 | <label for="customLabel" class="col-auto font-weight-bold h4 m-0"> | ||
| 31 | Pedido a nombre de: | ||
| 32 | </label> | ||
| 33 | <div class="col-12 col-sm-6 col-md-5 col-lg-5"> | ||
| 34 | <input | ||
| 35 | type="text" | ||
| 36 | class="form-control text-center" | ||
| 37 | id="customLabel" | ||
| 38 | maxlength="24" | ||
| 39 | [(ngModel)]="pedidoAnombreDe" | ||
| 40 | autofocus | ||
| 41 | > | ||
| 42 | </div> | ||
| 30 | </div> | 43 | </div> |
| 31 | 44 | ||
| 32 | <div [ngClass]="{'mt-5': verQR}" class="row m-0"> | 45 | <div [ngClass]="{'mt-5': verQR}" class="row m-0"> |
| 33 | <!-- GRILLA DE PRODUCTOS DE MI COMPRA --> | 46 | <!-- GRILLA DE PRODUCTOS DE MI COMPRA --> |
| 34 | <div *ngIf="!verQR" class="col-sm-9 pr-1"> | 47 | <div *ngIf="!verQR" class="col-sm-9 pr-1"> |
| 35 | <div class="row mx-1 pr-1 vh-70 overflow-scroll text-dark"> | 48 | <div class="row mx-1 pr-1 vh-70 overflow-scroll text-dark"> |
| 36 | <div class="mh-100 col-4 p-2" *ngFor="let producto of productos"> | 49 | <div class="mh-100 col-4 p-2" *ngFor="let producto of productos"> |
| 37 | <div class="row m-0 h-100 bg-white rounded-sm shadow border-0"> | 50 | <div class="row m-0 h-100 bg-white rounded-sm shadow border-0"> |
| 38 | <div class="d-flex align-items-end flex-column"> | 51 | <div class="d-flex align-items-end flex-column"> |
| 39 | <div class="w-100"> | 52 | <div class="w-100"> |
| 40 | <img | 53 | <img |
| 41 | src="{{apiImagenes}}/imagenes/{{producto.imagenes[0].imagen}}" | 54 | src="{{apiImagenes}}/imagenes/{{producto.imagenes[0].imagen}}" |
| 42 | class="shadow rounded-sm w-100 m-auto"> | 55 | class="shadow rounded-sm w-100 m-auto"> |
| 43 | </div> | 56 | </div> |
| 44 | <div class="w-100 pt-2 px-2"> | 57 | <div class="w-100 pt-2 px-2"> |
| 45 | <p class="h6 text-left"> | 58 | <p class="h6 text-left"> |
| 46 | <small class="font-weight-bold"> | 59 | <small class="font-weight-bold"> |
| 47 | {{producto.DET_LAR}} | 60 | {{producto.DET_LAR}} |
| 48 | </small> | 61 | </small> |
| 49 | </p> | 62 | </p> |
| 50 | <div *ngIf="producto.tieneSinonimos"> | 63 | <div *ngIf="producto.tieneSinonimos"> |
| 51 | <p *ngFor="let p of producto.productos" class="h6 text-left m-0"> | 64 | <p *ngFor="let p of producto.productos" class="h6 text-left m-0"> |
| 52 | <small> | 65 | <small> |
| 53 | - {{p.cantidad * producto.cantidad}} {{p.DET_LAR}} | 66 | - {{p.cantidad * producto.cantidad}} {{p.DET_LAR}} |
| 54 | </small> | 67 | </small> |
| 55 | </p> | 68 | </p> |
| 56 | </div> | 69 | </div> |
| 57 | </div> | 70 | </div> |
| 58 | <div class="w-100 d-flex justify-content-between mt-auto mb-1 px-2"> | 71 | <div class="w-100 d-flex justify-content-between mt-auto mb-1 px-2"> |
| 59 | <span class="text-left m-0 px-1 h6"> | 72 | <span class="text-left m-0 px-1 h6"> |
| 60 | {{producto.cantidad}} x {{producto.PreVen | currency}} | 73 | {{producto.cantidad}} x {{producto.PreVen | currency}} |
| 61 | </span> | 74 | </span> |
| 62 | <span class="text-right m-0 px-1 h6"> | 75 | <span class="text-right m-0 px-1 h6"> |
| 63 | {{producto.cantidad * producto.PreVen | currency}} | 76 | {{producto.cantidad * producto.PreVen | currency}} |
| 64 | </span> | 77 | </span> |
| 65 | </div> | 78 | </div> |
| 66 | </div> | 79 | </div> |
| 67 | </div> | 80 | </div> |
| 68 | </div> | 81 | </div> |
| 69 | </div> | 82 | </div> |
| 70 | </div> | 83 | </div> |
| 71 | 84 | ||
| 72 | <!-- CODIGO QR --> | 85 | <!-- CODIGO QR --> |
| 73 | <div *ngIf="verQR" class="col-sm-9"> | 86 | <div *ngIf="verQR" class="col-sm-9"> |
| 74 | <div class="col-6 offset-3 border-0 mb-auto"> | 87 | <div class="col-6 offset-3 border-0 mb-auto"> |
| 75 | <img | 88 | <img |
| 76 | src="{{apiImagenes}}/imagenes/qrmp.jpg" | 89 | src="{{apiImagenes}}/imagenes/qrmp.jpg" |
| 77 | class="w-100 mx-auto d-block shadow rounded-sm"> | 90 | class="w-100 mx-auto d-block shadow rounded-sm"> |
| 78 | </div> | 91 | </div> |
| 79 | </div> | 92 | </div> |
| 80 | 93 | ||
| 81 | <!-- TICKET --> | 94 | <!-- TICKET --> |
| 82 | <div class="col-sm-3 px-1"> | 95 | <div class="col-sm-3 px-1"> |
| 83 | <div class="card shadow"> | 96 | <div class="card shadow"> |
| 84 | <div class="card-body"> | 97 | <div class="card-body"> |
| 85 | <p class="h5 card-title">Su Ticket</p> | 98 | <p class="h5 card-title">Su Ticket</p> |
| 86 | <div class="row mt-4 m-0"> | 99 | <div class="row mt-4 m-0"> |
| 87 | <div class="col-12 p-0 mb-2"> | 100 | <div class="col-12 p-0 mb-2"> |
| 88 | <p class="h6 m-0 card-text text-left"> | 101 | <p class="h6 m-0 card-text text-left"> |
| 89 | <small class="font-weight-bold">DESCRIPCIÓN</small> | 102 | <small class="font-weight-bold">DESCRIPCIÓN</small> |
| 90 | </p> | 103 | </p> |
| 91 | <p class="h6 m-0 card-text text-left"> | 104 | <p class="h6 m-0 card-text text-left"> |
| 92 | <small class="font-weight-bold">CANTIDAD X PRECIO UNITARIO</small> | 105 | <small class="font-weight-bold">CANTIDAD X PRECIO UNITARIO</small> |
| 93 | </p> | 106 | </p> |
| 94 | </div> | 107 | </div> |
| 95 | </div> | 108 | </div> |
| 96 | <div class="row vh-50 px-2 overflow-scroll m-0"> | 109 | <div class="row vh-50 px-2 overflow-scroll m-0"> |
| 97 | <div class="col-12 p-0 mb-2" *ngFor="let producto of productos"> | 110 | <div class="col-12 p-0 mb-2" *ngFor="let producto of productos"> |
| 98 | <p class="h6 m-0 card-text text-left"> | 111 | <p class="h6 m-0 card-text text-left"> |
| 99 | <small>{{producto.DET_LAR}}</small> | 112 | <small>{{producto.DET_LAR}}</small> |
| 100 | </p> | 113 | </p> |
| 101 | <div class="row d-flex justify-content-between m-0"> | 114 | <div class="row d-flex justify-content-between m-0"> |
| 102 | <div class="col p-0"> | 115 | <div class="col p-0"> |
| 103 | <p class="h6 m-0 card-text text-left"> | 116 | <p class="h6 m-0 card-text text-left"> |
| 104 | <small>{{producto.cantidad}} x {{producto.PreVen | currency}}</small> | 117 | <small>{{producto.cantidad}} x {{producto.PreVen | currency}}</small> |
| 105 | </p> | 118 | </p> |
| 106 | </div> | 119 | </div> |
| 107 | <div class="col p-0"> | 120 | <div class="col p-0"> |
| 108 | <p class="h6 m-0 card-text text-right"> | 121 | <p class="h6 m-0 card-text text-right"> |
| 109 | <small>{{(producto.PreVen) * (producto.cantidad) | currency}}</small> | 122 | <small>{{(producto.PreVen) * (producto.cantidad) | currency}}</small> |
| 110 | </p> | 123 | </p> |
| 111 | </div> | 124 | </div> |
| 112 | </div> | 125 | </div> |
| 113 | </div> | 126 | </div> |
| 114 | </div> | 127 | </div> |
| 115 | <p class="h4 font-weight-bold card-text text-right mt-3 mb-0"> | 128 | <p class="h4 font-weight-bold card-text text-right mt-3 mb-0"> |
| 116 | Total {{getTotal() | currency}} | 129 | Total {{getTotal() | currency}} |
| 117 | </p> | 130 | </p> |
| 118 | </div> | 131 | </div> |
| 119 | </div> | 132 | </div> |
| 120 | </div> | 133 | </div> |
| 121 | </div> | 134 | </div> |
| 122 | 135 | ||
| 123 | <!-- OPCIONES ABAJO DERECHA --> | 136 | <!-- OPCIONES ABAJO DERECHA --> |
| 124 | <div class="row m-0 fixed-bottom"> | 137 | <div class="row m-0 fixed-bottom"> |
| 125 | <div class="col-sm-2 offset-sm-10 p-0 mt-auto"> | 138 | <div class="col-sm-2 offset-sm-10 p-0 mt-auto"> |
| 126 | <div class="card m-2 rounded-top-sm mt-auto blue-gradient border-0"> | 139 | <div class="card m-2 rounded-top-sm mt-auto blue-gradient border-0"> |
| 127 | <div class="card-body row m-0 p-1"> | 140 | <div class="card-body row m-0 p-1"> |
| 128 | <div class="col-12 p-3"> | 141 | <div class="col-12 p-3"> |
| 129 | <button | 142 | <button |
| 130 | type="button" | 143 | type="button" |
| 131 | class="btn btn-block btn-light shadow btn-sm shadow" | 144 | class="btn btn-block btn-light shadow btn-sm shadow" |
| 132 | (click)="volverPreviousPage()"> | 145 | (click)="volverPreviousPage()"> |
| 133 | <span class="pr-2">Volver</span> | 146 | <span class="pr-2">Volver</span> |
| 134 | <i class="fa fa-undo text-warning"></i> | 147 | <i class="fa fa-undo text-warning"></i> |
| 135 | </button> | 148 | </button> |
| 136 | <button | 149 | <button |
| 137 | type="button" | 150 | type="button" |
| 138 | class="btn btn-block btn-light shadow btn-sm shadow" | 151 | class="btn btn-block btn-light shadow btn-sm shadow" |
| 139 | [routerLink]="['/cancelar-compra']"> | 152 | [routerLink]="['/cancelar-compra']"> |
| 140 | <span class="pr-2">Cancelar</span> | 153 | <span class="pr-2">Cancelar</span> |
| 141 | <i class="fa fa-times text-danger"></i> | 154 | <i class="fa fa-times text-danger"></i> |
| 142 | </button> | 155 | </button> |
| 143 | </div> | 156 | </div> |
| 144 | </div> | 157 | </div> |
| 145 | </div> | 158 | </div> |
| 146 | </div> | 159 | </div> |
| 147 | </div> | 160 | </div> |
| 148 | </div> | 161 | </div> |
| 149 | 162 | ||
| 150 | <!-- FORMAS DE PAGO --> | 163 | <!-- FORMAS DE PAGO --> |
| 151 | <div *ngIf="!verQR" class="col-2 px-1"> | 164 | <div *ngIf="!verQR" class="col-2 px-1"> |
| 152 | <p class="h4 text-white text-center mt-4 mx-2 pb-2 border-bottom border-white"> | 165 | <p class="h4 text-white text-center mt-4 mx-2 pb-2 border-bottom border-white"> |
| 153 | Forma de pago | 166 | Forma de pago |
| 154 | </p> | 167 | </p> |
| 155 | 168 | ||
| 156 | <!-- EFECTIVO --> | 169 | <!-- EFECTIVO --> |
| 157 | <div | 170 | <div |
| 158 | class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" | 171 | class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" |
| 159 | (click)="pagar(1)"> | 172 | (click)="pagar(1)"> |
| 160 | <div class="col-7 text-center my-auto px-2"> | 173 | <div class="col-7 text-center my-auto px-2"> |
| 161 | <span class="h5 font-weight-bold">Efectivo</span> | 174 | <span class="h5 font-weight-bold">Efectivo</span> |
| 162 | </div> | 175 | </div> |
| 163 | <div class="col-5 my-auto p-0"> | 176 | <div class="col-5 my-auto p-0"> |
| 164 | <img | 177 | <img |
| 165 | src="{{apiImagenes}}/imagenes/efectivo.png" | 178 | src="{{apiImagenes}}/imagenes/efectivo.png" |
| 166 | class="w-100 float-right"> | 179 | class="w-100 float-right"> |
| 167 | </div> | 180 | </div> |
| 168 | </div> | 181 | </div> |
| 169 | 182 | ||
| 170 | <!-- TARJETA --> | 183 | <!-- TARJETA --> |
| 171 | <div class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" | 184 | <div class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" |
| 172 | (click)="abrirPagoConTarjeta()"> | 185 | (click)="abrirPagoConTarjeta()"> |
| 173 | <div class="col-7 text-center my-auto px-2"> | 186 | <div class="col-7 text-center my-auto px-2"> |
| 174 | <span class="h5 font-weight-bold">Tarjeta</span> | 187 | <span class="h5 font-weight-bold">Tarjeta</span> |
| 175 | </div> | 188 | </div> |
| 176 | <div class="col-5 my-auto p-0"> | 189 | <div class="col-5 my-auto p-0"> |
| 177 | <img | 190 | <img |
| 178 | src="{{apiImagenes}}/imagenes/tarjeta.png" | 191 | src="{{apiImagenes}}/imagenes/tarjeta.png" |
| 179 | class="w-100 float-right"> | 192 | class="w-100 float-right"> |
| 180 | </div> | 193 | </div> |
| 181 | </div> | 194 | </div> |
| 182 | 195 | ||
| 183 | <!-- QR --> | 196 | <!-- QR --> |
| 184 | <div | 197 | <div |
| 185 | class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" | 198 | class="row card-effect card-forma-pago mx-1 my-3 rounded-sm shadow-sm bg-white" |
| 186 | (click)="pagar(9)"> | 199 | (click)="pagar(9)"> |
| 187 | <div class="col-7 text-center my-auto px-2"> | 200 | <div class="col-7 text-center my-auto px-2"> |
| 188 | <span class="h5 font-weight-bold">Pago Electrónico</span> | 201 | <span class="h5 font-weight-bold">Pago Electrónico</span> |
| 189 | </div> | 202 | </div> |
| 190 | <div class="col-5 my-auto p-0"> | 203 | <div class="col-5 my-auto p-0"> |
| 191 | <img | 204 | <img |
| 192 | src="{{apiImagenes}}/imagenes/qr.png" | 205 | src="{{apiImagenes}}/imagenes/qr.png" |
| 193 | class="w-100 float-right"> | 206 | class="w-100 float-right"> |
| 194 | </div> | 207 | </div> |
| 195 | </div> | 208 | </div> |
| 196 | </div> | 209 | </div> |
| 197 | </div> | 210 | </div> |
| 198 | 211 | ||
| 199 | </div> | 212 | </div> |
| 200 | </div> | 213 | </div> |
| 201 | 214 | ||
| 202 | <div | 215 | <div |
| 203 | *ngIf="compraConQRfinalizada" | 216 | *ngIf="compraConQRfinalizada" |
| 204 | [routerLink]="['/mensaje-final']" | 217 | [routerLink]="['/mensaje-final']" |
| 205 | class="row m-0 fade-in bg-primary-gradient disable-user-select vh-100"> | 218 | class="row m-0 fade-in bg-primary-gradient disable-user-select vh-100"> |
| 206 | <div class="col-12 text-center text-white my-auto"> | 219 | <div class="col-12 text-center text-white my-auto"> |
| 207 | <p class="font-weight-bold display-4"> | 220 | <p class="font-weight-bold display-4"> |
| 208 | Su pago fue<br> | 221 | Su pago fue<br> |
| 209 | acreditado | 222 | acreditado |
| 210 | exitosamente | 223 | exitosamente |
| 211 | </p> | 224 | </p> |
| 212 | <p class="font-weight-bold display-4">Recuerde retirar su ticket</p> | 225 | <p class="font-weight-bold display-4">Recuerde retirar su ticket</p> |
| 213 | </div> | 226 | </div> |
| 214 | <div class="row z-index-0 fixed-top m-0 w-100"> | 227 | <div class="row z-index-0 fixed-top m-0 w-100"> |
| 215 | <div class="col-12 p-3"> | 228 | <div class="col-12 p-3"> |
| 216 | <img class="w-15 float-right" src="../../../assets/img/debo-gray.png"> | 229 | <img class="w-15 float-right" src="../../../assets/img/debo-gray.png"> |
| 217 | </div> | 230 | </div> |
| 218 | </div> | 231 | </div> |
| 219 | </div> | 232 | </div> |
| 220 | 233 | ||
| 221 | <div | 234 | <div |
| 222 | *ngIf="compraConEfectivofinalizada" | 235 | *ngIf="compraConEfectivofinalizada" |
| 223 | [routerLink]="['/mensaje-final']" | 236 | [routerLink]="['/mensaje-final']" |
| 224 | class="row m-0 fade-in bg-primary-gradient disable-user-select vh-100"> | 237 | class="row m-0 fade-in bg-primary-gradient disable-user-select vh-100"> |
| 225 | <div class="col-12 text-center text-white my-auto"> | 238 | <div class="col-12 text-center text-white my-auto"> |
| 226 | <p class="font-weight-bold display-4"> | 239 | <p class="font-weight-bold display-4"> |
| 227 | Retire su ticket<br> | 240 | Retire su ticket<br> |
| 228 | y diríjase a caja para<br> | 241 | y diríjase a caja para<br> |
| 229 | efectuar el pago. | 242 | efectuar el pago. |
| 230 | </p> | 243 | </p> |
| 231 | </div> | 244 | </div> |
| 232 | <div class="row z-index-0 fixed-top m-0 w-100"> | 245 | <div class="row z-index-0 fixed-top m-0 w-100"> |
| 233 | <div class="col-12 p-3"> | 246 | <div class="col-12 p-3"> |
| 234 | <img class="w-15 float-right" src="../../../assets/img/debo-gray.png"> | 247 | <img class="w-15 float-right" src="../../../assets/img/debo-gray.png"> |
| 235 | </div> | 248 | </div> |
| 236 | </div> | 249 | </div> |
| 237 | </div> | 250 | </div> |
| 238 | 251 |
src/app/components/confirmacion-carrito/confirmacion-carrito.component.ts
| 1 | import { Component, OnInit, OnDestroy } from '@angular/core'; | 1 | import { Component, OnInit, OnDestroy } from '@angular/core'; |
| 2 | import { appSettings } from 'src/etc/AppSettings'; | 2 | import { appSettings } from 'src/etc/AppSettings'; |
| 3 | import { Location } from '@angular/common'; | 3 | import { Location } from '@angular/common'; |
| 4 | import { ProductoService } from 'src/app/services/producto.service'; | 4 | import { ProductoService } from 'src/app/services/producto.service'; |
| 5 | import { Producto } from 'src/app/wrappers/producto'; | 5 | import { Producto } from 'src/app/wrappers/producto'; |
| 6 | import { Router } from '@angular/router'; | 6 | import { Router } from '@angular/router'; |
| 7 | import { Subscription } from 'rxjs'; | 7 | import { Subscription } from 'rxjs'; |
| 8 | import { BsModalService } from 'ngx-bootstrap'; | 8 | import { BsModalService } from 'ngx-bootstrap'; |
| 9 | import { PagoConTarjetaComponent } from '../pago-con-tarjeta/pago-con-tarjeta.component'; | 9 | import { PagoConTarjetaComponent } from '../pago-con-tarjeta/pago-con-tarjeta.component'; |
| 10 | 10 | ||
| 11 | @Component({ | 11 | @Component({ |
| 12 | selector: 'app-confirmacion-carrito', | 12 | selector: 'app-confirmacion-carrito', |
| 13 | templateUrl: './confirmacion-carrito.component.html', | 13 | templateUrl: './confirmacion-carrito.component.html', |
| 14 | styleUrls: ['./confirmacion-carrito.component.scss'] | 14 | styleUrls: ['./confirmacion-carrito.component.scss'] |
| 15 | }) | 15 | }) |
| 16 | export class ConfirmacionCarritoComponent implements OnInit, OnDestroy { | 16 | export class ConfirmacionCarritoComponent implements OnInit, OnDestroy { |
| 17 | 17 | ||
| 18 | private productos: Producto[] = []; | ||
| 19 | private total: number = 0; | ||
| 20 | private apiImagenes: string = appSettings.apiImagenes; | 18 | private apiImagenes: string = appSettings.apiImagenes; |
| 21 | private timerReposo: any; | ||
| 22 | private compraConEfectivofinalizada: boolean = false; | 19 | private compraConEfectivofinalizada: boolean = false; |
| 23 | private compraConQRfinalizada: boolean = false; | 20 | private compraConQRfinalizada: boolean = false; |
| 21 | private productos: Producto[] = []; | ||
| 22 | private total: number = 0; | ||
| 23 | private timerReposo: any; | ||
| 24 | private verQR: boolean = false; | 24 | private verQR: boolean = false; |
| 25 | private subscribePago: Subscription; | 25 | private subscribePago: Subscription; |
| 26 | private pedidoAnombreDe: string = ''; | ||
| 26 | 27 | ||
| 27 | constructor( | 28 | constructor( |
| 28 | private location: Location, | 29 | private location: Location, |
| 29 | private productoService: ProductoService, | 30 | private productoService: ProductoService, |
| 30 | private router: Router, | 31 | private router: Router, |
| 31 | private modalService: BsModalService, | 32 | private modalService: BsModalService, |
| 32 | ) { } | 33 | ) { } |
| 33 | 34 | ||
| 34 | ngOnInit() { | 35 | ngOnInit() { |
| 35 | 36 | ||
| 36 | this.timerReposo = setTimeout(() => { | 37 | this.timerReposo = setTimeout(() => { |
| 37 | 38 | ||
| 38 | this.router.navigate(['cancelar-compra']); | 39 | this.router.navigate(['cancelar-compra']); |
| 39 | }, 90000) | 40 | }, 90000) |
| 40 | this.productos = this.productoService.productos; | 41 | this.productos = this.productoService.productos; |
| 41 | } | 42 | } |
| 42 | 43 | ||
| 43 | ngOnDestroy() { | 44 | ngOnDestroy() { |
| 44 | 45 | ||
| 45 | if (this.subscribePago !== undefined) { | 46 | if (this.subscribePago !== undefined) { |
| 46 | this.subscribePago.unsubscribe(); | 47 | this.subscribePago.unsubscribe(); |
| 47 | } | 48 | } |
| 48 | clearTimeout(this.timerReposo); | 49 | clearTimeout(this.timerReposo); |
| 49 | } | 50 | } |
| 50 | 51 | ||
| 51 | volverPreviousPage() { | 52 | volverPreviousPage() { |
| 52 | 53 | ||
| 53 | if (this.subscribePago !== undefined) { | 54 | if (this.subscribePago !== undefined) { |
| 54 | this.subscribePago.unsubscribe(); | 55 | this.subscribePago.unsubscribe(); |
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | if (this.verQR) { | 58 | if (this.verQR) { |
| 58 | this.verQR = !this.verQR; | 59 | this.verQR = !this.verQR; |
| 59 | return; | 60 | return; |
| 60 | } | 61 | } |
| 61 | 62 | ||
| 62 | this.location.back(); | 63 | this.location.back(); |
| 63 | } | 64 | } |
| 64 | 65 | ||
| 65 | getTotal() { | 66 | getTotal() { |
| 66 | 67 | ||
| 67 | var subTotal = 0; | 68 | var subTotal = 0; |
| 68 | this.productos.forEach(producto => { | 69 | this.productos.forEach(producto => { |
| 69 | 70 | ||
| 70 | subTotal = subTotal + (producto.PreVen * producto.cantidad); | 71 | subTotal = subTotal + (producto.PreVen * producto.cantidad); |
| 71 | }); | 72 | }); |
| 72 | return this.total = subTotal; | 73 | return this.total = subTotal; |
| 73 | } | 74 | } |
| 74 | 75 | ||
| 75 | reiniciarTimer() { | 76 | reiniciarTimer() { |
| 76 | 77 | ||
| 77 | clearTimeout(this.timerReposo); | 78 | clearTimeout(this.timerReposo); |
| 78 | this.timerReposo = setTimeout(() => { | 79 | this.timerReposo = setTimeout(() => { |
| 79 | 80 | ||
| 80 | this.router.navigate(['cancelar-compra']); | 81 | this.router.navigate(['cancelar-compra']); |
| 81 | }, 90000) | 82 | }, 90000) |
| 82 | } | 83 | } |
| 83 | 84 | ||
| 84 | //#region METODOS PARA LA FORMA DE PAGO | 85 | //#region METODOS PARA LA FORMA DE PAGO |
| 85 | pagar(medioPago: number) { | 86 | pagar(medioPago: number) { |
| 86 | 87 | ||
| 87 | if (medioPago === 9) { | 88 | this.verQR = medioPago === 9 ? true : false; |
| 88 | 89 | let dataPago = { | |
| 89 | this.verQR = true; | 90 | medioPago: medioPago, |
| 91 | pedidoAnombreDe: this.pedidoAnombreDe | ||
| 90 | } | 92 | } |
| 91 | 93 | this.subscribePago = this.productoService.pagar(dataPago) | |
| 92 | this.subscribePago = this.productoService.pagar(medioPago) | 94 | .subscribe((res: any) => { |
| 93 | .subscribe(() => { | ||
| 94 | 95 | ||
| 95 | clearTimeout(this.timerReposo); | 96 | clearTimeout(this.timerReposo); |
| 96 | 97 | ||
| 97 | if (medioPago === 1) { | 98 | if (medioPago === 1) { |
| 98 | |||
| 99 | this.compraConEfectivofinalizada = true; | 99 | this.compraConEfectivofinalizada = true; |
| 100 | } else if (medioPago === 9) { | 100 | } else if (medioPago === 9) { |
| 101 | |||
| 102 | this.compraConQRfinalizada = true; | 101 | this.compraConQRfinalizada = true; |
| 103 | } | 102 | } |
| 104 | 103 | ||
| 105 | setTimeout(() => { | 104 | setTimeout(() => { |
| 106 | 105 | ||
| 107 | this.router.navigate(['mensaje-final']); | 106 | this.router.navigate(['mensaje-final']); |
| 108 | }, 10000); | 107 | }, 10000); |
| 109 | }, err => { | 108 | }, err => { |
| 110 | console.log(err); | 109 | |
| 111 | alert('algo salió mal'); | 110 | console.error(err); |
| 111 | alert('Algo salió mal'); | ||
| 112 | }) | 112 | }) |
| 113 | } | 113 | } |
| 114 | //#endregion | 114 | //#endregion |
| 115 | 115 | ||
| 116 | abrirPagoConTarjeta() { | 116 | abrirPagoConTarjeta() { |
| 117 | 117 | ||
| 118 | this.modalService.show(PagoConTarjetaComponent, { | 118 | this.modalService.show(PagoConTarjetaComponent, { |
| 119 | class: 'modal-lg', | 119 | class: 'modal-lg', |