new Pat manager files

This commit is contained in:
2025-03-04 09:06:16 +02:00
parent 5e11e4522a
commit eff4fae83e
15 changed files with 2253 additions and 168 deletions

View File

@@ -8,15 +8,12 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart';
import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:Mzansi_Innovation_Hub/mih_objects/appointment.dart';
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/builder/build_appointment_list.dart';
import 'package:flutter/material.dart';
import '../../main.dart';
import '../../mih_components/mih_calendar.dart';
import '../../mih_components/mih_layout/mih_action.dart';
import '../../mih_components/mih_layout/mih_header.dart';
import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import '../../mih_env/env.dart';
import '../../mih_objects/app_user.dart';
@@ -38,8 +35,8 @@ class Appointments extends StatefulWidget {
}
class _PatientAccessRequestState extends State<Appointments> {
TextEditingController filterController = TextEditingController();
TextEditingController appointmentDateController = TextEditingController();
TextEditingController selectedAppointmentDateController =
TextEditingController();
final TextEditingController _appointmentTitleController =
TextEditingController();
final TextEditingController _appointmentDescriptionIDController =
@@ -50,12 +47,6 @@ class _PatientAccessRequestState extends State<Appointments> {
TextEditingController();
String baseUrl = AppEnviroment.baseApiUrl;
String errorCode = "";
String errorBody = "";
String datefilter = "";
String accessFilter = "";
bool forceRefresh = false;
late String selectedDropdown;
String selectedDay = DateTime.now().toString().split(" ")[0];
late Future<List<Appointment>> personalAppointmentResults;
@@ -68,8 +59,12 @@ class _PatientAccessRequestState extends State<Appointments> {
child: BuildAppointmentList(
appointmentList: appointmentList,
signedInUser: widget.signedInUser,
business: widget.business,
personalSelected: widget.personalSelected,
inWaitingRoom: false,
titleController: _appointmentTitleController,
descriptionIDController: _appointmentDescriptionIDController,
patientIdController: null,
dateController: _appointmentDateController,
timeController: _appointmentTimeController,
),
@@ -227,6 +222,7 @@ class _PatientAccessRequestState extends State<Appointments> {
if (widget.personalSelected == false) {
appointmentResults = MihMzansiCalendarApis.getBusinessAppointments(
widget.business!.business_id,
false,
selectedDay,
);
} else {
@@ -238,36 +234,6 @@ class _PatientAccessRequestState extends State<Appointments> {
});
}
MIHAction getActionButton() {
return MIHAction(
icon: const Icon(Icons.arrow_back),
iconSize: 35,
onTap: () {
Navigator.of(context).pop();
Navigator.of(context).popAndPushNamed(
'/',
arguments: AuthArguments(true, false),
);
},
);
}
MIHHeader getHeader() {
return const MIHHeader(
headerAlignment: MainAxisAlignment.center,
headerItems: [
Text(
"Appointments",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 25,
),
),
],
);
}
Widget getBody() {
return Stack(
children: [
@@ -286,7 +252,7 @@ class _PatientAccessRequestState extends State<Appointments> {
setDate: (value) {
setState(() {
selectedDay = value;
appointmentDateController.text = selectedDay;
selectedAppointmentDateController.text = selectedDay;
});
}),
// Divider(
@@ -348,8 +314,7 @@ class _PatientAccessRequestState extends State<Appointments> {
@override
void dispose() {
filterController.dispose();
appointmentDateController.dispose();
selectedAppointmentDateController.dispose();
_appointmentDateController.dispose();
_appointmentTimeController.dispose();
_appointmentTitleController.dispose();
@@ -359,11 +324,12 @@ class _PatientAccessRequestState extends State<Appointments> {
@override
void initState() {
appointmentDateController.addListener(checkforchange);
selectedAppointmentDateController.addListener(checkforchange);
setState(() {
if (widget.personalSelected == false) {
appointmentResults = MihMzansiCalendarApis.getBusinessAppointments(
widget.business!.business_id,
false,
selectedDay,
);
} else {