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

@@ -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(),
],
),
),