feita a exibição dos dados dos cidadãos e a pesquisa
This commit is contained in:
@@ -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,)),
|
||||
|
||||
Reference in New Issue
Block a user