ajustes em diversos pontos do app para receber o username, e ajustar para exibir apenas as telas que realmente será utilizado no app.

This commit is contained in:
Reginaldo
2024-02-01 17:01:08 -03:00
parent cfdfb316f8
commit 2450a76f4b
31 changed files with 227 additions and 223 deletions

View File

@@ -5,10 +5,11 @@
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
android:label="RKMAB 2.0 ConectaSUS" android:label="RKMAB 2.0 ConectaSUS"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher"
android:enableOnBackInvokedCallback="true"
>
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:enableOnBackInvokedCallback="true"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:theme="@style/LaunchTheme" android:theme="@style/LaunchTheme"

View File

@@ -1,35 +1,11 @@
import 'package:rkm/screens/configurations/about_screen.dart'; import 'package:rkm/screens/configurations/about_screen.dart';
import 'package:rkm/screens/attendance_list_screen.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart';
import 'package:rkm/screens/splash_screen.dart'; import 'package:rkm/screens/splash_screen.dart';
import '../screens/configurations/clear_data_screen.dart'; import '../screens/configurations/clear_data_screen.dart';
import '../screens/edit_procedures_screen.dart';
import '../screens/configurations/import_sigtap_screen.dart';
import '../screens/login/login_load_screen.dart'; import '../screens/login/login_load_screen.dart';
import '../screens/configurations/main_procedures_screen.dart'; import '../screens/configurations/sync_data_screen.dart';
import '../screens/select_service/complementary_sheet_screen.dart';
import '../screens/select_service/consumption_markers_screen.dart';
import '../screens/select_service/procedures_screen.dart';
import '../screens/select_service/service_dental_screen.dart';
import '../screens/select_service/service_individual_screen.dart';
import '../screens/configurations/sinc_data_screen.dart';
var routes = { var routes = {
'/home': (context) => HomeScreen(),
'/login_load': (context) => LoginLoadScreen(), '/login_load': (context) => LoginLoadScreen(),
'/attendance_list': (context) => AttendanceListScreen(),
'/about': (context) => AboutScreen(), '/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(), '/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(),
}; };

View File

@@ -15,7 +15,7 @@ void main() {
HttpOverrides.global = new PostHttpOverrides(); HttpOverrides.global = new PostHttpOverrides();
runApp(const MyApp()); runApp(const MyApp());
} }
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({super.key}); const MyApp({super.key});
@override @override

View File

@@ -5,7 +5,9 @@ import 'package:rkm/widgets/text_default.dart';
import '../widgets/appbar_default.dart'; import '../widgets/appbar_default.dart';
class AttendanceListScreen extends StatefulWidget { class AttendanceListScreen extends StatefulWidget {
const AttendanceListScreen({Key? key}) : super(key: key); String username;
AttendanceListScreen({required this.username});
@override @override
State<AttendanceListScreen> createState() => _AttendanceListScreenState(); State<AttendanceListScreen> createState() => _AttendanceListScreenState();
@@ -15,7 +17,7 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Lista Atendimentos'), 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,

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/service/db/db_sqlite_sync.dart'; import 'package:rkm/service/db/db_sqlite_sync.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
import '../../service/db/db_sqlite_load.dart'; import '../../service/db/db_sqlite_load.dart';
@@ -7,7 +8,8 @@ import '../../config/color_palette.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
class ClearDataScreen extends StatefulWidget { class ClearDataScreen extends StatefulWidget {
const ClearDataScreen({Key? key}) : super(key: key); String username;
ClearDataScreen({Key? key, required this.username}) : super(key: key);
@override @override
State<ClearDataScreen> createState() => _ClearDataScreenState(); State<ClearDataScreen> createState() => _ClearDataScreenState();
@@ -47,7 +49,7 @@ class _ClearDataScreenState extends State<ClearDataScreen> {
textColor: ColorPalette.white, textColor: ColorPalette.white,
background: ColorPalette.appBar, background: ColorPalette.appBar,
borderColor: ColorPalette.appBar, borderColor: ColorPalette.appBar,
onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route<dynamic> route) => false), onPressed: ()=>Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (Route<dynamic> route) => false),
) )
], ],
), ),

View File

@@ -8,7 +8,9 @@ import '../../widgets/button_default.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
class ImportSigtapScreen extends StatefulWidget { class ImportSigtapScreen extends StatefulWidget {
const ImportSigtapScreen({Key? key}) : super(key: key); String username;
ImportSigtapScreen({required this.username});
@override @override
State<ImportSigtapScreen> createState() => _ImportSigtapScreenState(); State<ImportSigtapScreen> createState() => _ImportSigtapScreenState();
@@ -174,7 +176,7 @@ class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
onPressed: (){ onPressed: (){
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
MaterialPageRoute(builder: (context) => HomeScreen()), MaterialPageRoute(builder: (context) => HomeScreen(username: widget.username,)),
); );
}, },
title: 'Continuar', title: 'Continuar',

