Merge remote-tracking branch 'origin/main_design2.0' into main_design2.0

main_design2.0
Sikander Saleem 2 years ago
commit 50a3560518

@ -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;

@ -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<UserProvider>(context);
return Consumer<AllRequestsProvider>(
builder: (context, snapshot, _) {
Map<String, double> 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),

@ -28,8 +28,10 @@ class _DashboardPageState extends State<DashboardPage> {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_){
Provider.of<AllRequestsProvider>(context, listen: false).getRequests();
Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications();
});
}
@override
@ -122,7 +124,7 @@ class _DashboardPageState extends State<DashboardPage> {
onPageChanged: (index) => setState(() => _currentPage = index),
children: [
const RequestsFragment(),
const ProgressFragment(),
ProgressFragment(),
RecentActivitiesFragment(),
],
).expanded,

@ -162,14 +162,16 @@ class CreateServiceRequestPageState extends State<CreateServiceRequestPage> {
);
}),
8.height,
SingleItemDropDownMenu<Lookup, TypeOfRequestProvider>(
Consumer<TypeOfRequestProvider>(builder: (context, snapshot, _){
return SingleItemDropDownMenu<Lookup, TypeOfRequestProvider>(
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<CreateServiceRequestPage> {
Future<void> _submit() async {
_serviceRequest?.requestedThrough = Provider.of<RequestedThroughProvider>(context, listen: false).items?.firstWhere((element) => element.value == 3, orElse: () => null);
_serviceRequest?.type=Provider.of<TypeOfRequestProvider>(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();

Loading…
Cancel
Save