From 8295fd2b1d4e9ef7993fc2a7dd23c9ed7f57b225 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Wed, 27 Dec 2023 16:31:12 +0300 Subject: [PATCH 1/2] values are not shown in overview screen. also on my request screens. --- .../providers/api/all_requests_provider.dart | 14 +++++++------- lib/new_views/pages/land_page/dashboard_page.dart | 6 ++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/controllers/providers/api/all_requests_provider.dart b/lib/controllers/providers/api/all_requests_provider.dart index 4521ebac..5fd9c2a2 100644 --- a/lib/controllers/providers/api/all_requests_provider.dart +++ b/lib/controllers/providers/api/all_requests_provider.dart @@ -66,7 +66,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - allRequestsAndCount = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + allRequestsAndCount = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } else { allRequestsAndCount = null; @@ -101,7 +101,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - calendarRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + calendarRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isCalendarLoading = false; @@ -130,7 +130,7 @@ class AllRequestsProvider extends ChangeNotifier { response = await ApiManager.instance.post(URLs.getAllRequestsAndCount, body: body); stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - highPriorityRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + highPriorityRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isHighPriorityLoading = false; @@ -160,7 +160,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - overdueRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + overdueRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isOverdueLoading = false; @@ -191,7 +191,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - openRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + openRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isOpenLoading = false; @@ -221,7 +221,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - inProgressRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + inProgressRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isInProgressLoading = false; @@ -251,7 +251,7 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { - completedRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + completedRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]); notifyListeners(); } isCompleteLoading = false; diff --git a/lib/new_views/pages/land_page/dashboard_page.dart b/lib/new_views/pages/land_page/dashboard_page.dart index 1fb439e6..042da1dd 100644 --- a/lib/new_views/pages/land_page/dashboard_page.dart +++ b/lib/new_views/pages/land_page/dashboard_page.dart @@ -28,8 +28,10 @@ class _DashboardPageState extends State { @override void initState() { super.initState(); - Provider.of(context, listen: false).getRequests(); - Provider.of(context, listen: false).getSystemNotifications(); + WidgetsBinding.instance.addPostFrameCallback((_){ + Provider.of(context, listen: false).getRequests(); + Provider.of(context, listen: false).getSystemNotifications(); + }); } @override From b463dfe3a6ff5e8ed5d19e66443e92b489ab5e49 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Thu, 28 Dec 2023 14:12:17 +0300 Subject: [PATCH 2/2] THE REQUESTS ARE LABELED AS "IN PROGRESS" BUT LISTED BELOW THE "OPEN" The "Type of Request" should be always a maintenance request. --- .../dashboard_fragments/progress_fragment.dart | 9 ++++++++- lib/new_views/pages/land_page/dashboard_page.dart | 2 +- .../requests/create_service_request_page.dart | 15 +++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart index 38a3265a..b19dac6d 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart @@ -9,11 +9,16 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/pages/land_page/widgets/request_item_view_list.dart'; +import '../../../../controllers/providers/api/user_provider.dart'; +import '../../../../models/enums/user_types.dart'; + class ProgressFragment extends StatelessWidget { - const ProgressFragment({Key key}) : super(key: key); + ProgressFragment({Key key}) : super(key: key); + UserProvider _userProvider; @override Widget build(BuildContext context) { + _userProvider = Provider.of(context); return Consumer( builder: (context, snapshot, _) { Map statuses = { @@ -82,6 +87,7 @@ class ProgressFragment extends StatelessWidget { // setState(() {}); }, tabs: [ + if(_userProvider.user.type != UsersTypes.engineer) Tab(text: context.translation.open, height: 57.toScreenHeight), Tab(text: context.translation.inProgress, height: 57.toScreenHeight), Tab(text: context.translation.completed, height: 57.toScreenHeight), @@ -91,6 +97,7 @@ class ProgressFragment extends StatelessWidget { 8.height, TabBarView( children: [ + if(_userProvider.user.type != UsersTypes.engineer) RequestItemViewList(snapshot.openRequests?.requestsDetails ?? [], snapshot.isOpenLoading), RequestItemViewList(snapshot.inProgressRequests?.requestsDetails ?? [], snapshot.isInProgressLoading), RequestItemViewList(snapshot.completedRequests?.requestsDetails ?? [], snapshot.isCompleteLoading), diff --git a/lib/new_views/pages/land_page/dashboard_page.dart b/lib/new_views/pages/land_page/dashboard_page.dart index 042da1dd..7f632293 100644 --- a/lib/new_views/pages/land_page/dashboard_page.dart +++ b/lib/new_views/pages/land_page/dashboard_page.dart @@ -124,7 +124,7 @@ class _DashboardPageState extends State { onPageChanged: (index) => setState(() => _currentPage = index), children: [ const RequestsFragment(), - const ProgressFragment(), + ProgressFragment(), RecentActivitiesFragment(), ], ).expanded, diff --git a/lib/views/pages/user/requests/create_service_request_page.dart b/lib/views/pages/user/requests/create_service_request_page.dart index ed1eaea6..843d7ada 100644 --- a/lib/views/pages/user/requests/create_service_request_page.dart +++ b/lib/views/pages/user/requests/create_service_request_page.dart @@ -162,14 +162,16 @@ class CreateServiceRequestPageState extends State { ); }), 8.height, - SingleItemDropDownMenu( + Consumer(builder: (context, snapshot, _){ + return SingleItemDropDownMenu( context: context, title: context.translation.costCodeName, - initialValue: _serviceRequest?.type, - onSelect: (value) { - _serviceRequest.type = value; - }, - ), + enabled: false, + initialValue: snapshot.items?.firstWhere((element) => element.value == 1, orElse: () => null), + // onSelect: (value) { + // _serviceRequest.type = value; + // }, + );}), 8.height, MultiFilesPicker(label: context.translation.attachImage, files: _deviceImages), ((_serviceRequest.devicePhotos?.isNotEmpty ?? false) ? 16 : 8).height, @@ -212,6 +214,7 @@ class CreateServiceRequestPageState extends State { Future _submit() async { _serviceRequest?.requestedThrough = Provider.of(context, listen: false).items?.firstWhere((element) => element.value == 3, orElse: () => null); + _serviceRequest?.type=Provider.of(context, listen: false).items?.firstWhere((element) => element.value == 1, orElse: () => null); if (_formKey.currentState.validate() && await _serviceRequest.validateNewRequest(context)) { _formKey.currentState.save(); _serviceRequest.devicePhotos = _deviceImages.map((e) => _isLocalUrl(e.path) ? "${e.path.split("/").last}|${base64Encode(e.readAsBytesSync())}" : e.path).toList();