View File

@@ -14,7 +14,8 @@ import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart'; import '../../widgets/title_containers.dart';
class MainProceduresScreen extends StatefulWidget { class MainProceduresScreen extends StatefulWidget {
const MainProceduresScreen({Key? key}) : super(key: key); String username;
MainProceduresScreen({required this.username});
@override @override
State<MainProceduresScreen> createState() => _MainProceduresScreenState(); State<MainProceduresScreen> createState() => _MainProceduresScreenState();
@@ -179,7 +180,7 @@ class _MainProceduresScreenState extends State<MainProceduresScreen> {
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Iniciais'), appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Iniciais',widget.username),
body: Container( body: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
decoration: ConstVariable().backgroundGradient, decoration: ConstVariable().backgroundGradient,

View File

@@ -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"
}
]
}

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/service/db/db_querys.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
import '../../config/color_palette.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 '../../service/db/db_sqlite_sync.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
class SincDataScreen extends StatefulWidget { class SyncDataScreen extends StatefulWidget {
const SincDataScreen({Key? key}) : super(key: key); String username;
SyncDataScreen({Key? key,required this.username}) : super(key: key);
@override @override
State<SincDataScreen> createState() => _SincDataScreenState(); State<SyncDataScreen> createState() => _SyncDataScreenState();
} }
class _SincDataScreenState extends State<SincDataScreen> { class _SyncDataScreenState extends State<SyncDataScreen> {
String mode =''; String mode ='';
String urlAPI =''; String urlAPI ='';
@@ -285,7 +287,7 @@ class _SincDataScreenState extends State<SincDataScreen> {
textColor: ColorPalette.white, textColor: ColorPalette.white,
background: ColorPalette.appBar, background: ColorPalette.appBar,
borderColor: ColorPalette.appBar, borderColor: ColorPalette.appBar,
onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route<dynamic> route) => false), onPressed: ()=>Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (Route<dynamic> route) => false),
) )
], ],
), ),

View File

@@ -12,7 +12,9 @@ import '../widgets/subtitle_containers.dart';
import '../widgets/title_containers.dart'; import '../widgets/title_containers.dart';
class EditProceduresScreen extends StatefulWidget { class EditProceduresScreen extends StatefulWidget {
const EditProceduresScreen({Key? key}) : super(key: key); String username;
EditProceduresScreen({required this.username});
@override @override
State<EditProceduresScreen> createState() => _EditProceduresScreenState(); State<EditProceduresScreen> createState() => _EditProceduresScreenState();
@@ -53,9 +55,9 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
return WillPopScope( return WillPopScope(
onWillPop: ()async => await OnBackButton().onBackButton(context), onWillPop: ()async => await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados'), appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados',widget.username),
body: Container( body: Container(
decoration: ConstVariable().backgroundGradient, decoration: ConstVariable().backgroundGradient,
width: width, width: width,

View File

@@ -1,6 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:line_icons/line_icons.dart'; import 'package:line_icons/line_icons.dart';
import 'package:rkm/controllers/main_controllers.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/screens/registers_citizen/register_citizen_screen.dart';
import 'package:rkm/config/const_variable.dart'; import 'package:rkm/config/const_variable.dart';
import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/service/db/db_querys.dart';
@@ -11,7 +13,9 @@ import '../widgets/appbar_default.dart';
import '../widgets/item_citizen.dart'; import '../widgets/item_citizen.dart';
class HomeScreen extends StatefulWidget { class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key); String username;
HomeScreen({required this.username});
@override @override
State<HomeScreen> createState() => _HomeScreenState(); State<HomeScreen> createState() => _HomeScreenState();
@@ -88,7 +92,7 @@ class _HomeScreenState extends State<HomeScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Início'), appBar: AppBarDefault().appbar(context, 'RKM AB - Início',widget.username),
body: Container( body: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
width: width, width: width,
@@ -109,16 +113,16 @@ class _HomeScreenState extends State<HomeScreen> {
icon: Icons.person_add, icon: Icons.person_add,
onPressed: ()=> Navigator.push( onPressed: ()=> Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],)), MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],username: widget.username,)),
) )
), ),
IconButtonDefault( IconButtonDefault(
icon: Icons.article, icon: Icons.article,
onPressed: ()=>Navigator.pushNamed(context, '/attendance_list') onPressed: ()=>Navigator.push(context,MaterialPageRoute(builder:(context) => AttendanceListScreen(username: widget.username,)))
), ),
IconButtonDefault( IconButtonDefault(
icon: LineIcons.edit, 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<HomeScreen> {
return ItemCitizen( return ItemCitizen(
date: date, date: date,
dataPatient: showResults[index],
username: widget.username,
name: '${showResults[index]['NOME_CIDADAO']}', name: '${showResults[index]['NOME_CIDADAO']}',
mother:'${showResults[index]['NOME_MAE']}', mother:'${showResults[index]['NOME_MAE']}',
numberCNS: '${showResults[index]['CNS']}'=='null'||'${showResults[index]['CNS']}'==''?'999999999999999':'${showResults[index]['CNS']}', numberCNS: '${showResults[index]['CNS']}'=='null'||'${showResults[index]['CNS']}'==''?'999999999999999':'${showResults[index]['CNS']}',
@@ -145,7 +151,7 @@ class _HomeScreenState extends State<HomeScreen> {
await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){ await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,)), MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)),
); );
}); });
}, },

