103 lines
3.3 KiB
Dart
103 lines
3.3 KiB
Dart
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 {
|
|
EstudanteModelo estudanteModelo;
|
|
|
|
TelaHistorico({
|
|
required this.estudanteModelo
|
|
});
|
|
|
|
@override
|
|
State<TelaHistorico> createState() => _TelaHistoricoState();
|
|
}
|
|
|
|
class _TelaHistoricoState extends State<TelaHistorico> {
|
|
|
|
bool carregando = true;
|
|
List<ItemHistorico> listHistorico=[];
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
MainControllers().salvarLog(widget.estudanteModelo, 'HISTORICO');
|
|
print(widget.estudanteModelo.dados[widget.estudanteModelo.nroAluno]['CD_ALUNO']);
|
|
getMatriculas();
|
|
}
|
|
|
|
getMatriculas()async{
|
|
String cd = widget.estudanteModelo.dados[widget.estudanteModelo.nroAluno]['CD_ALUNO'];
|
|
final url = '${widget.estudanteModelo.URL}/matriculas_aluno?CD_ALUNO=$cd&CIDADE=${widget.estudanteModelo.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.estudanteModelo,
|
|
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, 'HISTÓRICO ESCOLAR'),
|
|
drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo),
|
|
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];
|
|
},
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|