criada as telas, complementary_sheet_screen.dart, consumption_markers_screen.dart, eligibility_assessment_screen.dart, home_visit_screen.dart, procedures_screen.dart, service_dental_screen.dart,service_home_screen.dart, service_individual_screen.dart

criado o model service_home_check_condition_model.dart
criado o widget check_box_subtitle.dart
incrementado o const_variable.dart
This commit is contained in:
Reginaldo
2023-03-27 20:44:42 -03:00
parent f89efd285e
commit 407755e0ac
18 changed files with 819 additions and 19 deletions

View File

@@ -0,0 +1,10 @@
class ServiceHomeCheckConditionModel{
String subtitle;
bool check;
ServiceHomeCheckConditionModel({
required this.subtitle,
required this.check
});
}

View File

@@ -4,7 +4,7 @@ import 'package:rkm/widgets/icon_button_default.dart';
import 'package:rkm/widgets/input_search_text.dart';
import '../widgets/appbar_default.dart';
import '../widgets/item_citizen.dart';
import 'main_register_citizen_screen.dart';
import 'registers_citizen/main_register_citizen_screen.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key);

View File

@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:rkm/screens/register_citizen_screen.dart';
import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart';
import 'package:rkm/screens/register_home_screen.dart';
import 'package:rkm/screens/register_individual_screen.dart';
import 'package:rkm/screens/registers_citizen/register_individual_screen.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/text_default.dart';
import '../widgets/alert_dialog_settings.dart';
import '../widgets/icon_button_default.dart';
import '../../widgets/alert_dialog_settings.dart';
import '../../widgets/icon_button_default.dart';
class MainRegisterCitizenScreen extends StatefulWidget {
int screens;

View File

@@ -5,11 +5,11 @@ import 'package:rkm/utils/const_variable.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import '../widgets/dropdown_with_subtitle.dart';
import '../widgets/input_with_subtitle.dart';
import '../widgets/onbackbutton.dart';
import '../widgets/switch_with_subtitle.dart';
import '../widgets/text_default.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/input_with_subtitle.dart';
import '../../widgets/onbackbutton.dart';
import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart';
class RegisterCitizenScreen extends StatefulWidget {
const RegisterCitizenScreen({Key? key}) : super(key: key);

View File

@@ -6,12 +6,12 @@ import 'package:rkm/utils/const_variable.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import '../widgets/check_box_two_subtitle.dart';
import '../widgets/dropdown_with_subtitle.dart';
import '../widgets/input_with_subtitle.dart';
import '../widgets/onbackbutton.dart';
import '../widgets/switch_with_subtitle.dart';
import '../widgets/text_default.dart';
import '../../widgets/check_box_two_subtitle.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/input_with_subtitle.dart';
import '../../widgets/onbackbutton.dart';
import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart';
class RegisterIndividualScreen extends StatefulWidget {
const RegisterIndividualScreen({Key? key}) : super(key: key);

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ComplementarySheetScreen extends StatefulWidget {
const ComplementarySheetScreen({Key? key}) : super(key: key);
@override
State<ComplementarySheetScreen> createState() => _ComplementarySheetScreenState();
}
class _ComplementarySheetScreenState extends State<ComplementarySheetScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Ficha Complementar'),);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ConsumptionMarkersScreen extends StatefulWidget {
const ConsumptionMarkersScreen({Key? key}) : super(key: key);
@override
State<ConsumptionMarkersScreen> createState() => _ConsumptionMarkersScreenState();
}
class _ConsumptionMarkersScreenState extends State<ConsumptionMarkersScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Marcadores de Consumo'),);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class EligibilityAssessmentScreen extends StatefulWidget {
const EligibilityAssessmentScreen({Key? key}) : super(key: key);
@override
State<EligibilityAssessmentScreen> createState() => _EligibilityAssessmentScreenState();
}
class _EligibilityAssessmentScreenState extends State<EligibilityAssessmentScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Avaliação de Elegibilidade'),);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class HomeVisitScreen extends StatefulWidget {
const HomeVisitScreen({Key? key}) : super(key: key);
@override
State<HomeVisitScreen> createState() => _HomeVisitScreenState();
}
class _HomeVisitScreenState extends State<HomeVisitScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Visita Domiciliar'),);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ProceduresScreen extends StatefulWidget {
const ProceduresScreen({Key? key}) : super(key: key);
@override
State<ProceduresScreen> createState() => _ProceduresScreenState();
}
class _ProceduresScreenState extends State<ProceduresScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Procedimentos'),);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ServiceDentalScreen extends StatefulWidget {
const ServiceDentalScreen({Key? key}) : super(key: key);
@override
State<ServiceDentalScreen> createState() => _ServiceDentalScreenState();
}
class _ServiceDentalScreenState extends State<ServiceDentalScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Atendimento Odontológico'),);
}
}

