intial testing fixes

design_3.0_latest
muhammad.abbasi 1 year ago
parent ec34de11c5
commit 34e54df40d

@ -111,7 +111,8 @@ class URLs {
static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookupReason?lookupEnum=505";
static get getServiceReportRejectionReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=1303";
static get getServiceReportReasonsNew => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=505";
static get getServiceReportRetirementTypeTest => "$_baseUrl/Lookups/GetLookup?lookupEnum=415";
static get getServiceReportRetirementType => "$_baseUrl/Lookups/GetLookup?lookupEnum=415";
static get getServiceReportActivityStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=1302";
static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get
static get getServiceReportTypesForWO => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get
static get getServiceReportStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=521"; // get

@ -115,6 +115,7 @@ class _DashboardViewState extends State<DashboardView> {
@override
Widget build(BuildContext context) {
bool isNurse = (Provider.of<UserProvider>(context, listen: false).user!.type) == UsersTypes.normal_user;
print('user data is ${Provider.of<UserProvider>(context, listen: false).user?.toJson()}');
return Scaffold(
// backgroundColor: AppColor.background(context),
appBar: PreferredSize(

@ -51,6 +51,7 @@ import 'package:test_sa/providers/service_request_providers/first_action_provide
import 'package:test_sa/providers/service_request_providers/priority_provider.dart';
import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';
import 'package:test_sa/providers/service_request_providers/type_of_request_provider.dart';
import 'package:test_sa/providers/work_order/activity_status_provider.dart';
import 'package:test_sa/providers/work_order/fault_description_provider.dart';
import 'package:test_sa/providers/work_order/reason_provider.dart';
import 'package:test_sa/providers/work_order/retirement_type_provider.dart';
@ -58,6 +59,7 @@ import 'package:test_sa/providers/work_order/service_type_provider.dart';
import 'package:test_sa/providers/work_order/supplier_engineer_provider.dart';
import 'package:test_sa/providers/work_order/vendor_provider.dart';
import 'package:test_sa/service_request_latest/request_detail_provider.dart';
import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart';
import 'package:test_sa/views/pages/device_transfer/asset_filter_screen.dart';
import 'package:test_sa/views/pages/device_transfer/asset_search_screen.dart';
import 'package:test_sa/views/pages/device_transfer/request_device_transfer.dart';
@ -206,6 +208,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => RejectReasonProvider()),
ChangeNotifierProvider(create: (_) => FaultDescriptionProvider()),
ChangeNotifierProvider(create: (_) => RetirementTypeProvider()),
ChangeNotifierProvider(create: (_) => ActivityStatusProvider()),
///todo deleted
//ChangeNotifierProvider(create: (_) => AssetTypesProvider()),
@ -255,6 +258,7 @@ class MyApp extends StatelessWidget {
//ReportIssuesPage.id: (_) => ReportIssuesPage(),
RequestGasRefill.id: (_) => const RequestGasRefill(),
CreateServiceRequestPage.id: (_) => const CreateServiceRequestPage(),
CreateNewRequest.id: (_) => const CreateNewRequest(),
// SingleHospitalPicker.id: (_) => SingleHospitalPicker(),
MyAssetsPage.id: (_) => const MyAssetsPage(),
SingleDepartmentPicker.id: (_) => const SingleDepartmentPicker(),

@ -0,0 +1,71 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart';
import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart';
import 'package:test_sa/views/pages/device_transfer/request_device_transfer.dart';
class CreateRequestTypeBottomSheet extends StatelessWidget {
const CreateRequestTypeBottomSheet({super.key});
@override
Widget build(BuildContext context) {
//TODO replace all the icons with new icons...
return Container(
padding: const EdgeInsets.all(16.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
listCard(
context: context,
icon: 'add_icon',
label: '${context.translation.create}\n${context.translation.serviceRequest}',
onTap: () {
Navigator.pushReplacementNamed(context, CreateNewRequest.id);
},
),
listCard(
context: context,
icon: 'add_icon',
label: '${context.translation.create}\n${context.translation.gasRefill}',
onTap: () {
//NewGasRefillRequestPage.routeName)
Navigator.pushReplacementNamed(context, NewGasRefillRequestPage.routeName);
},
),
listCard(
context: context,
icon: 'add_icon',
label: '${context.translation.create}\n${context.translation.deviceTransfer}',
onTap: () async {
Navigator.pushReplacementNamed(context, RequestDeviceTransfer.id);
},
),
],
),
);
return const Placeholder();
}
Widget listCard({required String icon, required String label, required VoidCallback onTap, required BuildContext context}) {
return GestureDetector(
onTap: onTap,
child: Container(
constraints: BoxConstraints(minWidth: 111.toScreenWidth, minHeight: 111.toScreenHeight),
padding: EdgeInsets.symmetric(horizontal: 12.toScreenWidth, vertical: 12.toScreenHeight),
decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), border: Border.all(width: 1, color: AppColor.white70)),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
icon.toSvgAsset(),
24.height,
label.bodyText2(context).custom(color: AppColor.black20),
],
),
),
);
}
}

