import 'package:flutter/material.dart'; import 'package:rkm_educa_app/modelos/estudante_modelo.dart'; import 'package:rkm_educa_app/telas/tela_situacao_escolar.dart'; import 'package:rkm_educa_app/componentes/appbar_custom.dart'; import '../utils/cores.dart'; import '../componentes/buttom_custom.dart'; import '../componentes/snackBars.dart'; import '../componentes/text_custom.dart'; import '../utils/dimensoes.dart'; class TelaSelecionaFilho extends StatefulWidget { List listAlunos; String cidade; String NO_USUARIO; String CD_USUARIO; String URL; TelaSelecionaFilho({ required this.listAlunos, required this.cidade, required this.NO_USUARIO, required this.CD_USUARIO, required this.URL }); @override State createState() => _TelaSelecionaFilhoState(); } class _TelaSelecionaFilhoState extends State { EstudanteModelo? estudanteModelo; List listAlunos = []; carregarAlunos(){ //print(widget.listAlunos); for(int i=0; widget.listAlunos.length>i;i++){ // print(widget.listAlunos[i]['NO_ALUNO']); String dataBD = widget.listAlunos[i]['DT_NASCIMENTO']; int dia = 00; int mes = 00; int ano = 0000; int idade = 0; if(dataBD!=''){ dia = int.parse(dataBD.substring(6,8)); mes = int.parse(dataBD.substring(4,6)); ano = int.parse(dataBD.substring(0,4)); final hoje = DateTime.now(); final nasc = DateTime.utc(ano,mes,dia); idade = (hoje.difference(nasc).inDays/365).toInt(); } listAlunos.add( EstudanteModelo( NO_ALUNO: widget.listAlunos[i]['NO_ALUNO'], FOTO_ALUNO: '', RA_ALUNO: widget.listAlunos[i]['NR_RA'], ESCOLA: widget.listAlunos[i]['NO_FANTASIA']=='' || widget.listAlunos[i]['NO_FANTASIA']==null?widget.listAlunos[i]['NO_RAZAO_SOCIAL']:widget.listAlunos[i]['NO_FANTASIA'], IDADE_ALUNO: idade, ANO_LETIVO: DateTime.now().year, dados: widget.listAlunos, nroAluno: i, cidade: widget.cidade, CD_USUARIO: widget.CD_USUARIO, NO_USUARIO: widget.NO_USUARIO, URL: widget.URL ) ); } setState(() {}); } @override void initState() { carregarAlunos(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: PaletaCores.branco, appBar: AppBarCustom().appbar(context, 'SELECIONAR FILHO'), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( child: Image.asset("assets/images/logoEduca.png",width: Dimensoes.width* 0.4,height: Dimensoes.height * 0.12) ), SizedBox(height: Dimensoes.height * 0.02), Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ TextCustom(text: 'Estudantes',fontWeight: FontWeight.bold,size: 14.0,), Container( width: Dimensoes.width*0.85, decoration: BoxDecoration( borderRadius: BorderRadius.circular(5), border: Border.all( color: Colors.white ), color: PaletaCores.cinzaInput ), child: DropdownButtonHideUnderline( child: DropdownButton( hint: Padding( padding: const EdgeInsets.all(8.0), child: TextCustom(text: 'Selecione'), ), value: estudanteModelo, items: listAlunos.map((value) => DropdownMenuItem( value: value, child: Container( width: Dimensoes.width*0.75, padding: const EdgeInsets.all(8.0), child: TextCustom( text: value.NO_ALUNO, color: Colors.black54, size: 14.0, ), ), ) ).toList(), onChanged: (EstudanteModelo? value){ setState(() { // print(value!.nome); estudanteModelo = value; }); }, ), ), ), ], ), SizedBox(height: Dimensoes.height * 0.02), ButtonCustom( widthCustom: 0.7, heightCustom: 0.07, text: "Avançar", fontsize:14, colorText: PaletaCores.branco, colorButton: PaletaCores.corPrimaria, colorBorder: PaletaCores.corPrimaria, onPressed: () { if(estudanteModelo!=null){ Navigator.push( context, MaterialPageRoute(builder: (context) => TelaSituacaoEscolar(estudanteModelo: estudanteModelo!,)), ); }else{ showSnackBar(context, 'Selecione um estudante para avançar', Colors.red); } }, ), SizedBox(height: Dimensoes.height * 0.02), ], ), ) ); } }