From 2450a76f4bf9d7cb81e68a4ee1b55e03917e9c40 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Thu, 1 Feb 2024 17:01:08 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20em=20diversos=20pontos=20do=20app=20p?= =?UTF-8?q?ara=20receber=20o=20username,=20e=20ajustar=20para=20exibir=20a?= =?UTF-8?q?penas=20as=20telas=20que=20realmente=20ser=C3=A1=20utilizado=20?= =?UTF-8?q?no=20app.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/src/main/AndroidManifest.xml | 5 +- lib/config/routes.dart | 26 +------ lib/main.dart | 2 +- lib/screens/attendance_list_screen.dart | 6 +- .../configurations/clear_data_screen.dart | 6 +- .../configurations/import_sigtap_screen.dart | 6 +- .../main_procedures_screen.dart | 5 +- lib/screens/configurations/sigtap_json | 45 ------------ ...data_screen.dart => sync_data_screen.dart} | 12 +-- lib/screens/edit_procedures_screen.dart | 8 +- lib/screens/home_screen.dart | 18 +++-- lib/screens/login/login_saved_screen.dart | 66 ++++------------- .../register_citizen_screen.dart | 9 ++- .../register_home_screen.dart | 9 ++- .../register_individual_screen.dart | 9 ++- .../complementary_sheet_screen.dart | 5 +- .../consumption_markers_screen.dart | 5 +- .../eligibility_assessment_screen.dart | 7 +- .../select_service/home_visit_screen.dart | 11 +-- .../select_service/procedures_screen.dart | 7 +- .../select_service/service_dental_screen.dart | 6 +- .../select_service/service_home_screen.dart | 7 +- .../service_individual_screen.dart | 55 ++++++++++++-- lib/widgets/alert_dialog_default.dart | 73 +++++++++++++------ lib/widgets/alert_dialog_settings.dart | 14 ++-- lib/widgets/appbar_default.dart | 4 +- lib/widgets/item_citizen.dart | 6 +- lib/widgets/onbackbutton.dart | 5 +- lib/widgets/screen_dev.dart | 1 - lib/widgets/subtitle_appbar_citizen.dart | 10 ++- pubspec.yaml | 2 +- 31 files changed, 227 insertions(+), 223 deletions(-) delete mode 100644 lib/screens/configurations/sigtap_json rename lib/screens/configurations/{sinc_data_screen.dart => sync_data_screen.dart} (97%) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 69d72cc..16fca9e 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -5,10 +5,11 @@ android:usesCleartextTraffic="true" android:label="RKMAB 2.0 ConectaSUS" android:name="${applicationName}" - android:icon="@mipmap/ic_launcher"> + android:icon="@mipmap/ic_launcher" + android:enableOnBackInvokedCallback="true" + > HomeScreen(), '/login_load': (context) => LoginLoadScreen(), - '/attendance_list': (context) => AttendanceListScreen(), '/about': (context) => AboutScreen(), - '/main_procedures': (context) => MainProceduresScreen(), - '/sinc_data': (context) => SincDataScreen(), - '/clear_data': (context) => ClearDataScreen(), - '/import_sigtap': (context) => ImportSigtapScreen(), - '/edit_procedure': (context) => EditProceduresScreen(), '/splash': (context) => SplashScreen(), - '/service_individual': (context) => ServiceIndividualScreen(), - '/service_dental': (context) => ServiceDentalScreen(), - '/eligibility_assessment': (context) => EligibilityAssessmentScreen(), - '/complementary_sheet': (context) => ComplementarySheetScreen(), - '/consumption_markers': (context) => ConsumptionMarkersScreen(), - '/procedures': (context) => ProceduresScreen(), }; \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 84cb79e..6b7bacc 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -15,7 +15,7 @@ void main() { HttpOverrides.global = new PostHttpOverrides(); runApp(const MyApp()); } - +//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar class MyApp extends StatelessWidget { const MyApp({super.key}); @override diff --git a/lib/screens/attendance_list_screen.dart b/lib/screens/attendance_list_screen.dart index 43fe84d..44be6e6 100644 --- a/lib/screens/attendance_list_screen.dart +++ b/lib/screens/attendance_list_screen.dart @@ -5,7 +5,9 @@ import 'package:rkm/widgets/text_default.dart'; import '../widgets/appbar_default.dart'; class AttendanceListScreen extends StatefulWidget { - const AttendanceListScreen({Key? key}) : super(key: key); + String username; + + AttendanceListScreen({required this.username}); @override State createState() => _AttendanceListScreenState(); @@ -15,7 +17,7 @@ class _AttendanceListScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Lista Atendimentos'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Lista Atendimentos',widget.username), body: Container( decoration: ConstVariable().backgroundGradient, width: double.infinity, diff --git a/lib/screens/configurations/clear_data_screen.dart b/lib/screens/configurations/clear_data_screen.dart index 402ac25..20017b7 100644 --- a/lib/screens/configurations/clear_data_screen.dart +++ b/lib/screens/configurations/clear_data_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/screens/home_screen.dart'; import 'package:rkm/service/db/db_sqlite_sync.dart'; import 'package:rkm/widgets/button_default.dart'; import '../../service/db/db_sqlite_load.dart'; @@ -7,7 +8,8 @@ import '../../config/color_palette.dart'; import '../../widgets/text_default.dart'; class ClearDataScreen extends StatefulWidget { - const ClearDataScreen({Key? key}) : super(key: key); + String username; + ClearDataScreen({Key? key, required this.username}) : super(key: key); @override State createState() => _ClearDataScreenState(); @@ -47,7 +49,7 @@ class _ClearDataScreenState extends State { textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, - onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route route) => false), + onPressed: ()=>Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (Route route) => false), ) ], ), diff --git a/lib/screens/configurations/import_sigtap_screen.dart b/lib/screens/configurations/import_sigtap_screen.dart index b40ebd9..18d78cb 100644 --- a/lib/screens/configurations/import_sigtap_screen.dart +++ b/lib/screens/configurations/import_sigtap_screen.dart @@ -8,7 +8,9 @@ import '../../widgets/button_default.dart'; import '../../widgets/text_default.dart'; class ImportSigtapScreen extends StatefulWidget { - const ImportSigtapScreen({Key? key}) : super(key: key); + String username; + + ImportSigtapScreen({required this.username}); @override State createState() => _ImportSigtapScreenState(); @@ -174,7 +176,7 @@ class _ImportSigtapScreenState extends State { onPressed: (){ Navigator.pushReplacement( context, - MaterialPageRoute(builder: (context) => HomeScreen()), + MaterialPageRoute(builder: (context) => HomeScreen(username: widget.username,)), ); }, title: 'Continuar', diff --git a/lib/screens/configurations/main_procedures_screen.dart b/lib/screens/configurations/main_procedures_screen.dart index 406bc87..d69ccf6 100644 --- a/lib/screens/configurations/main_procedures_screen.dart +++ b/lib/screens/configurations/main_procedures_screen.dart @@ -14,7 +14,8 @@ import '../../widgets/text_default.dart'; import '../../widgets/title_containers.dart'; class MainProceduresScreen extends StatefulWidget { - const MainProceduresScreen({Key? key}) : super(key: key); + String username; + MainProceduresScreen({required this.username}); @override State createState() => _MainProceduresScreenState(); @@ -179,7 +180,7 @@ class _MainProceduresScreenState extends State { double height = MediaQuery.of(context).size.height; return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Iniciais'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Iniciais',widget.username), body: Container( padding: EdgeInsets.all(10), decoration: ConstVariable().backgroundGradient, diff --git a/lib/screens/configurations/sigtap_json b/lib/screens/configurations/sigtap_json deleted file mode 100644 index d7e0fb8..0000000 --- a/lib/screens/configurations/sigtap_json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "competencia":"202303", - "procedimentos":[ - { - "codProcedimento":"0101010010", - "nome":"ATIVIDADE EDUCATIVA \/ ORIENTA\u00c7\u00c3O EM GRUPO NA ATEN\u00c7\u00c3O PRIM\u00c1RIA", - "codGrupo":"01", - "qtdeMax":9999, - "idadeMin":833, - "idadeMax":833, - "sexo":"N" - } - ], - "procedimentosRegistros":[ - { - "codProcedimento":"0101010010", - "codRegistro":"01" - } - ], - "CID":[ - { - "codCID":"A000", - "descCID":"A00.0 Colera dev Vibrio cholerae 01 biot cholerae", - "restSexo":"5" - } - ], - "procedimentosCID":[ - { - "codProcedimento":"0201010046", - "codCID":"C211" - } - ], - "CBO":[ - { - "codCBO":"223208", - "descCBO":"Cirurgi\u00e3o dentista - cl\u00ednico geral" - } - ], - "procedimentosCBO":[ - { - "codProcedimento":"0101010010", - "codCBO":"223208" - } - ] -} \ No newline at end of file diff --git a/lib/screens/configurations/sinc_data_screen.dart b/lib/screens/configurations/sync_data_screen.dart similarity index 97% rename from lib/screens/configurations/sinc_data_screen.dart rename to lib/screens/configurations/sync_data_screen.dart index 3b9b0cb..9563690 100644 --- a/lib/screens/configurations/sinc_data_screen.dart +++ b/lib/screens/configurations/sync_data_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/screens/home_screen.dart'; import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/button_default.dart'; import '../../config/color_palette.dart'; @@ -7,14 +8,15 @@ import '../../service/db/db_sqlite_load.dart'; import '../../service/db/db_sqlite_sync.dart'; import '../../widgets/text_default.dart'; -class SincDataScreen extends StatefulWidget { - const SincDataScreen({Key? key}) : super(key: key); +class SyncDataScreen extends StatefulWidget { + String username; + SyncDataScreen({Key? key,required this.username}) : super(key: key); @override - State createState() => _SincDataScreenState(); + State createState() => _SyncDataScreenState(); } -class _SincDataScreenState extends State { +class _SyncDataScreenState extends State { String mode =''; String urlAPI =''; @@ -285,7 +287,7 @@ class _SincDataScreenState extends State { textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, - onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route route) => false), + onPressed: ()=>Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (Route route) => false), ) ], ), diff --git a/lib/screens/edit_procedures_screen.dart b/lib/screens/edit_procedures_screen.dart index 8fc63c9..47cbdf7 100644 --- a/lib/screens/edit_procedures_screen.dart +++ b/lib/screens/edit_procedures_screen.dart @@ -12,7 +12,9 @@ import '../widgets/subtitle_containers.dart'; import '../widgets/title_containers.dart'; class EditProceduresScreen extends StatefulWidget { - const EditProceduresScreen({Key? key}) : super(key: key); + String username; + + EditProceduresScreen({required this.username}); @override State createState() => _EditProceduresScreenState(); @@ -53,9 +55,9 @@ class _EditProceduresScreenState extends State { double height = MediaQuery.of(context).size.height; return WillPopScope( - onWillPop: ()async => await OnBackButton().onBackButton(context), + onWillPop: ()async => await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados',widget.username), body: Container( decoration: ConstVariable().backgroundGradient, width: width, diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index e254dc2..46eecdc 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:line_icons/line_icons.dart'; import 'package:rkm/controllers/main_controllers.dart'; +import 'package:rkm/screens/attendance_list_screen.dart'; +import 'package:rkm/screens/edit_procedures_screen.dart'; import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart'; import 'package:rkm/config/const_variable.dart'; import 'package:rkm/service/db/db_querys.dart'; @@ -11,7 +13,9 @@ import '../widgets/appbar_default.dart'; import '../widgets/item_citizen.dart'; class HomeScreen extends StatefulWidget { - const HomeScreen({Key? key}) : super(key: key); + String username; + + HomeScreen({required this.username}); @override State createState() => _HomeScreenState(); @@ -88,7 +92,7 @@ class _HomeScreenState extends State { double width = MediaQuery.of(context).size.width; double height = MediaQuery.of(context).size.height; return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Início'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Início',widget.username), body: Container( padding: EdgeInsets.all(10), width: width, @@ -109,16 +113,16 @@ class _HomeScreenState extends State { icon: Icons.person_add, onPressed: ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],)), + MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],username: widget.username,)), ) ), IconButtonDefault( icon: Icons.article, - onPressed: ()=>Navigator.pushNamed(context, '/attendance_list') + onPressed: ()=>Navigator.push(context,MaterialPageRoute(builder:(context) => AttendanceListScreen(username: widget.username,))) ), IconButtonDefault( icon: LineIcons.edit, - onPressed: ()=>Navigator.pushNamed(context, '/edit_procedure') + onPressed: ()=> Navigator.push(context,MaterialPageRoute(builder:(context) => EditProceduresScreen(username: widget.username,))) ), ], ), @@ -137,6 +141,8 @@ class _HomeScreenState extends State { return ItemCitizen( date: date, + dataPatient: showResults[index], + username: widget.username, name: '${showResults[index]['NOME_CIDADAO']}', mother:'${showResults[index]['NOME_MAE']}', numberCNS: '${showResults[index]['CNS']}'=='null'||'${showResults[index]['CNS']}'==''?'999999999999999':'${showResults[index]['CNS']}', @@ -145,7 +151,7 @@ class _HomeScreenState extends State { await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){ Navigator.push( context, - MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,)), + MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)), ); }); }, diff --git a/lib/screens/login/login_saved_screen.dart b/lib/screens/login/login_saved_screen.dart index 59217f4..fa4939f 100644 --- a/lib/screens/login/login_saved_screen.dart +++ b/lib/screens/login/login_saved_screen.dart @@ -30,7 +30,6 @@ class _LoginSavedScreenState extends State { String? now; bool validatorDropDown= false; int contLogo = 0; - bool loading = false; String urlAPI=''; String mode = ''; String nameCityApi = ''; @@ -38,6 +37,8 @@ class _LoginSavedScreenState extends State { int codCity = 0; int codCityIbge = 0; String codState = ''; + String passwordDB = ''; + String userDB = ''; recupDB()async{ await DbSqliteLoad().intialDB().then((db)async{ @@ -46,8 +47,8 @@ class _LoginSavedScreenState extends State { mode = list[0]['MODE']; nameCityApi = list[0]['NAME_CITY_API']; nameCityFront = list[0]['NAME_CITY_FRONT']; - inputUser.text = list[0]['USER']; - inputPassword.text = list[0]['PASSWORD']; + userDB = list[0]['USER']; + passwordDB = list[0]['PASSWORD']; codCity = list[0]['COD_CITY']; codState = list[0]['COD_STATE']; codCityIbge = list[0]['COD_IBGE']; @@ -57,43 +58,17 @@ class _LoginSavedScreenState extends State { checkLogin()async{ if(inputUser.text.isNotEmpty && inputPassword.text.isNotEmpty && inputUser.text.length>3 && inputPassword.text.length>3){ - setState(() { - error = ''; - loading = true; - }); - await ApiDataLoad().apiConect(urlAPI,mode,nameCityApi,inputUser.text).then((response) async { - if(inputUser.text == inputPassword.text || response['bloqueio']==1){ - setState(() { - error = 'Usuário bloqueado/senha incorreta'; - }); - }else if(response['status']==0) { - setState(() { - error = 'Usuário não encontrado'; - }); - }else if(response['status']==1) { - setState((){ - error = ''; - }); - //verificar se a criptografia identificou se a senha está correta - if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ - // print(EncryptPassword().encrypt(inputPassword.text,response['userPass'])); - DbSqliteLoad().updateArgs(mode, inputUser.text, inputPassword.text).then((value){ - setState(() { - loading = false; - }); - int mes = DateTime.now().month; - if(widget.listControl[0]['COMPETENCIA'].toString()=='${DateTime.now().year}${mes<10?'0${mes}':'$mes'}'){ - Navigator.push( - context, - MaterialPageRoute(builder: (context) => HomeScreen()), - ); - }else{ - Navigator.pushNamed(context, '/import_sigtap'); - } - }); - } - } + if(inputUser.text == userDB && inputPassword.text == passwordDB){ + setState(() { + error = ''; }); + Navigator.push(context,MaterialPageRoute(builder: (context) => HomeScreen(username: inputUser.text,))); + }else{ + setState(() { + error = 'Usuário/senha inválido(s)'; + }); + } + }else{ setState(() { error = 'Usuário/senha inválido(s)'; @@ -146,16 +121,7 @@ class _LoginSavedScreenState extends State { mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(), mode == 'desenvolvimento'?Image.asset('assets/images/desenvolvimento.png',width: width*0.4):Container(), SizedBox(height: 10), - loading?Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Image.asset('assets/images/loading.gif'), - SizedBox(height: 10), - TextDefault(text: 'Carregando dados...',color: ColorPalette.black54,fontSize: 20,fontWeigth: FontWeight.bold,) - ], - ), - ):Form( + Form( autovalidateMode: AutovalidateMode.onUserInteraction, child: Container( width: width*0.6, @@ -183,7 +149,7 @@ class _LoginSavedScreenState extends State { ), ), ), - loading?Container():ButtonDefault( + ButtonDefault( onPressed: ()=>checkLogin(), title: 'Entrar', width: width*0.6, diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 5543990..46c9660 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -24,7 +24,8 @@ import '../../widgets/switch_with_subtitle.dart'; import '../../widgets/text_default.dart'; class RegisterCitizenScreen extends StatefulWidget { List listData; - RegisterCitizenScreen({required this.listData}); + String username; + RegisterCitizenScreen({required this.listData, required this.username}); @override State createState() => _RegisterCitizenScreenState(); } @@ -687,16 +688,16 @@ class _RegisterCitizenScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: () async => await OnBackButton().onBackButton(context), + onWillPop: () async => await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão',widget.username), body: Container( height: double.infinity, width: double.infinity, decoration: ConstVariable().backgroundGradient, child: ListView( children: [ - SubtitleAppbarCitizen(title: 1,edit: showTab,listData:widget.listData), + SubtitleAppbarCitizen(title: 1,edit: showTab,listData:widget.listData,username: widget.username), showCheckError?Card( margin: EdgeInsets.all(10), child: Container( diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 0199574..9a59774 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -18,7 +18,8 @@ import '../../widgets/switch_with_subtitle.dart'; import '../../widgets/text_default.dart'; class RegisterHomeScreen extends StatefulWidget { List listData; - RegisterHomeScreen({required this.listData}); + String username; + RegisterHomeScreen({required this.listData, required this.username}); @override State createState() => _RegisterHomeScreenState(); @@ -387,16 +388,16 @@ class _RegisterHomeScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async => await OnBackButton().onBackButton(context), + onWillPop: ()async => await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'), + 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), + SubtitleAppbarCitizen(title: 3,edit: true,listData: widget.listData,username: widget.username), showCheckError?Card( margin: EdgeInsets.all(10), child: Container( diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index cc4d8d4..c4042ec 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -20,7 +20,8 @@ import '../../widgets/subtitle_appbar_citizen.dart'; import '../../widgets/switch_with_subtitle.dart'; class RegisterIndividualScreen extends StatefulWidget { List listData; - RegisterIndividualScreen({required this.listData}); + String username; + RegisterIndividualScreen({required this.listData, required this.username}); @override State createState() => _RegisterIndividualScreenState(); @@ -601,16 +602,16 @@ class _RegisterIndividualScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async=> await OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual',widget.username), body: Container( height: double.infinity, width: double.infinity, decoration: ConstVariable().backgroundGradient, child: ListView( children: [ - SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData), + SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData,username: widget.username), showCheckError?Card( margin: EdgeInsets.all(10), child: Container( diff --git a/lib/screens/select_service/complementary_sheet_screen.dart b/lib/screens/select_service/complementary_sheet_screen.dart index a28b631..0c2026d 100644 --- a/lib/screens/select_service/complementary_sheet_screen.dart +++ b/lib/screens/select_service/complementary_sheet_screen.dart @@ -4,7 +4,8 @@ import 'package:rkm/widgets/appbar_default.dart'; import 'package:rkm/widgets/screen_dev.dart'; class ComplementarySheetScreen extends StatefulWidget { - const ComplementarySheetScreen({Key? key}) : super(key: key); + String username; + ComplementarySheetScreen({required this.username}); @override State createState() => _ComplementarySheetScreenState(); @@ -15,7 +16,7 @@ class _ComplementarySheetScreenState extends State { Widget build(BuildContext context) { return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Ficha Complemetar'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Ficha Complemetar',widget.username), body: ScreenDev(), ); } diff --git a/lib/screens/select_service/consumption_markers_screen.dart b/lib/screens/select_service/consumption_markers_screen.dart index fc08a57..4d9ead1 100644 --- a/lib/screens/select_service/consumption_markers_screen.dart +++ b/lib/screens/select_service/consumption_markers_screen.dart @@ -4,7 +4,8 @@ import '../../widgets/appbar_default.dart'; import '../../widgets/screen_dev.dart'; class ConsumptionMarkersScreen extends StatefulWidget { - const ConsumptionMarkersScreen({Key? key}) : super(key: key); + String username; + ConsumptionMarkersScreen({required this.username}); @override State createState() => _ConsumptionMarkersScreenState(); @@ -14,7 +15,7 @@ class _ConsumptionMarkersScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Marcadores de Consumo'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Marcadores de Consumo',widget.username), body: ScreenDev(), ); } diff --git a/lib/screens/select_service/eligibility_assessment_screen.dart b/lib/screens/select_service/eligibility_assessment_screen.dart index 828b364..b3e2d66 100644 --- a/lib/screens/select_service/eligibility_assessment_screen.dart +++ b/lib/screens/select_service/eligibility_assessment_screen.dart @@ -1,10 +1,11 @@ import 'package:flutter/material.dart'; - import '../../widgets/appbar_default.dart'; import '../../widgets/screen_dev.dart'; class EligibilityAssessmentScreen extends StatefulWidget { - const EligibilityAssessmentScreen({Key? key}) : super(key: key); + String username; + + EligibilityAssessmentScreen({required this.username}); @override State createState() => _EligibilityAssessmentScreenState(); @@ -14,7 +15,7 @@ class _EligibilityAssessmentScreenState extends State createState() => _HomeVisitScreenState(); @@ -107,9 +108,9 @@ class _HomeVisitScreenState extends State { CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS']; }); final PrefService _prefService = PrefService(); - _prefService.readCacheIdUsername('idUsuario').then((value){ + _prefService.readCacheIDUser().then((value){ if(value != null){ - idUsuario = value; + idUsuario = int.parse(value); loadData(); } }); @@ -392,9 +393,9 @@ class _HomeVisitScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async=> await OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Visita Domiciliar'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Visita Domiciliar',widget.username), body: Container( height: double.infinity, width: double.infinity, diff --git a/lib/screens/select_service/procedures_screen.dart b/lib/screens/select_service/procedures_screen.dart index 3c36d8f..e125988 100644 --- a/lib/screens/select_service/procedures_screen.dart +++ b/lib/screens/select_service/procedures_screen.dart @@ -4,7 +4,10 @@ import '../../widgets/appbar_default.dart'; import '../../widgets/screen_dev.dart'; class ProceduresScreen extends StatefulWidget { - const ProceduresScreen({Key? key}) : super(key: key); + + String username; + + ProceduresScreen({required this.username}); @override State createState() => _ProceduresScreenState(); @@ -14,7 +17,7 @@ class _ProceduresScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos',widget.username), body: ScreenDev(), ); } diff --git a/lib/screens/select_service/service_dental_screen.dart b/lib/screens/select_service/service_dental_screen.dart index 6e71b5b..3ee4e35 100644 --- a/lib/screens/select_service/service_dental_screen.dart +++ b/lib/screens/select_service/service_dental_screen.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; - import '../../widgets/appbar_default.dart'; import '../../widgets/screen_dev.dart'; class ServiceDentalScreen extends StatefulWidget { - const ServiceDentalScreen({Key? key}) : super(key: key); + String username; + ServiceDentalScreen({Key? key,required this.username}) : super(key: key); @override State createState() => _ServiceDentalScreenState(); @@ -14,7 +14,7 @@ class _ServiceDentalScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Odontológico'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Odontológico',widget.username), body: ScreenDev(), ); } diff --git a/lib/screens/select_service/service_home_screen.dart b/lib/screens/select_service/service_home_screen.dart index 9a6196b..d4edf3d 100644 --- a/lib/screens/select_service/service_home_screen.dart +++ b/lib/screens/select_service/service_home_screen.dart @@ -25,7 +25,8 @@ import '../../widgets/title_containers.dart'; class ServiceHomeScreen extends StatefulWidget { String name; - ServiceHomeScreen({required this.name}); + String username; + ServiceHomeScreen({required this.name,required this.username}); @override State createState() => _ServiceHomeScreenState(); @@ -314,9 +315,9 @@ class _ServiceHomeScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async=> await OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar',widget.username), body: Container( height: double.infinity, width: double.infinity, diff --git a/lib/screens/select_service/service_individual_screen.dart b/lib/screens/select_service/service_individual_screen.dart index c2a72d5..41483d4 100644 --- a/lib/screens/select_service/service_individual_screen.dart +++ b/lib/screens/select_service/service_individual_screen.dart @@ -2,11 +2,13 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:line_icons/line_icons.dart'; import 'package:rkm/widgets/input_text.dart'; +import 'package:sqflite/sqflite.dart'; import '../../models/check_model.dart'; import '../../config/color_palette.dart'; import '../../config/const_variable.dart'; import '../../models/drop_down_data_model.dart'; import '../../service/db/db_querys.dart'; +import '../../service/db/db_sqlite_load.dart'; import '../../widgets/alert_dialog_default.dart'; import '../../widgets/appbar_default.dart'; import '../../widgets/button_default.dart'; @@ -19,7 +21,11 @@ import '../../widgets/text_default.dart'; import '../../widgets/title_containers.dart'; class ServiceIndividualScreen extends StatefulWidget { - const ServiceIndividualScreen({Key? key}) : super(key: key); + +String username; +var dataPatient; + +ServiceIndividualScreen({required this.username, required this.dataPatient}); @override State createState() => _ServiceIndividualScreenState(); @@ -66,8 +72,9 @@ class _ServiceIndividualScreenState extends State { bool switchUnderObservation = false; bool selectExamsRequested = false; bool selectExamsAvalible = false; - var userResponsibleRegisterController = TextEditingController(text: 'ADMINISTRADOR'); - var userUnitController = TextEditingController(text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO'); + bool mandatory = false; + var userResponsibleRegisterController = TextEditingController(); + var userUnitController = TextEditingController(); var weigthController = TextEditingController(); var heightController = TextEditingController(); var cephalicPerimeterController = TextEditingController(); @@ -104,9 +111,20 @@ class _ServiceIndividualScreenState extends State { }); } + loadUnidade()async{ + Database db = await DbSqliteLoad().intialDB(); + List list = await db.rawQuery("SELECT * FROM CONTROLE_INTERNO"); + List listArg = await db.rawQuery("SELECT * FROM PROFISSIONAIS WHERE USERNAME = '${widget.username}'"); + // print(listArg); + userUnitController.text = list[0]['NOME_UNIDADE']; + userResponsibleRegisterController.text =listArg[0]['NOME_PROFISSIONAL']; + setState(() {}); + } + @override void initState() { super.initState(); + loadUnidade(); loadLists(); } @@ -117,9 +135,9 @@ class _ServiceIndividualScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async=> await OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username), child: Scaffold( - appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual'), + appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual',widget.username), body: Container( height: double.infinity, width: double.infinity, @@ -234,6 +252,7 @@ class _ServiceIndividualScreenState extends State { controller: weigthController, colorBorder: ColorPalette.white, onChanged: (v)=>setState((){}), + mandatory: mandatory, ), InputWithSubtitle( subtitle: 'Altura (em metros - 0,00)', @@ -245,6 +264,7 @@ class _ServiceIndividualScreenState extends State { controller: heightController, colorBorder: ColorPalette.white, onChanged: (v)=>setState((){}), + mandatory: mandatory, ), InputWithSubtitle( subtitle: 'Perímetro cefálico (em centímetros - 000,00)', @@ -256,6 +276,7 @@ class _ServiceIndividualScreenState extends State { controller: cephalicPerimeterController, colorBorder: ColorPalette.white, onChanged: (v)=>setState((){}), + mandatory: mandatory, ), SwitchWithSubtitle( width: width*0.7, @@ -271,7 +292,7 @@ class _ServiceIndividualScreenState extends State { select: selectBreastfeeding, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectBreastfeeding = value!), + onChanged:widget.dataPatient['SEXO']=='M'?null: (value)=>setState(()=>selectBreastfeeding = value!), colorBorder: ColorPalette.white, ), ], @@ -865,7 +886,12 @@ class _ServiceIndividualScreenState extends State { child: Column( children: [ ButtonDefault( - onPressed: (){}, + onPressed: (){ + if(heightController.text.isEmpty || heightController.text.isEmpty || cephalicPerimeterController.text.isEmpty){ + mandatory = true; + setState(() {}); + } + }, title: 'Salvar', borderColor: ColorPalette.appBar, background: ColorPalette.appBar, @@ -879,11 +905,24 @@ class _ServiceIndividualScreenState extends State { background: ColorPalette.blackButton, textColor: ColorPalette.white, width: double.infinity, - ) + ), ], ), ), ), + mandatory?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(), ], ), ), diff --git a/lib/widgets/alert_dialog_default.dart b/lib/widgets/alert_dialog_default.dart index f24e8fa..23c7bf6 100644 --- a/lib/widgets/alert_dialog_default.dart +++ b/lib/widgets/alert_dialog_default.dart @@ -1,7 +1,13 @@ import 'package:flutter/material.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/screens/select_service/complementary_sheet_screen.dart'; +import 'package:rkm/screens/select_service/consumption_markers_screen.dart'; +import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart'; +import 'package:rkm/screens/select_service/procedures_screen.dart'; +import 'package:rkm/screens/select_service/service_dental_screen.dart'; import 'package:rkm/screens/select_service/service_home_screen.dart'; +import 'package:rkm/screens/select_service/service_individual_screen.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/switch_with_subtitle.dart'; import 'package:rkm/widgets/text_default.dart'; @@ -78,29 +84,19 @@ class AlertDialogDefault { ); } - alertSelect(BuildContext context,String name) { - + alertSelect(BuildContext context,String name,String username, var dataPatient) { + //Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar List list = [ 'Atendimento Domiciliar', - 'Atendimento Individual', - 'Atendimento Odontológico', - 'Avaliação de Elegibilidade', - 'Ficha Complementar', - 'Marcadores de Consumo', - 'Procedimentos', + // 'Atendimento Individual', + // 'Atendimento Odontológico', + // 'Avaliação de Elegibilidade', + // 'Ficha Complementar', + // 'Marcadores de Consumo', + // 'Procedimentos', 'Visita domiciliar', ]; - List routes = [ - '/service_home', - '/service_individual', - '/service_dental', - '/eligibility_assessment', - '/complementary_sheet', - '/consumption_markers', - '/procedures', - '/home_visit', - ]; double width = MediaQuery.of(context).size.width; double height = MediaQuery.of(context).size.height; @@ -125,18 +121,51 @@ class AlertDialogDefault { return ListTile( onTap: (){ + Navigator.pop(context); if(index==0){ Navigator.push( context, - MaterialPageRoute(builder:(context) => ServiceHomeScreen(name: name,)), + MaterialPageRoute(builder:(context) => ServiceHomeScreen(name: name,username: username,)), + ); + }else if(index == 1){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,username: username,)), + ); + // Navigator.push( + // context, + // MaterialPageRoute(builder:(context) => ServiceIndividualScreen(username: username,dataPatient: dataPatient,)), + // ); + }else if(index == 2){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => ServiceDentalScreen(username: username,)), + ); + }else if(index == 3){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => EligibilityAssessmentScreen(username: username,)), + ); + }else if(index == 4){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => ComplementarySheetScreen(username: username,)), + ); + }else if(index == 5){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => ConsumptionMarkersScreen(username: username,)), + ); + }else if(index == 6){ + Navigator.push( + context, + MaterialPageRoute(builder:(context) => ProceduresScreen(username: username,)), ); }else if (index==7){ Navigator.push( context, - MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,)), + MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,username: username,)), ); - }else{ - Navigator.pushNamed(context, routes[index]); } }, tileColor: rest==0?ColorPalette.white:ColorPalette.appBar, diff --git a/lib/widgets/alert_dialog_settings.dart b/lib/widgets/alert_dialog_settings.dart index 2a832c9..ea55d95 100644 --- a/lib/widgets/alert_dialog_settings.dart +++ b/lib/widgets/alert_dialog_settings.dart @@ -1,12 +1,16 @@ import 'package:flutter/material.dart'; import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/screens/configurations/clear_data_screen.dart'; +import 'package:rkm/screens/configurations/import_sigtap_screen.dart'; +import 'package:rkm/screens/configurations/main_procedures_screen.dart'; +import 'package:rkm/screens/configurations/sync_data_screen.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/item_alert_settings.dart'; import 'package:rkm/widgets/text_default.dart'; class AlertDialogSettings { @override - alert(BuildContext context) { + alert(BuildContext context, String username) { return showDialog( context: context, builder: (context){ @@ -21,7 +25,7 @@ class AlertDialogSettings { ItemAlertSettings( onTap: (){ Navigator.pop(context); - Navigator.pushNamed(context, '/import_sigtap'); + Navigator.push(context,MaterialPageRoute(builder: (context) => ImportSigtapScreen(username: username,))); }, title: 'Importar SIGTAP', body: 'Atulizar as informações do SIGTAP no aplicativo\n' @@ -31,7 +35,7 @@ class AlertDialogSettings { ItemAlertSettings( onTap: (){ Navigator.pop(context); - Navigator.pushNamed(context, '/clear_data'); + Navigator.push(context,MaterialPageRoute(builder:(context) => ClearDataScreen(username: username,))); }, title: 'Limpar Dados', body: 'Apaga todos os dados do Aplicativo.\n' @@ -43,7 +47,7 @@ class AlertDialogSettings { ItemAlertSettings( onTap: (){ Navigator.pop(context); - Navigator.pushNamed(context, '/main_procedures'); + Navigator.push(context,MaterialPageRoute(builder:(context) => MainProceduresScreen(username:username,))); }, title: 'Definir Procedimentos Iniciais', body: 'Define os Procedimentos iniciais que deverão ser\n' @@ -62,7 +66,7 @@ class AlertDialogSettings { ItemAlertSettings( onTap: (){ Navigator.pop(context); - Navigator.pushNamed(context, '/sinc_data'); + Navigator.push(context,MaterialPageRoute(builder:(context) => SyncDataScreen(username: username,))); }, title: 'Sincronia de Envio', body: 'Efetua a Sincronia de Envio levandoas informações\n' diff --git a/lib/widgets/appbar_default.dart b/lib/widgets/appbar_default.dart index 58d30b5..199dcd3 100644 --- a/lib/widgets/appbar_default.dart +++ b/lib/widgets/appbar_default.dart @@ -8,7 +8,7 @@ import 'icon_button_default.dart'; class AppBarDefault{ @override - PreferredSize appbar(BuildContext context,String title) { + PreferredSize appbar(BuildContext context,String title, String username) { return PreferredSize( preferredSize: Size.fromHeight(50), child: AppBar( @@ -19,7 +19,7 @@ class AppBarDefault{ IconButtonDefault( icon: Icons.settings, color: ColorPalette.white, - onPressed: ()=>AlertDialogSettings().alert(context) + onPressed: ()=>AlertDialogSettings().alert(context,username) ), IconButtonDefault( icon: Icons.logout, diff --git a/lib/widgets/item_citizen.dart b/lib/widgets/item_citizen.dart index 651038d..ddb0028 100644 --- a/lib/widgets/item_citizen.dart +++ b/lib/widgets/item_citizen.dart @@ -13,6 +13,8 @@ class ItemCitizen extends StatelessWidget { String numberCNS; String numberMedicalRecord; var onTap; + String username; + var dataPatient; ItemCitizen({ required this.name, @@ -21,6 +23,8 @@ class ItemCitizen extends StatelessWidget { required this.numberCNS, required this.numberMedicalRecord, required this.onTap, + required this.username, + required this.dataPatient }); @override @@ -35,7 +39,7 @@ class ItemCitizen extends StatelessWidget { subtitle: TextDefault(text: '$numberCNS - $numberMedicalRecord - $date - $mother',fontSize: 13,color: Colors.black54), trailing: IconButton( icon: Icon(LineIcons.clipboard,size: 35,), - onPressed: ()=>AlertDialogDefault().alertSelect(context,name), + onPressed: ()=>AlertDialogDefault().alertSelect(context,name,username,dataPatient), ), onTap: onTap, ), diff --git a/lib/widgets/onbackbutton.dart b/lib/widgets/onbackbutton.dart index 52ecd57..6ec6091 100644 --- a/lib/widgets/onbackbutton.dart +++ b/lib/widgets/onbackbutton.dart @@ -1,10 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:rkm/screens/home_screen.dart'; import 'package:rkm/widgets/text_default.dart'; import '../config/color_palette.dart'; import 'button_default.dart'; class OnBackButton{ - onBackButton(context)async { + onBackButton(context,String username)async { await showDialog( context: context, builder: (context){ @@ -13,7 +14,7 @@ class OnBackButton{ content: TextDefault(text: 'Deseja sair e descartar as alterações?',color: ColorPalette.black54,), actions: [ ButtonDefault( - onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (route) => false), + onPressed: ()=>Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder:(context)=> HomeScreen(username: username,)), (route) => false), title: 'Sim', background: ColorPalette.appBar, borderColor: ColorPalette.appBar, diff --git a/lib/widgets/screen_dev.dart b/lib/widgets/screen_dev.dart index 631dd05..a3959a9 100644 --- a/lib/widgets/screen_dev.dart +++ b/lib/widgets/screen_dev.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; - import '../config/const_variable.dart'; class ScreenDev extends StatefulWidget { diff --git a/lib/widgets/subtitle_appbar_citizen.dart b/lib/widgets/subtitle_appbar_citizen.dart index 71e6c36..23714b6 100644 --- a/lib/widgets/subtitle_appbar_citizen.dart +++ b/lib/widgets/subtitle_appbar_citizen.dart @@ -9,11 +9,13 @@ class SubtitleAppbarCitizen extends StatelessWidget { int title; bool edit; List listData; + String username; SubtitleAppbarCitizen({ required this.title, this.edit = false, - required this.listData + required this.listData, + required this.username }); @override @@ -31,7 +33,7 @@ class SubtitleAppbarCitizen extends StatelessWidget { TextButton.icon( onPressed:edit? ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: this.listData,)), + MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: this.listData,username: this.username,)), ):null, icon: Icon(Icons.person,color: title==1?Colors.black:ColorPalette.gray,), label: TextDefault(text: 'Cadastro Cidadão',fontSize: 14,color: title==1?Colors.black:ColorPalette.gray,) @@ -39,7 +41,7 @@ class SubtitleAppbarCitizen extends StatelessWidget { TextButton.icon( onPressed:edit? ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterIndividualScreen(listData: this.listData,)), + MaterialPageRoute(builder: (context) => RegisterIndividualScreen(listData: this.listData,username: this.username)), ):null, icon: Icon(Icons.assignment_outlined,color: title==2?Colors.black:ColorPalette.gray,), label: TextDefault(text: 'Cadastro Individual',fontSize: 14,color: title==2?Colors.black:ColorPalette.gray,) @@ -47,7 +49,7 @@ class SubtitleAppbarCitizen extends StatelessWidget { TextButton.icon( onPressed:edit? ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterHomeScreen(listData: this.listData,)), + MaterialPageRoute(builder: (context) => RegisterHomeScreen(listData: this.listData,username: this.username)), ):null, icon: Icon(Icons.home,color: title==3?Colors.black:ColorPalette.gray,), label: TextDefault(text: 'Cadastro Domiciliar',fontSize: 14,color: title==3?Colors.black:ColorPalette.gray,) diff --git a/pubspec.yaml b/pubspec.yaml index 4bb83f4..0af7192 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: rkm description: RKM AB 2.0. - +#Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar publish_to: 'none' version: 1.0.6+5