diff --git a/lib/main.dart b/lib/main.dart index 08f501b7..066ac55f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -100,6 +100,7 @@ import 'controllers/providers/api/gas_refill_comments.dart'; import 'controllers/providers/api/user_provider.dart'; import 'controllers/providers/settings/setting_provider.dart'; import 'new_views/pages/new_gas_refill_request_page.dart'; +import 'providers/service_request_providers/loan_availability_provider.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -196,7 +197,7 @@ class MyApp extends StatelessWidget { ChangeNotifierProvider(create: (_) => FirstActionStatusProvider()), /// Loan availability not required - // ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()), + ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()), ChangeNotifierProvider(create: (_) => ReasonProvider()), ChangeNotifierProvider(create: (_) => AssetTypesProvider()), ChangeNotifierProvider(create: (_) => ServiceTypeProvider()), diff --git a/lib/providers/service_request_providers/loan_availability_provider.dart b/lib/providers/service_request_providers/loan_availability_provider.dart index 7fd78d96..7229acd0 100644 --- a/lib/providers/service_request_providers/loan_availability_provider.dart +++ b/lib/providers/service_request_providers/loan_availability_provider.dart @@ -1,37 +1,36 @@ -/// Loan availability not required -// 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 LoanAvailabilityProvider extends LoadingListNotifier { -// @override -// Future getDate() async { -// if (loading == true) return -2; -// loading = true; -// notifyListeners(); -// loading = true; -// notifyListeners(); -// try { -// Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability); -// stateCode = response.statusCode; -// if (response.statusCode >= 200 && response.statusCode < 300) { -// // client's request was successfully received -// 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; -// } -// } -// } +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 LoanAvailabilityProvider extends LoadingListNotifier { + @override + Future getDate() async { + if (loading == true) return -2; + loading = true; + notifyListeners(); + loading = true; + notifyListeners(); + try { + Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability); + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + // client's request was successfully received + 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; + } + } +} diff --git a/lib/views/pages/user/requests/work_order/create_service_report.dart b/lib/views/pages/user/requests/work_order/create_service_report.dart index 868427ed..b045afb8 100644 --- a/lib/views/pages/user/requests/work_order/create_service_report.dart +++ b/lib/views/pages/user/requests/work_order/create_service_report.dart @@ -12,14 +12,17 @@ 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/extensions/widget_extensions.dart'; +import 'package:test_sa/models/device/asset.dart'; import 'package:test_sa/models/service_request/service_report.dart'; import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; +import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart'; import 'package:test_sa/providers/work_order/reason_provider.dart'; import 'package:test_sa/providers/work_order/service_type_provider.dart'; import 'package:test_sa/views/pages/user/requests/work_order/part_no_button.dart'; import 'package:test_sa/views/widgets/e_signature/e_signature.dart'; +import 'package:test_sa/views/widgets/equipment/pick_asset.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart'; import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart'; @@ -80,6 +83,8 @@ class _CreateServiceReportState extends State with TickerPr // _isLoading = true; } + Asset loanAvailabilityAsset; + @override void dispose() { _faultController.dispose(); @@ -256,6 +261,30 @@ class _CreateServiceReportState extends State with TickerPr controller: _workPreformedController, ), 8.height, + // SingleItemDropDownMenu( + // context: context, + // title: context.translation.loanAvailability, + // initialValue: _serviceReport?.loanAvailablity, + // onSelect: (status) { + // setState(() { + // _serviceReport.loanAvailablity = status; + // if (_serviceReport.loanAvailablity.value != 1) { + // loanAvailabilityAsset = null; + // } + // }); + // }, + // ), + // if (_serviceReport?.loanAvailablity?.value == 1) 8.height, + // if (_serviceReport?.loanAvailablity?.value == 1) + // PickAsset( + // device: loanAvailabilityAsset,// ?? _serviceReport.device, + // onPickAsset: (asset) { + // setState(() { + // loanAvailabilityAsset = asset; + // }); + // }, + // ), + // 8.height, ServiceReportAssistantEmployeeMenu( title: context.translation.assignAssistant, assetId: _serviceReport.callRequest?.asset?.id,