Preparing the functionality [Still doesn't work]

pull/2/head
zaid_daoud 1 year ago
parent d13bfa5f60
commit e2a2104087

@ -445,10 +445,10 @@ class ServiceRequestsProvider extends ChangeNotifier {
}
Future<int> updateServiceReport({
@required String host,
@required User user,
@required ServiceReport report,
@required ServiceRequest request,
String host,
User user,
ServiceRequest request,
}) async {
Response response;
//Map<String,dynamic> body = report.toMap(request);

@ -1,17 +1,27 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart';
import 'package:test_sa/views/pages/sub_workorder/work_order_details_bottom_sheet.dart';
import '../../../controllers/api_routes/http_status_manger.dart';
import '../../../controllers/localization/localization.dart';
import '../../../models/subtitle.dart';
import '../../widgets/buttons/app_back_button.dart';
import '../../widgets/buttons/app_button.dart';
class CreateSubWorkOrderPage extends StatelessWidget {
class CreateSubWorkOrderPage extends StatefulWidget {
static const id = "/CreateSubWorkOrder";
const CreateSubWorkOrderPage({Key key}) : super(key: key);
@override
State<CreateSubWorkOrderPage> createState() => _CreateSubWorkOrderPageState();
}
class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
final Subtitle subtitle = AppLocalization.of(context).subtitle;
@ -111,8 +121,38 @@ class CreateSubWorkOrderPage extends StatelessWidget {
floatingActionButton: Padding(
padding: const EdgeInsets.all(16.0),
child: AButton(
text: subtitle.update,
onPressed: () {},
text: subtitle.create,
onPressed: () async {
// validate = true;
// if (!_formKey.currentState.validate()) {
// setState(() {});
// return;
// }
// if (!_serviceReport.validate()) return;
_formKey.currentState.save();
// _isLoading = true;
setState(() {});
int status = await Provider.of<ServiceRequestsProvider>(context).createServiceReport(
// user: _userProvider.user,
// host: _settingProvider.host,
// report: _serviceReport,
// request: widget.request,
);
// _isLoading = false;
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(msg: subtitle.requestCompleteSuccessfully);
Navigator.of(context).pop();
Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage),
));
}
},
),
),
);

@ -1,7 +1,12 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/views/app_style/colors.dart';
import '../../../controllers/api_routes/http_status_manger.dart';
import '../../../controllers/localization/localization.dart';
import '../../../controllers/providers/api/service_requests_provider.dart';
import '../../../models/service_report.dart';
import '../../../models/subtitle.dart';
import '../../widgets/app_text_form_field.dart';
import '../../widgets/buttons/app_button.dart';
@ -118,7 +123,33 @@ class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
),
AButton(
text: subtitle.update,
onPressed: () {},
onPressed: () async {
// _validate = true;
if (!_formKey.currentState.validate()) {
setState(() {});
return;
}
// if (!_serviceReport.validate()) {
// setState(() {});
// return;
// }
_formKey.currentState.save();
// _isLoading = true;
setState(() {});
int status = await Provider.of<ServiceRequestsProvider>(context).updateServiceReport(report: ServiceReport());
// _isLoading = false;
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(msg: subtitle.requestCompleteSuccessfully);
Navigator.of(context).pop();
// Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(errorMessage)));
}
},
),
],
),

@ -1,11 +1,16 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/buttons/app_button.dart';
import 'package:test_sa/views/widgets/status/report/service_report_maintenance_situation.dart';
import 'package:test_sa/views/widgets/status/report/service_report_repair_location.dart';
import '../../../controllers/api_routes/http_status_manger.dart';
import '../../../controllers/localization/localization.dart';
import '../../../models/service_report.dart';
import '../../app_style/sizing.dart';
import '../../widgets/date_and_time/time_picker.dart';
import '../../widgets/status/report/service_report_all_users.dart';
@ -117,7 +122,7 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
// ? "0"
// : ((_gasRefillProvider.endDate?.difference(_gasRefillProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? "0",
enable: false,
style: Theme.of(context).textTheme.subtitle1,
style: Theme.of(context).textTheme.titleMedium,
// validator: (value) => Validator.isNumeric(value) ? null : _subtitle.requiredWord,
textInputType: TextInputType.number,
onSaved: (value) {
@ -169,7 +174,33 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
),
AButton(
text: subtitle.update,
onPressed: () {},
onPressed: () async {
// _validate = true;
if (!_formKey.currentState.validate()) {
setState(() {});
return;
}
// if (!_serviceReport.validate()) {
// setState(() {});
// return;
// }
_formKey.currentState.save();
// _isLoading = true;
setState(() {});
int status = await Provider.of<ServiceRequestsProvider>(context).updateServiceReport(report: ServiceReport());
// _isLoading = false;
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(msg: subtitle.requestCompleteSuccessfully);
Navigator.of(context).pop();
// Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(errorMessage)));
}
},
),
],
),

Loading…
Cancel
Save