modalRequerimiento.componente.ts 2.7 KB
Newer Older
1
import {Component, ElementRef, Inject, OnInit, ViewChild} from '@angular/core';
2 3 4 5 6 7 8 9 10 11
import {provideNativeDateAdapter} from '@angular/material/core';
import {MatTableModule} from '@angular/material/table';
import { MatDialogActions, MatDialogClose, MatDialogContent, MatDialogTitle, MAT_DIALOG_DATA, MatDialogRef } from "@angular/material/dialog";
import {JsonPipe} from "@angular/common";
import {Observable} from "rxjs";
import {MatFormField, MatLabel} from "@angular/material/form-field";
import {FormControl, FormGroup, ReactiveFormsModule} from "@angular/forms";
import {MatIconModule} from '@angular/material/icon';
import {MatDividerModule} from '@angular/material/divider';
import {MatButtonModule} from '@angular/material/button';
12
import {MatCard, MatCardContent} from "@angular/material/card";
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

export interface interDetalleRequerimiento {
  posicion: string;
  nombre : string;
  unidad: string;
  cantidad: number;
}

@Component({
  selector: 'app-modalRequerimiento',
  standalone: true,
  providers: [provideNativeDateAdapter()],
  templateUrl: './modalRequerimiento.componente.html',
  styleUrls: ['./modalRequerimiento.componente.css'],
  imports: [
    MatDialogActions,
    MatDialogClose,
    MatDialogContent,
    JsonPipe,
    MatLabel,
    ReactiveFormsModule,
    MatFormField,
    MatDialogTitle,
    MatTableModule,
    MatButtonModule,
    MatDividerModule,
    MatIconModule,
40 41
    MatCard,
    MatCardContent,
42 43 44
  ]
})

45
export class modalRequerimientoComponent{
46

47 48 49 50 51 52
  detalleRequerimiento: any;
  columnasArticulos: string[] = ['posicion', 'nombre', 'unidad', 'cantidad'];
  dataSource: interDetalleRequerimiento[] = [];

  constructor(@Inject(MAT_DIALOG_DATA) public data: any) {

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
    const datosPrincipales = data.requerimientoInfo?.map((item: any) => {
      return {
        numeroDoc : item.numeroDoc,
        descripcion : item.descripcion,
        observacion : item.observacion,
        empleado : item.empleado,
        sede : item.nombreSede,
        posicion: item.numeral,
        nombre: item.producto,
        unidad: item.codUnidad,
        cantidad: item.cantidad,
        tipoRequerimiento : item.descTipoReq,
        fechaRegistro : item.fechaRegistro
      }
    }) || [];

    if(datosPrincipales[0]){
      //Obtener los valores de descripcion, observacion, sede y empleado por separado y en un solo objeto
71

72 73 74 75 76 77 78 79 80 81 82
      this.detalleRequerimiento = {
        numeroDoc : datosPrincipales[0].numeroDoc,
        tipoRequerimiento : datosPrincipales[0].tipoRequerimiento,
        descripcion : datosPrincipales[0].descripcion,
        observacion : datosPrincipales[0].observacion,
        empleado : datosPrincipales[0].empleado,
        sede : datosPrincipales[0].sede
      }

      this.dataSource = datosPrincipales;
    }
83 84
  }
}