@ -14,6 +14,7 @@ import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/pages/land_page/calendar_page.dart';
import 'package:test_sa/new_views/pages/land_page/create_request-type_bottomsheet.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/my_requests_page.dart';
import 'package:test_sa/new_views/pages/settings_page.dart';
import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart';
@ -107,7 +108,7 @@ class _LandPageState extends State<LandPage> {
})),
// const old_page.LandPage(),
const MyRequestsPage(),
if(_userProvider!.user!.type != UsersTypes.engineer) const CreateNewRequest(),
if(_userProvider!.user!.type != UsersTypes.engineer) const SizedBox(),
// if (_userProvider!.user!.type != UsersTypes.engineer) const CalendarPage(),
const MyAssetsPage(fromBottomBar: true),
];
@ -136,15 +137,23 @@ class _LandPageState extends State<LandPage> {
selectedIndex: currentPageIndex,
onPressed: (index) {
bool isEngineer = _userProvider!.user!.type == UsersTypes.engineer;
if (index == (!isEngineer ? 4 : 3)) {
if (!isEngineer&& index == 2) {
showModalBottomSheet(
context: context,
useSafeArea: true,
backgroundColor: Colors.white,
builder: (context) => const CreateRequestTypeBottomSheet(),
);
}
else if (index == (!isEngineer ? 4 : 3)) {
showModalBottomSheet(
context: context,
useSafeArea: true,
backgroundColor: Colors.transparent,
builder: (context) => const ContactUsBottomSheet(),
);
} else {
}
else {
setState(() {
currentPageIndex = index;
});

@ -16,6 +16,7 @@ class EquipmentStatusProvider extends LoadingListNotifier<Lookup> {
try {
Response response = await ApiManager.instance.get(URLs.equipmentStatus);
stateCode = response.statusCode;
print('response of get status value is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List categoriesListJson = json.decode(response.body)["data"];

@ -0,0 +1,34 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart';
import '../../models/lookup.dart';
class ActivityStatusProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading == true) return -2;
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getServiceReportActivityStatus);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"];
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
}
loading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
loading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
}

@ -19,7 +19,7 @@ class RetirementTypeProvider extends LoadingListNotifier<Lookup> {
notifyListeners();
try {
//TODO change this url only used for testing till ahmed make a new api.. getServiceReportReasonsTest replace with getServiceReportReasons
Response response = await ApiManager.instance.get(URLs.getServiceReportRetirementTypeTest+"&serviceRequestId=$serviceRequestId");
Response response = await ApiManager.instance.get(URLs.getServiceReportRetirementType+"&serviceRequestId=$serviceRequestId");
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"];

@ -148,6 +148,7 @@ class RequestDetailProvider extends ChangeNotifier {
body: workOrderHelperModel!.toJson(),
);
stateCode = response.statusCode;
print('response of create request is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
notifyListeners();
@ -541,6 +542,7 @@ class RequestDetailProvider extends ChangeNotifier {
body: assetRetiredHelperModel!.toJson(),
);
stateCode = response.statusCode;
print('response of asset retired is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);

@ -18,6 +18,7 @@ import 'package:test_sa/service_request_latest/views/components/activities_list_
import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/service_request_latest/views/components/verify_arrival_view.dart';
import 'package:test_sa/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart';
import 'package:test_sa/service_request_latest/views/forms/maintenance_request/maintenance_request_main.dart';
class FooterActionButton {
static Widget footerContainer({required Widget child}) {
@ -169,6 +170,10 @@ class FooterActionButton {
buttonColor: AppColor.neutral140,
textColor: AppColor.neutral150,
fontSize: 12.toScreenWidth,
//TODO remove this after testing ....
onPressed: (){
Navigator.push(context, MaterialPageRoute(builder: (context)=>const MaintenanceRequestForm()));
},
));
}
} else if (userProvider.user?.type == UsersTypes.nurse) {

@ -43,29 +43,30 @@ class WorkOrderDetailView extends StatelessWidget {
return requestProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center
: requestProvider.currentWorkOrder == null
? const NoDataFound()
: Stack(
children: [
Column(
children: [
SingleChildScrollView(
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
? const NoDataFound()
: Stack(
children: [
workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider),
initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider),
20.height,
Column(
children: [
SingleChildScrollView(
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider),
initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider),
20.height,
],
),
).expanded,
FooterActionButton.requestDetailsFooterWidget(
workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!, userProvider: _userProvider, context: context),
],
),
// const TimerWidget(),
],
),
).expanded,
FooterActionButton.requestDetailsFooterWidget(workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!,userProvider: _userProvider, context: context),
],
),
// const TimerWidget(),
],
);
);
});
}
@ -220,51 +221,51 @@ class WorkOrderDetailView extends StatelessWidget {
],
).paddingOnly(start: 16, end: 16, top: 16, bottom: 8),
(userProvider.user!.type == UsersTypes.normal_user
? Container(
height: 50,
padding: const EdgeInsets.only(left: 16, right: 16),
alignment: Alignment.center,
width: double.infinity,
decoration: ShapeDecoration(
color: context.isDark ? AppColor.neutral50 : AppColor.neutral30,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(20),
),
),
),
child: Row(
children: [
Text(
'${context.translation.commentHere}...',
style: AppTextStyles.heading6.copyWith(
color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6),
),
).expanded,
"comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70),
],
),
)
: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Divider().defaultStyle(context),
16.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewComments,
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
),
4.width,
Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
],
),
],
).paddingOnly(bottom: 16, start: 16, end: 16))
? Container(
height: 50,
padding: const EdgeInsets.only(left: 16, right: 16),
alignment: Alignment.center,
width: double.infinity,
decoration: ShapeDecoration(
color: context.isDark ? AppColor.neutral50 : AppColor.neutral30,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(20),
),
),
),
child: Row(
children: [
Text(
'${context.translation.commentHere}...',
style: AppTextStyles.heading6.copyWith(
color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6),
),
).expanded,
"comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70),
],
),
)
: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Divider().defaultStyle(context),
16.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewComments,
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
),
4.width,
Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
],
),
],
).paddingOnly(bottom: 16, start: 16, end: 16))
.onPress(() {
// showModalBottomSheet(
// context: context,
@ -276,7 +277,8 @@ class WorkOrderDetailView extends StatelessWidget {
// );
}),
//set condition for show asset detail button...
if (workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.verifyAssetDetail || workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) ...[
if (workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.verifyAssetDetail ||
workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity && userProvider.user?.type == UsersTypes.engineer) ...[
assetRetiredButton(context: context),
]
],
@ -314,13 +316,12 @@ class WorkOrderDetailView extends StatelessWidget {
}
}
void showToast({required UserProvider userProvider,required WorkOrderNextStepEnum nextStep,required BuildContext context}){
if(userProvider.user?.type==UsersTypes.engineer){
if(nextStep==WorkOrderNextStepEnum.nTakeAction){
const SizedBox().flushBar(context: context, title: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm, message: '');
void showToast({required UserProvider userProvider, required WorkOrderNextStepEnum nextStep, required BuildContext context}) {
if (userProvider.user?.type == UsersTypes.engineer) {
if (nextStep == WorkOrderNextStepEnum.nTakeAction) {
const SizedBox().flushBar(context: context, title: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm, message: '');
}
}
}
}

@ -81,8 +81,6 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
child: Column(
children: [
12.height,
//TODO replace with correct provider..
SingleItemDropDownMenu<Lookup, RetirementTypeProvider>(
context: context,
title: context.translation.retirementType,
@ -126,16 +124,18 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
label: context.translation.submit,
buttonColor: AppColor.primary10,
onPressed: () async {
requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments=[];
for (var file in _files) {
requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments
?.add(ActivityAssetToBeRetiredAttachments(id: 0, name: "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}"));
}
// print('attachments i got is ${}');
//TODO uncommit this when all data is confirmed...
print('data i got is ${requestDetailProvider.assetRetiredHelperModel?.toJson()}');
requestDetailProvider.createActivityAssetToBeRetired();
Navigator.pop(context);
//
int status= await requestDetailProvider.createActivityAssetToBeRetired();
if(status==200){
Navigator.pop(context);
const SizedBox().flushBar(context: context, title: '', message: context.translation.assetRetirementRequestSubmittedSuccessfully);
}
},
),
),

@ -15,6 +15,7 @@ import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import 'package:test_sa/providers/work_order/activity_status_provider.dart';
import 'package:test_sa/providers/work_order/reason_provider.dart';
import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/views/widgets/date_and_time/time_picker.dart';
@ -39,6 +40,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
ServiceRequest? _request;
ServiceRequestsProvider ?_serviceRequestsProvider;
ServiceStatusProvider? _assetTypeProvider;
ActivityStatusProvider? _activityStatusProvider;
ServiceReport ?_serviceReport;
bool _isLoading = false;
TimeOfDay ?_startTime;
@ -59,9 +61,11 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
// device: widget.request.device,
sparePartsWorkOrders: [],
);
_activityStatusProvider = Provider.of<ActivityStatusProvider>(context,listen: false);
super.initState();
if (context.mounted) {
getInitialData();
_request = Provider.of<ServiceRequestsProvider>(context, listen: false).currentSelectedRequest;
Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset();
Provider.of<ReasonProvider>(context, listen: false).reset();
@ -77,6 +81,9 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
_partQtyController.dispose();
super.dispose();
}
Future<void> getInitialData()async {
_activityStatusProvider?.getDate();
}
void getRequestForWorkOrder() async {
_isLoading = true;
@ -92,15 +99,15 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
@override
Widget build(BuildContext context) {
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
_assetTypeProvider = Provider.of<ServiceStatusProvider>(context);
if (_serviceReport?.callRequest == null) {
getRequestForWorkOrder();
}
_serviceReport?.assetType = _assetTypeProvider?.statuses?.firstWhere(
(element) => element.value == _serviceReport?.callRequest?.assetType,
orElse: () => Lookup(),
);
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
// _assetTypeProvider = Provider.of<ServiceStatusProvider>(context);
// if (_serviceReport?.callRequest == null) {
// getRequestForWorkOrder();
// }
// _serviceReport?.assetType = _assetTypeProvider?.statuses?.firstWhere(
// (element) => element.value == _serviceReport?.callRequest?.assetType,
// orElse: () => Lookup(),
// );
return LoadingManager(
isLoading: _isLoading,

@ -17,6 +17,7 @@ import 'package:test_sa/models/service_request/pending_service_request_model.dar
import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/priority_provider.dart';
import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';
@ -269,19 +270,6 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
setState(() {});
}).toShimmer(isShow: snapshot.loading);
}),
// CupertinoSwitch(
// value: _isHighPriority,
//
// onChanged: (value) {
// setState(() {
// // listingVm.listing[listingVm.listingParameter]['bayut'] = value;
// _isHighPriority = value;
// });
// },
// thumbColor: AppColor.red70,
// activeColor: AppColor.red30.withOpacity(0.4),
//
// ),
],
);
}
@ -355,9 +343,6 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
}
}
List<WorkOrderAttachments> attachement = [];
//for(var item in localFile){
// attachmentList.add(SparePartAttachments(id: 0, name: "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}"));
// }
for (var item in _deviceImages) {
attachement.add(WorkOrderAttachments(id: 0, name: "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}"));
}
@ -370,11 +355,16 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
comments: _serviceRequest.callComments,
//add attachments also...
);
print('model to add activity is ${_requestDetailProvider.workOrderHelperModel?.toJson()}');
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
int status = await _requestDetailProvider.createWorkOrder();
int status = await _requestDetailProvider.createWorkOrder();
if(status==200){
//pop dialoge...
Navigator.pop(context);
Navigator.pop(context);
}
else{
Navigator.pop(context);
}
// await _serviceRequestsProvider.createRequest(

@ -169,7 +169,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
clientName = _userProvider.user?.clientName;
}
HospitalsProvider().getHospitalsListByVal(searchVal: clientName!).then((value) {
HospitalsProvider().getHospitalsListByVal(searchVal: clientName??'').then((value) {
_gasRefillProvider!.hospital = value.firstWhere((element) => element.name == clientName, orElse: null);
_gasRefillProvider!.building = _gasRefillProvider!.hospital?.buildings?.firstWhere((element) => element.name == widget.gasRefillModel?.building?.name, orElse: null);
_gasRefillProvider!.floor = _gasRefillProvider!.building?.floors?.firstWhere((element) => element.name == widget.gasRefillModel?.floor?.name, orElse: null);

Loading…
Cancel
Save