View File

@@ -30,7 +30,6 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
String? now; String? now;
bool validatorDropDown= false; bool validatorDropDown= false;
int contLogo = 0; int contLogo = 0;
bool loading = false;
String urlAPI=''; String urlAPI='';
String mode = ''; String mode = '';
String nameCityApi = ''; String nameCityApi = '';
@@ -38,6 +37,8 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
int codCity = 0; int codCity = 0;
int codCityIbge = 0; int codCityIbge = 0;
String codState = ''; String codState = '';
String passwordDB = '';
String userDB = '';
recupDB()async{ recupDB()async{
await DbSqliteLoad().intialDB().then((db)async{ await DbSqliteLoad().intialDB().then((db)async{
@@ -46,8 +47,8 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
mode = list[0]['MODE']; mode = list[0]['MODE'];
nameCityApi = list[0]['NAME_CITY_API']; nameCityApi = list[0]['NAME_CITY_API'];
nameCityFront = list[0]['NAME_CITY_FRONT']; nameCityFront = list[0]['NAME_CITY_FRONT'];
inputUser.text = list[0]['USER']; userDB = list[0]['USER'];
inputPassword.text = list[0]['PASSWORD']; passwordDB = list[0]['PASSWORD'];
codCity = list[0]['COD_CITY']; codCity = list[0]['COD_CITY'];
codState = list[0]['COD_STATE']; codState = list[0]['COD_STATE'];
codCityIbge = list[0]['COD_IBGE']; codCityIbge = list[0]['COD_IBGE'];
@@ -57,43 +58,17 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
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){
setState(() { if(inputUser.text == userDB && inputPassword.text == passwordDB){
error = ''; setState(() {
loading = true; error = '';
});
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');
}
});
}
}
}); });
Navigator.push(context,MaterialPageRoute(builder: (context) => HomeScreen(username: inputUser.text,)));
}else{
setState(() {
error = 'Usuário/senha inválido(s)';
});
}
}else{ }else{
setState(() { setState(() {
error = 'Usuário/senha inválido(s)'; error = 'Usuário/senha inválido(s)';
@@ -146,16 +121,7 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(), 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(), mode == 'desenvolvimento'?Image.asset('assets/images/desenvolvimento.png',width: width*0.4):Container(),
SizedBox(height: 10), SizedBox(height: 10),
loading?Center( Form(
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(
autovalidateMode: AutovalidateMode.onUserInteraction, autovalidateMode: AutovalidateMode.onUserInteraction,
child: Container( child: Container(
width: width*0.6, width: width*0.6,
@@ -183,7 +149,7 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
), ),
), ),
), ),
loading?Container():ButtonDefault( ButtonDefault(
onPressed: ()=>checkLogin(), onPressed: ()=>checkLogin(),
title: 'Entrar', title: 'Entrar',
width: width*0.6, width: width*0.6,

View File

@@ -24,7 +24,8 @@ import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
class RegisterCitizenScreen extends StatefulWidget { class RegisterCitizenScreen extends StatefulWidget {
List listData; List listData;
RegisterCitizenScreen({required this.listData}); String username;
RegisterCitizenScreen({required this.listData, required this.username});
@override @override
State<RegisterCitizenScreen> createState() => _RegisterCitizenScreenState(); State<RegisterCitizenScreen> createState() => _RegisterCitizenScreenState();
} }
@@ -687,16 +688,16 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: () async => await OnBackButton().onBackButton(context), onWillPop: () async => await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão'), appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,
decoration: ConstVariable().backgroundGradient, decoration: ConstVariable().backgroundGradient,
child: ListView( child: ListView(
children: [ children: [
SubtitleAppbarCitizen(title: 1,edit: showTab,listData:widget.listData), SubtitleAppbarCitizen(title: 1,edit: showTab,listData:widget.listData,username: widget.username),
showCheckError?Card( showCheckError?Card(
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),
child: Container( child: Container(

View File

@@ -18,7 +18,8 @@ import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
class RegisterHomeScreen extends StatefulWidget { class RegisterHomeScreen extends StatefulWidget {
List listData; List listData;
RegisterHomeScreen({required this.listData}); String username;
RegisterHomeScreen({required this.listData, required this.username});
@override @override
State<RegisterHomeScreen> createState() => _RegisterHomeScreenState(); State<RegisterHomeScreen> createState() => _RegisterHomeScreenState();
@@ -387,16 +388,16 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()async => await OnBackButton().onBackButton(context), onWillPop: ()async => await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,
decoration: ConstVariable().backgroundGradient, decoration: ConstVariable().backgroundGradient,
child: ListView( child: ListView(
children: [ children: [
SubtitleAppbarCitizen(title: 3,edit: true,listData: widget.listData), SubtitleAppbarCitizen(title: 3,edit: true,listData: widget.listData,username: widget.username),
showCheckError?Card( showCheckError?Card(
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),
child: Container( child: Container(

View File

@@ -20,7 +20,8 @@ import '../../widgets/subtitle_appbar_citizen.dart';
import '../../widgets/switch_with_subtitle.dart'; import '../../widgets/switch_with_subtitle.dart';
class RegisterIndividualScreen extends StatefulWidget { class RegisterIndividualScreen extends StatefulWidget {
List listData; List listData;
RegisterIndividualScreen({required this.listData}); String username;
RegisterIndividualScreen({required this.listData, required this.username});
@override @override
State<RegisterIndividualScreen> createState() => _RegisterIndividualScreenState(); State<RegisterIndividualScreen> createState() => _RegisterIndividualScreenState();
@@ -601,16 +602,16 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()async=> await OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual'), appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,
decoration: ConstVariable().backgroundGradient, decoration: ConstVariable().backgroundGradient,
child: ListView( child: ListView(
children: [ children: [
SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData), SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData,username: widget.username),
showCheckError?Card( showCheckError?Card(
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),
child: Container( child: Container(

View File

@@ -4,7 +4,8 @@ import 'package:rkm/widgets/appbar_default.dart';
import 'package:rkm/widgets/screen_dev.dart'; import 'package:rkm/widgets/screen_dev.dart';
class ComplementarySheetScreen extends StatefulWidget { class ComplementarySheetScreen extends StatefulWidget {
const ComplementarySheetScreen({Key? key}) : super(key: key); String username;
ComplementarySheetScreen({required this.username});
@override @override
State<ComplementarySheetScreen> createState() => _ComplementarySheetScreenState(); State<ComplementarySheetScreen> createState() => _ComplementarySheetScreenState();
@@ -15,7 +16,7 @@ class _ComplementarySheetScreenState extends State<ComplementarySheetScreen> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Ficha Complemetar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Ficha Complemetar',widget.username),
body: ScreenDev(), body: ScreenDev(),
); );
} }

View File

@@ -4,7 +4,8 @@ import '../../widgets/appbar_default.dart';
import '../../widgets/screen_dev.dart'; import '../../widgets/screen_dev.dart';
class ConsumptionMarkersScreen extends StatefulWidget { class ConsumptionMarkersScreen extends StatefulWidget {
const ConsumptionMarkersScreen({Key? key}) : super(key: key); String username;
ConsumptionMarkersScreen({required this.username});
@override @override
State<ConsumptionMarkersScreen> createState() => _ConsumptionMarkersScreenState(); State<ConsumptionMarkersScreen> createState() => _ConsumptionMarkersScreenState();
@@ -14,7 +15,7 @@ class _ConsumptionMarkersScreenState extends State<ConsumptionMarkersScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Marcadores de Consumo'), appBar: AppBarDefault().appbar(context, 'RKM AB - Marcadores de Consumo',widget.username),
body: ScreenDev(), body: ScreenDev(),
); );
} }

View File

@@ -1,10 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../widgets/appbar_default.dart'; import '../../widgets/appbar_default.dart';
import '../../widgets/screen_dev.dart'; import '../../widgets/screen_dev.dart';
class EligibilityAssessmentScreen extends StatefulWidget { class EligibilityAssessmentScreen extends StatefulWidget {
const EligibilityAssessmentScreen({Key? key}) : super(key: key); String username;
EligibilityAssessmentScreen({required this.username});
@override @override
State<EligibilityAssessmentScreen> createState() => _EligibilityAssessmentScreenState(); State<EligibilityAssessmentScreen> createState() => _EligibilityAssessmentScreenState();
@@ -14,7 +15,7 @@ class _EligibilityAssessmentScreenState extends State<EligibilityAssessmentScree
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Avaliação de Elegibilidade'), appBar: AppBarDefault().appbar(context, 'RKM AB - Avaliação de Elegibilidade',widget.username),
body: ScreenDev(), body: ScreenDev(),
); );
} }

View File

@@ -23,7 +23,8 @@ import '../../widgets/title_containers.dart';
class HomeVisitScreen extends StatefulWidget { class HomeVisitScreen extends StatefulWidget {
String name; String name;
HomeVisitScreen({required this.name}); String username;
HomeVisitScreen({required this.name, required this.username});
@override @override
State<HomeVisitScreen> createState() => _HomeVisitScreenState(); State<HomeVisitScreen> createState() => _HomeVisitScreenState();
@@ -107,9 +108,9 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS']; CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
}); });
final PrefService _prefService = PrefService(); final PrefService _prefService = PrefService();
_prefService.readCacheIdUsername('idUsuario').then((value){ _prefService.readCacheIDUser().then((value){
if(value != null){ if(value != null){
idUsuario = value; idUsuario = int.parse(value);
loadData(); loadData();
} }
}); });
@@ -392,9 +393,9 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()async=> await OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Visita Domiciliar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Visita Domiciliar',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,

View File

@@ -4,7 +4,10 @@ import '../../widgets/appbar_default.dart';
import '../../widgets/screen_dev.dart'; import '../../widgets/screen_dev.dart';
class ProceduresScreen extends StatefulWidget { class ProceduresScreen extends StatefulWidget {
const ProceduresScreen({Key? key}) : super(key: key);
String username;
ProceduresScreen({required this.username});
@override @override
State<ProceduresScreen> createState() => _ProceduresScreenState(); State<ProceduresScreen> createState() => _ProceduresScreenState();
@@ -14,7 +17,7 @@ class _ProceduresScreenState extends State<ProceduresScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos'), appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos',widget.username),
body: ScreenDev(), body: ScreenDev(),
); );
} }

View File

@@ -1,10 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../widgets/appbar_default.dart'; import '../../widgets/appbar_default.dart';
import '../../widgets/screen_dev.dart'; import '../../widgets/screen_dev.dart';
class ServiceDentalScreen extends StatefulWidget { class ServiceDentalScreen extends StatefulWidget {
const ServiceDentalScreen({Key? key}) : super(key: key); String username;
ServiceDentalScreen({Key? key,required this.username}) : super(key: key);
@override @override
State<ServiceDentalScreen> createState() => _ServiceDentalScreenState(); State<ServiceDentalScreen> createState() => _ServiceDentalScreenState();
@@ -14,7 +14,7 @@ class _ServiceDentalScreenState extends State<ServiceDentalScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Odontológico'), appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Odontológico',widget.username),
body: ScreenDev(), body: ScreenDev(),
); );
} }

View File

@@ -25,7 +25,8 @@ import '../../widgets/title_containers.dart';
class ServiceHomeScreen extends StatefulWidget { class ServiceHomeScreen extends StatefulWidget {
String name; String name;
ServiceHomeScreen({required this.name}); String username;
ServiceHomeScreen({required this.name,required this.username});
@override @override
State<ServiceHomeScreen> createState() => _ServiceHomeScreenState(); State<ServiceHomeScreen> createState() => _ServiceHomeScreenState();
@@ -314,9 +315,9 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()async=> await OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,

View File

@@ -2,11 +2,13 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:line_icons/line_icons.dart'; import 'package:line_icons/line_icons.dart';
import 'package:rkm/widgets/input_text.dart'; import 'package:rkm/widgets/input_text.dart';
import 'package:sqflite/sqflite.dart';
import '../../models/check_model.dart'; import '../../models/check_model.dart';
import '../../config/color_palette.dart'; import '../../config/color_palette.dart';
import '../../config/const_variable.dart'; import '../../config/const_variable.dart';
import '../../models/drop_down_data_model.dart'; import '../../models/drop_down_data_model.dart';
import '../../service/db/db_querys.dart'; import '../../service/db/db_querys.dart';
import '../../service/db/db_sqlite_load.dart';
import '../../widgets/alert_dialog_default.dart'; import '../../widgets/alert_dialog_default.dart';
import '../../widgets/appbar_default.dart'; import '../../widgets/appbar_default.dart';
import '../../widgets/button_default.dart'; import '../../widgets/button_default.dart';
@@ -19,7 +21,11 @@ import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart'; import '../../widgets/title_containers.dart';
class ServiceIndividualScreen extends StatefulWidget { class ServiceIndividualScreen extends StatefulWidget {
const ServiceIndividualScreen({Key? key}) : super(key: key);
String username;
var dataPatient;
ServiceIndividualScreen({required this.username, required this.dataPatient});
@override @override
State<ServiceIndividualScreen> createState() => _ServiceIndividualScreenState(); State<ServiceIndividualScreen> createState() => _ServiceIndividualScreenState();
@@ -66,8 +72,9 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
bool switchUnderObservation = false; bool switchUnderObservation = false;
bool selectExamsRequested = false; bool selectExamsRequested = false;
bool selectExamsAvalible = false; bool selectExamsAvalible = false;
var userResponsibleRegisterController = TextEditingController(text: 'ADMINISTRADOR'); bool mandatory = false;
var userUnitController = TextEditingController(text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO'); var userResponsibleRegisterController = TextEditingController();
var userUnitController = TextEditingController();
var weigthController = TextEditingController(); var weigthController = TextEditingController();
var heightController = TextEditingController(); var heightController = TextEditingController();
var cephalicPerimeterController = TextEditingController(); var cephalicPerimeterController = TextEditingController();
@@ -104,9 +111,20 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
}); });
} }
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 @override
void initState() { void initState() {
super.initState(); super.initState();
loadUnidade();
loadLists(); loadLists();
} }
@@ -117,9 +135,9 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()async=> await OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual'), appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual',widget.username),
body: Container( body: Container(
height: double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,
@@ -234,6 +252,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
controller: weigthController, controller: weigthController,
colorBorder: ColorPalette.white, colorBorder: ColorPalette.white,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
mandatory: mandatory,
), ),
InputWithSubtitle( InputWithSubtitle(
subtitle: 'Altura (em metros - 0,00)', subtitle: 'Altura (em metros - 0,00)',
@@ -245,6 +264,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
controller: heightController, controller: heightController,
colorBorder: ColorPalette.white, colorBorder: ColorPalette.white,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
mandatory: mandatory,
), ),
InputWithSubtitle( InputWithSubtitle(
subtitle: 'Perímetro cefálico (em centímetros - 000,00)', subtitle: 'Perímetro cefálico (em centímetros - 000,00)',
@@ -256,6 +276,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
controller: cephalicPerimeterController, controller: cephalicPerimeterController,
colorBorder: ColorPalette.white, colorBorder: ColorPalette.white,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
mandatory: mandatory,
), ),
SwitchWithSubtitle( SwitchWithSubtitle(
width: width*0.7, width: width*0.7,
@@ -271,7 +292,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
select: selectBreastfeeding, select: selectBreastfeeding,
widthDropdown: width*0.7, widthDropdown: width*0.7,
widthContainerDropdown: width*0.6, widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectBreastfeeding = value!), onChanged:widget.dataPatient['SEXO']=='M'?null: (value)=>setState(()=>selectBreastfeeding = value!),
colorBorder: ColorPalette.white, colorBorder: ColorPalette.white,
), ),
], ],
@@ -865,7 +886,12 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
child: Column( child: Column(
children: [ children: [
ButtonDefault( ButtonDefault(
onPressed: (){}, onPressed: (){
if(heightController.text.isEmpty || heightController.text.isEmpty || cephalicPerimeterController.text.isEmpty){
mandatory = true;
setState(() {});
}
},
title: 'Salvar', title: 'Salvar',
borderColor: ColorPalette.appBar, borderColor: ColorPalette.appBar,
background: ColorPalette.appBar, background: ColorPalette.appBar,
@@ -879,11 +905,24 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
background: ColorPalette.blackButton, background: ColorPalette.blackButton,
textColor: ColorPalette.white, textColor: ColorPalette.white,
width: double.infinity, 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(),
], ],
), ),
), ),

View File

@@ -1,7 +1,13 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.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';
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_home_screen.dart';
import 'package:rkm/screens/select_service/service_individual_screen.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/switch_with_subtitle.dart'; import 'package:rkm/widgets/switch_with_subtitle.dart';
import 'package:rkm/widgets/text_default.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 = [ List list = [
'Atendimento Domiciliar', 'Atendimento Domiciliar',
'Atendimento Individual', // 'Atendimento Individual',
'Atendimento Odontológico', // 'Atendimento Odontológico',
'Avaliação de Elegibilidade', // 'Avaliação de Elegibilidade',
'Ficha Complementar', // 'Ficha Complementar',
'Marcadores de Consumo', // 'Marcadores de Consumo',
'Procedimentos', // 'Procedimentos',
'Visita domiciliar', '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 width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
@@ -125,18 +121,51 @@ class AlertDialogDefault {
return ListTile( return ListTile(
onTap: (){ onTap: (){
Navigator.pop(context);
if(index==0){ if(index==0){
Navigator.push( Navigator.push(
context, 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){ }else if (index==7){
Navigator.push( Navigator.push(
context, 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, tileColor: rest==0?ColorPalette.white:ColorPalette.appBar,

View File

@@ -1,12 +1,16 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm/config/const_variable.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/button_default.dart';
import 'package:rkm/widgets/item_alert_settings.dart'; import 'package:rkm/widgets/item_alert_settings.dart';
import 'package:rkm/widgets/text_default.dart'; import 'package:rkm/widgets/text_default.dart';
class AlertDialogSettings { class AlertDialogSettings {
@override @override
alert(BuildContext context) { alert(BuildContext context, String username) {
return showDialog( return showDialog(
context: context, context: context,
builder: (context){ builder: (context){
@@ -21,7 +25,7 @@ class AlertDialogSettings {
ItemAlertSettings( ItemAlertSettings(
onTap: (){ onTap: (){
Navigator.pop(context); Navigator.pop(context);
Navigator.pushNamed(context, '/import_sigtap'); Navigator.push(context,MaterialPageRoute(builder: (context) => ImportSigtapScreen(username: username,)));
}, },
title: 'Importar SIGTAP', title: 'Importar SIGTAP',
body: 'Atulizar as informações do SIGTAP no aplicativo\n' body: 'Atulizar as informações do SIGTAP no aplicativo\n'
@@ -31,7 +35,7 @@ class AlertDialogSettings {
ItemAlertSettings( ItemAlertSettings(
onTap: (){ onTap: (){
Navigator.pop(context); Navigator.pop(context);
Navigator.pushNamed(context, '/clear_data'); Navigator.push(context,MaterialPageRoute(builder:(context) => ClearDataScreen(username: username,)));
}, },
title: 'Limpar Dados', title: 'Limpar Dados',
body: 'Apaga todos os dados do Aplicativo.\n' body: 'Apaga todos os dados do Aplicativo.\n'
@@ -43,7 +47,7 @@ class AlertDialogSettings {
ItemAlertSettings( ItemAlertSettings(
onTap: (){ onTap: (){
Navigator.pop(context); Navigator.pop(context);
Navigator.pushNamed(context, '/main_procedures'); Navigator.push(context,MaterialPageRoute(builder:(context) => MainProceduresScreen(username:username,)));
}, },
title: 'Definir Procedimentos Iniciais', title: 'Definir Procedimentos Iniciais',
body: 'Define os Procedimentos iniciais que deverão ser\n' body: 'Define os Procedimentos iniciais que deverão ser\n'
@@ -62,7 +66,7 @@ class AlertDialogSettings {
ItemAlertSettings( ItemAlertSettings(
onTap: (){ onTap: (){
Navigator.pop(context); Navigator.pop(context);
Navigator.pushNamed(context, '/sinc_data'); Navigator.push(context,MaterialPageRoute(builder:(context) => SyncDataScreen(username: username,)));
}, },
title: 'Sincronia de Envio', title: 'Sincronia de Envio',
body: 'Efetua a Sincronia de Envio levandoas informações\n' body: 'Efetua a Sincronia de Envio levandoas informações\n'

View File

@@ -8,7 +8,7 @@ import 'icon_button_default.dart';
class AppBarDefault{ class AppBarDefault{
@override @override
PreferredSize appbar(BuildContext context,String title) { PreferredSize appbar(BuildContext context,String title, String username) {
return PreferredSize( return PreferredSize(
preferredSize: Size.fromHeight(50), preferredSize: Size.fromHeight(50),
child: AppBar( child: AppBar(
@@ -19,7 +19,7 @@ class AppBarDefault{
IconButtonDefault( IconButtonDefault(
icon: Icons.settings, icon: Icons.settings,
color: ColorPalette.white, color: ColorPalette.white,
onPressed: ()=>AlertDialogSettings().alert(context) onPressed: ()=>AlertDialogSettings().alert(context,username)
), ),
IconButtonDefault( IconButtonDefault(
icon: Icons.logout, icon: Icons.logout,

View File

@@ -13,6 +13,8 @@ class ItemCitizen extends StatelessWidget {
String numberCNS; String numberCNS;
String numberMedicalRecord; String numberMedicalRecord;
var onTap; var onTap;
String username;
var dataPatient;
ItemCitizen({ ItemCitizen({
required this.name, required this.name,
@@ -21,6 +23,8 @@ class ItemCitizen extends StatelessWidget {
required this.numberCNS, required this.numberCNS,
required this.numberMedicalRecord, required this.numberMedicalRecord,
required this.onTap, required this.onTap,
required this.username,
required this.dataPatient
}); });
@override @override
@@ -35,7 +39,7 @@ class ItemCitizen extends StatelessWidget {
subtitle: TextDefault(text: '$numberCNS - $numberMedicalRecord - $date - $mother',fontSize: 13,color: Colors.black54), subtitle: TextDefault(text: '$numberCNS - $numberMedicalRecord - $date - $mother',fontSize: 13,color: Colors.black54),
trailing: IconButton( trailing: IconButton(
icon: Icon(LineIcons.clipboard,size: 35,), icon: Icon(LineIcons.clipboard,size: 35,),
onPressed: ()=>AlertDialogDefault().alertSelect(context,name), onPressed: ()=>AlertDialogDefault().alertSelect(context,name,username,dataPatient),
), ),
onTap: onTap, onTap: onTap,
), ),

View File

@@ -1,10 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/widgets/text_default.dart'; import 'package:rkm/widgets/text_default.dart';
import '../config/color_palette.dart'; import '../config/color_palette.dart';
import 'button_default.dart'; import 'button_default.dart';
class OnBackButton{ class OnBackButton{
onBackButton(context)async { onBackButton(context,String username)async {
await showDialog( await showDialog(
context: context, context: context,
builder: (context){ builder: (context){
@@ -13,7 +14,7 @@ class OnBackButton{
content: TextDefault(text: 'Deseja sair e descartar as alterações?',color: ColorPalette.black54,), content: TextDefault(text: 'Deseja sair e descartar as alterações?',color: ColorPalette.black54,),
actions: [ actions: [
ButtonDefault( ButtonDefault(
onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (route) => false), onPressed: ()=>Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder:(context)=> HomeScreen(username: username,)), (route) => false),
title: 'Sim', title: 'Sim',
background: ColorPalette.appBar, background: ColorPalette.appBar,
borderColor: ColorPalette.appBar, borderColor: ColorPalette.appBar,

View File

@@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../config/const_variable.dart'; import '../config/const_variable.dart';
class ScreenDev extends StatefulWidget { class ScreenDev extends StatefulWidget {

View File

@@ -9,11 +9,13 @@ class SubtitleAppbarCitizen extends StatelessWidget {
int title; int title;
bool edit; bool edit;
List listData; List listData;
String username;
SubtitleAppbarCitizen({ SubtitleAppbarCitizen({
required this.title, required this.title,
this.edit = false, this.edit = false,
required this.listData required this.listData,
required this.username
}); });
@override @override
@@ -31,7 +33,7 @@ class SubtitleAppbarCitizen extends StatelessWidget {
TextButton.icon( TextButton.icon(
onPressed:edit? ()=> Navigator.push( onPressed:edit? ()=> Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: this.listData,)), MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: this.listData,username: this.username,)),
):null, ):null,
icon: Icon(Icons.person,color: title==1?Colors.black:ColorPalette.gray,), 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,) 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( TextButton.icon(
onPressed:edit? ()=> Navigator.push( onPressed:edit? ()=> Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => RegisterIndividualScreen(listData: this.listData,)), MaterialPageRoute(builder: (context) => RegisterIndividualScreen(listData: this.listData,username: this.username)),
):null, ):null,
icon: Icon(Icons.assignment_outlined,color: title==2?Colors.black:ColorPalette.gray,), 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,) label: TextDefault(text: 'Cadastro Individual',fontSize: 14,color: title==2?Colors.black:ColorPalette.gray,)
@@ -47,7 +49,7 @@ class SubtitleAppbarCitizen extends StatelessWidget {
TextButton.icon( TextButton.icon(
onPressed:edit? ()=> Navigator.push( onPressed:edit? ()=> Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => RegisterHomeScreen(listData: this.listData,)), MaterialPageRoute(builder: (context) => RegisterHomeScreen(listData: this.listData,username: this.username)),
):null, ):null,
icon: Icon(Icons.home,color: title==3?Colors.black:ColorPalette.gray,), 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,) label: TextDefault(text: 'Cadastro Domiciliar',fontSize: 14,color: title==3?Colors.black:ColorPalette.gray,)

View File

@@ -1,6 +1,6 @@
name: rkm name: rkm
description: RKM AB 2.0. description: RKM AB 2.0.
#Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
publish_to: 'none' publish_to: 'none'
version: 1.0.6+5 version: 1.0.6+5