first action time added, comment fixed,

main_design2.0
Sikander Saleem 2 years ago
parent 7c928ed58a
commit adab2e36ea

@ -286,11 +286,12 @@ class ServiceRequestsProvider extends ChangeNotifier {
"callLastSituation": null,
"firstAction": request.firstAction?.toJson(),
"loanAvailablity": request.loanAvailability?.toJson(),
"comments": request.reviewComment,
"comments": request.comments,
"firstActionDate": request.visitDate,
"visitDate": request.visitDate,
"callReview": null,
"reviewComment": null,
//"reviewComment": request.reviewComment,
};
try {
response = await ApiManager.instance.put(

@ -20,6 +20,15 @@ extension StringExtensions on String {
}
}
String get toFirstActionFormat {
try {
DateTime dateTime = DateTime.tryParse(this);
return "${DateFormat('yyyy-MM-dd').format(dateTime)} ${DateFormat('hh:mm a').format(dateTime)}";
} catch (e) {
return "";
}
}
String get toAssetDetailsFormat {
try {
DateTime dateTime = DateTime.tryParse(this);

@ -32,10 +32,13 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
Asset asset;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
Lookup firstAction;
@override
void initState() {
super.initState();
_serviceRequest = widget.request;
firstAction = _serviceRequest.firstAction;
}
@override
@ -68,25 +71,46 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
SingleItemDropDownMenu<Lookup, FirstActionStatusProvider>(
context: context,
title: context.translation.firstActionStatus,
initialValue: _serviceRequest.firstAction,
initialValue: firstAction, //_serviceRequest.firstAction,
onSelect: (value) {
setState(() {
_serviceRequest.firstAction = value;
if (_serviceRequest?.firstAction?.value != 2) {
//_serviceRequest.firstAction = value;
firstAction = value;
if (firstAction.value != 2) {
_serviceRequest.visitDate = null;
}
});
},
),
if (_serviceRequest?.firstAction?.value == 2) 8.height,
if (_serviceRequest?.firstAction?.value == 2)
if (firstAction?.value == 2) 8.height,
if (firstAction?.value == 2)
ADatePicker(
label: context.translation.visitDate,
date: DateTime.tryParse(_serviceRequest.visitDate ?? ""),
onDatePicker: (date) {
setState(() {
_serviceRequest.visitDate = date?.toIso8601String();
});
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.visitDate = selectedDateTime?.toIso8601String();
});
}
}
});
}
},
),
@ -131,10 +155,11 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
Consumer<ServiceRequestsProvider>(
builder: (context, snapshot, _) => AppFilledButton(
label: context.translation.save,
loading: snapshot.isLoading,
loading: snapshot.isLoading ?? false,
onPressed: () async {
_formKey.currentState.save();
_serviceRequest.device = asset;
_serviceRequest.firstAction = firstAction;
await snapshot.updateRequest(user: userProvider.user, request: _serviceRequest);
Navigator.pop(context, true);
},

@ -101,6 +101,10 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
'${context.translation.requestType}: ${serviceRequest.type.name}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
),
Text(
'${context.translation.equipmentStatus}: ${serviceRequest.defectType.name}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
),
Text(
'${context.translation.requestNo}: ${serviceRequest.requestCode}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),

@ -1,6 +1,7 @@
import 'package:flutter/material.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';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
@ -13,6 +14,7 @@ class ADatePicker extends StatelessWidget {
final Function(DateTime) onDatePicker;
final bool enable, withBorder;
final Color backgroundColor;
final bool formatDateWithTime;
const ADatePicker({
Key key,
@ -20,6 +22,7 @@ class ADatePicker extends StatelessWidget {
this.withBorder = true,
this.backgroundColor,
this.date,
this.formatDateWithTime = false,
this.onDatePicker,
this.from,
this.to,
@ -49,7 +52,9 @@ class ADatePicker extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
label.tinyFont(context),
((date?.toIso8601String()?.split("T")?.first) ?? context.translation.pickADate).bodyText(context).custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
(formatDateWithTime ? date?.toIso8601String().toFirstActionFormat:
((date?.toIso8601String()?.split("T")?.first) ?? context.translation.pickADate)).bodyText(context).custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
],
).expanded
: label.bodyText(context).paddingOnly(top: 8, bottom: 8),

Loading…
Cancel
Save