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 ACAO_MECANICA = false;
|
||||||
bool IMOVEL_FOCO = false;
|
bool IMOVEL_FOCO = false;
|
||||||
bool TRATAMENTO_FOCAL = false;
|
bool TRATAMENTO_FOCAL = false;
|
||||||
|
bool sexoCidadaoFeminino = false;
|
||||||
|
|
||||||
bool carregando = true;
|
bool carregando = true;
|
||||||
|
|
||||||
@@ -115,6 +116,8 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
|
|
||||||
getUsers()async{
|
getUsers()async{
|
||||||
await DBQuerys().buscaCidadao(widget.name).then((list){
|
await DBQuerys().buscaCidadao(widget.name).then((list){
|
||||||
|
print(list[0]);
|
||||||
|
sexoCidadaoFeminino = list[0]['SEXO']=='M'?false:true;
|
||||||
ID_CIDADAO = list[0]['ID_CIDADAO'];
|
ID_CIDADAO = list[0]['ID_CIDADAO'];
|
||||||
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
|
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
|
||||||
});
|
});
|
||||||
@@ -191,9 +194,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||||
INE_PROFISSIONAL = listProf[0]['INE'];
|
INE_PROFISSIONAL = listProf[0]['INE'];
|
||||||
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
||||||
if(widget.dados==null){
|
|
||||||
carregando = false;
|
carregando = false;
|
||||||
}
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
|
|
||||||
if(widget.dados!=null){
|
if(widget.dados!=null){
|
||||||
@@ -234,7 +235,9 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
ok*/
|
ok*/
|
||||||
//salvar
|
//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');
|
print('erro principal');
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -273,8 +276,8 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
||||||
'VISITA_ACOMPANHADA' : VISITA_ACOMPANHADA?1:2,
|
'VISITA_ACOMPANHADA' : VISITA_ACOMPANHADA?1:2,
|
||||||
'DESFECHO' : DESFECHO_COD,
|
'DESFECHO' : DESFECHO_COD,
|
||||||
'PESO' : PESO.text,
|
'PESO' : PESO.text.toString().replaceAll(',', '.'),
|
||||||
'ALTURA' : ALTURA.text,
|
'ALTURA' : ALTURA.text.toString().replaceAll(',', '.'),
|
||||||
'ID_PROFISSIONAL' : idUsuario,
|
'ID_PROFISSIONAL' : idUsuario,
|
||||||
'CBO_PROFISSIONAL' : CBO_DB,
|
'CBO_PROFISSIONAL' : CBO_DB,
|
||||||
'INE_PROFISSIONAL' : INE_PROFISSIONAL,
|
'INE_PROFISSIONAL' : INE_PROFISSIONAL,
|
||||||
@@ -570,6 +573,79 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
setState(() {});
|
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
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -732,14 +808,34 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
}
|
}
|
||||||
return CheckBoxSubtitle(
|
return CheckBoxSubtitle(
|
||||||
ontap:DESFECHO != 'VISITA REALIZADA'?null: (){
|
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;
|
tipoVisitaModel[index].check?tipoVisitaModel[index].check=false:tipoVisitaModel[index].check=true;
|
||||||
});
|
}
|
||||||
|
setState((){});
|
||||||
},
|
},
|
||||||
subtitle: tipoVisitaModel[index].subtitle,
|
subtitle: tipoVisitaModel[index].subtitle,
|
||||||
checkbox:tipoVisitaModel[index].check,
|
checkbox:tipoVisitaModel[index].check,
|
||||||
width: width*0.6,
|
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,
|
checkbox2: VACINA,
|
||||||
subtitle1: 'CONSULTA',
|
subtitle1: 'CONSULTA',
|
||||||
subtitle2: 'VACINA',
|
subtitle2: 'VACINA',
|
||||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>CONSULTA=value),
|
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value){
|
||||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null: (value)=>setState(()=>VACINA=value),
|
if(tipoVisitaModel[1].check == true){
|
||||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>CONSULTA?CONSULTA=false:CONSULTA=true),
|
alerta_visita_periodica();
|
||||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>VACINA?VACINA=false:VACINA=true),
|
}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(
|
CheckBoxTwoSubtitle(
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
@@ -762,10 +882,34 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
checkbox2: CONDICIONALIDADES,
|
checkbox2: CONDICIONALIDADES,
|
||||||
subtitle1: 'EXAME',
|
subtitle1: 'EXAME',
|
||||||
subtitle2: 'CONDICIONALIDADES',
|
subtitle2: 'CONDICIONALIDADES',
|
||||||
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>EXAME=value),
|
onChanged1: DESFECHO != 'VISITA REALIZADA'?null:(value){
|
||||||
onChanged2: DESFECHO != 'VISITA REALIZADA'?null:(value)=>setState(()=>CONDICIONALIDADES=value),
|
if(tipoVisitaModel[1].check == true){
|
||||||
ontap1: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>EXAME?EXAME=false:EXAME=true),
|
alerta_visita_periodica();
|
||||||
ontap2: DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>CONDICIONALIDADES?CONDICIONALIDADES=false:CONDICIONALIDADES=true),
|
}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),
|
TitleContainers(title: 'Controle Ambiental',width: width*0.7,textAling: TextAlign.start,fontSize: 15),
|
||||||
CheckBoxTwoSubtitle(
|
CheckBoxTwoSubtitle(
|
||||||
@@ -810,7 +954,15 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
subtitle: tipoAcompanhamentoModel[index].subtitle,
|
subtitle: tipoAcompanhamentoModel[index].subtitle,
|
||||||
checkbox:tipoAcompanhamentoModel[index].check,
|
checkbox:tipoAcompanhamentoModel[index].check,
|
||||||
width: width*0.6,
|
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,
|
subtitle: outrosModel[index].subtitle,
|
||||||
checkbox:outrosModel[index].check,
|
checkbox:outrosModel[index].check,
|
||||||
width: width*0.6,
|
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(
|
InputWithSubtitle(
|
||||||
controller: PESO,
|
controller: PESO,
|
||||||
subtitle: 'Peso (em Kg - 000,000)',
|
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: '',
|
errorInput: '',
|
||||||
labelInput: 'Peso (em Kg - 000,000)',
|
labelInput: 'Peso (em Kg - 000,000)',
|
||||||
widthInput: width*0.7,
|
widthInput: width*0.7,
|
||||||
widthSubtitle: width*0.7,
|
widthSubtitle: width*0.7,
|
||||||
hintInput: 'Escreva aqui',
|
hintInput: 'Escreva aqui',
|
||||||
mandatory: false,
|
mandatory: true,
|
||||||
enabled: true,
|
enabled: true,
|
||||||
maxLength: 7,
|
maxLength: 7,
|
||||||
textInputType: TextInputType.number,
|
textInputType: TextInputType.number,
|
||||||
onChanged: (v)=>setState((){}),
|
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(
|
InputWithSubtitle(
|
||||||
controller: ALTURA,
|
controller: ALTURA,
|
||||||
subtitle: 'Altura (em metros - 0,00)',
|
subtitle: 'Altura (em metros - 0,00)',
|
||||||
@@ -889,6 +1049,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
textInputType: TextInputType.number,
|
textInputType: TextInputType.number,
|
||||||
onChanged: (v)=>setState((){}),
|
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 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.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.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'
|
publish_to: 'none'
|
||||||
version: 1.0.14+15
|
version: 1.0.15+16
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.2.3 <4.0.0'
|
sdk: '>=3.2.3 <4.0.0'
|
||||||
|
|||||||
Reference in New Issue
Block a user