Preciso de uma ajuda pessoal, tenho um relatório de visitas as quais tem algumas informações e até aí tudo bem. Eu as exibo num dataList mas tem uma informação que no caso são os formulários preenchidos que não estou conseguindo resolver. Tenho um método que retorna os formulários preenchidos pelo Id da visita, mas da forma que estou fazendo só está exibindo a última. Caso alguém consigo me ajudar ficarei grato, sei que é um detalhe mas está passando batido
import { NotificationsService } from "angular2-notifications";
import { VisitService, Visit } from '../index';
import { FormAnswer, FormAnswerService } from '../../form-answer';
@Component({
selector: 'app-report',
templateUrl: './report.component.html',
styleUrls: ['./report.component.css'],
providers: [VisitService, FormAnswerService]
})
export class ReportComponent implements OnInit {
visit: Visit = new Visit();
visities: Array<Visit> = new Array<Visit>();
formAnswer: FormAnswer = new FormAnswer();
formAnswers: Array<FormAnswer> = new Array<FormAnswer>();
constructor(
private notificationService: NotificationsService,
private visitService: VisitService,
private formAnswerService: FormAnswerService) {
}
ngOnInit() {
this.getAllVisities();
}
getAllVisities() {
this.visitService.getAll().subscribe((visities) => {
this.visities = visities;
this.visities.forEach((visit => {
this.getAllFormIdVisit(visit.idVisit);
}
))
},
error => {
this.notificationService.error(`Erro`, error);
});
}
getAllFormIdVisit(idVisit) {
this.formAnswerService.getByIdVisit(idVisit).subscribe((formAnswers) => {
this.formAnswers = formAnswers;
}, error => console.log("error"))
}
}
<p-growl [value]="msgs" sticky="sticky"></p-growl>
<h4>VISIT</h4>
<p> </p>
<!--DATATABLE-->
<div style="margin-top:5px;"></div>
<div class="table-responsive" id="main-table">
<p-dataList [value]="visities" [rows]="10" [paginator]="true" [pageLinks]="3">
<template let-visit>
<div class="ui-grid ui-grid-responsive ui-fluid bs-callout bs-callout-danger">
<div class="ui-grid-col-4">
Data da visita :{{visit?.dateVisit | date: 'dd/MM/yyyy'}}<br /> Horário Previsto para início :{{visit?.scheduleVisit
| date: 'hh:mm'}}<br /> Horário Previsto para finalização:<br /><br /> Horário iniciado: <br /> Horário finalizado:
<br />
</div>
<div class="ui-grid-col-4">
AGÊNCIA: {{visit?.agency?.name}}<br /> Endereço:{{visit?.agency?.address}}<br /><br /> Responsável:{{visit?.user?.name}}
</div>
<div class="ui-grid-col-4">
Ocorrências:<br /> Pendências abertas: <br /> Formulários preenchidos:<br />
<div *ngFor="let formAnswer of formAnswers">
{{formAnswer.name}}<br />
</div>
</div>
</div>
</template>
</p-dataList>
</div>
<!--FIM DATATABLE-->