first action fixed remotely, start & end date added.

main_design2.0
Sikander Saleem 1 year ago
parent a7f2573584
commit 06cee34657

@ -304,6 +304,9 @@ class ServiceRequestsProvider extends ChangeNotifier {
"comments": request.comments,
"firstActionDate": request.visitDate,
"visitDate": request.visitDate,
"startDate": request.startDate,
"endDate": request.endDate,
"workingHours": request.workingHours,
"callReview": null,
"reviewComment": null,
//"reviewComment": request.reviewComment,

@ -37,6 +37,9 @@ class ServiceRequest {
//String workPerformed;
String visitDate;
String startDate;
String endDate;
String workingHours;
DateTime nextVisitDate;
String jobSheetNumber;
int reportID;
@ -75,6 +78,9 @@ class ServiceRequest {
this.faultDescription,
this.jobSheetNumber,
this.visitDate,
this.startDate,
this.endDate,
this.workingHours,
this.nextVisitDate,
//this.workPerformed,
this.reportID,
@ -101,9 +107,7 @@ class ServiceRequest {
return ServiceRequest(
id: parsedJson["id"].toString(),
requestCode: parsedJson["callNo"].toString(),
callCreatedBy: parsedJson['callCreatedBy'] != null
? CallCreatedBy.fromJson(parsedJson['callCreatedBy'])
: null,
callCreatedBy: parsedJson['callCreatedBy'] != null ? CallCreatedBy.fromJson(parsedJson['callCreatedBy']) : null,
hospitalName: parsedJson["asset"]["site"]["custName"],
deviceNumber: parsedJson["asset"]["assetNumber"].toString(),
@ -130,16 +134,17 @@ class ServiceRequest {
engineerMobile: parsedJson["assignedEmployee"] == null ? null : parsedJson["assignedEmployee"]["phone"],
faultDescription: parsedJson["workOrder"] != null
? parsedJson["workOrder"]["faultDescription"] != null
? FaultDescription.fromJson(parsedJson["workOrder"]["faultDescription"])
: null
? FaultDescription.fromJson(parsedJson["workOrder"]["faultDescription"])
: null
: null,
jobSheetNumber: parsedJson["workOrder"] != null ? parsedJson["workOrder"]["jobSheetNumber"] : null,
visitDate: DateTime
.tryParse(parsedJson["visitDate"] ?? "")
.toString()
.split(" ")
.first,
visitDate: DateTime.tryParse(parsedJson["visitDate"] ?? "").toString().split(" ").first,
startDate: DateTime.tryParse(parsedJson["startDate"] ?? "").toString().split(" ").first,
endDate: DateTime.tryParse(parsedJson["endDate"] ?? "").toString().split(" ").first,
workingHours: parsedJson["workingHours"],
nextVisitDate: DateTime.tryParse(parsedJson["nextVisitDate"] ?? ""),
//workPerformed: parsedJson["workOrder"] != null ? parsedJson["workOrder"]["workPerformed"] : null,
device: Asset.fromJson(parsedJson["asset"]),
@ -153,7 +158,6 @@ class ServiceRequest {
);
}
Future<bool> validateNewRequest(BuildContext context) async {
if (device == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.device}");
@ -192,4 +196,4 @@ class CallCreatedBy {
data['name'] = this.name;
return data;
}
}
}

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
@ -8,7 +9,6 @@ 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_request.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
import '../../../../controllers/providers/api/service_requests_provider.dart';
import '../../../../models/lookup.dart';
@ -83,8 +83,8 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
});
},
),
if (firstAction?.value == 2) 8.height,
if (firstAction?.value == 2)
if (firstAction?.value == 2) ...[
8.height,
ADatePicker(
label: context.translation.visitDate,
date: DateTime.tryParse(_serviceRequest.visitDate ?? ""),
@ -119,6 +119,76 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
}
},
),
],
if (firstAction?.id == 404 && Provider.of<SettingProvider>(context, listen: false).assetGroup.id == 1) ...[
8.height,
Row(
children: [
ADatePicker(
label: context.translation.startDate,
date: DateTime.tryParse(_serviceRequest.startDate ?? ""),
formatDateWithTime: true,
onDatePicker: (selectedDate) {
if (selectedDate != null) {
showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
).then((selectedTime) {
// Handle the selected date and time here.
if (selectedTime != null) {
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,
selectedDate.day,
selectedTime.hour,
selectedTime.minute,
);
if (selectedDateTime != null) {
setState(() {
_serviceRequest.startDate = selectedDateTime?.toIso8601String();
});
}
}
});
}
},
).expanded,
8.width,
ADatePicker(
label: context.translation.endDate,
date: DateTime.tryParse(_serviceRequest.endDate ?? ""),
formatDateWithTime: true,
onDatePicker: (selectedDate) {
if (selectedDate != null) {
showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
).then((selectedTime) {
// Handle the selected date and time here.
if (selectedTime != null) {
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,
selectedDate.day,
selectedTime.hour,
selectedTime.minute,
);
if (selectedDateTime != null) {
setState(() {
_serviceRequest.endDate = selectedDateTime?.toIso8601String();
_serviceRequest.workingHours =
(((DateTime.parse(_serviceRequest.endDate).difference(DateTime.parse(_serviceRequest.startDate)).inSeconds ?? 0) / 60) / 60).toStringAsFixed(2);
});
}
}
});
}
},
).expanded,
],
)
],
/// Loan availability not required
// 8.height,

Loading…
Cancel
Save