1140 lines
59 KiB
Dart
1140 lines
59 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/screens/home_screen.dart';
|
|
import 'package:rkm/service/db/db_querys.dart';
|
|
import 'package:rkm/widgets/button_default.dart';
|
|
import 'package:rkm/widgets/title_containers.dart';
|
|
import '../../service/db/db_sqlite_sync.dart';
|
|
import '../../service/shared_preferences/shared_preferences_service.dart';
|
|
import '../../widgets/alert_dialog_default.dart';
|
|
import '../../widgets/appbar_default.dart';
|
|
import '../../widgets/dropdown_with_subtitle.dart';
|
|
import '../../widgets/error_default.dart';
|
|
import '../../widgets/input_with_subtitle.dart';
|
|
import '../../widgets/onbackbutton.dart';
|
|
import '../../widgets/subtitle_appbar_citizen.dart';
|
|
import '../../widgets/switch_with_subtitle.dart';
|
|
import '../../widgets/text_default.dart';
|
|
class RegisterHomeScreen extends StatefulWidget {
|
|
List listData;
|
|
String username;
|
|
RegisterHomeScreen({required this.listData, required this.username});
|
|
|
|
@override
|
|
State<RegisterHomeScreen> createState() => _RegisterHomeScreenState();
|
|
}
|
|
|
|
class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|
|
|
var QTDE_ANIMAIS = TextEditingController();
|
|
var NUM_COMODOS = TextEditingController();
|
|
var NUM_MORADORES = TextEditingController();
|
|
var NOME_RESP_CADASTRO = TextEditingController();
|
|
var CNES_RESP_CADASTRO = TextEditingController();
|
|
var DT_CADASTRO = TextEditingController();
|
|
var RENDA_TOTAL_FAMILIAR = TextEditingController();
|
|
var RENDA_MENSAL = TextEditingController();
|
|
var ANO_VEICULO = TextEditingController();
|
|
var MODELO_VEICULO = TextEditingController();
|
|
var VALOR_PARCELA_FINANCIAMENTO = TextEditingController();
|
|
var VALOR_PARCELA_EMPRESTIMO = TextEditingController();
|
|
var PROFISSAO = TextEditingController();
|
|
|
|
bool POSSUI_FINANCIAMENTO = false;
|
|
bool POSSUI_EMPRESTIMO = false;
|
|
bool POSSUI_VEICULO = false;
|
|
bool FORA_AREA = false;
|
|
bool DISPONIBILIDADE_ENERGIA = false;
|
|
bool FL_ANIMAIS = false;
|
|
bool ANIMAIS_GATO = false;
|
|
bool ANIMAIS_CACHORRO = false;
|
|
bool ANIMAIS_PASSARO = false;
|
|
bool ANIMAIS_OUTROS = false;
|
|
bool edit = false;
|
|
bool editing = false;
|
|
bool mandatory = false;
|
|
bool CNS_VALIDO = false;
|
|
bool showCheckError = false;
|
|
|
|
List<String> listTypeHome = [];
|
|
List<String> listINE = [];
|
|
List<String> listSituationHome = [];
|
|
List<String> listTypeLocation = [];
|
|
List<String> listTypeResidence = [];
|
|
List<String> listSituationRural = [];
|
|
List<String> listTypeAcessHome = [];
|
|
List<String> listMaterialHome = [];
|
|
List<String> listWaterHome = [];
|
|
List<String> listWaterTreatment = [];
|
|
List<String> listDestinyTrash = [];
|
|
List<String> listSanitary = [];
|
|
List<String> listCBO = [];
|
|
List<String> listINEPROF = [];
|
|
List listaINE = [];
|
|
|
|
int idUsuario = 0;
|
|
String idUnidade = '';
|
|
String nomeUnidade = '';
|
|
String INE_DB='';
|
|
String? INE;
|
|
String? TIPO_IMOVEL;
|
|
String? SITUACAO_MORADIA;
|
|
String? TIPO_LOCALIDADE;
|
|
String? TIPO_DOMICILIO;
|
|
String? SITUACAO_RURAL;
|
|
String? TIPO_ACESSO;
|
|
String? MAT_PREDOMINANTE;
|
|
String? TIPO_ABASTECIMENTO;
|
|
String? TRATAMENTO_AGUA;
|
|
String? DESTINO_LIXO;
|
|
String? ESCOAMENTO;
|
|
String? CBO_RESP_CADASTRO;
|
|
String? INE_RESP_CADASTRO;
|
|
String? NOME_INSTITUICAO_PERMANENCIA;
|
|
String? PROFISSIONAIS_VINCULADOS_INST;
|
|
String? RESPONSAVEL_TECNICO_INST;
|
|
String? CARGO_RESP_TECNICO_INST;
|
|
String? TEL_RESP_TECNICO_INST;
|
|
String CD_USUARIO_SUS = '';
|
|
int ID_CIDADAO=0;
|
|
String date_cad = '';
|
|
String TIPO_SALVAR = 'new';
|
|
|
|
int ID_RESP_CADASTRO=0;
|
|
int ID_DOMICILIO=0;
|
|
int ID_AREA_DOMICILIO=0;
|
|
int ID_MICROAREA_DOMICILIO=0;
|
|
int TIPO_IMOVEL_COD = 0;
|
|
int SITUACAO_MORADIA_COD = 0;
|
|
int TIPO_LOCALIDADE_COD = 0;
|
|
int TIPO_DOMICILIO_COD = 0;
|
|
int SITUACAO_RURAL_COD = 0;
|
|
int TIPO_ACESSO_COD = 0;
|
|
int MAT_PREDOMINANTE_COD = 0;
|
|
int TIPO_ABASTECIMENTO_COD = 0;
|
|
int TRATAMENTO_AGUA_COD = 0;
|
|
int DESTINO_LIXO_COD = 0;
|
|
int ESCOAMENTO_COD = 0;
|
|
int ID_EQUIPE = 0;
|
|
|
|
escolherprazoInicio(BuildContext context) async {
|
|
var pickDate = await showDatePicker(
|
|
context: context,
|
|
locale: Locale('pt','BR'),
|
|
initialDate: DateTime.now(),
|
|
firstDate: DateTime(2022),
|
|
lastDate: DateTime(DateTime.now().year,12,31)
|
|
);
|
|
if (pickDate != null) {
|
|
setState(() {
|
|
date_cad = '${pickDate.year}-${pickDate.month<10?'0':''}${pickDate.month}-${pickDate.day<10?'0':''}${pickDate.day}';
|
|
DT_CADASTRO.text = 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;
|
|
}
|
|
|
|
getUser(){
|
|
final PrefService _prefService = PrefService();
|
|
_prefService.readCacheIDUser().then((value){
|
|
if(value != null){
|
|
idUsuario = int.parse(value);
|
|
}
|
|
});
|
|
_prefService.readCacheUnidade().then((value){
|
|
if(value!=null){
|
|
idUnidade = value[0].toString();
|
|
nomeUnidade = value[1];
|
|
}
|
|
loadLists();
|
|
});
|
|
}
|
|
|
|
loadLists(){
|
|
for(int i = 0; ConstVariable().listTypeHome.length > i; i++){
|
|
listTypeHome.add(ConstVariable().listTypeHome[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listSituationHome.length > i; i++){
|
|
listSituationHome.add(ConstVariable().listSituationHome[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listTypeLocation.length > i; i++){
|
|
listTypeLocation.add(ConstVariable().listTypeLocation[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listTypeResidence.length > i; i++){
|
|
listTypeResidence.add(ConstVariable().listTypeResidence[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listSituationRural.length > i; i++){
|
|
listSituationRural.add(ConstVariable().listSituationRural[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listTypeAcessHome.length > i; i++){
|
|
listTypeAcessHome.add(ConstVariable().listTypeAcessHome[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listMaterialHome.length > i; i++){
|
|
listMaterialHome.add(ConstVariable().listMaterialHome[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listWaterHome.length > i; i++){
|
|
listWaterHome.add(ConstVariable().listWaterHome[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listWaterTreatment.length > i; i++){
|
|
listWaterTreatment.add(ConstVariable().listWaterTreatment[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listDestinyTrash.length > i; i++){
|
|
listDestinyTrash.add(ConstVariable().listDestinyTrash[i].title);
|
|
}
|
|
for(int i = 0; ConstVariable().listSanitary.length > i; i++){
|
|
listSanitary.add(ConstVariable().listSanitary[i].title);
|
|
}
|
|
loadRegisterHome();
|
|
}
|
|
|
|
loadRegisterHome()async{
|
|
//dados
|
|
PROFISSAO.text = widget.listData[0]['PROFISSAO']??'';
|
|
RENDA_TOTAL_FAMILIAR.text = widget.listData[0]['RENDA_TOTAL_FAMILIAR']==null?'0,00':'${widget.listData[0]['RENDA_TOTAL_FAMILIAR'].toString().replaceAll('.', ',')}';
|
|
MODELO_VEICULO.text = widget.listData[0]['MODELO_VEICULO'];
|
|
ANO_VEICULO.text = widget.listData[0]['ANO_VEICULO'].toString();
|
|
VALOR_PARCELA_FINANCIAMENTO.text = widget.listData[0]['VALOR_PARCELA_FINANCIAMENTO'].toString().replaceAll('.', ',');
|
|
VALOR_PARCELA_EMPRESTIMO.text = widget.listData[0]['VALOR_PARCELA_EMPRESTIMO'].toString().replaceAll('.', ',');
|
|
RENDA_MENSAL.text = widget.listData[0]['RENDA_MENSAL']==null?'0,00':'${widget.listData[0]['RENDA_MENSAL'].toString().replaceAll('.', ',')}';
|
|
POSSUI_VEICULO = widget.listData[0]['POSSUI_VEICULO']=='S'?true:false;
|
|
POSSUI_FINANCIAMENTO = widget.listData[0]['POSSUI_FINANCIAMENTO']=='S'?true:false;
|
|
POSSUI_EMPRESTIMO = widget.listData[0]['POSSUI_EMPRESTIMO']=='S'?true:false;
|
|
|
|
// print(RENDA_TOTAL_FAMILIAR.text);
|
|
// print(MODELO_VEICULO.text);
|
|
// print(ANO_VEICULO.text);
|
|
// print(VALOR_PARCELA_FINANCIAMENTO.text);
|
|
// print(VALOR_PARCELA_EMPRESTIMO.text);
|
|
// print(POSSUI_VEICULO);
|
|
// print(POSSUI_FINANCIAMENTO);
|
|
// print(POSSUI_EMPRESTIMO);
|
|
|
|
ID_DOMICILIO = widget.listData[0]['ID_DOMICILIO']==null || widget.listData[0]['ID_DOMICILIO'] == ''?0:widget.listData[0]['ID_DOMICILIO'];
|
|
ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
|
|
CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS'];
|
|
DBQuerys().buscaCadDomiciliar(ID_DOMICILIO).then((dataHome)async{
|
|
TIPO_IMOVEL_COD = ID_DOMICILIO==0?0:dataHome[0]['TIPO_IMOVEL']??0;
|
|
if(dataHome.length!=0){
|
|
TIPO_SALVAR = 'update';
|
|
}
|
|
for (int i = 0; ConstVariable().listTypeHome.length > i; i++) {
|
|
if (ConstVariable().listTypeHome[i].cod == TIPO_IMOVEL_COD) {
|
|
TIPO_IMOVEL = ConstVariable().listTypeHome[i].title;
|
|
}
|
|
}
|
|
listaINE = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
|
print('lista');
|
|
print(listaINE);
|
|
ID_AREA_DOMICILIO = listaINE[0]['AREA'];
|
|
ID_MICROAREA_DOMICILIO = listaINE[0]['MICROAREA'];
|
|
ID_EQUIPE = listaINE[0]['ID_EQUIPE'];
|
|
INE_DB = listaINE[0]['INE'];
|
|
INE = 'INE: $INE_DB / Área: $ID_AREA_DOMICILIO - Microárea : $ID_MICROAREA_DOMICILIO';
|
|
listINE.add(INE!);
|
|
FORA_AREA = dataHome.length==0?false:dataHome[0]['FORA_AREA']==1?true:false;
|
|
SITUACAO_MORADIA_COD = dataHome.length==0?0:dataHome[0]['SITUACAO_MORADIA']??0;
|
|
for (int i = 0; ConstVariable().listSituationHome.length > i; i++) {
|
|
if (ConstVariable().listSituationHome[i].cod == SITUACAO_MORADIA_COD) {
|
|
SITUACAO_MORADIA = ConstVariable().listSituationHome[i].title;
|
|
}
|
|
}
|
|
TIPO_LOCALIDADE_COD = dataHome.length==0?0:dataHome[0]['TIPO_LOCALIDADE']??0;
|
|
for (int i = 0; ConstVariable().listTypeLocation.length > i; i++) {
|
|
if (ConstVariable().listTypeLocation[i].cod == TIPO_LOCALIDADE_COD) {
|
|
TIPO_LOCALIDADE = ConstVariable().listTypeLocation[i].title;
|
|
}
|
|
}
|
|
TIPO_DOMICILIO_COD =dataHome.length==0?0: dataHome[0]['TIPO_DOMICILIO']??0;
|
|
for (int i = 0; ConstVariable().listTypeResidence.length > i; i++) {
|
|
if (ConstVariable().listTypeResidence[i].cod == TIPO_DOMICILIO_COD) {
|
|
TIPO_DOMICILIO = ConstVariable().listTypeResidence[i].title;
|
|
}
|
|
}
|
|
NUM_MORADORES.text = dataHome.length==0?'':dataHome[0]['NUM_MORADORES'].toString()=='null'?'':dataHome[0]['NUM_MORADORES'].toString();
|
|
NUM_COMODOS.text = dataHome.length==0?'':dataHome[0]['NUM_COMODOS'].toString()=='null'?'':dataHome[0]['NUM_COMODOS'].toString();
|
|
SITUACAO_RURAL_COD = dataHome.length==0?0:dataHome[0]['SITUACAO_RURAL']??0;
|
|
for (int i = 0; ConstVariable().listSituationRural.length > i; i++) {
|
|
if (ConstVariable().listSituationRural[i].cod == SITUACAO_RURAL_COD) {
|
|
SITUACAO_RURAL = ConstVariable().listSituationRural[i].title;
|
|
}
|
|
}
|
|
TIPO_ACESSO_COD = dataHome.length==0?0:dataHome[0]['TIPO_ACESSO']??0;
|
|
for (int i = 0; ConstVariable().listTypeAcessHome.length > i; i++) {
|
|
if (ConstVariable().listTypeAcessHome[i].cod == TIPO_ACESSO_COD) {
|
|
TIPO_ACESSO = ConstVariable().listTypeAcessHome[i].title;
|
|
}
|
|
}
|
|
MAT_PREDOMINANTE_COD = dataHome.length==0?0:dataHome[0]['MAT_PREDOMINANTE']??0;
|
|
for (int i = 0; ConstVariable().listMaterialHome.length > i; i++) {
|
|
if (ConstVariable().listMaterialHome[i].cod == MAT_PREDOMINANTE_COD) {
|
|
MAT_PREDOMINANTE = ConstVariable().listMaterialHome[i].title;
|
|
}
|
|
}
|
|
DISPONIBILIDADE_ENERGIA = dataHome.length==0?false:dataHome[0]['DISPONIBILIDADE_ENERGIA']==1?true:false;
|
|
TIPO_ABASTECIMENTO_COD = dataHome.length==0?0:dataHome[0]['TIPO_ABASTECIMENTO']??0;
|
|
for (int i = 0; ConstVariable().listWaterHome.length > i; i++) {
|
|
if (ConstVariable().listWaterHome[i].cod == TIPO_ACESSO_COD) {
|
|
TIPO_ABASTECIMENTO = ConstVariable().listWaterHome[i].title;
|
|
}
|
|
}
|
|
TRATAMENTO_AGUA_COD = dataHome.length==0?0:dataHome[0]['TRATAMENTO_AGUA']??0;
|
|
for (int i = 0; ConstVariable().listWaterHome.length > i; i++) {
|
|
if (ConstVariable().listWaterTreatment[i].cod == TRATAMENTO_AGUA_COD) {
|
|
TRATAMENTO_AGUA = ConstVariable().listWaterTreatment[i].title;
|
|
}
|
|
}
|
|
DESTINO_LIXO_COD = dataHome.length==0?0:dataHome[0]['DESTINO_LIXO']??0;
|
|
for (int i = 0; ConstVariable().listDestinyTrash.length > i; i++) {
|
|
if (ConstVariable().listDestinyTrash[i].cod == DESTINO_LIXO_COD) {
|
|
DESTINO_LIXO = ConstVariable().listDestinyTrash[i].title;
|
|
}
|
|
}
|
|
ESCOAMENTO_COD = dataHome.length==0?0:dataHome[0]['ESCOAMENTO']??0;
|
|
for (int i = 0; ConstVariable().listSanitary.length > i; i++) {
|
|
if (ConstVariable().listSanitary[i].cod == ESCOAMENTO_COD) {
|
|
ESCOAMENTO = ConstVariable().listSanitary[i].title;
|
|
}
|
|
}
|
|
FL_ANIMAIS = dataHome.length==0?false:dataHome[0]['FL_ANIMAIS']==1?true:false;
|
|
ANIMAIS_GATO = dataHome.length==0?false:dataHome[0]['ANIMAIS_GATO']==1?true:false;
|
|
ANIMAIS_CACHORRO = dataHome.length==0?false:dataHome[0]['ANIMAIS_CACHORRO']==1?true:false;
|
|
ANIMAIS_PASSARO = dataHome.length==0?false:dataHome[0]['ANIMAIS_PASSARO']==1?true:false;
|
|
QTDE_ANIMAIS.text = dataHome.length==0?'':dataHome[0]['QTDE_ANIMAIS']==null?'':dataHome[0]['QTDE_ANIMAIS'].toString();
|
|
date_cad = dataHome.length==0?'':dataHome[0]['DT_CADASTRO']??'';
|
|
List splitted = date_cad.toString().split('-');
|
|
DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}';
|
|
ID_EQUIPE = dataHome.length==0?0:dataHome[0]['ID_EQUIPE']??0;
|
|
NOME_INSTITUICAO_PERMANENCIA = dataHome.length==0?'':dataHome[0]['NOME_INSTITUICAO_PERMANENCIA'];
|
|
PROFISSIONAIS_VINCULADOS_INST = dataHome.length==0?'':dataHome[0]['PROFISSIONAIS_VINCULADOS_INST'];
|
|
RESPONSAVEL_TECNICO_INST = dataHome.length==0?'':dataHome[0]['RESPONSAVEL_TECNICO_INST'];
|
|
CARGO_RESP_TECNICO_INST = dataHome.length==0?'':dataHome[0]['CARGO_RESP_TECNICO_INST'];
|
|
TEL_RESP_TECNICO_INST = dataHome.length==0?'':dataHome[0]['TEL_RESP_TECNICO_INST'];
|
|
await DBQuerys().buscaCBOProfissional(idUsuario).then((list){
|
|
if(list.length!=0){
|
|
for(int i = 0; list.length>i;i++){
|
|
listCBO.add(list[i]['CODIGO_CBO'].toString());
|
|
}
|
|
}
|
|
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
|
|
setState(() {});
|
|
});
|
|
await DBQuerys().buscaProfissionalCadInd(dataHome[0]['ID_RESP_CADASTRO']).then((list)async{
|
|
ID_RESP_CADASTRO = list['ID_PROFISSIONAL'];
|
|
NOME_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
|
|
String CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
|
|
CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(list['ID_UNIDADE']);
|
|
print(list);
|
|
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
|
CNS_VALIDO = true;
|
|
}
|
|
});
|
|
});
|
|
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
|
for(int i=0; list.length > i;i++){
|
|
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}';
|
|
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}');
|
|
}
|
|
setState(() {});
|
|
}
|
|
|
|
checkSave()async{
|
|
// adicionar depois e usar um usuário real
|
|
// CBO_RESP_CADASTRO
|
|
//ok
|
|
if(TIPO_IMOVEL==null || DT_CADASTRO.text.isEmpty ){
|
|
print('erro');
|
|
setState(() {
|
|
showCheckError = true;
|
|
mandatory = true;
|
|
});
|
|
}else{
|
|
print('passou');
|
|
mandatory = false;
|
|
showCheckError = false;
|
|
setState(() {});
|
|
saveCitizenHome();
|
|
}
|
|
}
|
|
|
|
saveCitizenHome()async{
|
|
//save
|
|
final f = new DateFormat('yyyy-MM-dd HH:mm:ss');
|
|
Map<String, dynamic> rowCitizen = {
|
|
'PROFISSAO' : PROFISSAO.text.trim(),
|
|
'RENDA_TOTAL_FAMILIAR' : double.parse(RENDA_TOTAL_FAMILIAR.text.trim().replaceAll('.','').replaceAll(',', '.')),
|
|
'MODELO_VEICULO' : MODELO_VEICULO.text.trim(),
|
|
'ANO_VEICULO' : int.parse(ANO_VEICULO.text.trim().replaceAll('.', '')),
|
|
'VALOR_PARCELA_FINANCIAMENTO' : VALOR_PARCELA_FINANCIAMENTO.text.trim().replaceAll('.','').replaceAll(',', '.'),
|
|
'VALOR_PARCELA_EMPRESTIMO' : VALOR_PARCELA_EMPRESTIMO.text.trim().replaceAll('.','').replaceAll(',', '.'),
|
|
'RENDA_MENSAL' : RENDA_MENSAL.text.trim().replaceAll('.','').replaceAll(',', '.'),
|
|
'POSSUI_VEICULO' : POSSUI_VEICULO?'S':'N',
|
|
'POSSUI_FINANCIAMENTO' : POSSUI_FINANCIAMENTO?'S':'N',
|
|
'POSSUI_EMPRESTIMO' : POSSUI_EMPRESTIMO?'S':'N',
|
|
'DT_HORA_CADASTRO' : '${f.format(DateTime.now())}',
|
|
'ORIGEM' : 'A',
|
|
'SINCRONIZADO' : 'N',
|
|
};
|
|
|
|
RegExp regex = RegExp(r'INE:\s*(\d+)');
|
|
String? ineNumber = regex.firstMatch(INE!)?.group(1);
|
|
int ID_UNIDADE = 0;
|
|
for (int i = 0; listaINE.length > i; i++) {
|
|
if (listaINE[i]['INE'] == ineNumber) {
|
|
ID_EQUIPE = listaINE[i]['ID_EQUIPE'];
|
|
INE_DB = listaINE[i]['INE'];
|
|
ID_UNIDADE = listaINE[i]['ID_UNIDADE'];
|
|
print(listaINE[i]);
|
|
}
|
|
}
|
|
|
|
var CNES_UNIDADE = await DBQuerys().cnesUnidade(ID_UNIDADE);
|
|
|
|
Map<String, dynamic> rowHome = {
|
|
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
|
'ID_AREA_DOMICILIO' : ID_AREA_DOMICILIO,
|
|
'ID_MICROAREA_DOMICILIO' : ID_MICROAREA_DOMICILIO,
|
|
'FORA_AREA' : FORA_AREA?1:2,
|
|
'SITUACAO_MORADIA' : SITUACAO_MORADIA_COD,
|
|
'TIPO_LOCALIDADE' : TIPO_LOCALIDADE_COD,
|
|
'TIPO_DOMICILIO' : TIPO_DOMICILIO_COD,
|
|
'NUM_MORADORES' : int.parse(NUM_MORADORES.text),
|
|
'NUM_COMODOS' : NUM_COMODOS.text.isEmpty?0:int.parse(NUM_COMODOS.text),
|
|
'SITUACAO_RURAL' : SITUACAO_RURAL_COD,
|
|
'TIPO_ACESSO' : TIPO_ACESSO_COD,
|
|
'MAT_PREDOMINANTE' : MAT_PREDOMINANTE_COD,
|
|
'DISPONIBILIDADE_ENERGIA' : DISPONIBILIDADE_ENERGIA?1:2,
|
|
'TIPO_ABASTECIMENTO' : TIPO_ABASTECIMENTO_COD,
|
|
'TRATAMENTO_AGUA' : TRATAMENTO_AGUA_COD,
|
|
'DESTINO_LIXO' : DESTINO_LIXO_COD,
|
|
'ESCOAMENTO' : ESCOAMENTO_COD,
|
|
'FL_ANIMAIS' : FL_ANIMAIS?1:2,
|
|
'ANIMAIS_GATO' : ANIMAIS_GATO?1:2,
|
|
'ANIMAIS_CACHORRO' : ANIMAIS_CACHORRO?1:2,
|
|
'ANIMAIS_PASSARO' : ANIMAIS_PASSARO?1:2,
|
|
'ANIMAIS_OUTROS' : ANIMAIS_OUTROS?1:2,
|
|
'QTDE_ANIMAIS' : QTDE_ANIMAIS.text.isEmpty?0:int.parse(QTDE_ANIMAIS.text),
|
|
'CBO_RESP_CADASTRO' : CBO_RESP_CADASTRO,
|
|
'ID_RESP_CADASTRO' : ID_RESP_CADASTRO,
|
|
'CNES_RESP_CADASTRO' : CNES_UNIDADE,
|
|
'INE_RESP_CADASTRO' : INE_DB,
|
|
'DT_CADASTRO' : date_cad,
|
|
'ID_EQUIPE' : ID_EQUIPE,
|
|
'ORIGEM' : 'A',
|
|
'SINCRONIZADO' : 'N',
|
|
'NOME_INSTITUICAO_PERMANENCIA': NOME_INSTITUICAO_PERMANENCIA,
|
|
'PROFISSIONAIS_VINCULADOS_INST': PROFISSIONAIS_VINCULADOS_INST,
|
|
'RESPONSAVEL_TECNICO_INST' : RESPONSAVEL_TECNICO_INST,
|
|
'CARGO_RESP_TECNICO_INST' : CARGO_RESP_TECNICO_INST,
|
|
'TEL_RESP_TECNICO_INST' : TEL_RESP_TECNICO_INST,
|
|
};
|
|
|
|
await DbSqliteSync().insertCadastrosDomiciliares(rowHome,TIPO_SALVAR,ID_DOMICILIO,ID_CIDADAO,CD_USUARIO_SUS).then((value)async{
|
|
await DbSqliteSync().insertCidadaos(rowCitizen,editing?'update':'new',widget.listData[0]['CD_USUARIO_SUS']).then((value){
|
|
AlertDialogDefault().alert(
|
|
context,
|
|
'Aviso',
|
|
TIPO_SALVAR!='new'?
|
|
'Cadastro Domiciliar alterado com sucesso!':
|
|
'Cadastro Domiciliar realizado com sucesso!',
|
|
'OK'
|
|
);
|
|
|
|
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
|
|
// print(value);
|
|
});
|
|
});
|
|
}
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
getUser();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
|
|
double heigth = MediaQuery.of(context).size.height;
|
|
double width = MediaQuery.of(context).size.width;
|
|
|
|
return WillPopScope(
|
|
onWillPop: ()async => await OnBackButton().onBackButton(context, widget.username),
|
|
child: Scaffold(
|
|
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar',widget.username),
|
|
body: Container(
|
|
height: double.infinity,
|
|
width: double.infinity,
|
|
decoration: ConstVariable().backgroundGradient,
|
|
child: ListView(
|
|
children: [
|
|
SubtitleAppbarCitizen(title: 3,edit: true,listData: widget.listData,username: widget.username),
|
|
showCheckError?Card(
|
|
margin: EdgeInsets.all(10),
|
|
child: Container(
|
|
padding: EdgeInsets.all(10),
|
|
child: Row(
|
|
children: [
|
|
Icon(Icons.warning,color: Colors.red,),
|
|
TextDefault(text: 'Existem campos obrigatórios não preenchidos.',color: ColorPalette.red,fontSize: 15,)
|
|
],
|
|
),
|
|
),
|
|
color: ColorPalette.white,
|
|
):Container(),
|
|
Card(
|
|
margin: EdgeInsets.all(10),
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Column(
|
|
children: [
|
|
!edit?ButtonDefault(
|
|
onPressed: (){
|
|
setState(() {
|
|
edit = true;
|
|
editing = true;
|
|
});
|
|
},
|
|
title: 'Alterar',
|
|
borderColor: ColorPalette.edit,
|
|
background: ColorPalette.edit,
|
|
textColor: ColorPalette.white,
|
|
width: double.infinity,
|
|
):ButtonDefault(
|
|
onPressed: ()=>checkSave(),
|
|
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: '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:listTypeHome,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Tipo de Imóvel',
|
|
hintDropdown: 'Tipo de Imóvel',
|
|
select: TIPO_IMOVEL,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>TIPO_IMOVEL = value!);
|
|
for (int i = 0; ConstVariable().listTypeHome.length > i; i++) {
|
|
if (ConstVariable().listTypeHome[i].title == TIPO_IMOVEL) {
|
|
TIPO_IMOVEL_COD = ConstVariable().listTypeHome[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
TIPO_IMOVEL==null&& mandatory?ErrorDefault():Container(),
|
|
DropdownWithSubtitle(
|
|
list:listINE,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'INE - Área / Microárea do Domicílio',
|
|
hintDropdown: 'INE - Área / Microárea do Domicílio',
|
|
select: INE,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged: !editing?null: (value){
|
|
|
|
print(value);
|
|
setState(()=>INE = value!);
|
|
|
|
RegExp regex = RegExp(r'INE:\s*(\d+)');
|
|
String? ineNumber = regex.firstMatch(value)?.group(1);
|
|
for (int i = 0; listaINE.length > i; i++) {
|
|
if (listaINE[i]['INE'] == ineNumber) {
|
|
ID_EQUIPE = listaINE[i]['ID_EQUIPE'];
|
|
INE_DB = listaINE[i]['INE'];
|
|
// SITUACAO_MORADIA_COD = ConstVariable().listSituationHome[i].cod;
|
|
print('ID_EQUIPE $ID_EQUIPE');
|
|
print('INE_DB $INE_DB');
|
|
}
|
|
}
|
|
},
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Fora de área',
|
|
value: FORA_AREA,
|
|
onChanged: !editing?null: (value){
|
|
if(value){
|
|
INE = null;
|
|
}
|
|
setState(()=>FORA_AREA=value);
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listSituationHome,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Situação',
|
|
hintDropdown: 'Situação',
|
|
select: SITUACAO_MORADIA,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>SITUACAO_MORADIA = value!);
|
|
print('modou para $SITUACAO_MORADIA_COD');
|
|
print('modou para $SITUACAO_MORADIA');
|
|
for (int i = 0; ConstVariable().listSituationHome.length > i; i++) {
|
|
if (ConstVariable().listSituationHome[i].title == SITUACAO_MORADIA) {
|
|
SITUACAO_MORADIA_COD = ConstVariable().listSituationHome[i].cod;
|
|
print('modou para dentro do for $SITUACAO_MORADIA_COD');
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listTypeLocation,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Localização',
|
|
hintDropdown: 'Localização',
|
|
select: TIPO_LOCALIDADE,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>TIPO_LOCALIDADE = value!);
|
|
for (int i = 0; ConstVariable().listTypeLocation.length > i; i++) {
|
|
if (ConstVariable().listTypeLocation[i].title == TIPO_LOCALIDADE) {
|
|
TIPO_LOCALIDADE_COD = ConstVariable().listTypeLocation[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listTypeResidence,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Tipo de Domicílio',
|
|
hintDropdown: 'Tipo de Domicílio',
|
|
select: TIPO_DOMICILIO,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>TIPO_DOMICILIO = value!);
|
|
for (int i = 0; ConstVariable().listTypeResidence.length > i; i++) {
|
|
if (ConstVariable().listTypeResidence[i].title == TIPO_DOMICILIO) {
|
|
TIPO_DOMICILIO_COD = ConstVariable().listTypeResidence[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
InputWithSubtitle(
|
|
subtitle: 'Moradores',
|
|
hintInput: 'Moradores',
|
|
errorInput: 'Campo obrigatório',
|
|
labelInput: 'Moradores',
|
|
widthSubtitle: width*0.4,
|
|
widthInput: width*0.7,
|
|
controller: NUM_MORADORES,
|
|
mandatory: false,
|
|
enabled: editing,
|
|
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: NUM_COMODOS,
|
|
mandatory: false,
|
|
enabled: editing,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listSituationRural,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Situação Rural',
|
|
hintDropdown: 'Situação Rural',
|
|
select: SITUACAO_RURAL,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>SITUACAO_RURAL = value!);
|
|
for (int i = 0; ConstVariable().listSituationRural.length > i; i++) {
|
|
if (ConstVariable().listSituationRural[i].title == SITUACAO_RURAL) {
|
|
SITUACAO_RURAL_COD = ConstVariable().listSituationRural[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listTypeAcessHome,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Tipo de Acesso ao Domicílio',
|
|
hintDropdown: 'Tipo de Acesso ao Domicílio',
|
|
select: TIPO_ACESSO,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged: !editing?null: (value){
|
|
setState(()=>TIPO_ACESSO = value!);
|
|
for (int i = 0; ConstVariable().listTypeAcessHome.length > i; i++) {
|
|
if (ConstVariable().listTypeAcessHome[i].title == TIPO_ACESSO) {
|
|
TIPO_ACESSO_COD = ConstVariable().listTypeAcessHome[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listMaterialHome,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Material Predominante - Parede',
|
|
hintDropdown: 'Material Predominante - Parede',
|
|
select: MAT_PREDOMINANTE,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged: !editing?null: (value){
|
|
setState(()=>MAT_PREDOMINANTE = value!);
|
|
for (int i = 0; ConstVariable().listMaterialHome.length > i; i++) {
|
|
if (ConstVariable().listMaterialHome[i].title == MAT_PREDOMINANTE) {
|
|
MAT_PREDOMINANTE_COD = ConstVariable().listMaterialHome[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Disponibilidade de Energia Elétrica',
|
|
value: DISPONIBILIDADE_ENERGIA,
|
|
onChanged:!editing?null: (value)=>setState(()=>DISPONIBILIDADE_ENERGIA = value),
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listWaterHome,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Abastecimento de Água',
|
|
hintDropdown: 'Abastecimento de Água',
|
|
select: TIPO_ABASTECIMENTO,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged: !editing?null:(value){
|
|
setState(()=>TIPO_ABASTECIMENTO = value!);
|
|
for (int i = 0; ConstVariable().listWaterHome.length > i; i++) {
|
|
if (ConstVariable().listWaterHome[i].title == TIPO_ABASTECIMENTO) {
|
|
TIPO_ABASTECIMENTO_COD = ConstVariable().listWaterHome[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listWaterTreatment,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Tratamento de Água',
|
|
hintDropdown: 'Tratamento de Água',
|
|
select: TRATAMENTO_AGUA,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>TRATAMENTO_AGUA = value!);
|
|
for (int i = 0; ConstVariable().listWaterTreatment.length > i; i++) {
|
|
if (ConstVariable().listWaterTreatment[i].title == TRATAMENTO_AGUA) {
|
|
TRATAMENTO_AGUA_COD = ConstVariable().listWaterTreatment[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listDestinyTrash,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Destino de Lixo',
|
|
hintDropdown: 'Destino de Lixo',
|
|
select: DESTINO_LIXO,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>DESTINO_LIXO = value!);
|
|
for (int i = 0; ConstVariable().listDestinyTrash.length > i; i++) {
|
|
if (ConstVariable().listDestinyTrash[i].title == DESTINO_LIXO) {
|
|
DESTINO_LIXO_COD = ConstVariable().listDestinyTrash[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
DropdownWithSubtitle(
|
|
list:listSanitary,
|
|
widthSubtitle: width*0.7,
|
|
subtitle: 'Forma de Escoamento Sanitário',
|
|
hintDropdown: 'Forma de Escoamento Sanitário',
|
|
select: ESCOAMENTO,
|
|
widthDropdown: width*0.7,
|
|
widthContainerDropdown: width*0.6,
|
|
onChanged:!editing?null: (value){
|
|
setState(()=>ESCOAMENTO = value!);
|
|
for (int i = 0; ConstVariable().listSanitary.length > i; i++) {
|
|
if (ConstVariable().listSanitary[i].title == ESCOAMENTO) {
|
|
ESCOAMENTO_COD = ConstVariable().listSanitary[i].cod;
|
|
}
|
|
}
|
|
},
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Animais',
|
|
value: FL_ANIMAIS,
|
|
onChanged: !editing?null: (value)=>setState(()=>FL_ANIMAIS = value!),
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Quais - Gato',
|
|
value: ANIMAIS_GATO,
|
|
onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_GATO = value!),
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Quais - Cachorro',
|
|
value: ANIMAIS_CACHORRO,
|
|
onChanged:!editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_CACHORRO = value!),
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Quais - Pássaro',
|
|
value: ANIMAIS_PASSARO,
|
|
onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_PASSARO = value!),
|
|
),
|
|
SwitchWithSubtitle(
|
|
width: width*0.7,
|
|
title: 'Quais - Outros',
|
|
value: ANIMAIS_OUTROS,
|
|
onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_OUTROS = value!),
|
|
),
|
|
InputWithSubtitle(
|
|
subtitle: 'Quantidade',
|
|
hintInput: 'Quantidade',
|
|
errorInput: 'Campo obrigatório',
|
|
labelInput: 'Quantidade',
|
|
widthSubtitle: width*0.4,
|
|
widthInput: width*0.7,
|
|
controller: QTDE_ANIMAIS,
|
|
mandatory: false,
|
|
enabled: editing && FL_ANIMAIS,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
)
|
|
],
|
|
)
|
|
],
|
|
),
|
|
),
|
|
Card(
|
|
margin: EdgeInsets.all(10),
|
|
child: Column(
|
|
children: [
|
|
TitleContainers(title: 'Profissional Responsável'),
|
|
Row(
|
|
children: [
|
|
Container(
|
|
height: heigth*0.4,
|
|
width: width*0.2,
|
|
child: Icon(Icons.business_center,size: 80,),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 0.0),
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
InputWithSubtitle(
|
|
controller: NOME_RESP_CADASTRO,
|
|
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',
|
|
enabled: false,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
InputWithSubtitle(
|
|
controller: CNES_RESP_CADASTRO,
|
|
subtitle: 'Unidade do Profissional',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Unidade do Profissional',
|
|
widthInput: width*0.7,
|
|
widthSubtitle: width*0.7,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: false,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
DropdownWithSubtitle(
|
|
subtitle: 'CBO',
|
|
select: CBO_RESP_CADASTRO,
|
|
widthDropdown: width*0.673,
|
|
widthContainerDropdown: width*0.5,
|
|
widthSubtitle: width*0.3,
|
|
hintDropdown: 'CBO',
|
|
onChanged:!editing?null: (value)=>setState(()=>CBO_RESP_CADASTRO = value),
|
|
list: listCBO
|
|
),
|
|
DropdownWithSubtitle(
|
|
subtitle: 'Código da Equipe',
|
|
select: INE_RESP_CADASTRO,
|
|
widthDropdown: width*0.672,
|
|
widthContainerDropdown: width*0.5,
|
|
widthSubtitle: width*0.3,
|
|
hintDropdown: 'Código da Equipe',
|
|
onChanged:!editing?null: (value){
|
|
setState(() {
|
|
INE_RESP_CADASTRO = value;
|
|
});
|
|
},
|
|
list: listINEPROF
|
|
),
|
|
GestureDetector(
|
|
onTap:!edit?null: ()=>escolherprazoInicio(context),
|
|
child: InputWithSubtitle(
|
|
controller: DT_CADASTRO,
|
|
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,
|
|
mandatory: mandatory,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
),
|
|
DT_CADASTRO.text.isEmpty&& mandatory?ErrorDefault():Container(),
|
|
],
|
|
),
|
|
),
|
|
]
|
|
),
|
|
],
|
|
),
|
|
),
|
|
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.tag,size: 80,),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 0.0),
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
controller: RENDA_MENSAL,
|
|
subtitle: 'Renda Mensal',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Renda Mensal',
|
|
widthInput: width*0.65,
|
|
widthSubtitle: width*0.65,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
controller: PROFISSAO,
|
|
subtitle: 'Profissão',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Profissão',
|
|
widthInput: width*0.65,
|
|
widthSubtitle: width*0.65,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
textInputType: TextInputType.number,
|
|
controller: RENDA_TOTAL_FAMILIAR,
|
|
subtitle: 'Renda Total Familiar',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Renda Total Familiar',
|
|
widthInput: width*0.65,
|
|
widthSubtitle: width*0.65,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
|
SwitchWithSubtitle(
|
|
width: width*0.65,
|
|
title: 'Possui Veículo Próprio',
|
|
value: POSSUI_VEICULO,
|
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_VEICULO = value!),
|
|
),
|
|
],
|
|
),
|
|
Container(
|
|
width: width*0.7,
|
|
child: Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
controller: MODELO_VEICULO,
|
|
subtitle: 'Modelo Veículo',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Modelo Veículo',
|
|
widthInput: width*0.53,
|
|
widthSubtitle: width*0.53,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing && POSSUI_VEICULO,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
Spacer(),
|
|
InputWithSubtitle(
|
|
controller: ANO_VEICULO,
|
|
subtitle: 'Ano Veículo',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Ano Veículo',
|
|
widthInput: width*0.1,
|
|
widthSubtitle: width*0.1,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing && POSSUI_VEICULO,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
|
SwitchWithSubtitle(
|
|
width: width*0.65,
|
|
title: 'Possui Financiamento',
|
|
value: POSSUI_FINANCIAMENTO,
|
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_FINANCIAMENTO = value!),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
controller: VALOR_PARCELA_FINANCIAMENTO,
|
|
subtitle: 'Valor Parcela Financiamento',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Valor Parcela Financiamento',
|
|
widthInput: width*0.65,
|
|
widthSubtitle: width*0.65,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing && POSSUI_FINANCIAMENTO,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
|
SwitchWithSubtitle(
|
|
width: width*0.65,
|
|
title: 'Possui Veículo Empréstimo',
|
|
value: POSSUI_EMPRESTIMO,
|
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_EMPRESTIMO = value!),
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
children: [
|
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
|
InputWithSubtitle(
|
|
controller: VALOR_PARCELA_EMPRESTIMO,
|
|
subtitle: 'Valor Parcela Empréstimo',
|
|
errorInput: 'Campo Obrigatório',
|
|
labelInput: 'Valor Parcela Empréstimo',
|
|
widthInput: width*0.65,
|
|
widthSubtitle: width*0.65,
|
|
hintInput: 'Escreva aqui',
|
|
enabled: editing && POSSUI_EMPRESTIMO,
|
|
onChanged: (v)=>setState((){}),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
),
|
|
]
|
|
),
|
|
],
|
|
),
|
|
),
|
|
CNS_VALIDO?Card(
|
|
margin: EdgeInsets.all(10),
|
|
child: Container(
|
|
padding: const EdgeInsets.all(8.0),
|
|
width: width,
|
|
height: heigth*0.1,
|
|
child: Row(
|
|
children: [
|
|
Icon(Icons.warning,color: ColorPalette.red,),
|
|
Container(
|
|
width: width*0.9,
|
|
child: TextDefault(
|
|
text: 'CNS do Profissional inválido. Este cadastro não será exportado para o e-SUS.',
|
|
fontSize: 15,
|
|
maxLines: 2,
|
|
color: ColorPalette.red,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
):Container()
|
|
]
|
|
)
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|