|
|
|
|
@ -21,6 +21,7 @@ import 'package:test_sa/providers/work_order/reason_provider.dart';
|
|
|
|
|
import 'package:test_sa/providers/work_order/service_type_provider.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
|
|
|
@ -31,7 +32,6 @@ import '../../../../../new_views/common_widgets/default_app_bar.dart';
|
|
|
|
|
import '../../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
|
|
|
import '../../../../widgets/date_and_time/date_picker.dart';
|
|
|
|
|
import '../../../../widgets/images/multi_image_picker.dart';
|
|
|
|
|
import '../../../../widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
|
|
|
|
|
|
|
|
/// todo : TBD (compare with the design)
|
|
|
|
|
class CreateServiceReport extends StatefulWidget {
|
|
|
|
|
@ -84,7 +84,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
setState(() {});
|
|
|
|
|
_serviceReport.callRequest = await _serviceRequestsProvider.getCallRequestForWorkOrder(callId: widget.request.id);
|
|
|
|
|
await _assetTypeProvider.getTypes(user: _userProvider.user, host: _settingProvider.host);
|
|
|
|
|
// _serviceReport.engineer = Engineer.fromJson(_callRequestForWorkOrder?.assignedEmployee?.toJson());
|
|
|
|
|
_serviceReport.assignedEmployee = _serviceReport.callRequest?.assignedEmployee;
|
|
|
|
|
_spareParts = await _partsProvider.getPartsList(assetId: widget.request.deviceId);
|
|
|
|
|
_isLoading = false;
|
|
|
|
|
setState(() {});
|
|
|
|
|
@ -192,7 +192,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
initialValue: (_serviceReport.sparePartsWorkOrders?.isNotEmpty ?? false) ? _serviceReport.sparePartsWorkOrders.first.sparePart : null,
|
|
|
|
|
onSelect: (part) {
|
|
|
|
|
_serviceReport.sparePartsWorkOrders.clear();
|
|
|
|
|
_serviceReport.sparePartsWorkOrders.add(SparePartsWorkOrders(sparePart: part));
|
|
|
|
|
_serviceReport.sparePartsWorkOrders.add(SparePartsWorkOrders(id: 0, sparePart: part, qty: 0));
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -201,8 +201,11 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
labelText: context.translation.quantity,
|
|
|
|
|
textInputType: TextInputType.number,
|
|
|
|
|
enable: _serviceReport.sparePartsWorkOrders.isNotEmpty,
|
|
|
|
|
initialValue: (_serviceReport.sparePartsWorkOrders?.isNotEmpty ?? false) ? _serviceReport.sparePartsWorkOrders.first.qty?.toString() : null,
|
|
|
|
|
onSaved: (text) {
|
|
|
|
|
_serviceReport.sparePartsWorkOrders.first.qty = num.tryParse(text ?? "");
|
|
|
|
|
if (_serviceReport.sparePartsWorkOrders?.isNotEmpty ?? false) {
|
|
|
|
|
_serviceReport.sparePartsWorkOrders.first.qty = num.tryParse(text ?? "");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
@ -227,7 +230,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
AppFilledButton(
|
|
|
|
|
label: context.translation.submitRequest,
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
if ((!_formKey.currentState.validate()) || (!(await _serviceReport.validate()))) {
|
|
|
|
|
if ((!_formKey.currentState.validate()) || (!(await _serviceReport.validate(context)))) {
|
|
|
|
|
setState(() {});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|