versão 1.0.17+18 AJUSTE PARA NÃO DEIXAR ESPAÇO DIGITAÇÃO DO LOGIN E CORREÇÃO DO SCROOL DA LISTA DE ATENDIMENTOS. 19/09/2024
This commit is contained in:
@@ -9,8 +9,12 @@ class MainControllers{
|
|||||||
var senha = senhaDigitada.toUpperCase();
|
var senha = senhaDigitada.toUpperCase();
|
||||||
// Faz a criptografia da senha inserida
|
// Faz a criptografia da senha inserida
|
||||||
String senhaMD5 = grHashString(GRCryptoType.md5, senha);
|
String senhaMD5 = grHashString(GRCryptoType.md5, senha);
|
||||||
|
print('senhaMD5');
|
||||||
|
print(senhaMD5);
|
||||||
// Retira o tipo (1, 2 ou 3) da senha do Usuário
|
// Retira o tipo (1, 2 ou 3) da senha do Usuário
|
||||||
int tipo = int.parse(senhaUsuario.substring(0, 1));
|
int tipo = int.parse(senhaUsuario.substring(0, 1));
|
||||||
|
|
||||||
|
print('tipo $tipo');
|
||||||
// Define a possição inicial da quebra da senha
|
// Define a possição inicial da quebra da senha
|
||||||
int posicaoInicialMin = 0;
|
int posicaoInicialMin = 0;
|
||||||
int posicaoInicialMax= 0;
|
int posicaoInicialMax= 0;
|
||||||
@@ -35,10 +39,17 @@ class MainControllers{
|
|||||||
}
|
}
|
||||||
|
|
||||||
String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax);
|
String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax);
|
||||||
|
print('inicio');
|
||||||
|
print(inicio);
|
||||||
String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax);
|
String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax);
|
||||||
|
|
||||||
|
print('fim');
|
||||||
|
print(fim);
|
||||||
|
|
||||||
// Faz a criptografia e concatena ela com sha1 e md5
|
// Faz a criptografia e concatena ela com sha1 e md5
|
||||||
String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim);
|
String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim);
|
||||||
|
print('senhaCriptogradafa');
|
||||||
|
print(senhaCriptogradafa);
|
||||||
// Retorna a senha criptografada
|
// Retorna a senha criptografada
|
||||||
return senhaCriptogradafa;
|
return senhaCriptogradafa;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,301 +54,199 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
double altura = MediaQuery.of(context).size.height;
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBarDefault().appbar(context, 'RKM AB - Lista Atendimentos',widget.username),
|
appBar: AppBarDefault().appbar(context, 'RKM AB - Lista Atendimentos',widget.username),
|
||||||
body: Container(
|
body: Container(
|
||||||
decoration: ConstVariable().backgroundGradient,
|
decoration: ConstVariable().backgroundGradient,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: altura,
|
||||||
child: ListView(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
padding: ConstVariable().marginHightInput,
|
width: double.infinity,
|
||||||
color: ColorPalette.white,
|
padding: ConstVariable().marginHightInput,
|
||||||
child: Column(
|
color: ColorPalette.white,
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
TextDefault(
|
||||||
|
text: 'Atendimentos Domiciliares: ${atendimentoDomiciliarLista.length} | Visitas Domiciliares: ${visitaDomiciliarLista.length}',
|
||||||
|
fontWeigth: FontWeight.bold,
|
||||||
|
color: ColorPalette.black54,
|
||||||
|
fontSize: 18,
|
||||||
|
),
|
||||||
|
TextDefault(
|
||||||
|
text: 'Cadastros Cidadãos Realizados / Atualizados : ${cadastroCidadaoLista.length + cadastrosIndividuais.length}',
|
||||||
|
fontWeigth: FontWeight.bold,
|
||||||
|
color: ColorPalette.black54,
|
||||||
|
fontSize: 18,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: altura*0.88,
|
||||||
|
child: ListView(
|
||||||
children: [
|
children: [
|
||||||
TextDefault(
|
atendimentoDomiciliarLista.isEmpty?Container():Container(
|
||||||
text: 'Atendimentos Domiciliares: ${atendimentoDomiciliarLista.length} | Visitas Domiciliares: ${visitaDomiciliarLista.length}',
|
height: atendimentoDomiciliarLista.length*80,
|
||||||
fontWeigth: FontWeight.bold,
|
child: ListView.builder(
|
||||||
color: ColorPalette.black54,
|
physics: NeverScrollableScrollPhysics(),
|
||||||
fontSize: 18,
|
itemCount: atendimentoDomiciliarLista.length,
|
||||||
),
|
itemBuilder: (context,i_ad){
|
||||||
TextDefault(
|
|
||||||
text: 'Cadastros Cidadãos Realizados / Atualizados : ${cadastroCidadaoLista.length + cadastrosIndividuais.length}',
|
|
||||||
fontWeigth: FontWeight.bold,
|
|
||||||
color: ColorPalette.black54,
|
|
||||||
fontSize: 18,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: atendimentoDomiciliarLista.length*80,
|
|
||||||
child: ListView.builder(
|
|
||||||
itemCount: atendimentoDomiciliarLista.length,
|
|
||||||
itemBuilder: (context,i){
|
|
||||||
|
|
||||||
List dataList = atendimentoDomiciliarLista[i]['DATA'].toString().split('-');
|
List dataList = atendimentoDomiciliarLista[i_ad]['DATA'].toString().split('-');
|
||||||
String data = '${dataList[2]}/${dataList[1]}/${dataList[0]}';
|
String data = '${dataList[2]}/${dataList[1]}/${dataList[0]}';
|
||||||
|
|
||||||
return Card(
|
return Card(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
height: 70,
|
|
||||||
width: 50,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0XFF666666),
|
|
||||||
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
|
||||||
),
|
|
||||||
alignment: Alignment.center,
|
|
||||||
child: TextDefault(text: 'A.D.',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10,),
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
TextDefault(text:atendimentoDomiciliarLista[i]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
TextDefault(text:'DATA ATENDIMENTO: $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
SizedBox(width: 20,),
|
|
||||||
TextDefault(text:'SINCRONIZADO : ${atendimentoDomiciliarLista[i]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Spacer(),
|
|
||||||
atendimentoDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
|
||||||
icon: Container(
|
|
||||||
padding: EdgeInsets.all(8.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0XFF990000),
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
|
||||||
),
|
|
||||||
onPressed: ()async{
|
|
||||||
await showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (context){
|
|
||||||
return AlertDialog(
|
|
||||||
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
|
||||||
content: TextDefault(text: 'Deseja apagar esse "Atendimento Domiciliar" ?',color: ColorPalette.black54,),
|
|
||||||
actions: [
|
|
||||||
ButtonDefault(
|
|
||||||
onPressed: ()async{
|
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
|
||||||
await db.delete(
|
|
||||||
'ATENDS_DOM_COMPL',
|
|
||||||
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
|
||||||
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
|
||||||
);
|
|
||||||
await db.delete(
|
|
||||||
'ATENDS_DOM_PROC',
|
|
||||||
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
|
||||||
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
|
||||||
);
|
|
||||||
await db.delete(
|
|
||||||
'ATENDIMENTOS_DOMICILIARES',
|
|
||||||
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
|
||||||
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
|
||||||
);
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
getData();
|
|
||||||
},
|
|
||||||
title: 'Sim',
|
|
||||||
background: ColorPalette.appBar,
|
|
||||||
borderColor: ColorPalette.appBar,
|
|
||||||
textColor: ColorPalette.white,
|
|
||||||
),
|
|
||||||
ButtonDefault(
|
|
||||||
onPressed: ()=>Navigator.of(context).pop(false),
|
|
||||||
title: 'Não',
|
|
||||||
background: ColorPalette.white,
|
|
||||||
borderColor: ColorPalette.white,
|
|
||||||
textColor: ColorPalette.black54,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
},
|
|
||||||
):Container(),
|
|
||||||
atendimentoDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
|
||||||
icon: Container(
|
|
||||||
padding: EdgeInsets.all(8.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.orangeAccent,
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
|
||||||
),
|
|
||||||
onPressed: (){
|
|
||||||
Navigator.push(
|
|
||||||
context,
|
|
||||||
MaterialPageRoute(builder:(context) => AtendimentoDomiciliarTela(name: atendimentoDomiciliarLista[i]['NOME_CIDADAO'],username: widget.username,dados: atendimentoDomiciliarLista[i],)),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
):Container(),
|
|
||||||
],
|
|
||||||
));
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: visitaDomiciliarLista.length*80,
|
|
||||||
child: ListView.builder(
|
|
||||||
itemCount: visitaDomiciliarLista.length,
|
|
||||||
itemBuilder: (context,i){
|
|
||||||
|
|
||||||
//print(visitHome[i]);
|
|
||||||
List dataList = visitaDomiciliarLista[i]['DT_ATENDIMENTO'].toString().split('-');
|
|
||||||
String data = '${dataList[2]}/${dataList[1]}/${dataList[0]}';
|
|
||||||
|
|
||||||
return Card(
|
|
||||||
color: Colors.white,
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
height: 70,
|
|
||||||
width: 50,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0XFF006633),
|
|
||||||
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
|
||||||
),
|
|
||||||
alignment: Alignment.center,
|
|
||||||
child: TextDefault(text: 'V.D.',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10,),
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
TextDefault(text:visitaDomiciliarLista[i]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
TextDefault(text:'DATA ATENDIMENTO: $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
SizedBox(width: 20,),
|
|
||||||
TextDefault(text:'SINCRONIZADO : ${visitaDomiciliarLista[i]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Spacer(),
|
|
||||||
visitaDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
|
||||||
icon: Container(
|
|
||||||
padding: EdgeInsets.all(8.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0XFF990000),
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
|
||||||
),
|
|
||||||
onPressed: ()async{
|
|
||||||
await showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (context){
|
|
||||||
return AlertDialog(
|
|
||||||
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
|
||||||
content: TextDefault(text: 'Deseja apagar essa "Visita Domiciliar" ?',color: ColorPalette.black54,),
|
|
||||||
actions: [
|
|
||||||
ButtonDefault(
|
|
||||||
onPressed: ()async{
|
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
|
||||||
await db.delete(
|
|
||||||
'VISITAS_DOMICILIARES_COMPL',
|
|
||||||
where: 'ID_VISITA_DOMICILIAR = ?',
|
|
||||||
whereArgs: [visitaDomiciliarLista[i]['ID_VISITA_DOMICILIAR']],
|
|
||||||
);
|
|
||||||
await db.delete(
|
|
||||||
'VISITAS_DOMICILIARES',
|
|
||||||
where: 'ID_VISITA_DOMICILIAR = ?',
|
|
||||||
whereArgs: [visitaDomiciliarLista[i]['ID_VISITA_DOMICILIAR']],
|
|
||||||
);
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
getData();
|
|
||||||
},
|
|
||||||
title: 'Sim',
|
|
||||||
background: ColorPalette.appBar,
|
|
||||||
borderColor: ColorPalette.appBar,
|
|
||||||
textColor: ColorPalette.white,
|
|
||||||
),
|
|
||||||
ButtonDefault(
|
|
||||||
onPressed: ()=>Navigator.of(context).pop(false),
|
|
||||||
title: 'Não',
|
|
||||||
background: ColorPalette.white,
|
|
||||||
borderColor: ColorPalette.white,
|
|
||||||
textColor: ColorPalette.black54,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
},
|
|
||||||
):Container(),
|
|
||||||
visitaDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
|
||||||
icon: Container(
|
|
||||||
padding: EdgeInsets.all(8.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.orangeAccent,
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
|
||||||
),
|
|
||||||
onPressed: (){
|
|
||||||
Navigator.push(
|
|
||||||
context,
|
|
||||||
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: visitaDomiciliarLista[i]['NOME_CIDADAO'],username: widget.username,dados: visitaDomiciliarLista[i],)),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
):Container(),
|
|
||||||
],
|
|
||||||
));
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: cadastroCidadaoLista.length*80,
|
|
||||||
child: ListView.builder(
|
|
||||||
itemCount: cadastroCidadaoLista.length,
|
|
||||||
itemBuilder: (context,i){
|
|
||||||
|
|
||||||
List dataList1 = cadastroCidadaoLista[i]['DT_HORA_CADASTRO'].toString().split(' ');
|
|
||||||
List dataList2 = dataList1[0].split('-');
|
|
||||||
String data = '${dataList2[2]}/${dataList2[1]}/${dataList2[0]}';
|
|
||||||
|
|
||||||
return Card(
|
|
||||||
color: Colors.white,
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
height: 70,
|
|
||||||
width: 50,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0XFF990000),
|
|
||||||
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
|
||||||
),
|
|
||||||
alignment: Alignment.center,
|
|
||||||
child: TextDefault(text: 'C',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10,),
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
children: [
|
||||||
TextDefault(text:cadastroCidadaoLista[i]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
Container(
|
||||||
Row(
|
height: 70,
|
||||||
|
width: 50,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0XFF666666),
|
||||||
|
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
||||||
|
),
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: TextDefault(text: 'A.D.',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
||||||
|
),
|
||||||
|
SizedBox(width: 10,),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextDefault(text:'DATA CADASTRO : $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
TextDefault(text:atendimentoDomiciliarLista[i_ad]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
SizedBox(width: 20,),
|
Row(
|
||||||
TextDefault(text:'SINCRONIZADO : ${cadastroCidadaoLista[i]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
children: [
|
||||||
|
TextDefault(text:'DATA ATENDIMENTO: $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
SizedBox(width: 20,),
|
||||||
|
TextDefault(text:'SINCRONIZADO : ${atendimentoDomiciliarLista[i_ad]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Spacer(),
|
||||||
|
atendimentoDomiciliarLista[i_ad]['SINCRONIZADO']!='S'?IconButton(
|
||||||
|
icon: Container(
|
||||||
|
padding: EdgeInsets.all(8.0),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0XFF990000),
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
||||||
|
),
|
||||||
|
onPressed: ()async{
|
||||||
|
await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context){
|
||||||
|
return AlertDialog(
|
||||||
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
|
content: TextDefault(text: 'Deseja apagar esse "Atendimento Domiciliar" ?',color: ColorPalette.black54,),
|
||||||
|
actions: [
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'ATENDS_DOM_COMPL',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i_ad]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'ATENDS_DOM_PROC',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i_ad]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'ATENDIMENTOS_DOMICILIARES',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i_ad]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
getData();
|
||||||
|
},
|
||||||
|
title: 'Sim',
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()=>Navigator.of(context).pop(false),
|
||||||
|
title: 'Não',
|
||||||
|
background: ColorPalette.white,
|
||||||
|
borderColor: ColorPalette.white,
|
||||||
|
textColor: ColorPalette.black54,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
):Container(),
|
||||||
|
atendimentoDomiciliarLista[i_ad]['SINCRONIZADO']!='S'?IconButton(
|
||||||
|
icon: Container(
|
||||||
|
padding: EdgeInsets.all(8.0),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.orangeAccent,
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
||||||
|
),
|
||||||
|
onPressed: (){
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(builder:(context) => AtendimentoDomiciliarTela(name: atendimentoDomiciliarLista[i_ad]['NOME_CIDADAO'],username: widget.username,dados: atendimentoDomiciliarLista[i_ad],)),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
):Container(),
|
||||||
],
|
],
|
||||||
),
|
));
|
||||||
Spacer(),
|
},
|
||||||
cadastroCidadaoLista[i]['ORIGEM']=='C' && cadastroCidadaoLista[i]['SINCRONIZADO']=='N'
|
),
|
||||||
?IconButton(
|
),
|
||||||
|
visitaDomiciliarLista.isEmpty?Container():Container(
|
||||||
|
height: visitaDomiciliarLista.length*80,
|
||||||
|
child: ListView.builder(
|
||||||
|
physics: NeverScrollableScrollPhysics(),
|
||||||
|
itemCount: visitaDomiciliarLista.length,
|
||||||
|
itemBuilder: (context,i_vd){
|
||||||
|
|
||||||
|
//print(visitHome[i]);
|
||||||
|
List dataList = visitaDomiciliarLista[i_vd]['DT_ATENDIMENTO'].toString().split('-');
|
||||||
|
String data = '${dataList[2]}/${dataList[1]}/${dataList[0]}';
|
||||||
|
|
||||||
|
return Card(
|
||||||
|
color: Colors.white,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: 70,
|
||||||
|
width: 50,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0XFF006633),
|
||||||
|
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
||||||
|
),
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: TextDefault(text: 'V.D.',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
||||||
|
),
|
||||||
|
SizedBox(width: 10,),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TextDefault(text:visitaDomiciliarLista[i_vd]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
TextDefault(text:'DATA ATENDIMENTO: $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
SizedBox(width: 20,),
|
||||||
|
TextDefault(text:'SINCRONIZADO : ${visitaDomiciliarLista[i_vd]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
|
visitaDomiciliarLista[i_vd]['SINCRONIZADO']!='S'?IconButton(
|
||||||
icon: Container(
|
icon: Container(
|
||||||
padding: EdgeInsets.all(8.0),
|
padding: EdgeInsets.all(8.0),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
@@ -363,15 +261,20 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
builder: (context){
|
builder: (context){
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
content: TextDefault(text: 'Deseja apagar esse cidadão?',color: ColorPalette.black54,),
|
content: TextDefault(text: 'Deseja apagar essa "Visita Domiciliar" ?',color: ColorPalette.black54,),
|
||||||
actions: [
|
actions: [
|
||||||
ButtonDefault(
|
ButtonDefault(
|
||||||
onPressed: ()async{
|
onPressed: ()async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
await db.delete(
|
await db.delete(
|
||||||
'CIDADAOS', // Substitua pelo nome da sua tabela
|
'VISITAS_DOMICILIARES_COMPL',
|
||||||
where: 'ID_CIDADAO = ?',
|
where: 'ID_VISITA_DOMICILIAR = ?',
|
||||||
whereArgs: [cadastroCidadaoLista[i]['ID_CIDADAO']],
|
whereArgs: [visitaDomiciliarLista[i_vd]['ID_VISITA_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'VISITAS_DOMICILIARES',
|
||||||
|
where: 'ID_VISITA_DOMICILIAR = ?',
|
||||||
|
whereArgs: [visitaDomiciliarLista[i_vd]['ID_VISITA_DOMICILIAR']],
|
||||||
);
|
);
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
getData();
|
getData();
|
||||||
@@ -393,30 +296,141 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
)
|
):Container(),
|
||||||
:Container(),
|
visitaDomiciliarLista[i_vd]['SINCRONIZADO']!='S'?IconButton(
|
||||||
cadastroCidadaoLista[i]['SINCRONIZADO']=='N'?IconButton(
|
icon: Container(
|
||||||
icon: Container(
|
padding: EdgeInsets.all(8.0),
|
||||||
padding: EdgeInsets.all(8.0),
|
decoration: BoxDecoration(
|
||||||
decoration: BoxDecoration(
|
color: Colors.orangeAccent,
|
||||||
color: Colors.orangeAccent,
|
borderRadius: BorderRadius.circular(50),
|
||||||
borderRadius: BorderRadius.circular(50),
|
),
|
||||||
),
|
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
||||||
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
),
|
||||||
),
|
onPressed: (){
|
||||||
onPressed: ()async {
|
Navigator.push(
|
||||||
await DBQuerys().buscaCidadao(cadastroCidadaoLista[i]['NOME_CIDADAO']).then((list){
|
context,
|
||||||
// print(showResults[index]['CD_USUARIO_SUS']);
|
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: visitaDomiciliarLista[i_vd]['NOME_CIDADAO'],username: widget.username,dados: visitaDomiciliarLista[i_vd],)),
|
||||||
Navigator.push(
|
);
|
||||||
context,
|
},
|
||||||
MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)),
|
):Container(),
|
||||||
);
|
],
|
||||||
});
|
));
|
||||||
},
|
},
|
||||||
):Container(),
|
),
|
||||||
],
|
),
|
||||||
));
|
cadastroCidadaoLista.isEmpty?Container():Container(
|
||||||
},
|
height: cadastroCidadaoLista.length*80,
|
||||||
|
child: ListView.builder(
|
||||||
|
physics: NeverScrollableScrollPhysics(),
|
||||||
|
itemCount: cadastroCidadaoLista.length,
|
||||||
|
itemBuilder: (context,i_c){
|
||||||
|
|
||||||
|
List dataList1 = cadastroCidadaoLista[i_c]['DT_HORA_CADASTRO'].toString().split(' ');
|
||||||
|
List dataList2 = dataList1[0].split('-');
|
||||||
|
String data = '${dataList2[2]}/${dataList2[1]}/${dataList2[0]}';
|
||||||
|
|
||||||
|
return Card(
|
||||||
|
color: Colors.white,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: 70,
|
||||||
|
width: 50,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0XFF990000),
|
||||||
|
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(10),topLeft: Radius.circular(10))
|
||||||
|
),
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: TextDefault(text: 'C',color: Colors.white,fontSize: 22,fontWeigth: FontWeight.bold,),
|
||||||
|
),
|
||||||
|
SizedBox(width: 10,),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TextDefault(text:cadastroCidadaoLista[i_c]['NOME_CIDADAO'].toString(),color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
TextDefault(text:'DATA CADASTRO : $data',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
SizedBox(width: 20,),
|
||||||
|
TextDefault(text:'SINCRONIZADO : ${cadastroCidadaoLista[i_c]['SINCRONIZADO']}',color: ColorPalette.black54,fontWeigth: FontWeight.w700,),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
|
cadastroCidadaoLista[i_c]['ORIGEM']=='C' && cadastroCidadaoLista[i_c]['SINCRONIZADO']=='N'
|
||||||
|
?IconButton(
|
||||||
|
icon: Container(
|
||||||
|
padding: EdgeInsets.all(8.0),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0XFF990000),
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
||||||
|
),
|
||||||
|
onPressed: ()async{
|
||||||
|
await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context){
|
||||||
|
return AlertDialog(
|
||||||
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
|
content: TextDefault(text: 'Deseja apagar esse cidadão?',color: ColorPalette.black54,),
|
||||||
|
actions: [
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'CIDADAOS', // Substitua pelo nome da sua tabela
|
||||||
|
where: 'ID_CIDADAO = ?',
|
||||||
|
whereArgs: [cadastroCidadaoLista[i_c]['ID_CIDADAO']],
|
||||||
|
);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
getData();
|
||||||
|
},
|
||||||
|
title: 'Sim',
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()=>Navigator.of(context).pop(false),
|
||||||
|
title: 'Não',
|
||||||
|
background: ColorPalette.white,
|
||||||
|
borderColor: ColorPalette.white,
|
||||||
|
textColor: ColorPalette.black54,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
:Container(),
|
||||||
|
cadastroCidadaoLista[i_c]['SINCRONIZADO']=='N'?IconButton(
|
||||||
|
icon: Container(
|
||||||
|
padding: EdgeInsets.all(8.0),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.orangeAccent,
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
||||||
|
),
|
||||||
|
onPressed: ()async {
|
||||||
|
await DBQuerys().buscaCidadao(cadastroCidadaoLista[i_c]['NOME_CIDADAO']).then((list){
|
||||||
|
// print(showResults[index]['CD_USUARIO_SUS']);
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
):Container(),
|
||||||
|
],
|
||||||
|
));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:rkm/controllers/main_controllers.dart';
|
import 'package:rkm/controllers/main_controllers.dart';
|
||||||
import 'package:rkm/screens/home_screen.dart';
|
import 'package:rkm/screens/home_screen.dart';
|
||||||
import 'package:rkm/service/api/url_api_const.dart';
|
import 'package:rkm/service/api/url_api_const.dart';
|
||||||
@@ -42,6 +43,7 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
|
|
||||||
final PrefService _prefService = PrefService();
|
final PrefService _prefService = PrefService();
|
||||||
checkLogin()async{
|
checkLogin()async{
|
||||||
|
|
||||||
if(inputUser.text.isNotEmpty && inputPassword.text.isNotEmpty && inputUser.text.length>3 && inputPassword.text.length>3){
|
if(inputUser.text.isNotEmpty && inputPassword.text.isNotEmpty && inputUser.text.length>3 && inputPassword.text.length>3){
|
||||||
if(selectCity!=null){
|
if(selectCity!=null){
|
||||||
_prefService.createCacheModel(inputUser.text,inputPassword.text,selectCity!,mode);
|
_prefService.createCacheModel(inputUser.text,inputPassword.text,selectCity!,mode);
|
||||||
@@ -61,7 +63,8 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
urlAPI = 'http://${inputIP.text}:${inputPort.text}/api/atb/';
|
urlAPI = 'http://${inputIP.text}:${inputPort.text}/api/atb/';
|
||||||
}
|
}
|
||||||
await ApiDataLoad().apiConect(urlAPI,mode,nameCityApi,inputUser.text).then((response) async {
|
await ApiDataLoad().apiConect(urlAPI,mode,nameCityApi,inputUser.text).then((response) async {
|
||||||
// print("erre : "+response.toString());
|
print('response');
|
||||||
|
print(response);
|
||||||
if(response == 'Erro' || response.toString() == 'Error: -902 - I/O error during "open" operation for file "/bases/conectasus/extrema/SISTEMA.FDB" Error while trying to open file No such file or directory'){
|
if(response == 'Erro' || response.toString() == 'Error: -902 - I/O error during "open" operation for file "/bases/conectasus/extrema/SISTEMA.FDB" Error while trying to open file No such file or directory'){
|
||||||
setState(() {
|
setState(() {
|
||||||
loading = false;
|
loading = false;
|
||||||
@@ -70,7 +73,11 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
}else if(inputUser.text == inputPassword.text || response['bloqueio']==1){
|
}else if(inputUser.text == inputPassword.text || response['bloqueio']==1){
|
||||||
setState(() {
|
setState(() {
|
||||||
loading = false;
|
loading = false;
|
||||||
error = 'Usuário bloqueado/usuário e/ou senha incorreta';
|
if( response['bloqueio']==1){
|
||||||
|
error = 'Usuário bloqueado/usuário e/ou senha incorreta';
|
||||||
|
}else if(inputUser.text == inputPassword.text){
|
||||||
|
error = 'Usuário e senha não podem ser idênticas';
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}else if(response['status']==0) {
|
}else if(response['status']==0) {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -78,14 +85,14 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
error = 'Usuário não encontrado';
|
error = 'Usuário não encontrado';
|
||||||
});
|
});
|
||||||
}else if(response['status']==1) {
|
}else if(response['status']==1) {
|
||||||
// print('aqui 1');
|
print('aqui 1');
|
||||||
// print(response);
|
print(response);
|
||||||
setState((){
|
setState((){
|
||||||
error = '';
|
error = '';
|
||||||
});
|
});
|
||||||
//verificar se a criptografia identificou se a senha está correta
|
//verificar se a criptografia identificou se a senha está correta
|
||||||
|
print('chegou');
|
||||||
if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||||
// 'print'(EncryptPassword().encrypt(inputPassword.text,response['userPass']));
|
|
||||||
setState(() {
|
setState(() {
|
||||||
loading = false;
|
loading = false;
|
||||||
});
|
});
|
||||||
@@ -199,6 +206,9 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
width: width*0.6,
|
width: width*0.6,
|
||||||
colorBorder: Colors.white,
|
colorBorder: Colors.white,
|
||||||
onChanged: (v)=>setState((){}),
|
onChanged: (v)=>setState((){}),
|
||||||
|
inputFormatters: [
|
||||||
|
FilteringTextInputFormatter.deny(RegExp(r'\s')),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
TitleInput(title:'Senha'),
|
TitleInput(title:'Senha'),
|
||||||
InputText(
|
InputText(
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:rkm/screens/home_screen.dart';
|
import 'package:rkm/screens/home_screen.dart';
|
||||||
import 'package:rkm/screens/login/sync_login_screen.dart';
|
import 'package:rkm/screens/login/sync_login_screen.dart';
|
||||||
@@ -141,6 +142,9 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
|
|||||||
width: width*0.6,
|
width: width*0.6,
|
||||||
colorBorder: Colors.white,
|
colorBorder: Colors.white,
|
||||||
onChanged: (v)=>setState((){}),
|
onChanged: (v)=>setState((){}),
|
||||||
|
inputFormatters: [
|
||||||
|
FilteringTextInputFormatter.deny(RegExp(r'\s')),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
TitleInput(title:'Senha'),
|
TitleInput(title:'Senha'),
|
||||||
InputText(
|
InputText(
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:rkm/screens/sync_init_screen.dart';
|
import 'package:rkm/screens/sync_init_screen.dart';
|
||||||
import 'package:rkm/config/color_palette.dart';
|
import 'package:rkm/config/color_palette.dart';
|
||||||
import 'package:rkm/config/const_variable.dart';
|
import 'package:rkm/config/const_variable.dart';
|
||||||
@@ -235,6 +236,9 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
width: width*0.6,
|
width: width*0.6,
|
||||||
colorBorder: Colors.white,
|
colorBorder: Colors.white,
|
||||||
onChanged: (v)=>setState((){}),
|
onChanged: (v)=>setState((){}),
|
||||||
|
inputFormatters: [
|
||||||
|
FilteringTextInputFormatter.deny(RegExp(r'\s')),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
TitleInput(title:'Senha'),
|
TitleInput(title:'Senha'),
|
||||||
InputText(
|
InputText(
|
||||||
|
|||||||
@@ -634,9 +634,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
selectSubdivisionCOD = widget.listData[0]['CLASSIFICACAO_SUB']=='null'?0:widget.listData[0]['CLASSIFICACAO_SUB'];
|
selectSubdivisionCOD = widget.listData[0]['CLASSIFICACAO_SUB']=='null'?0:widget.listData[0]['CLASSIFICACAO_SUB'];
|
||||||
}
|
}
|
||||||
numberFamilyController.text = widget.listData[0]['NUM_FAMILIA'].toString();
|
numberFamilyController.text = widget.listData[0]['NUM_FAMILIA'].toString();
|
||||||
|
|
||||||
if(widget.listData[0]['ID_PAIS_RESID']!=0 && widget.listData[0]['ID_PAIS_RESID']!=null){
|
if(widget.listData[0]['ID_PAIS_RESID']!=0 && widget.listData[0]['ID_PAIS_RESID']!=null){
|
||||||
for(int i = 0; ConstVariable().paises.length > i;i++){
|
for(int i = 0; ConstVariable().paises.length > i;i++){
|
||||||
if(ConstVariable().paises[i].ID_PAIS_RESID == widget.listData[0]['ID_PAIS_RESID']){
|
if(ConstVariable().paises[i].ID_PAIS_RESID == widget.listData[0]['ID_PAIS_RESID']){
|
||||||
|
print('ID_PAIS_RESID');
|
||||||
|
print(widget.listData[0]['ID_PAIS_RESID']);
|
||||||
|
selectPaisResidencia = ConstVariable().paises[i].PAIS;
|
||||||
selectCountry = ConstVariable().paises[i];
|
selectCountry = ConstVariable().paises[i];
|
||||||
// print(selectCountry!.ID_PAIS_RESID);
|
// print(selectCountry!.ID_PAIS_RESID);
|
||||||
// print(selectCountry!.PAIS);
|
// print(selectCountry!.PAIS);
|
||||||
@@ -1368,12 +1372,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
DropdownWithSubtitle(
|
DropdownWithSubtitle(
|
||||||
subtitle: 'Pais de Residência',
|
subtitle: 'País de Residência',
|
||||||
select: selectPaisResidencia,
|
select: selectPaisResidencia,
|
||||||
widthSubtitle: width*0.6,
|
widthSubtitle: width*0.6,
|
||||||
widthDropdown: width*0.69,
|
widthDropdown: width*0.69,
|
||||||
widthContainerDropdown: width*0.6,
|
widthContainerDropdown: width*0.6,
|
||||||
hintDropdown: 'Pais de Residência',
|
hintDropdown: 'País de Residência',
|
||||||
onChanged:selectClassification!='OUTRO MUNICIPIO'?null:(value){
|
onChanged:selectClassification!='OUTRO MUNICIPIO'?null:(value){
|
||||||
setState(() {
|
setState(() {
|
||||||
selectPaisResidencia = value;
|
selectPaisResidencia = value;
|
||||||
@@ -1956,7 +1960,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
subtitle: 'RG',
|
subtitle: 'RG',
|
||||||
errorInput: 'Campo Obrigatório',
|
errorInput: 'Campo Obrigatório',
|
||||||
labelInput: 'RG',
|
labelInput: 'RG',
|
||||||
maxLength: 8,
|
maxLength: 9,
|
||||||
widthInput: width*0.7,
|
widthInput: width*0.7,
|
||||||
widthSubtitle: width*0.7,
|
widthSubtitle: width*0.7,
|
||||||
hintInput: 'Escreva aqui',
|
hintInput: 'Escreva aqui',
|
||||||
|
|||||||
@@ -12,9 +12,10 @@ description: RKM AB 2.0.
|
|||||||
#versão 1.0.15+16 AJUSTE DAS RESTRIÇÕES DE VISITAS PERIODICAS, ENVIO DE PESO E ALTURA E DO LOADING. 30/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
|
||||||
#versão 1.0.15+16 AJUSTE DOS CODIGOS, ENVIO DE PESO E ALTURA E SINCRONIZADO QUE NAO EXIBIA. 02/09/2024
|
#versão 1.0.15+16 AJUSTE DOS CODIGOS, ENVIO DE PESO E ALTURA E SINCRONIZADO QUE NAO EXIBIA. 02/09/2024
|
||||||
#versão 1.0.16+17 AJUSTE DA COMPETENCIA. 10/09/2024
|
#versão 1.0.16+17 AJUSTE DA COMPETENCIA. 10/09/2024
|
||||||
|
#versão 1.0.17+18 AJUSTE PARA NÃO DEIXAR ESPAÇO DIGITAÇÃO DO LOGIN E CORREÇÃO DO SCROOL DA LISTA DE ATENDIMENTOS. 19/09/2024
|
||||||
|
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
version: 1.0.16+17
|
version: 1.0.17+18
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.2.3 <4.0.0'
|
sdk: '>=3.2.3 <4.0.0'
|
||||||
|
|||||||
Reference in New Issue
Block a user