import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:rkm/utils/color_palette.dart'; import 'package:rkm/utils/const_variable.dart'; import 'package:rkm/widgets/alert_dialog_default.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/title_containers.dart'; import '../../widgets/dropdown_with_subtitle.dart'; import '../../widgets/input_with_subtitle.dart'; import '../../widgets/onbackbutton.dart'; import '../../widgets/switch_with_subtitle.dart'; import '../../widgets/text_default.dart'; class RegisterCitizenScreen extends StatefulWidget { const RegisterCitizenScreen({Key? key}) : super(key: key); @override State createState() => _RegisterCitizenScreenState(); } class _RegisterCitizenScreenState extends State { var nameController = TextEditingController(); var nameSocialController = TextEditingController(); var spouseController = TextEditingController(); var cityBirthController = TextEditingController(); var cityController = TextEditingController(); var searchCityBirthController = TextEditingController(); var searchCityController = TextEditingController(); var nameMotherController = TextEditingController(); var nameFatherController = TextEditingController(); var codIBGEController = TextEditingController(); var unitController = TextEditingController(text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO'); var medicalRecordController = TextEditingController(); var medicalRecordProvController = TextEditingController(); var classificationProvController = TextEditingController(); var numberFamilyController = TextEditingController(); var cepController = TextEditingController(); var numberController = TextEditingController(); var complementController = TextEditingController(); var referencePointController = TextEditingController(); var foneDDDController = TextEditingController(); var foneController = TextEditingController(); var mobileDDDController = TextEditingController(); var mobileController = TextEditingController(); var messageDDDController = TextEditingController(); var messageController = TextEditingController(); var emailController = TextEditingController(); var observationController = TextEditingController(); var CPFController = TextEditingController(); var CNSController = TextEditingController(); var voterController = TextEditingController(); var RGController = TextEditingController(); var RGComplementController = TextEditingController(); var RGOrganController = TextEditingController(); var RGDateController = TextEditingController(); var numberCertificateController = TextEditingController(); var nameCertificateController = TextEditingController(); var bookCertificateController = TextEditingController(); var sheetCertificateController = TextEditingController(); var termCertificateController = TextEditingController(); var dateCertificateController = TextEditingController(); var CTPSController = TextEditingController(); var numberCTPSController = TextEditingController(); var PISController = TextEditingController(); var NISController = TextEditingController(); var incomeController = TextEditingController(); var professionalController = TextEditingController(); var dateDeathController = TextEditingController(); String? selectTypeCertificate; String? selectCTPSUF; String? selectRGUF; String? selectTypeStreet; String? selectStreet; String? selectSubdivision; String? selectZone; String? selectVillage; String? selectCountry; String? selectClassification; String? selectGender; String? selectMaritalStatus; String? selectBreed; String? selectScooling; String? selectDeficiency; String? selectNaturality; bool enableSpouse = false; bool enableMother = false; bool enableFather = false; bool enableCityCard = false; bool enableBlocked = false; bool checkBoxNumber = false; String date = 'Data de Nascimento'; escolherprazoInicio(BuildContext context) async { var pickDate = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2022), lastDate: DateTime(2025)); if (pickDate != null) { setState(() { date = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day); }); } } String formatData({int? year, int? month, int? day}) { DateTime data = DateTime(year!, month!, day!); String formattedDate = DateFormat('dd/MM/yyyy').format(data); return formattedDate; } @override Widget build(BuildContext context) { double heigth = MediaQuery.of(context).size.height; double width = MediaQuery.of(context).size.width; return WillPopScope( onWillPop: ()=> OnBackButton().onBackButton(context), child: Scaffold( body: Container( height: double.infinity, width: double.infinity, decoration: ConstVariable().backgroundGradient, child: ListView( children: [ Card( margin: EdgeInsets.all(10), child: Padding( padding: const EdgeInsets.all(8.0), child: Column( children: [ ButtonDefault( onPressed: (){}, title: 'Salvar', borderColor: ColorPalette.appBar, background: ColorPalette.appBar, textColor: ColorPalette.white, width: double.infinity, ), ButtonDefault( onPressed: ()=>Navigator.pop(context), title: 'Cancelar', borderColor: ColorPalette.blackButton, background: ColorPalette.blackButton, textColor: ColorPalette.white, width: double.infinity, ) ], ), ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Indentificação'), Row( children: [ Container( height: heigth*0.5, width: width*0.2, child: Icon(Icons.person,size: 80,), ), Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: nameController, subtitle: 'Nome', errorInput: 'Campo Obrigatório', labelInput: 'Nome', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: nameSocialController, subtitle: 'Nome Social', errorInput: 'Campo Obrigatório', labelInput: 'Nome Social', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), DropdownWithSubtitle( list: ConstVariable().listGender, widthSubtitle: width*0.7, subtitle: 'Sexo', hintDropdown: 'Sexo', select: selectGender, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, onChanged: (value){ setState(() { selectGender = value!; }); }, ), Container( width: width*0.75, child: Row( children: [ // Padding( // padding: const EdgeInsets.symmetric(horizontal: 5.0,vertical: 15), // child: TextDefault( // text: 'Data de Nascimento', // color: ColorPalette.black54, // fontWeigth: FontWeight.bold, // fontSize: 18, // ), // ), // Spacer(), GestureDetector( onTap: ()=>escolherprazoInicio(context), child: Container( height: 50, margin: EdgeInsets.symmetric(horizontal: 10), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), decoration: BoxDecoration( border: Border.all(color: ColorPalette.black54), borderRadius: BorderRadius.all( Radius.circular(5.0) // <--- border radius here ), ), width: width*0.7, child: TextDefault( text: date, color: ColorPalette.black54, fontSize: 18, ), ), ) ], ), ), DropdownWithSubtitle( list: ConstVariable().listMaritalStatus, widthSubtitle: width*0.2, subtitle: 'Estado Civil', hintDropdown: 'Selecione', select: selectMaritalStatus, widthDropdown: width*0.7, widthContainerDropdown: width*0.4, onChanged: (value){ setState(() { selectMaritalStatus = value!; if(selectMaritalStatus=='CASADO(A)'){ enableSpouse = true; }else{ enableSpouse = false; } }); }, ), InputWithSubtitle( controller: spouseController, subtitle: 'Cônjuge', errorInput: 'Campo Obrigatório', labelInput: 'Cônjuge', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: enableSpouse, ), DropdownWithSubtitle( list: ConstVariable().listNationality, widthSubtitle: width*0.2, subtitle: 'Naturalidade', hintDropdown: 'Selecione', select: selectNaturality, widthDropdown: width*0.7, widthContainerDropdown: width*0.4, onChanged: (value){ setState(() { selectNaturality = value!; if(selectNaturality!='BRASILEIRO'){ cityBirthController.text = 'MUNICIPIO IGNORADO - SP'; }else{ cityBirthController.text = ''; } }); }, ), GestureDetector( onTap: ()=>cityBirthController.text == 'MUNICIPIO IGNORADO - SP'?null:AlertDialogDefault().alert_with_search( context, searchCityBirthController, ListView.separated( separatorBuilder:(context,index)=> Divider(color: ColorPalette.black54,height: 5,), itemCount: ConstVariable().itensCity.length, itemBuilder: (context,index){ return Container( width: width*0.8, color: ColorPalette.white, child: ListTile( onTap: (){ setState(() { cityBirthController.text = ConstVariable().itensCity[index]; Navigator.pop(context); }); }, title: TextDefault( color: ColorPalette.black54, text: ConstVariable().itensCity[index], fontSize: 16, maxLines: 2, ), ), ); } ), ), child: InputWithSubtitle( controller: cityBirthController, subtitle: 'Município de Nascimento', errorInput: 'Campo Obrigatório', labelInput: 'Município de Nascimento', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: false, ), ), DropdownWithSubtitle( list: ConstVariable().listBreed, widthSubtitle: width*0.2, subtitle: 'Raça/Cor', hintDropdown: 'Raça/Cor', select: selectBreed, widthDropdown: width*0.7, widthContainerDropdown: width*0.4, onChanged: (value){ setState(() { selectBreed = value!; }); }, ), DropdownWithSubtitle( list: ConstVariable().listScooling, widthSubtitle: width*0.2, subtitle: 'Escolaridade', hintDropdown: 'Escolaridade', select: selectScooling, widthDropdown: width*0.7, widthContainerDropdown: width*0.4, onChanged: (value){ setState(() { selectScooling = value!; }); }, ), DropdownWithSubtitle( list: ConstVariable().listDeficiency, widthSubtitle: width*0.2, subtitle: 'Deficiência', hintDropdown: 'Deficiência', select: selectDeficiency, widthDropdown: width*0.7, widthContainerDropdown: width*0.4, onChanged: (value){ setState(() { selectDeficiency = value!; }); }, ), InputWithSubtitle( controller: nameMotherController, subtitle: 'Nome da Mãe', errorInput: 'Campo Obrigatório', labelInput: 'Nome da Mãe', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: !enableMother, ), SwitchWithSubtitle( width: width*0.7, title: 'Desconhece Mãe', value: enableMother, onChanged: (value){ setState(() { enableMother = value; if(enableMother){ nameMotherController.text = ''; } }); }, ), InputWithSubtitle( controller: nameFatherController, subtitle: 'Nome do Pai', errorInput: 'Campo Obrigatório', labelInput: 'Nome do Pai', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: !enableFather, ), SwitchWithSubtitle( width: width*0.7, title: 'Desconhece Pai', value: enableFather, onChanged: (value){ setState(() { enableFather = value; if(enableFather){ nameFatherController.text = ''; } }); }, ), ], ) ], ) ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Identificação da Saúde'), Row( children: [ Container( height: heigth*0.4, width: width*0.2, child: Icon(Icons.medical_services_rounded,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: unitController, subtitle: 'Unidade', errorInput: 'Campo Obrigatório', labelInput: 'Unidade', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enable: false, ), InputWithSubtitle( controller: medicalRecordController, subtitle: 'Prontuário', errorInput: 'Campo Obrigatório', labelInput: 'Prontuário', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enable: false, ), InputWithSubtitle( controller: medicalRecordProvController, subtitle: 'Prontuário Provisório', errorInput: 'Campo Obrigatório', labelInput: 'Prontuário Provisório', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enable: false, ), DropdownWithSubtitle( subtitle: 'Classificação', select: selectClassification, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Número da Família', onChanged: (value){ setState(() { selectClassification = value; if(selectClassification=='OUTRO MUNICIPIO'){ AlertDialogDefault().alert( context, 'Aviso', 'As informações dos campos Bairro, Tipo Logradouro, Nome Logradouro, CEP,' 'Número, Loteamento e Complemento deverão ser inseridos no campo Observações!', 'OK' ); } }); }, list: [ 'MUNICIPE', 'PROVISORIO', 'OUTRO MUNICIPIO', ] ), InputWithSubtitle( controller: numberFamilyController, subtitle: 'Número da Família', errorInput: 'Campo Obrigatório', labelInput: 'Número da Família', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), ], ), ), ] ), ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Endereço'), Row( children: [ Container( height: heigth*0.4, width: width*0.2, child: Icon(Icons.map_outlined,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ DropdownWithSubtitle( subtitle: 'Pais de Residência', select: selectCountry, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Pais de Residência', onChanged: (value){ setState(() { selectCountry = value; if(selectCountry=='OUTRO'){ cityController.text= 'MUNICIPIO IGNORADO - SP'; codIBGEController.text = '000000'; AlertDialogDefault().alert( context, 'Aviso', 'As informações dos campos Bairro, Tipo Logradouro, Nome Logradouro, CEP,' 'Número, Loteamento e Complemento deverão ser inseridos no campo Observações!', 'OK' ); }else{ cityController.text = ''; codIBGEController.text = ''; } }); }, list: [ 'BRASIL', 'OUTRO', ] ), GestureDetector( onTap: ()=>cityController.text == 'MUNICIPIO IGNORADO - SP'?null:AlertDialogDefault().alert_with_search( context, searchCityController, ListView.separated( separatorBuilder:(context,index)=> Divider(color: ColorPalette.black54,height: 5,), itemCount: ConstVariable().itensCity.length, itemBuilder: (context,index){ return Container( width: width*0.8, color: ColorPalette.white, child: ListTile( onTap: (){ setState(() { cityController.text = ConstVariable().itensCity[index]; codIBGEController.text = '353870'; Navigator.pop(context); }); }, title: TextDefault( color: ColorPalette.black54, text: ConstVariable().itensCity[index], fontSize: 16, maxLines: 2, ), ), ); } ), ), child: InputWithSubtitle( controller: cityController, subtitle: 'Município de Residência', errorInput: 'Campo Obrigatório', labelInput: 'Município de Residência', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: false, ), ), InputWithSubtitle( controller: codIBGEController, subtitle: 'Cód. IBGE', errorInput: 'Campo Obrigatório', labelInput: 'Cód. IBGE', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: false, ), DropdownWithSubtitle( subtitle: 'Bairro', select: selectVillage, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Bairro', onChanged: (value){ setState(() { selectVillage = value; }); }, list: [] ), DropdownWithSubtitle( subtitle: 'Tipo de Logradouro', select: selectTypeStreet, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Tipo de Logradouro', onChanged: (value){ setState(() { selectTypeStreet = value; }); }, list: [] ), DropdownWithSubtitle( subtitle: 'Nome do Logradouro', select: selectStreet, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Nome do Logradouro', onChanged: (value){ setState(() { selectStreet = value; }); }, list: [] ), InputWithSubtitle( controller: cepController, subtitle: 'CEP(só números)', errorInput: 'Campo Obrigatório', labelInput: 'CEP(só números)', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: false, ), Container( width: width*0.7, child: Row( children: [ InputWithSubtitle( controller: numberController, subtitle: 'Número', errorInput: 'Campo Obrigatório', labelInput: 'Número', widthInput: width*0.4, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', enable: false, ), Checkbox( value: checkBoxNumber, onChanged: (value){ setState(() { checkBoxNumber = value!; }); } ), Spacer(), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: TextDefault(text: 'SEM NÚMERO',fontSize: 15,), ) ], ), ), DropdownWithSubtitle( subtitle: 'Loteamento/Subdistrito', select: selectSubdivision, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Loteamento/Subdistrito', onChanged: (value){ setState(() { selectSubdivision = value; }); }, list: [] ), InputWithSubtitle( controller: complementController, subtitle: 'Complemento', errorInput: 'Campo Obrigatório', labelInput: 'Complemento', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: referencePointController, subtitle: 'Ponto de Referência', errorInput: 'Campo Obrigatório', labelInput: 'Ponto de Referência', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', ), DropdownWithSubtitle( subtitle: 'Zona', select: selectZone, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Zona', onChanged: (value){ setState(() { selectZone = value; }); }, list: ['URBANA','RURAL'] ), ], ), ), ] ), ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Contato'), Row( children: [ Container( height: heigth*0.4, width: width*0.2, child: Icon(Icons.medical_services_rounded,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: foneDDDController, subtitle: 'Telefone - DDD', errorInput: 'Campo Obrigatório', labelInput: 'Telefone - DDD', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: foneController, subtitle: 'Telefone (Só Números)', errorInput: 'Campo Obrigatório', labelInput: 'Telefone(Só Números)', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: mobileDDDController, subtitle: 'Celular - DDD', errorInput: 'Campo Obrigatório', labelInput: 'Celular - DDD', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: mobileController, subtitle: 'Celular (Só Números)', errorInput: 'Campo Obrigatório', labelInput: 'Celular (Só Números)', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: messageDDDController, subtitle: 'Recado - DDD', errorInput: 'Campo Obrigatório', labelInput: 'Recado - DDD', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: messageController, subtitle: 'Recado (Só Números)', errorInput: 'Campo Obrigatório', labelInput: 'Recado (Só Números)', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: emailController, subtitle: 'E-mail', errorInput: 'Campo Obrigatório', labelInput: 'E-mail', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), ], ), ), ] ), ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Observações'), Row( children: [ Container( height: heigth*0.2, width: width*0.2, child: Icon(Icons.sell,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: observationController, subtitle: 'Observação', errorInput: 'Campo Obrigatório', labelInput: 'Observação', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', textInputType: TextInputType.multiline, maxLines: 5, ), ], ), ), ] ), ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Documentos'), Row( children: [ Container( height: heigth*0.4, width: width*0.2, child: Icon(Icons.description_outlined,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: CPFController, subtitle: 'CPF (Só Números)', errorInput: 'Campo Obrigatório', labelInput: 'CPF (Só Números)', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: CNSController, subtitle: 'CNS', errorInput: 'Campo Obrigatório', labelInput: 'CNS', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: voterController, subtitle: 'Título de Eleitor', errorInput: 'Campo Obrigatório', labelInput: 'Título de Eleitor', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: RGController, subtitle: 'RG', errorInput: 'Campo Obrigatório', labelInput: 'RG', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: RGComplementController, subtitle: 'RG - Complemento', errorInput: 'Campo Obrigatório', labelInput: 'RG - Complemento', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), DropdownWithSubtitle( subtitle: 'RG - UF', select: selectRGUF, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'RG - UF', onChanged: (value){ setState(() { selectRGUF = value; }); }, list: [] ), InputWithSubtitle( controller: RGOrganController, subtitle: 'RG - Órgão', errorInput: 'Campo Obrigatório', labelInput: 'RG - Órgão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: RGDateController, subtitle: 'RG - Data de Emissão', errorInput: 'Campo Obrigatório', labelInput: 'RG - Data de Emissão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), DropdownWithSubtitle( subtitle: 'Tipo de certidão', select: selectTypeCertificate, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Tipo de certidão', onChanged: (value){ setState(() { selectTypeCertificate = value; }); }, list: [ 'NASCIMENTO', 'CASAMENTO', 'DIVÓRCIO', 'ADMINISTRATIVA - ÍNDIO', 'NASCIMENTO - N', 'CASAMENTO - N', 'DIVÓRCIO - N', 'ADMINISTRATIVA - ÍNDIO - N', ] ), InputWithSubtitle( controller: numberCertificateController, subtitle: 'Número da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Número da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: nameCertificateController, subtitle: 'Nome do Cartório da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Nome do Cartório da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: bookCertificateController, subtitle: 'Livro da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Livro da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: sheetCertificateController, subtitle: 'Folha da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Folha da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: termCertificateController, subtitle: 'Termo da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Termo da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: dateCertificateController, subtitle: 'Data de Emissão da Certidão', errorInput: 'Campo Obrigatório', labelInput: 'Data de Emissão da Certidão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: CTPSController, subtitle: 'CTPS', errorInput: 'Campo Obrigatório', labelInput: 'CTPS', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: numberCTPSController, subtitle: 'Número de Série CTPS', errorInput: 'Campo Obrigatório', labelInput: 'Número de Série CTPS', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), DropdownWithSubtitle( subtitle: 'CTPS - UF', select: selectCTPSUF, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'CTPS - UF', onChanged: (value){ setState(() { selectCTPSUF = value; }); }, list: [] ), InputWithSubtitle( controller: PISController, subtitle: 'PIS/PASEP', errorInput: 'Campo Obrigatório', labelInput: 'PIS/PASEP', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), Container( width: width*0.7, child: Row( children: [ TextDefault(text: 'Retirou cartão municipal da cidade?'), Spacer(), Switch(value: enableCityCard, onChanged: (value)=>setState(()=>enableCityCard=value!) ) ], ), ), InputWithSubtitle( controller: NISController, subtitle: 'Identificação da saúde - NIS', errorInput: 'Campo Obrigatório', labelInput: 'Identificação da saúde - NIS', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), ], ), ), ] ), ], ), ), Card( margin: EdgeInsets.all(10), child: Column( children: [ TitleContainers(title: 'Outros'), Row( children: [ Container( height: heigth*0.3, width: width*0.2, child: Icon(Icons.tag,size: 80,), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 10.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( controller: incomeController, subtitle: 'Renda Mensal', errorInput: 'Campo Obrigatório', labelInput: 'Renda Mensal', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: professionalController, subtitle: 'Profissão', errorInput: 'Campo Obrigatório', labelInput: 'Profissão', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), InputWithSubtitle( controller: dateDeathController, subtitle: 'Data Óbito', errorInput: 'Campo Obrigatório', labelInput: 'Data Óbito', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', ), Container( width: width*0.7, child: Row( children: [ TextDefault(text: 'Bloqueado'), Spacer(), Switch(value: enableBlocked, onChanged: (value)=>setState(()=>enableBlocked=value!)), ], ), ) ], ), ), ] ), ], ), ), ] ) ), ), ); } }