Commit 57ce386197479e20007a25c5b7dd9c434b2f0202
1 parent
5b61bc60ed
Exists in
master
and in
1 other branch
Creado componente de configuracion
Showing
5 changed files
with
186 additions
and
2 deletions
Show diff stats
src/app/app.module.ts
| ... | ... | @@ -33,6 +33,7 @@ import { MensajeFinalComponent } from './components/mensaje-final/mensaje-final. |
| 33 | 33 | import { ComandaComponent } from './components/comanda/comanda.component'; |
| 34 | 34 | import { PedidosSalientesComponent } from './components/pedidos-salientes/pedidos-salientes.component'; |
| 35 | 35 | import { PagoConTarjetaComponent } from './components/pago-con-tarjeta/pago-con-tarjeta.component'; |
| 36 | +import { ConfiguracionComponent } from './components/configuracion/configuracion.component'; | |
| 36 | 37 | //#endregion |
| 37 | 38 | |
| 38 | 39 | @NgModule({ |
| ... | ... | @@ -51,7 +52,8 @@ import { PagoConTarjetaComponent } from './components/pago-con-tarjeta/pago-con- |
| 51 | 52 | MensajeFinalComponent, |
| 52 | 53 | ComandaComponent, |
| 53 | 54 | PedidosSalientesComponent, |
| 54 | - PagoConTarjetaComponent | |
| 55 | + PagoConTarjetaComponent, | |
| 56 | + ConfiguracionComponent | |
| 55 | 57 | ], |
| 56 | 58 | imports: [ |
| 57 | 59 | BrowserModule, |
| ... | ... | @@ -71,6 +73,6 @@ import { PagoConTarjetaComponent } from './components/pago-con-tarjeta/pago-con- |
| 71 | 73 | ], |
| 72 | 74 | providers: [], |
| 73 | 75 | bootstrap: [AppComponent], |
| 74 | - entryComponents: [PagoConTarjetaComponent] | |
| 76 | + entryComponents: [PagoConTarjetaComponent, ConfiguracionComponent] | |
| 75 | 77 | }) |
| 76 | 78 | export class AppModule { } |
src/app/components/configuracion/configuracion.component.html
| ... | ... | @@ -0,0 +1,75 @@ |
| 1 | +<form [formGroup]="form" class="modal-body" id="modal-body"> | |
| 2 | + | |
| 3 | + <div class="row"> | |
| 4 | + <div class="col-12"> | |
| 5 | + | |
| 6 | + <p>¿Este punto de venta trabaja con planilla propia?</p> | |
| 7 | + | |
| 8 | + <!-- RADIO BUTTONS --> | |
| 9 | + <div class="text-center"> | |
| 10 | + <div class="disabled form-check form-check-inline"> | |
| 11 | + <input | |
| 12 | + class="form-check-input" | |
| 13 | + type="radio" | |
| 14 | + id="radio1" | |
| 15 | + formControlName="usePlanillaPropia" | |
| 16 | + [value]="true"> | |
| 17 | + | |
| 18 | + <label class="form-check-label" for="radio1">Si</label> | |
| 19 | + </div> | |
| 20 | + <div class="form-check form-check-inline"> | |
| 21 | + <input | |
| 22 | + class="form-check-input" | |
| 23 | + type="radio" | |
| 24 | + id="radio2" | |
| 25 | + formControlName="usePlanillaPropia" | |
| 26 | + [value]="false"> | |
| 27 | + <label class="form-check-label" for="radio2">No</label> | |
| 28 | + </div> | |
| 29 | + </div> | |
| 30 | + <div *ngIf="form.get('usePlanillaPropia').value === false" class="form-group"> | |
| 31 | + <select | |
| 32 | + formControlName="puntoVenta" | |
| 33 | + class="form-control form-control-sm w-50 mx-auto mt-2"> | |
| 34 | + <option [ngValue]="null" disabled>Seleccione una opción</option> | |
| 35 | + <option | |
| 36 | + *ngFor="let ptoVenta of puntosVenta" | |
| 37 | + [ngValue]="ptoVenta.ID"> | |
| 38 | + {{ptoVenta.ID}} {{ptoVenta.NOM}} | |
| 39 | + </option> | |
| 40 | + </select> | |
| 41 | + </div> | |
| 42 | + </div> | |
| 43 | + </div> | |
| 44 | + | |
| 45 | + <div *ngIf="impresoras.length > 0" class="row"> | |
| 46 | + <div class="col-12"> | |
| 47 | + <p>Salida de impresión de comprobantes</p> | |
| 48 | + <select | |
| 49 | + formControlName="impresora" | |
| 50 | + class="form-control form-control-sm w-50 mx-auto mt-2"> | |
| 51 | + <option [ngValue]="null" disabled>Seleccione una opción</option> | |
| 52 | + <option | |
| 53 | + *ngFor="let imp of impresoras" | |
| 54 | + [ngValue]="imp.PVE"> | |
| 55 | + {{imp.PVE}} {{imp.DES}} | |
| 56 | + </option> | |
| 57 | + </select> | |
| 58 | + </div> | |
| 59 | + </div> | |
| 60 | + | |
| 61 | +</form> | |
| 62 | + | |
| 63 | +<div class="modal-footer py-1"> | |
| 64 | + <button | |
| 65 | + class="btn btn-sm btn-secondary" | |
| 66 | + type="button" | |
| 67 | + (click)="close()">Cancelar | |
| 68 | + </button> | |
| 69 | + <button | |
| 70 | + class="btn btn-sm btn-primary" | |
| 71 | + type="button" | |
| 72 | + (click)="acept()" | |
| 73 | + >Aceptar | |
| 74 | + </button> | |
| 75 | +</div> |
src/app/components/configuracion/configuracion.component.scss
src/app/components/configuracion/configuracion.component.spec.ts
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |
| 2 | + | |
| 3 | +import { ConfiguracionComponent } from './configuracion.component'; | |
| 4 | + | |
| 5 | +describe('ConfiguracionComponent', () => { | |
| 6 | + let component: ConfiguracionComponent; | |
| 7 | + let fixture: ComponentFixture<ConfiguracionComponent>; | |
| 8 | + | |
| 9 | + beforeEach(async(() => { | |
| 10 | + TestBed.configureTestingModule({ | |
| 11 | + declarations: [ ConfiguracionComponent ] | |
| 12 | + }) | |
| 13 | + .compileComponents(); | |
| 14 | + })); | |
| 15 | + | |
| 16 | + beforeEach(() => { | |
| 17 | + fixture = TestBed.createComponent(ConfiguracionComponent); | |
| 18 | + component = fixture.componentInstance; | |
| 19 | + fixture.detectChanges(); | |
| 20 | + }); | |
| 21 | + | |
| 22 | + it('should create', () => { | |
| 23 | + expect(component).toBeTruthy(); | |
| 24 | + }); | |
| 25 | +}); |
src/app/components/configuracion/configuracion.component.ts
| ... | ... | @@ -0,0 +1,78 @@ |
| 1 | +import { Component, OnInit } from '@angular/core'; | |
| 2 | +import { BsModalRef } from 'ngx-bootstrap'; | |
| 3 | +import { PuntoVentaService } from 'src/app/services/punto-venta.service'; | |
| 4 | +import { PuntoVenta } from 'src/app/wrappers/puntoVenta'; | |
| 5 | +import { ImpresoraService } from 'src/app/services/impresora.service'; | |
| 6 | +import { Impresora } from 'src/app/wrappers/impresora'; | |
| 7 | +import { FormGroup, FormControl } from '@angular/forms'; | |
| 8 | + | |
| 9 | +@Component({ | |
| 10 | + selector: 'app-configuracion', | |
| 11 | + templateUrl: './configuracion.component.html', | |
| 12 | + styleUrls: ['./configuracion.component.scss'] | |
| 13 | +}) | |
| 14 | +export class ConfiguracionComponent implements OnInit { | |
| 15 | + | |
| 16 | + puntosVenta: PuntoVenta[] = []; | |
| 17 | + impresoras: Impresora[] = []; | |
| 18 | + form: FormGroup; | |
| 19 | + | |
| 20 | + constructor( | |
| 21 | + private activeModal: BsModalRef, | |
| 22 | + private puntoVentaService: PuntoVentaService, | |
| 23 | + private impresoraService: ImpresoraService, | |
| 24 | + ) { } | |
| 25 | + | |
| 26 | + ngOnInit() { | |
| 27 | + | |
| 28 | + this.form = new FormGroup({ | |
| 29 | + usePlanillaPropia: new FormControl(false, []), | |
| 30 | + puntoVenta: new FormControl(null, []), | |
| 31 | + impresora: new FormControl(null, []), | |
| 32 | + }) | |
| 33 | + | |
| 34 | + this.puntoVentaService.getAll() | |
| 35 | + .subscribe((res: PuntoVenta[]) => { | |
| 36 | + | |
| 37 | + this.puntosVenta = res; | |
| 38 | + this.setPuntoVenta(); | |
| 39 | + }, console.error); | |
| 40 | + | |
| 41 | + this.impresoraService.getAll() | |
| 42 | + .subscribe((res: Impresora[]) => { | |
| 43 | + | |
| 44 | + this.impresoras = res; | |
| 45 | + this.setImpresora(); | |
| 46 | + }, console.error); | |
| 47 | + | |
| 48 | + } | |
| 49 | + | |
| 50 | + close() { | |
| 51 | + | |
| 52 | + this.activeModal.hide(); | |
| 53 | + } | |
| 54 | + | |
| 55 | + acept() { | |
| 56 | + | |
| 57 | + let auxPuntoVenta = this.puntosVenta.find(p => p.ID === this.form.get('puntoVenta').value); | |
| 58 | + let auxImpresora = this.impresoras.find(p => p.PVE === this.form.get('impresora').value); | |
| 59 | + localStorage.setItem('pve', auxPuntoVenta ? auxPuntoVenta.ID.toString() : null); | |
| 60 | + localStorage.setItem('impresoraPVE', auxImpresora ? auxImpresora.PVE.toString() : null); | |
| 61 | + this.close(); | |
| 62 | + } | |
| 63 | + | |
| 64 | + setPuntoVenta() { | |
| 65 | + | |
| 66 | + let pve = parseInt(localStorage.getItem('pve')); | |
| 67 | + let auxPuntoVenta = this.puntosVenta.find(x => x.ID === pve); | |
| 68 | + this.form.get('puntoVenta').setValue(auxPuntoVenta ? auxPuntoVenta.ID : null); | |
| 69 | + } | |
| 70 | + | |
| 71 | + setImpresora() { | |
| 72 | + | |
| 73 | + let impresoraPVE = parseInt(localStorage.getItem('impresoraPVE')); | |
| 74 | + let auxImpresora = this.impresoras.find(x => x.PVE === impresoraPVE); | |
| 75 | + this.form.get('impresora').setValue(auxImpresora ? auxImpresora.PVE : null); | |
| 76 | + } | |
| 77 | + | |
| 78 | +} |