ppm flow added.

main_design2.0
Sikander Saleem 2 years ago
parent c6115e5938
commit f8ba08a44b

@ -103,6 +103,31 @@ class RegularVisitsProvider extends ChangeNotifier {
return response.statusCode; return response.statusCode;
} }
Future<Visit> getVisitObjectById(num id) async {
try {
Map<String, dynamic> body = {};
body.addAll(visitsSearch.toMap());
body["pageNumber"] = 1;
body["pageSize"] = 3;
body["id"] = id;
Response response = await ApiManager.instance.post(
URLs.getRegularVisits,
body: body,
);
if (response.statusCode >= 200 && response.statusCode < 300) {
List requestsListJson = json.decode(response.body)["data"];
List<Visit> visits = requestsListJson.map((request) => Visit.fromJson(request)).toList();
return visits?.first;
} else {
return null;
}
} catch (error) {
return null;
}
}
/// return -2 if request in progress /// return -2 if request in progress
/// return -1 if error happen when sending request /// return -1 if error happen when sending request
/// return state code if request complete may be 200, 404 or 403 /// return state code if request complete may be 200, 404 or 403

@ -65,6 +65,8 @@ class PpmItemView extends StatelessWidget {
], ],
), ),
], ],
).toShadowContainer(context, showShadow: showShadow).onPress(() {}); ).toShadowContainer(context, showShadow: showShadow).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => VisitDetailsPage(visit: Visit(id: request.id))));
});
} }
} }

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/regular_visits_provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
@ -8,6 +9,8 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/visits/visit.dart'; import 'package:test_sa/models/visits/visit.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/pages/user/visits/pantry/edit_pentry.dart'; import 'package:test_sa/views/pages/user/visits/pantry/edit_pentry.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
import '../../../../controllers/providers/api/user_provider.dart'; import '../../../../controllers/providers/api/user_provider.dart';
import '../../../../models/enums/user_types.dart'; import '../../../../models/enums/user_types.dart';
@ -25,11 +28,20 @@ class VisitDetailsPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
UserProvider userProvider = Provider.of<UserProvider>(context); UserProvider userProvider = Provider.of<UserProvider>(context);
RegularVisitsProvider _visitsProvider = Provider.of<RegularVisitsProvider>(context);
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.preventiveMaintenance), appBar: DefaultAppBar(title: context.translation.preventiveMaintenance),
body: SafeArea( body: SafeArea(
child: Column( child: FutureBuilder(
children: [ future: _visitsProvider.getVisitObjectById(visit.id),
builder: (context, snap) {
if (snap.connectionState == ConnectionState.waiting) {
return const ALoading();
} else if (snap.hasData) {
Visit visit = snap.data;
return Column(children: [
SingleChildScrollView( SingleChildScrollView(
child: Column( child: Column(
//mainAxisSize: MainAxisSize.min, //mainAxisSize: MainAxisSize.min,
@ -74,9 +86,11 @@ class VisitDetailsPage extends StatelessWidget {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => EditPentry(visit: visit, pentry: visit.pentry))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => EditPentry(visit: visit, pentry: visit.pentry)));
}, },
label: context.translation.updateRequest, label: context.translation.updateRequest,
).paddingAll(16), ).paddingAll(16)
], ]);
), }
return NoItemFound(message: context.translation.noDataFound);
}),
), ),
); );
} }

Loading…
Cancel
Save