versão 1.0.15+16 AJUSTE DAS RESTRIÇÕES DE VISITAS PERIODICAS, ENVIO DE PESO E ALTURA E DO LOADING. 30/08/2024
This commit is contained in:
@@ -55,6 +55,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
bool ACAO_MECANICA = false;
|
||||
bool IMOVEL_FOCO = false;
|
||||
bool TRATAMENTO_FOCAL = false;
|
||||
bool sexoCidadaoFeminino = false;
|
||||
|
||||
bool carregando = true;
|
||||
|
||||
@@ -115,6 +116,8 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
|
||||
getUsers()async{
|
||||
await DBQuerys().buscaCidadao(widget.name).then((list){
|
||||
print(list[0]);
|
||||
sexoCidadaoFeminino = list[0]['SEXO']=='M'?false:true;
|
||||
ID_CIDADAO = list[0]['ID_CIDADAO'];
|
||||
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
|
||||
});
|
||||
@@ -191,9 +194,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||
INE_PROFISSIONAL = listProf[0]['INE'];
|
||||
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
||||
if(widget.dados==null){
|
||||
carregando = false;
|
||||
}
|
||||
carregando = false;
|
||||
setState(() {});
|
||||
|
||||
if(widget.dados!=null){
|
||||
@@ -234,7 +235,9 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
ok*/
|
||||
//salvar
|
||||
|
||||
if(date.isEmpty || dateDB.isEmpty || TIPO_IMOVEL_COD==0 || DESFECHO_COD ==0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null
|
||||
if(date.isEmpty || dateDB.isEmpty || TIPO_IMOVEL_COD==0 || DESFECHO_COD ==0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null ||
|
||||
( ALTURA.text.isEmpty?false:double.parse(ALTURA.text.replaceAll(',', '.'))<=0.2 && double.parse(ALTURA.text.replaceAll(',', '.')) >= 2.5 && ALTURA.text.isEmpty) ||
|
||||
( PESO.text.isEmpty?false:double.parse(PESO.text.replaceAll(',', '.'))<=0.5 && double.parse(PESO.text.replaceAll(',', '.')) >= 500 && PESO.text.isEmpty)
|
||||
){
|
||||
print('erro principal');
|
||||
setState(() {
|
||||
@@ -273,8 +276,8 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
||||
'VISITA_ACOMPANHADA' : VISITA_ACOMPANHADA?1:2,
|
||||
'DESFECHO' : DESFECHO_COD,
|
||||
'PESO' : PESO.text,
|
||||
'ALTURA' : ALTURA.text,
|
||||
'PESO' : PESO.text.toString().replaceAll(',', '.'),
|
||||
'ALTURA' : ALTURA.text.toString().replaceAll(',', '.'),
|
||||
'ID_PROFISSIONAL' : idUsuario,
|
||||
'CBO_PROFISSIONAL' : CBO_DB,
|
||||
'INE_PROFISSIONAL' : INE_PROFISSIONAL,
|
||||
@@ -570,6 +573,79 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
alerta_cadastramento_atualizacao() {
|
||||
|
||||
double width = MediaQuery.of(context).size.width;
|
||||
|
||||
return showDialog(
|
||||
context: context,
|
||||
builder: (context){
|
||||
return AlertDialog(
|
||||
title: TextDefault(
|
||||
text: 'Aviso',
|
||||
color: ColorPalette.black54,
|
||||
textAlign: TextAlign.center,
|
||||
fontWeigth: FontWeight.bold,
|
||||
),
|
||||
content: TextDefault(
|
||||
text: 'Quando o motivo da visita for uma das opções:\n'
|
||||
'- Cadastramento/Atualização\n'
|
||||
'- Busca Ativa\n'
|
||||
'- Acompanhamento\n'
|
||||
'- Egresso de Internação\n'
|
||||
'O motivo "Visita periódica" não pode ser selecionado.',
|
||||
color: ColorPalette.black54,
|
||||
maxLines: 7,
|
||||
),
|
||||
actions: [
|
||||
ButtonDefault(
|
||||
onPressed: ()=>Navigator.pop(context),
|
||||
title: 'OK',
|
||||
width: width*0.15,
|
||||
textColor: ColorPalette.white,
|
||||
borderColor: ColorPalette.appBar,
|
||||
background: ColorPalette.appBar,
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
alerta_visita_periodica() {
|
||||
|
||||
double width = MediaQuery.of(context).size.width;
|
||||
|
||||
return showDialog(
|
||||
context: context,
|
||||
builder: (context){
|
||||
return AlertDialog(
|
||||
title: TextDefault(
|
||||
text: 'Aviso',
|
||||
color: ColorPalette.black54,
|
||||
textAlign: TextAlign.center,
|
||||
fontWeigth: FontWeight.bold,
|
||||
),
|
||||
content: TextDefault(
|
||||
text: 'O motivo da visita já foi selecionada como Visita periódica. Para selecionar um outro motivo, desmarque esta opção.',
|
||||
color: ColorPalette.black54,
|
||||
maxLines: 7,
|
||||
),
|
||||
actions: [
|
||||
ButtonDefault(
|
||||
onPressed: ()=>Navigator.pop(context),
|
||||
title: 'OK',
|
||||
width: width*0.15,
|
||||
textColor: ColorPalette.white,
|
||||
borderColor: ColorPalette.appBar,
|
||||
background: ColorPalette.appBar,
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
@@ -732,14 +808,34 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
}
|
||||
return CheckBoxSubtitle(
|
||||
ontap:DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||
setState((){
|
||||
if(tipoVisitaModel[0].check == true && tipoVisitaModel[1].check == false && index == 1){
|
||||
alerta_cadastramento_atualizacao();
|
||||
}else if(tipoVisitaModel[0].check == false && tipoVisitaModel[1].check == true && index == 0){
|
||||
alerta_visita_periodica();
|
||||
}else if(CONSULTA || EXAME || VACINA || CONDICIONALIDADES ||
|
||||
tipoAcompanhamentoModel.any((element) => element.check) ||outrosModel[0].check ){
|
||||
alerta_cadastramento_atualizacao();
|
||||
}else{
|
||||
tipoVisitaModel[index].check?tipoVisitaModel[index].check=false:tipoVisitaModel[index].check=true;
|
||||
});
|
||||
}
|
||||
setState((){});
|
||||
},
|
||||
subtitle: tipoVisitaModel[index].subtitle,
|
||||
checkbox:tipoVisitaModel[index].check,
|
||||
width: width*0.6,
|
||||
onChanged:DESFECHO != 'VISITA REALIZADA'?null: (value)=>setState(()=>tipoVisitaModel[index].check=value),
|
||||
onChanged:DESFECHO != 'VISITA REALIZADA'?null: (value){
|
||||
if(tipoVisitaModel[0].check == true && tipoVisitaModel[1].check == false && index == 1){
|
||||
alerta_cadastramento_atualizacao();
|
||||
}else if(tipoVisitaModel[0].check == false && tipoVisitaModel[1].check == true && index == 0){
|
||||
alerta_visita_periodica();
|
||||
}else if(CONSULTA || EXAME || VACINA || CONDICIONALIDADES ||
|
||||
tipoAcompanhamentoModel.any((element) => element.check) || outrosModel[0].check){
|
||||
alerta_cadastramento_atualizacao();
|
||||
}else{
|
||||
tipoVisitaModel[index].check=value;
|
||||
}
|
||||
setState(() {});
|
||||
},
|
||||
);
|
||||
}
|
||||
),
|
||||
@@ -751,10 +847,34 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
checkbox2: VACINA,
|
||||
subtitle1: 'CONSULTA',
|
||||
subtitle2: 'VACINA',
|
||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>CONSULTA=value),
|
||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null: (value)=>setState(()=>VACINA=value),
|
||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>CONSULTA?CONSULTA=false:CONSULTA=true),
|
||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>VACINA?VACINA=false:VACINA=true),
|
||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>CONSULTA=value);
|
||||
}
|
||||
},
|
||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null: (value){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>VACINA=value);
|
||||
}
|
||||
},
|
||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>CONSULTA?CONSULTA=false:CONSULTA=true);
|
||||
}
|
||||
},
|
||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>VACINA?VACINA=false:VACINA=true);
|
||||
}
|
||||
},
|
||||
),
|
||||
CheckBoxTwoSubtitle(
|
||||
width: width*0.7,
|
||||
@@ -762,10 +882,34 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
checkbox2: CONDICIONALIDADES,
|
||||
subtitle1: 'EXAME',
|
||||
subtitle2: 'CONDICIONALIDADES',
|
||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>EXAME=value),
|
||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>CONDICIONALIDADES=value),
|
||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>EXAME?EXAME=false:EXAME=true),
|
||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>CONDICIONALIDADES?CONDICIONALIDADES=false:CONDICIONALIDADES=true),
|
||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>EXAME=value);
|
||||
}
|
||||
},
|
||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null:(value){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>CONDICIONALIDADES=value);
|
||||
}
|
||||
},
|
||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>EXAME?EXAME=false:EXAME=true);
|
||||
}
|
||||
},
|
||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>CONDICIONALIDADES?CONDICIONALIDADES=false:CONDICIONALIDADES=true);
|
||||
}
|
||||
},
|
||||
),
|
||||
TitleContainers(title: 'Controle Ambiental',width: width*0.7,textAling: TextAlign.start,fontSize: 15),
|
||||
CheckBoxTwoSubtitle(
|
||||
@@ -810,7 +954,15 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
subtitle: tipoAcompanhamentoModel[index].subtitle,
|
||||
checkbox:tipoAcompanhamentoModel[index].check,
|
||||
width: width*0.6,
|
||||
onChanged:DESFECHO != 'VISITA REALIZADA'?null: (value)=>setState(()=>tipoAcompanhamentoModel[index].check=value),
|
||||
onChanged:DESFECHO != 'VISITA REALIZADA' || ((tipoAcompanhamentoModel[index].subtitle=='GESTANTE' && !sexoCidadaoFeminino)
|
||||
|| (tipoAcompanhamentoModel[index].subtitle=='PUÉRPERA' && !sexoCidadaoFeminino)) ?null
|
||||
: (value){
|
||||
if(tipoVisitaModel[1].check == true){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>tipoAcompanhamentoModel[index].check=value);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
),
|
||||
@@ -835,7 +987,13 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
subtitle: outrosModel[index].subtitle,
|
||||
checkbox:outrosModel[index].check,
|
||||
width: width*0.6,
|
||||
onChanged: (value)=>setState(()=>outrosModel[index].check=value),
|
||||
onChanged: (value){
|
||||
if(tipoVisitaModel[1].check == true && index==0){
|
||||
alerta_visita_periodica();
|
||||
}else{
|
||||
setState(()=>outrosModel[index].check=value);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
),
|
||||
@@ -864,17 +1022,19 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
InputWithSubtitle(
|
||||
controller: PESO,
|
||||
subtitle: 'Peso (em Kg - 000,000)',
|
||||
// errorInput: PESO.text.isEmpty || PESO.text.length<2?'':double.parse(PESO.text.replaceAll(',', '.'))<0.5 && double.parse(PESO.text.replaceAll(',', '.'))>500?'O peso do paciente deve estar entre 0,5 e 500 kg':'',
|
||||
errorInput: '',
|
||||
labelInput: 'Peso (em Kg - 000,000)',
|
||||
widthInput: width*0.7,
|
||||
widthSubtitle: width*0.7,
|
||||
hintInput: 'Escreva aqui',
|
||||
mandatory: false,
|
||||
mandatory: true,
|
||||
enabled: true,
|
||||
maxLength: 7,
|
||||
textInputType: TextInputType.number,
|
||||
onChanged: (v)=>setState((){}),
|
||||
),
|
||||
PESO.text.isEmpty || PESO.text.length<2?Container():double.parse(PESO.text.replaceAll(',', '.'))>=0.5 && double.parse(PESO.text.replaceAll(',', '.'))<=500?Container():ErrorDefault(error: 'O peso do paciente deve estar entre 0,5 e 500 kg',),
|
||||
InputWithSubtitle(
|
||||
controller: ALTURA,
|
||||
subtitle: 'Altura (em metros - 0,00)',
|
||||
@@ -889,6 +1049,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
||||
textInputType: TextInputType.number,
|
||||
onChanged: (v)=>setState((){}),
|
||||
),
|
||||
ALTURA.text.isEmpty || ALTURA.text.length<1?Container():double.parse(ALTURA.text.replaceAll(',', '.'))>=0.2 && double.parse(ALTURA.text.replaceAll(',', '.'))<=2.5?Container():ErrorDefault(error: 'A altura do paciente deve estar entre 0,20 e 2,5 metros.',),
|
||||
],
|
||||
)
|
||||
],
|
||||
|
||||
@@ -9,9 +9,10 @@ description: RKM AB 2.0.
|
||||
#versão 1.0.13+14 SETSTATE SALVAR DADOS CIDADAO E EDITAR E EXCLUIR ATENDICMENTO E VISITA. 27/08/2024
|
||||
#versão 1.0.13+14 EDITAR E EXCLUIR VISITA DOMICILIAR E ALTERADA PARA ZERO SEM FORA DE AREA E UM PARA FORA DE AREA. 28/08/2024
|
||||
#versão 1.0.14+15 AJUSTADA A ALTURA DA LISTA DOS PROCEDIMENTOS E DO ACOMPANHAMENTO, E A MENSAGEM DE AVISO DE NÃO SALVAR QUANDO ESTIVER EM EDIÇÃO. 29/08/2024
|
||||
#versão 1.0.15+16 AJUSTE DAS RESTRIÇÕES DE VISITAS PERIODICAS, ENVIO DE PESO E ALTURA E DO LOADING. 30/08/2024
|
||||
|
||||
publish_to: 'none'
|
||||
version: 1.0.14+15
|
||||
version: 1.0.15+16
|
||||
|
||||
environment:
|
||||
sdk: '>=3.2.3 <4.0.0'
|
||||
|
||||
Reference in New Issue
Block a user