View File

@@ -0,0 +1,479 @@
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:line_icons/line_icons.dart';
import 'package:rkm/models/service_home_check_condition_model.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/appbar_default.dart';
import '../../utils/const_variable.dart';
import '../../widgets/button_default.dart';
import '../../widgets/check_box_subtitle.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/input_with_subtitle.dart';
import '../../widgets/onbackbutton.dart';
import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart';
class ServiceHomeScreen extends StatefulWidget {
const ServiceHomeScreen({Key? key}) : super(key: key);
@override
State<ServiceHomeScreen> createState() => _ServiceHomeScreenState();
}
class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
var professionalController = TextEditingController(text: 'ADMINISTRADOR');
var unitController = TextEditingController(text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO');
var controllerSearchCondition = TextEditingController();
var controllerSearchCID = TextEditingController();
String date='Data';
String? selectCBO;
String? selectCodTeam;
String? selectServicePlace;
String? selectTypeService;
String? selectModality;
String? selectRotation;
String? selectCIAP;
String? selectCID;
String? selectConduct;
List<ServiceHomeCheckConditionModel> serviceHomeModel = [];
List<ServiceHomeCheckConditionModel> proceduresModel = [];
escolherprazoInicio(BuildContext context) async {
var pickDate = await showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(2022),
lastDate: DateTime(2025));
if (pickDate != null) {
setState(() {
date = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day);
date = 'Data $date';
});
}
}
String formatData({int? year, int? month, int? day}) {
DateTime data = DateTime(year!, month!, day!);
String formattedDate = DateFormat('dd/MM/yyyy').format(data);
return formattedDate;
}
@override
Widget build(BuildContext context) {
double heigth = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context),
child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'),
body: Container(
height: double.infinity,
width: double.infinity,
decoration: ConstVariable().backgroundGradient,
child: ListView(
children: [
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Cadastro'),
Row(
children: [
Container(
height: heigth*0.5,
width: width*0.2,
child: Icon(Icons.business_center,size: 80,),
),
Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
InputWithSubtitle(
controller: professionalController,
subtitle: 'Profissional',
errorInput: 'Campo Obrigatório',
labelInput: 'Profissional',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enable: false,
),
InputWithSubtitle(
controller: unitController,
subtitle: 'Unidade',
errorInput: 'Campo Obrigatório',
labelInput: 'Unidade',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enable: false,
),
DropdownWithSubtitle(
list: [],
widthSubtitle: width*0.7,
subtitle: 'CBO',
hintDropdown: 'CBO',
select: selectCBO,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectCBO = value!;
});
},
colorBorder: ColorPalette.white,
),
DropdownWithSubtitle(
list: ['INE: 0001558536 / Área 4 - Microárea: - '],
widthSubtitle: width*0.2,
subtitle: 'Código da Equipe',
hintDropdown: 'Selecione',
select: selectCodTeam,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.4,
onChanged: (value){
setState(() {
selectCodTeam = value!;
});
},
colorBorder: ColorPalette.white,
),
GestureDetector(
onTap: ()=>escolherprazoInicio(context),
child: Container(
height: 50,
margin: EdgeInsets.symmetric(horizontal: 10),
padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10),
decoration: BoxDecoration(
border: Border.all(color: ColorPalette.white),
borderRadius: BorderRadius.all(
Radius.circular(5.0) // <--- border radius here
),
),
width: width*0.7,
child: TextDefault(
text: date,
color: ColorPalette.black54,
fontSize: 18,
),
),
),
DropdownWithSubtitle(
list: ConstVariable().listServicePlace,
widthSubtitle: width*0.2,
subtitle: 'Local de Atendimento',
hintDropdown: 'Local de Atendimento',
select: selectServicePlace,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value)=>setState(()=>selectServicePlace = value!),
colorBorder: ColorPalette.white,
),
DropdownWithSubtitle(
list: ConstVariable().typeService,
widthSubtitle: width*0.2,
subtitle: 'Tipo de Atendimento',
hintDropdown: 'Tipo de Atendimento',
select: selectTypeService,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectTypeService = value!;
});
},
colorBorder: ColorPalette.white,
),
DropdownWithSubtitle(
list: ['AD1','AD2','AD3'],
widthSubtitle: width*0.2,
subtitle: 'Modalidade',
hintDropdown: 'Modalidade',
select: selectModality,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectModality = value!;
});
},
colorBorder: ColorPalette.white,
),
DropdownWithSubtitle(
list: ['MANHÃ','TARDE','NOITE'],
widthSubtitle: width*0.2,
subtitle: 'Turno',
hintDropdown: 'Turno',
select: selectRotation,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.6,
onChanged: (value){
setState(() {
selectRotation = value!;
});
},
colorBorder: ColorPalette.white,
),
],
)
],
)
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Condições Avaliadas'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(LineIcons.edit,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(height: 10,),
TitleContainers(title: 'Condição Avaliada',width: width * 0.73),
Container(
width: width*0.7,
height: heigth*1.3,
child: ListView.builder(
physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().serviceHomeCheckConditionlist.length,
itemBuilder: (context,index){
serviceHomeModel.add(
ServiceHomeCheckConditionModel(
subtitle: ConstVariable().serviceHomeCheckConditionlist[index],
check: false
)
);
return CheckBoxSubtitle(
subtitle: serviceHomeModel[index].subtitle,
checkbox:serviceHomeModel[index].check,
width: width*0.6,
onChanged: (value)=>setState(()=>serviceHomeModel[index].check=value),
);
}
),
),
GestureDetector(
onTap: ()=>AlertDialogDefault().alert_with_search(
context,
controllerSearchCondition,
ListView.separated(
itemCount: ConstVariable().CIAP.length,
separatorBuilder: (context,index)=>Divider(color: ColorPalette.black54),
itemBuilder: (context,index){
return ListTile(
onTap: ()=>setState(() {
selectCIAP = ConstVariable().CIAP[index];
Navigator.pop(context);
}),
title: TextDefault(text: ConstVariable().CIAP[index],maxLines: 2,)
);
},
)
),
child: Container(
padding: EdgeInsets.symmetric(vertical: 10),
width: width*0.7,
child: TextDefault(
text: selectCIAP!=null?'CIAP $selectCIAP':'CIAP',
color: ColorPalette.black54,
)
)
),
GestureDetector(
onTap: ()=>AlertDialogDefault().alert_with_search(
context,
controllerSearchCID,
ListView.separated(
itemCount: ConstVariable().CID.length,
separatorBuilder: (context,index)=>Divider(color: ColorPalette.black54),
itemBuilder: (context,index){
return ListTile(
onTap: ()=>setState(() {
selectCID = ConstVariable().CIAP[index];
Navigator.pop(context);
}),
title: TextDefault(text: ConstVariable().CID[index],maxLines: 2,)
);
},
)
),
child: Container(
padding: EdgeInsets.symmetric(vertical: 10),
width: width*0.7,
child: TextDefault(
text: selectCID!=null?'CID $selectCIAP':'CID',
color: ColorPalette.black54,
)
)
),
],
),
),
]
),
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Procedimentos'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(Icons.info_outlined,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Container(
width: width*0.7,
height: heigth*1.1,
child: ListView.builder(
physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().proceduresModel.length,
itemBuilder: (context,index){
proceduresModel.add(
ServiceHomeCheckConditionModel(
subtitle: ConstVariable().proceduresModel[index],
check: false
)
);
return CheckBoxSubtitle(
subtitle: proceduresModel[index].subtitle,
checkbox:proceduresModel[index].check,
width: width*0.6,
onChanged: (value)=>setState(()=>proceduresModel[index].check=value),
);
}
),
),
),
]
),
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Procedimentos'),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: heigth*0.2,
width: width*0.2,
child: Icon(Icons.add,size: 130,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Container(
width: width*0.7,
child: Row(
children: [
TextDefault(text: 'Procedimento'),
Spacer(),
IconButton(onPressed: (){}, icon: Icon(Icons.add_circle,color: ColorPalette.blackButton,))
],
),
)
)
]
)
]
)
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Outros'),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: heigth*0.2,
width: width*0.2,
child: Icon(Icons.tag,size: 130,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 5.0),
child: Container(
width: width*0.7,
child: Row(
children: [
TextDefault(text: 'Conduta / Desfecho',fontSize: 15),
Spacer(),
DropdownWithSubtitle(
colorBorder: ColorPalette.white,
list: ConstVariable().listConduct,
subtitle: 'SELECIONE',
select: selectConduct,
widthDropdown: width*0.4,
widthContainerDropdown: width*0.35,
widthSubtitle: width*0.35,
hintDropdown: 'SELECIONE',
onChanged: (value)=>setState(()=>selectConduct=value),
)
],
),
)
)
]
)
]
)
),
Card(
margin: EdgeInsets.all(10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
ButtonDefault(
onPressed: (){},
title: 'Salvar',
borderColor: ColorPalette.appBar,
background: ColorPalette.appBar,
textColor: ColorPalette.white,
width: double.infinity,
),
ButtonDefault(
onPressed: ()=>Navigator.pop(context),
title: 'Cancelar',
borderColor: ColorPalette.blackButton,
background: ColorPalette.blackButton,
textColor: ColorPalette.white,
width: double.infinity,
)
],
),
),
),
],
),
),
),
);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ServiceIndividualScreen extends StatefulWidget {
const ServiceIndividualScreen({Key? key}) : super(key: key);
@override
State<ServiceIndividualScreen> createState() => _ServiceIndividualScreenState();
}
class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
@override
Widget build(BuildContext context) {
return Center(child: Text('Atendimento Individual'),);
}
}

