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,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<AttendanceListScreen> createState() => _AttendanceListScreenState();
@@ -15,7 +17,7 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
@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,

View File

@@ -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<ClearDataScreen> createState() => _ClearDataScreenState();
@@ -47,7 +49,7 @@ class _ClearDataScreenState extends State<ClearDataScreen> {
textColor: ColorPalette.white,
background: 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';
class ImportSigtapScreen extends StatefulWidget {
const ImportSigtapScreen({Key? key}) : super(key: key);
String username;
ImportSigtapScreen({required this.username});
@override
State<ImportSigtapScreen> createState() => _ImportSigtapScreenState();
@@ -174,7 +176,7 @@ class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
onPressed: (){
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => HomeScreen()),
MaterialPageRoute(builder: (context) => HomeScreen(username: widget.username,)),
);
},
title: 'Continuar',

View File

@@ -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<MainProceduresScreen> createState() => _MainProceduresScreenState();
@@ -179,7 +180,7 @@ class _MainProceduresScreenState extends State<MainProceduresScreen> {
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,

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: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<SincDataScreen> createState() => _SincDataScreenState();
State<SyncDataScreen> createState() => _SyncDataScreenState();
}
class _SincDataScreenState extends State<SincDataScreen> {
class _SyncDataScreenState extends State<SyncDataScreen> {
String mode ='';
String urlAPI ='';
@@ -285,7 +287,7 @@ class _SincDataScreenState extends State<SincDataScreen> {
textColor: ColorPalette.white,
background: 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';
class EditProceduresScreen extends StatefulWidget {
const EditProceduresScreen({Key? key}) : super(key: key);
String username;
EditProceduresScreen({required this.username});
@override
State<EditProceduresScreen> createState() => _EditProceduresScreenState();
@@ -53,9 +55,9 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
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,

View File

@@ -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<HomeScreen> createState() => _HomeScreenState();
@@ -88,7 +92,7 @@ class _HomeScreenState extends State<HomeScreen> {
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<HomeScreen> {
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<HomeScreen> {
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<HomeScreen> {
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,)),
);
});
},

View File

@@ -30,7 +30,6 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
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<LoginSavedScreen> {
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<LoginSavedScreen> {
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<LoginSavedScreen> {
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<LoginSavedScreen> {
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<LoginSavedScreen> {
),
),
),
loading?Container():ButtonDefault(
ButtonDefault(
onPressed: ()=>checkLogin(),
title: 'Entrar',
width: width*0.6,

View File

@@ -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<RegisterCitizenScreen> createState() => _RegisterCitizenScreenState();
}
@@ -687,16 +688,16 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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(

View File

@@ -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<RegisterHomeScreen> createState() => _RegisterHomeScreenState();
@@ -387,16 +388,16 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
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(

View File

@@ -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<RegisterIndividualScreen> createState() => _RegisterIndividualScreenState();
@@ -601,16 +602,16 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
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(

View File

@@ -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<ComplementarySheetScreen> createState() => _ComplementarySheetScreenState();
@@ -15,7 +16,7 @@ class _ComplementarySheetScreenState extends State<ComplementarySheetScreen> {
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(),
);
}

View File

@@ -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<ConsumptionMarkersScreen> createState() => _ConsumptionMarkersScreenState();
@@ -14,7 +15,7 @@ class _ConsumptionMarkersScreenState extends State<ConsumptionMarkersScreen> {
@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(),
);
}

View File

@@ -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<EligibilityAssessmentScreen> createState() => _EligibilityAssessmentScreenState();
@@ -14,7 +15,7 @@ class _EligibilityAssessmentScreenState extends State<EligibilityAssessmentScree
@override
Widget build(BuildContext context) {
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(),
);
}

View File

@@ -23,7 +23,8 @@ import '../../widgets/title_containers.dart';
class HomeVisitScreen extends StatefulWidget {
String name;
HomeVisitScreen({required this.name});
String username;
HomeVisitScreen({required this.name, required this.username});
@override
State<HomeVisitScreen> createState() => _HomeVisitScreenState();
@@ -107,9 +108,9 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
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<HomeVisitScreen> {
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,

View File

@@ -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<ProceduresScreen> createState() => _ProceduresScreenState();
@@ -14,7 +17,7 @@ class _ProceduresScreenState extends State<ProceduresScreen> {
@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(),
);
}

View File

@@ -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<ServiceDentalScreen> createState() => _ServiceDentalScreenState();
@@ -14,7 +14,7 @@ class _ServiceDentalScreenState extends State<ServiceDentalScreen> {
@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(),
);
}

View File

@@ -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<ServiceHomeScreen> createState() => _ServiceHomeScreenState();
@@ -314,9 +315,9 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
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,

View File

@@ -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<ServiceIndividualScreen> createState() => _ServiceIndividualScreenState();
@@ -66,8 +72,9 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
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<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
void initState() {
super.initState();
loadUnidade();
loadLists();
}
@@ -117,9 +135,9 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
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<ServiceIndividualScreen> {
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<ServiceIndividualScreen> {
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<ServiceIndividualScreen> {
controller: cephalicPerimeterController,
colorBorder: ColorPalette.white,
onChanged: (v)=>setState((){}),
mandatory: mandatory,
),
SwitchWithSubtitle(
width: width*0.7,
@@ -271,7 +292,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
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<ServiceIndividualScreen> {
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<ServiceIndividualScreen> {
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(),
],
),
),