diff --git a/lib/models/service_request/service_request_search.dart b/lib/models/service_request/service_request_search.dart index 3366f043..6df51b1a 100644 --- a/lib/models/service_request/service_request_search.dart +++ b/lib/models/service_request/service_request_search.dart @@ -1,7 +1,10 @@ import 'package:test_sa/models/hospital.dart'; import 'package:test_sa/models/lookup.dart'; +import '../call_request_for_work_order_model.dart'; + class ServiceRequestSearch { + String callId; String deviceSerialNumber; String deviceNumber; String deviceName; @@ -9,6 +12,9 @@ class ServiceRequestSearch { String model; Lookup statusValue; bool mostRecent; + String from, to; + Lookup dateOperator; + AssignedEmployee assignedEmployee; ServiceRequestSearch({ this.deviceSerialNumber, @@ -18,6 +24,11 @@ class ServiceRequestSearch { this.model, this.hospital, this.mostRecent, + this.callId, + this.from, + this.to, + this.assignedEmployee, + this.dateOperator, }); fromSearch(ServiceRequestSearch newSearch) { @@ -27,6 +38,11 @@ class ServiceRequestSearch { hospital = newSearch.hospital; model = newSearch.model; mostRecent = newSearch.mostRecent; + callId = newSearch.callId; + from = newSearch.from; + to = newSearch.to; + assignedEmployee = newSearch.assignedEmployee; + dateOperator = newSearch.dateOperator; } Map toMap() { @@ -51,9 +67,24 @@ class ServiceRequestSearch { search["site"] = hospital.name; } - if (model != null) { + if (model != null && model.isNotEmpty) { search["modelDefinition"] = model; } + + if (callId != null && callId.isNotEmpty) { + search["callId"] = callId; + } + + if (dateOperator != null && from != null) { + search["requestedDateSymbol"] = dateOperator.toMap(); + search["requestedDateFrom"] = from; + } + if (dateOperator != null && to != null) { + search["requestedDateTo"] = to; + } + if (assignedEmployee != null) { + search["assignedEmployee"] = assignedEmployee.toJson(); + } return search; } } diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index 3ab26e39..f3f666ea 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -23,7 +23,6 @@ import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/pages/device_transfer/request_device_transfer.dart'; import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart'; -import 'package:test_sa/views/pages/sub_workorder/search_sub_workorder_page.dart'; import 'package:test_sa/views/pages/user/gas_refill/request_gas_refill.dart'; import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart'; import 'package:test_sa/views/pages/user/requests/create_request.dart'; @@ -212,14 +211,14 @@ class _LandPageState extends State { Navigator.of(context).pushNamed(TrackDeviceTransferPage.id); }, ), - if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user) - LandPageItem( - text: "Search Work Order", - svgPath: "assets/images/sub_workorder_icon.svg", - onPressed: () { - Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id); - }, - ), + // if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user) + // LandPageItem( + // text: "Search Work Order", + // svgPath: "assets/images/sub_workorder_icon.svg", + // onPressed: () { + // Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id); + // }, + // ), ], ), ], diff --git a/lib/views/widgets/search/service_request_search_bar.dart b/lib/views/widgets/search/service_request_search_bar.dart index 9502d645..3ff29b7a 100644 --- a/lib/views/widgets/search/service_request_search_bar.dart +++ b/lib/views/widgets/search/service_request_search_bar.dart @@ -11,7 +11,12 @@ import 'package:test_sa/views/widgets/status/service_request/service_request_sta import 'package:test_sa/views/widgets/switch_button.dart'; import 'package:test_sa/views/widgets/titles/app_sub_title.dart'; +import '../../../models/call_request_for_work_order_model.dart'; +import '../../../models/engineer.dart'; import '../app_text_form_field.dart'; +import '../date_and_time/date_picker.dart'; +import '../status/report/service_report_all_users.dart'; +import '../status/report/service_report_visit_date_operator.dart'; class ServiceRequestsSearchDialog extends StatefulWidget { final ServiceRequestSearch initialSearchValue; @@ -63,168 +68,239 @@ class _ServiceRequestsSearchDialogState extends State