Files
rkmmobile/lib/screens/registers_citizen/register_home_screen.dart
2023-04-25 18:04:54 -03:00

536 lines
26 KiB
Dart

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:rkm/config/color_palette.dart';
import 'package:rkm/config/const_variable.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import '../../widgets/appbar_default.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/input_with_subtitle.dart';
import '../../widgets/onbackbutton.dart';
import '../../widgets/subtitle_appbar_citizen.dart';
import '../../widgets/switch_with_subtitle.dart';
class RegisterHomeScreen extends StatefulWidget {
List listData;
RegisterHomeScreen({required this.listData});
@override
State<RegisterHomeScreen> createState() => _RegisterHomeScreenState();
}
class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
var nameController = TextEditingController();
var nameSocialController = TextEditingController();
var renponsibleController = TextEditingController(text: 'NOME COMPLETO');
var enterBrazilController = TextEditingController();
var porterNaturalnessController = TextEditingController();
var dateNaturalnessController = TextEditingController();
var naturalnessController = TextEditingController(text: 'BRASILEIRO');
var cityBirthController = TextEditingController();
var cityController = TextEditingController();
var searchCityBirthController = TextEditingController();
var searchCityController = TextEditingController();
var nameMotherController = TextEditingController();
var nameFatherController = TextEditingController();
var codIBGEController = TextEditingController();
var maternityController = TextEditingController();
var medicalRecordController = TextEditingController();
var medicalRecordProvController = TextEditingController();
var classificationProvController = TextEditingController();
var plantsController = TextEditingController();
var numberFamilyController = TextEditingController();
var whatCompanyController = TextEditingController();
var otherCondicionsController = TextEditingController();
var cepController = TextEditingController();
var numberController = TextEditingController();
var complementController = TextEditingController();
var referencePointController = TextEditingController();
var responsibleRegisterController = TextEditingController();
var unitProfessionalController = TextEditingController();
var dataRegisterController = TextEditingController(text: '06/12/2022');
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 controllerComfortable = TextEditingController();
var dateDeathController = TextEditingController();
var controllerResidents = TextEditingController();
var controllerAmount = TextEditingController();
String? selectTypeCertificate;
String? selectCTPSUF;
String? selectRGUF;
String? selectTypeStreet;
String? selectStreet;
String? selectSubdivision;
String? selectHeartDisease;
String? selectKidneyProblem;
String? selectLungProblem;
String? selectCBO;
String? selectZone;
String? selectVillage;
String? selectCountry;
String? selectTypeHome;
String? selectSituation;
String? selectResidence;
String? selectAcessHome;
String? selectMaterialWall;
String? selectWater;
String? selectTreatmentWater;
String? selectDestinyTrash;
String? selectFormSanitaryDrainage;
String? selectRural;
String? selectSituationStreet;
String? selectClassification;
String? selectINE;
String? selectMaritalStatus;
String? selectBreed;
String? selectCurse;
String? selectScooling;
String? selectWork;
String? selectSexualOrientation;
String? selectGender;
String? selectWeight;
String? selectDeficiency;
String? selectKin;
bool enableSpouse = false;
bool enableAnimals = false;
bool enableCats = false;
bool enableDogs = false;
bool enableBirds = false;
bool enableOther = false;
bool enableAccompaniedCompany = false;
bool outOfArea = false;
bool enableEnergy = false;
bool statusRegister = true;
bool renponsibleFamily = true;
bool frequencySchool = 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
void initState() {
super.initState();
print('home');
print(widget.listData);
}
@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(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'),
body: Container(
height: double.infinity,
width: double.infinity,
decoration: ConstVariable().backgroundGradient,
child: ListView(
children: [
SubtitleAppbarCitizen(title: 3,edit: true,listData: widget.listData),
Card(
margin: EdgeInsets.all(10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
ButtonDefault(
onPressed: (){},
title: 'Alterar',
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: 'Condições de Moradia'),
Row(
children: [
Container(
height: heigth*0.5,
width: width*0.2,
child: Icon(Icons.home,size: 80,),
),
Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
DropdownWithSubtitle(
list:['DOMICÍLIO'],
widthSubtitle: width*0.7,
subtitle: 'Tipo de Imóvel',
hintDropdown: 'Tipo de Imóvel',
select: selectSituation,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectSituation = value!;
});
},
),
DropdownWithSubtitle(
list:[],
widthSubtitle: width*0.7,
subtitle: 'INE - Área / Microárea do Domicílio',
hintDropdown: 'INE - Área / Microárea do Domicílio',
select: selectTypeHome,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectTypeHome = value!;
});
},
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Fora de área',
value: outOfArea,
onChanged: (value){
setState(() {
// enableMother = value;
// if(enableMother){
// nameMotherController.text = '';
// }
});
},
),
DropdownWithSubtitle(
list:['PRÓPRIO'],
widthSubtitle: width*0.7,
subtitle: 'Situação',
hintDropdown: 'Situação',
select: selectTypeHome,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectTypeHome = value!;
});
},
),
DropdownWithSubtitle(
list:['URBANO','RURAL'],
widthSubtitle: width*0.7,
subtitle: 'Localização',
hintDropdown: 'Localização',
select: selectSituation,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectSituation = value!;
});
},
),
DropdownWithSubtitle(
list:['CASA'],
widthSubtitle: width*0.7,
subtitle: 'Tipo de Domicílio',
hintDropdown: 'Tipo de Domicílio',
select: selectResidence,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectResidence = value!)),
InputWithSubtitle(
subtitle: 'Moradores',
hintInput: 'Moradores',
errorInput: 'Campo obrigatório',
labelInput: 'Moradores',
widthSubtitle: width*0.4,
widthInput: width*0.7,
controller: controllerResidents,
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
subtitle: 'Cômodos',
hintInput: 'Cômodos',
errorInput: 'Campo obrigatório',
labelInput: 'Cômodos',
widthSubtitle: width*0.4,
widthInput: width*0.7,
controller: controllerComfortable,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list:[],
widthSubtitle: width*0.7,
subtitle: 'Situação Rural',
hintDropdown: 'Situação Rural',
select: selectRural,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectRural = value!)
),
DropdownWithSubtitle(
list:['ASFALTO'],
widthSubtitle: width*0.7,
subtitle: 'Tipo de Acesso ao Domicílio',
hintDropdown: 'Tipo de Acesso ao Domicílio',
select: selectAcessHome,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectAcessHome = value!)
),
DropdownWithSubtitle(
list:['ALVENARIA COM REVESTIMENTO'],
widthSubtitle: width*0.7,
subtitle: 'Material Predominante - Parede',
hintDropdown: 'Material Predominante - Parede',
select: selectMaterialWall,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectMaterialWall = value!)
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Disponibilidade de Energia Elétroca',
value: enableEnergy,
onChanged: (value)=>setState(()=>enableEnergy = value),
),
DropdownWithSubtitle(
list:['REDE ENCANADA ATÉ O DOMICÍLIO'],
widthSubtitle: width*0.7,
subtitle: 'Abastecimento de Água',
hintDropdown: 'Abastecimento de Água',
select: selectWater,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectWater = value!)
),
DropdownWithSubtitle(
list:['FILTRAÇÃO'],
widthSubtitle: width*0.7,
subtitle: 'Tratamento de Água',
hintDropdown: 'Tratamento de Água',
select: selectTreatmentWater,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectTreatmentWater = value!)
),
DropdownWithSubtitle(
list:['COLETADO'],
widthSubtitle: width*0.7,
subtitle: 'Destino de Lixo',
hintDropdown: 'Destino de Lixo',
select: selectDestinyTrash,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectDestinyTrash = value!)
),
DropdownWithSubtitle(
list:['REDE COLETORA DE ESGOTO OU PLUVIAL'],
widthSubtitle: width*0.7,
subtitle: 'Forma de Escoamento Sanitário',
hintDropdown: 'Forma de Escoamento Sanitário',
select: selectFormSanitaryDrainage,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectFormSanitaryDrainage = value!)
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Animais',
value: enableAnimals,
onChanged: (value)=>setState(()=>enableAnimals = value!),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Quais - Gato',
value: enableCats,
onChanged: (value)=>setState(()=>enableCats = value!),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Quais - Cachorro',
value: enableDogs,
onChanged: (value)=>setState(()=>enableDogs = value!),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Quais - Pássaro',
value: enableBirds,
onChanged: (value)=>setState(()=>enableBirds = value!),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Quais - Outros',
value: enableOther,
onChanged: (value)=>setState(()=>enableOther = value!),
),
InputWithSubtitle(
subtitle: 'Quantidade',
hintInput: 'Quantidade',
errorInput: 'Campo obrigatório',
labelInput: 'Quantidade',
widthSubtitle: width*0.4,
widthInput: width*0.7,
controller: controllerAmount,
onChanged: (v)=>setState((){}),
),
],
)
],
)
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Outros'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(Icons.business_center,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
InputWithSubtitle(
controller: responsibleRegisterController,
subtitle: 'Usuário responsável Pelo Cadastro',
errorInput: 'Campo Obrigatório',
labelInput: 'Usuário responsável Pelo Cadastro',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
controller: unitProfessionalController,
subtitle: 'Unidade do Profissional',
errorInput: 'Campo Obrigatório',
labelInput: 'Unidade do Profissional',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
subtitle: 'CBO',
select: selectCBO,
widthDropdown: width*0.673,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'CBO',
onChanged: (value){
setState(() {
selectCBO = value;
});
},
list: []
),
DropdownWithSubtitle(
subtitle: 'Código da Equipe',
select: selectCBO,
widthDropdown: width*0.672,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Código da Equipe',
onChanged: (value){
setState(() {
selectCBO = value;
});
},
list: ['INE - 0001558536 / Área 4 - Microárea: - ']
),
InputWithSubtitle(
controller: dataRegisterController,
subtitle: 'Data do Cadastro',
errorInput: 'Campo Obrigatório',
labelInput: 'Data do Cadastro',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: false,
onChanged: (v)=>setState((){}),
),
],
),
),
]
),
],
),
),
]
)
),
),
);
}
}