feita a exibição dos dados dos cidadãos e a pesquisa

This commit is contained in:
Reginaldo
2023-04-10 11:56:38 -03:00
parent 8487b3dbba
commit c583038c30
10 changed files with 194 additions and 126 deletions

View File

@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:line_icons/line_icons.dart';
import 'package:rkm/utils/const_variable.dart';
import 'package:rkm/widgets/icon_button_default.dart';
import 'package:rkm/widgets/input_search_text.dart';
import '../service/db/db_sqlite_load.dart';
import '../widgets/appbar_default.dart';
import '../widgets/item_citizen.dart';
import 'registers_citizen/main_register_citizen_screen.dart';
@@ -16,6 +18,56 @@ class HomeScreen extends StatefulWidget {
class _HomeScreenState extends State<HomeScreen> {
var inputSearch = TextEditingController();
List dataCitizen = [];
List showResults = [];
loadCitizen()async{
await DbSqliteLoad().intialDB().then((db)async {
dataCitizen = await db.query('CIDADAOS ORDER BY NOME_CIDADAO');
});
searchCitizen();
return 'complete';
}
searchCitizen()async{
if(inputSearch.text.isNotEmpty){
showResults =[];
for (int i =0;dataCitizen.length>i;i++) {
String NOME_CIDADAO = dataCitizen[i]['NOME_CIDADAO'];
if(NOME_CIDADAO.startsWith(inputSearch.text.toUpperCase())){
print('ok $i');
if(showResults.length<10){
showResults.add(dataCitizen[i]);
}
}
}
setState(() {
print(showResults);
});
}else{
setState(() {
for(int i = 0;i<10;i++){
showResults.add(dataCitizen[i]);
}
});
}
}
_searchInit(){
searchCitizen();
}
@override
void initState() {
super.initState();
loadCitizen();
inputSearch.addListener(_searchInit);
}
@override
void dispose() {
super.dispose();
inputSearch.dispose();
}
@override
Widget build(BuildContext context) {
@@ -28,7 +80,7 @@ class _HomeScreenState extends State<HomeScreen> {
width: width,
height: height,
decoration: ConstVariable().backgroundGradient,
child: Column(
child: ListView(
children: [
Row(
children: [
@@ -36,7 +88,7 @@ class _HomeScreenState extends State<HomeScreen> {
hint: 'Busca cidadão (Por NOME ou CNS ou PRONTUÁRIO ou DATA NASCIMENTO)',
fontSize: 10,
controller: inputSearch,
width: width*0.72
width: width*0.72,
),
IconButtonDefault(
icon: Icons.person_add,
@@ -50,7 +102,7 @@ class _HomeScreenState extends State<HomeScreen> {
onPressed: ()=>Navigator.pushNamed(context, '/attendance_list')
),
IconButtonDefault(
icon: Icons.edit_note,
icon: LineIcons.edit,
onPressed: ()=>Navigator.pushNamed(context, '/edit_procedure')
),
],
@@ -58,15 +110,15 @@ class _HomeScreenState extends State<HomeScreen> {
Container(
width: width,
height: height*0.8,
child: ListView.builder(
itemCount: 10,
child: showResults.length == 0?Container():ListView.builder(
itemCount: showResults.length,
itemBuilder: (context,index){
return ItemCitizen(
date: '00/00/0000',
name: 'JOÃO DA SILVA',
mother: 'MARIA DA SILVA',
numberCNS: '123456789',
numberMedicalRecord: '012345',
date: '${showResults[index]['DT_NASCIMENTO']}',
name: '${showResults[index]['NOME_CIDADAO']}',
mother:'${showResults[index]['NOME_MAE']}',
numberCNS: '${showResults[index]['CNS']}'=='null'?'999999999999999':'${showResults[index]['CNS']}',
numberMedicalRecord: '${showResults[index]['NUM_PRONTUARIO']}',
onTap: ()=> Navigator.push(
context,
MaterialPageRoute(builder: (context) => MainRegisterCitizenScreen(screens: 3,)),