View File

@@ -16,6 +16,93 @@ class ConstVariable{
'ESTRANGEIRO',
'NATURALIZADO',
];
List CID = [];
List CIAP = [
'30 - EXAME MÉDICO/AVALIAÇÃO DE SAÚDE - COMPLETO',
'31 - EXAME MÉDICO/AVALIAÇÃO DE SAÚDE - PARCIAL',
'32 - TESTE DE SENSIBILIDADE',
'33 - EXAME MICROBIOLÓGICO/IMUNOLÓGICO',
];
List<String> listConduct = [
'ALTA ADMINISTRATIVA',
'ALTA CLÍNICA',
'END. AD1',
'ENC. INTERNAÇÃO HOSPITALAR',
'ENC. URGÊNCIA E EMERGÊNCIA',
'ÓBITO',
'PERMANÊNCIA',
];
List proceduresModel = [
'ACOMPANHAMENTO DE PACIENTE EM REABILITAÇÃO',
'ENEMA',
'ANTIBIOTICOTERAPIA PARENTERAL',
'OXIGENOTERAPIA',
'ATEND./ACOMP.PACIENTE EM REABILITAÇÃO DO DES...',
'RETIRADA DE PONTOS DE CIRURGIAS BÁSICAS',
'ATEND. FISIOTERAPÊUTICO PACIENTE C/ TRANST. RES...',
'SONDAGEM GÁSTRICA',
'ATENDIMENTO MÉDICO COM FINALIDADE DE ATESTAR...',
'TERAPIA DE REIDRATAÇÃO ORAL',
'ATENDIMENTO/ACOMPANHMENTO DE REABILITAÇÃO',
'TERAPIA DE REIDRATAÇÃO PARENTAL',
'CATETERISMO VESICAL DE ALÍVIO',
'TERAPIA FONOAUDIOLÓGICA INDIVIDUAL',
'CATETERISMO VESICAL DE DEMORA',
'TRATAMENTO DE TRAUMATISMOS DE LOCALIZAÇÃO E...',
'COLETA DE MATERIAL PARA EXAME LABORATORIAL',
'TRATAMENTO EM REABILITAÇÃO',
'CUIDADOS COM ESTOMAS',
'CUIDADOS COM TRAQUEOSTOMIA',
];
List serviceHomeCheckConditionlist = [
'ACAMADO',
'DOMICILIADO',
'ÚLCERAS / FERIDAS (GRAU III OU IV)',
'ACOMPANHAMENTO NUTRICIONAL',
'USO DE SONDA NASO-GRÁSTRICA - SNG',
'USO DE SONDA NASO-ENTERAL - SNE',
'USO DE GASTRONOMIA',
'USO DE COLOSTOMIA',
'USO DE CISTOSTOMIA',
'USO DE SONDA VESICAL DE DEMORA - SVD',
'ACOMPANHAMENTO PRÉ-OPERATÓRIO',
'ACOMPANHAMENTO PÓS-OPERATÓRIO',
'ADAPTAÇÃO AO USO DE ÓRTESE / PRÓTESE',
'REABILITAÇÃO DOMICILIAR',
'CUIDADOS PALIATIVOS ONCOLÓGICO',
'CUIDADOS PALIATIVOS NÃO-ONCOLÓGICO',
'OXIGENOTERAPIA DOMICILIAR',
'USO DE TRAQUEOSTOMIA',
'USO DE ASPIRADOR DE VIAS AÉRIAS PARA HIGIENE BUCAL',
'SUPORTE VENTILATÓRIO NÃO INVASICO - CPAP',
'SUPORTE VENTILATÓRIO NÃO INVASICO - BIPAP',
'DIÁLISE PERITONIAL',
'PARACENTESE',
'MEDICAÇÃO PARENTERAL',
];
List<String> listServicePlace = [
'UBS',
'UNIDADE MÓVEL',
'RUA',
'DOMICÍLIO',
'ESCOLA/CRECHE',
'OUTROS',
'POLO',
'INSTITUIÇÃO/ABRIGO',
'UNIDADE PRISIONAL OU CONGÊNERES',
'UNIDADE SOCIOEDUCATIVA',
'HOSPITAL',
'UNIDADE DE PRONTO ATENDIMENTO',
'CACON/UNACON',
];
List<String> typeService = [
'ATENDIMENTO PROGRAMADO',
'ATENDIMENTO NÃO PROGRAMADO',
'VISITA DOMICILIAR PÓS ÓBITO',
];
List<String> listBreed = [
'AMARELA',
'BRANCA',

View File

@@ -2,13 +2,20 @@ import 'package:rkm/screens/about_screen.dart';
import 'package:rkm/screens/attendance_list_screen.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/screens/login_screen.dart';
import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart';
import 'package:rkm/screens/splash_screen.dart';
import '../screens/clear_data_screen.dart';
import '../screens/edit_procedures_screen.dart';
import '../screens/import_sigtap_screen.dart';
import '../screens/main_procedures_screen.dart';
import '../screens/main_register_citizen_screen.dart';
import '../screens/register_citizen_screen.dart';
import '../screens/registers_citizen/register_citizen_screen.dart';
import '../screens/select_service/complementary_sheet_screen.dart';
import '../screens/select_service/consumption_markers_screen.dart';
import '../screens/select_service/home_visit_screen.dart';
import '../screens/select_service/procedures_screen.dart';
import '../screens/select_service/service_dental_screen.dart';
import '../screens/select_service/service_home_screen.dart';
import '../screens/select_service/service_individual_screen.dart';
import '../screens/sinc_data_screen.dart';
var routes = {
@@ -23,4 +30,12 @@ var routes = {
'/import_sigtap': (context) => ImportSigtapScreen(),
'/edit_procedure': (context) => EditProceduresScreen(),
'/splash': (context) => SplashScreen(),
'/service_home': (context) => ServiceHomeScreen(),
'/service_individual': (context) => ServiceIndividualScreen(),
'/service_dental': (context) => ServiceDentalScreen(),
'/eligibility_assessment': (context) => EligibilityAssessmentScreen(),
'/complementary_sheet': (context) => ComplementarySheetScreen(),
'/consumption_markers': (context) => ConsumptionMarkersScreen(),
'/procedures': (context) => ProceduresScreen(),
'/home_visit': (context) => HomeVisitScreen(),
};

View File

@@ -75,4 +75,66 @@ class AlertDialogDefault {
}
);
}
alertSelect(BuildContext context) {
List list = [
'Atendimento Domiciliar',
'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;
return showDialog(
context: context,
builder: (context){
return AlertDialog(
title: TextDefault(
text: 'Seleção de Atendimento',
color: ColorPalette.black54,
textAlign: TextAlign.center,
fontWeigth: FontWeight.bold,
),
content: Container(
width: width*0.8,
height: height*0.5,
child: ListView.builder(
itemCount: list.length,
itemBuilder: (context,index){
int rest = index % 2;
return ListTile(
onTap: ()=>Navigator.pushNamed(context, routes[index]),
tileColor: rest==0?ColorPalette.white:ColorPalette.appBar,
title: TextDefault(
textAlign: TextAlign.center,
text: list[index],
color: rest==0?ColorPalette.black54:ColorPalette.white,
),
);
}
),
),
);
}
);
}
}

