import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:rkm_educa_app/componentes/appbar_custom.dart'; import 'package:rkm_educa_app/componentes/drawer_custom.dart'; import 'package:rkm_educa_app/componentes/item_historico.dart'; import 'package:rkm_educa_app/componentes/snackBars.dart'; import 'package:rkm_educa_app/modelos/estudante_modelo.dart'; import 'package:rkm_educa_app/telas/tela_botetim.dart'; import 'package:http/http.dart' as http; import '../componentes/text_custom.dart'; import '../controllers/main_controllers.dart'; import '../utils/cores.dart'; import '../utils/dimensoes.dart'; class TelaHistorico extends StatefulWidget { List alunos; int indiceAluno; TelaHistorico({ required this.alunos, required this.indiceAluno }); @override State createState() => _TelaHistoricoState(); } class _TelaHistoricoState extends State { bool carregando = true; List listHistorico=[]; @override void initState() { super.initState(); MainControllers().salvarLog(widget.alunos[widget.indiceAluno], 'HISTORICO'); print(widget.alunos[widget.indiceAluno].dados[widget.indiceAluno]['CD_ALUNO']); getMatriculas(); } getMatriculas()async{ String cd = widget.alunos[widget.indiceAluno].dados[widget.indiceAluno]['CD_ALUNO']; final url = '${widget.alunos[widget.indiceAluno].URL}/matriculas_aluno?CD_ALUNO=$cd&CIDADE=${widget.alunos[widget.indiceAluno].cidade}'; print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); List list0 = map; List list = list0.reversed.toList(); print(map); if(list.length!=0){ for(int i=0; list.length>i;i++){ listHistorico.add( ItemHistorico( ano:'${list[i]['ANO_FREQ']}', turma: '${list[i]['DESC_SERIE']} ${list[i]['TURMA']}', onTap: ()=> Navigator.push(context, MaterialPageRoute(builder: (context)=> TelaBoletim( estudanteModelo: widget.alunos[widget.indiceAluno], ano: '${list[i]['ANO_FREQ']}', turma: '${list[i]['DESC_SERIE']} ${list[i]['TURMA']}', matricula: list[i]['CD_MATRICULA'].toString(), ) ) ) ) ); } }else{ showSnackBar(context, 'Histórico não encontrado!', Colors.red); } carregando = false; setState((){}); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBarCustom().appbar(context, 'BOLETIM ESCOLAR ${DateTime.now().year-1}'), drawer: DrawerCustom(alunos:widget.alunos,indiceFilhos: widget.indiceAluno), body: carregando?Center( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ CircularProgressIndicator(color: PaletaCores.cinzaClaro,), SizedBox(width: 20,), TextCustom(text: 'Buscando dados ...') ], ), ):Container( padding: EdgeInsets.symmetric(vertical: 20,horizontal: 10), width: Dimensoes.width, height: Dimensoes.height, child: ListView.builder( itemCount: listHistorico.length, itemBuilder: (context,index){ return listHistorico[index]; }, ), ), ); } }