Fix Asset Type Issue & Add Repair Location Field (Work Order & Sub Work Order)

design_3.0_demo_module
zaid_daoud 2 years ago
parent d813c29802
commit 76f2623d5d

@ -92,7 +92,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
final serviceRequestProvider = Provider.of<ServiceRequestsProvider>(context); final serviceRequestProvider = Provider.of<ServiceRequestsProvider>(context);
Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false).reset(); Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false).reset();
assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false); assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false);
_callRequestForWorkOrder = await serviceRequestProvider.getCallRequestForWorkOrder(callId: widget.workOrder.callRequest.id.toString()); _callRequestForWorkOrder = await serviceRequestProvider.getCallRequestForWorkOrder(callId: widget.workOrder?.callRequest?.id?.toString());
if (_subWorkOrders?.parentWOId != null) { if (_subWorkOrders?.parentWOId != null) {
final subWoDetails = await serviceRequestProvider.getSubWorkOrderDetails(parentId: _subWorkOrders?.parentWOId.toString()); final subWoDetails = await serviceRequestProvider.getSubWorkOrderDetails(parentId: _subWorkOrders?.parentWOId.toString());
_subWorkOrders.copyDetails(subWoDetails); _subWorkOrders.copyDetails(subWoDetails);
@ -184,14 +184,14 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
onRefresh: () async { onRefresh: () async {
assetTypesProvider.reset(); assetTypesProvider.reset();
await assetTypesProvider.getTypes(); await assetTypesProvider.getTypes();
_serviceReport?.assetType = assetTypesProvider.statuses?.firstWhere( _subWorkOrders?.assetType = assetTypesProvider.statuses?.firstWhere(
(element) => element.value == _serviceReport.callRequest.assetType, (element) => element.value == _serviceReport.callRequest.assetType,
orElse: () => null, orElse: () => null,
); );
}, },
child: AppTextFormField( child: AppTextFormField(
labelText: context.translation.assetType, labelText: context.translation.assetType,
initialValue: _serviceReport?.assetType?.name, initialValue: _subWorkOrders?.assetType?.name,
textAlign: TextAlign.center, textAlign: TextAlign.center,
enable: false, enable: false,
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,

@ -246,7 +246,11 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
label: context.translation.viewWorkOrder, label: context.translation.viewWorkOrder,
maxWidth: true, maxWidth: true,
onPressed: () { onPressed: () {
Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest); Navigator.push(
context,
MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)),
);
// Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest);
}, },
)) ))
.paddingOnly(start: 16, end: 16, bottom: 24), .paddingOnly(start: 16, end: 16, bottom: 24),

@ -34,6 +34,7 @@ import '../../../../../new_views/common_widgets/single_item_drop_down_menu.dart'
import '../../../../widgets/date_and_time/date_picker.dart'; import '../../../../widgets/date_and_time/date_picker.dart';
import '../../../../widgets/images/multi_image_picker.dart'; import '../../../../widgets/images/multi_image_picker.dart';
import '../../../../widgets/status/report/service_report_fault_description.dart'; import '../../../../widgets/status/report/service_report_fault_description.dart';
import '../../../../widgets/status/report/service_report_repair_location.dart';
import '../../../../widgets/timer/app_timer.dart'; import '../../../../widgets/timer/app_timer.dart';
/// todo : TBD (compare with the design) /// todo : TBD (compare with the design)
@ -269,6 +270,14 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
}, },
), ),
8.height, 8.height,
ServiceReportRepairLocation(
label: context.translation.repairLocation,
initialValue: _serviceReport.repairLocation,
onSelect: (status) {
_serviceReport.repairLocation = status;
},
),
8.height,
PartNoButton( PartNoButton(
controller: _partQtyController, controller: _partQtyController,
spareParts: _spareParts, spareParts: _spareParts,

@ -33,6 +33,7 @@ import '../../../../widgets/e_signature/e_signature.dart';
import '../../../../widgets/images/multi_image_picker.dart'; import '../../../../widgets/images/multi_image_picker.dart';
import '../../../../widgets/status/report/service_report_assistant_employee_menu.dart'; import '../../../../widgets/status/report/service_report_assistant_employee_menu.dart';
import '../../../../widgets/status/report/service_report_fault_description.dart'; import '../../../../widgets/status/report/service_report_fault_description.dart';
import '../../../../widgets/status/report/service_report_repair_location.dart';
import '../../../../widgets/timer/app_timer.dart'; import '../../../../widgets/timer/app_timer.dart';
class EditServiceReport extends StatefulWidget { class EditServiceReport extends StatefulWidget {
@ -254,6 +255,14 @@ class _EditServiceReportState extends State<EditServiceReport> with TickerProvid
}, },
), ),
8.height, 8.height,
ServiceReportRepairLocation(
label: context.translation.repairLocation,
initialValue: _serviceReport.repairLocation,
onSelect: (status) {
_serviceReport.repairLocation = status;
},
),
8.height,
PartNoButton( PartNoButton(
controller: _partQtyController, controller: _partQtyController,
spareParts: _spareParts, spareParts: _spareParts,

@ -32,17 +32,14 @@ class WorkOrderListPage extends StatelessWidget {
List<SearchWorkOrder> workOrders = []; List<SearchWorkOrder> workOrders = [];
ServiceRequestsProvider serviceRequestsProvider; ServiceRequestsProvider serviceRequestsProvider;
UserProvider _userProvider = Provider.of<UserProvider>(context); UserProvider _userProvider = Provider.of<UserProvider>(context);
if (serviceRequestsProvider == null) { serviceRequestsProvider ??= Provider.of<ServiceRequestsProvider>(context);
serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context); print("serviceRequest.statusValue:${serviceRequest?.statusValue}");
serviceRequest = ModalRoute.of(context).settings.arguments;
}
print("serviceRequest.statusValue:${serviceRequest.statusValue}");
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.workOrders), appBar: DefaultAppBar(title: context.translation.workOrders),
//backgroundColor: const Color(0xfff8f9fb), //backgroundColor: const Color(0xfff8f9fb),
body: SafeArea( body: SafeArea(
child: FutureBuilder( child: FutureBuilder(
future: serviceRequestsProvider.searchWorkOrders(callId: serviceRequest.requestCode), future: serviceRequestsProvider.searchWorkOrders(callId: serviceRequest?.requestCode),
builder: (context, snap) { builder: (context, snap) {
if (snap.connectionState == ConnectionState.waiting) return const Center(child: CircularProgressIndicator()); if (snap.connectionState == ConnectionState.waiting) return const Center(child: CircularProgressIndicator());
workOrders = snap.data as List<SearchWorkOrder>; workOrders = snap.data as List<SearchWorkOrder>;

Loading…
Cancel
Save