View File

@@ -0,0 +1,38 @@
import 'package:flutter/material.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/text_default.dart';
class CheckBoxSubtitle extends StatelessWidget {
double width;
String subtitle;
bool checkbox;
var onChanged;
CheckBoxSubtitle({
this.width = double.infinity,
required this.checkbox,
required this.subtitle,
required this.onChanged,
});
@override
Widget build(BuildContext context) {
return Container(
width: width,
child: Row(
children: [
Checkbox(
value: checkbox,
onChanged: onChanged
),
Container(
width: width,
child: TextDefault(text: subtitle,fontSize: 15,color: ColorPalette.black54,)
),
],
),
);
}
}

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/utils/const_variable.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/text_default.dart';
class ItemCitizen extends StatelessWidget {
@@ -31,7 +32,10 @@ class ItemCitizen extends StatelessWidget {
child: ListTile(
title: TextDefault(text: name,fontWeigth: FontWeight.bold),
subtitle: TextDefault(text: '$numberCNS - $numberMedicalRecord - $date - $mother',fontSize: 16),
trailing: Icon(Icons.assignment_outlined),
trailing: IconButton(
icon: Icon(Icons.assignment_outlined),
onPressed: ()=>AlertDialogDefault().alertSelect(context),
),
onTap: onTap,
),
),