Updating Search Work Order Model

pull/2/head
zaid_daoud 3 years ago
parent ebd9297646
commit 19cee08954

@ -13,9 +13,9 @@ import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/models/service_request/service_request_search.dart'; import 'package:test_sa/models/service_request/service_request_search.dart';
import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/models/timer_model.dart'; import 'package:test_sa/models/timer_model.dart';
import 'package:test_sa/models/user.dart';
import '../../../models/service_request/search_work_order.dart'; import '../../../models/service_request/search_work_order.dart';
import '../../../models/user.dart';
class ServiceRequestsProvider extends ChangeNotifier { class ServiceRequestsProvider extends ChangeNotifier {
// number of items call in each request // number of items call in each request
@ -38,7 +38,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
// list of user requests // list of user requests
List<ServiceRequest> serviceRequests; List<ServiceRequest> serviceRequests;
List<SearchWorkOrders> workOrders = []; List<SearchWorkOrder> workOrders = [];
// when requests in-process _loading = true // when requests in-process _loading = true
// done _loading = true // done _loading = true
@ -387,7 +387,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
} }
} }
Future<List<SearchWorkOrders>> searchWorkOrders({@required String callId}) async { Future<List<SearchWorkOrder>> searchWorkOrders({@required String callId}) async {
Response response; Response response;
try { try {
@ -402,7 +402,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
// client's request was successfully received // client's request was successfully received
List workOrdersJson = json.decode(response.body)["data"]; List workOrdersJson = json.decode(response.body)["data"];
print(workOrdersJson); print(workOrdersJson);
workOrders = workOrdersJson.map<SearchWorkOrders>((request) => SearchWorkOrders.fromJson(request)).toList(); workOrders = workOrdersJson.map<SearchWorkOrder>((request) => SearchWorkOrder.fromJson(request)).toList();
if (workOrders.length == pageItemNumber) { if (workOrders.length == pageItemNumber) {
nextPage = true; nextPage = true;
} else { } else {
@ -478,7 +478,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
} }
} }
Future<int> updateWorkOrderDetails({@required SearchWorkOrders workOrder}) async { Future<int> updateWorkOrderDetails({@required SearchWorkOrder workOrder}) async {
Response response; Response response;
//Map<String,dynamic> body = report.toMap(request); //Map<String,dynamic> body = report.toMap(request);
// body["uid"] = user.id; // body["uid"] = user.id;
@ -588,8 +588,8 @@ class ServiceRequestsProvider extends ChangeNotifier {
} }
} }
Future<List<SearchWorkOrders>> searchForWorkOrders( Future<List<SearchWorkOrder>> searchForWorkOrders(
SearchWorkOrders search, SearchWorkOrder search,
String callerId, String callerId,
Lookup dateOperator, Lookup dateOperator,
String site, String site,
@ -619,7 +619,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
// client's request was successfully received // client's request was successfully received
List workOrdersJson = json.decode(response.body)["data"]; List workOrdersJson = json.decode(response.body)["data"];
print(workOrdersJson); print(workOrdersJson);
workOrders = workOrdersJson.map<SearchWorkOrders>((request) => SearchWorkOrders.fromJson(request)).toList(); workOrders = workOrdersJson.map<SearchWorkOrder>((request) => SearchWorkOrder.fromJson(request)).toList();
if (workOrders.length == pageItemNumber) { if (workOrders.length == pageItemNumber) {
nextPage = true; nextPage = true;
} else { } else {

File diff suppressed because it is too large Load Diff

@ -13,14 +13,10 @@ import '../../../controllers/localization/localization.dart';
import '../../../models/subtitle.dart'; import '../../../models/subtitle.dart';
import '../../widgets/buttons/app_back_button.dart'; import '../../widgets/buttons/app_back_button.dart';
import '../../widgets/buttons/app_button.dart'; import '../../widgets/buttons/app_button.dart';
import '../../widgets/date_and_time/date_picker.dart';
import '../../widgets/status/report/service_report_equipment_status.dart';
import '../../widgets/status/report/service_report_reasons.dart';
import '../../widgets/titles/app_sub_title.dart';
class CreateSubWorkOrderPage extends StatefulWidget { class CreateSubWorkOrderPage extends StatefulWidget {
static const id = "/CreateSubWorkOrder"; static const id = "/CreateSubWorkOrder";
final SearchWorkOrders workOrder; final SearchWorkOrder workOrder;
const CreateSubWorkOrderPage({this.workOrder, Key key}) : super(key: key); const CreateSubWorkOrderPage({this.workOrder, Key key}) : super(key: key);
@override @override

@ -15,7 +15,6 @@ import '../../../controllers/localization/localization.dart';
import '../../app_style/colors.dart'; import '../../app_style/colors.dart';
import '../../widgets/buttons/app_back_button.dart'; import '../../widgets/buttons/app_back_button.dart';
import '../../widgets/buttons/app_button.dart'; import '../../widgets/buttons/app_button.dart';
import '../../widgets/loaders/app_loading.dart';
import '../../widgets/status/report/service_report_all_users.dart'; import '../../widgets/status/report/service_report_all_users.dart';
import '../../widgets/status/report/service_report_maintenance_situation.dart'; import '../../widgets/status/report/service_report_maintenance_situation.dart';
import '../../widgets/status/report/service_report_visit_date_operator.dart'; import '../../widgets/status/report/service_report_visit_date_operator.dart';
@ -31,7 +30,7 @@ class SearchSubWorkOrderPage extends StatefulWidget {
class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> { class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final SearchWorkOrders _searchWorkOrders = SearchWorkOrders(); final SearchWorkOrder _searchWorkOrders = SearchWorkOrder();
Subtitle _subtitle; Subtitle _subtitle;
bool _isLoading = false; bool _isLoading = false;
String _callerId = "", _site = ""; String _callerId = "", _site = "";
@ -87,7 +86,9 @@ class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
labelText: "Asset S.N.", labelText: "Asset S.N.",
textInputType: TextInputType.number, textInputType: TextInputType.number,
onSaved: (value) { onSaved: (value) {
_searchWorkOrders.assetType = value; if (value != null) {
_searchWorkOrders.assetType = Lookup(name: value);
}
}, },
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
@ -172,7 +173,7 @@ class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
if (_formKey.currentState?.validate() ?? false) {} if (_formKey.currentState?.validate() ?? false) {}
_formKey.currentState?.save(); _formKey.currentState?.save();
final serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false); final serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false);
final List<SearchWorkOrders> woList = await serviceRequestsProvider.searchForWorkOrders( final List<SearchWorkOrder> woList = await serviceRequestsProvider.searchForWorkOrders(
_searchWorkOrders, _searchWorkOrders,
_callerId, _callerId,
_dateOperator, _dateOperator,
@ -187,37 +188,41 @@ class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
MaterialPageRoute( MaterialPageRoute(
builder: (context) => Scaffold( builder: (context) => Scaffold(
body: SafeArea( body: SafeArea(
child: Column( child: Column(
children: [ children: [
Container( Container(
color: AColors.primaryColor, color: AColors.primaryColor,
padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4), padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4),
child: Column( child: Column(
children: [
Row(
children: [ children: [
Row( ABackButton(),
children: [ Expanded(
ABackButton(), child: Center(
Expanded( child: Text(
child: Center( "Work Order List",
child: Text( style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic),
"Work Order List",
style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic),
),
),
), ),
const SizedBox( ),
width: 48,
)
],
), ),
const SizedBox(
width: 48,
)
], ],
), ),
), ],
Expanded(child: WorkOrderList(items: woList, nextPage: true, onLazyLoad: (){}, )), ),
],
), ),
) Expanded(
), child: WorkOrderList(
items: woList,
nextPage: true,
onLazyLoad: () {},
)),
],
),
)),
), ),
); );
} else { } else {

@ -14,7 +14,7 @@ import '../../widgets/buttons/app_button.dart';
import '../../widgets/titles/app_sub_title.dart'; import '../../widgets/titles/app_sub_title.dart';
class SparePartsBottomSheet extends StatefulWidget { class SparePartsBottomSheet extends StatefulWidget {
final SearchWorkOrders workOrder; final SearchWorkOrder workOrder;
const SparePartsBottomSheet({this.workOrder, Key key}) : super(key: key); const SparePartsBottomSheet({this.workOrder, Key key}) : super(key: key);
@override @override
@ -23,7 +23,7 @@ class SparePartsBottomSheet extends StatefulWidget {
class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> { class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
SearchWorkOrders _workOrder; SearchWorkOrder _workOrder;
bool _isLoading = false; bool _isLoading = false;
@override @override
void initState() { void initState() {
@ -123,7 +123,7 @@ class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
const SizedBox(height: 8), const SizedBox(height: 8),
InkWell( InkWell(
onTap: () { onTap: () {
_workOrder.sparePartsWorkOrders.add(SparePartWorkOrder()); _workOrder.sparePartsWorkOrders.add(SparePartsWorkOrders());
setState(() {}); setState(() {});
}, },
child: Container( child: Container(

@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart'; import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/search_work_order.dart'; import 'package:test_sa/models/service_request/search_work_order.dart';
import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/widgets/app_text_form_field.dart'; import 'package:test_sa/views/widgets/app_text_form_field.dart';
@ -13,14 +12,12 @@ import 'package:test_sa/views/widgets/status/report/service_report_repair_locati
import '../../../controllers/api_routes/http_status_manger.dart'; import '../../../controllers/api_routes/http_status_manger.dart';
import '../../../controllers/localization/localization.dart'; import '../../../controllers/localization/localization.dart';
import '../../../models/engineer.dart';
import '../../app_style/sizing.dart'; import '../../app_style/sizing.dart';
import '../../widgets/date_and_time/time_picker.dart'; import '../../widgets/date_and_time/time_picker.dart';
import '../../widgets/status/report/service_report_all_users.dart';
import '../../widgets/titles/app_sub_title.dart'; import '../../widgets/titles/app_sub_title.dart';
class WorkOrderDetailsBottomSheet extends StatefulWidget { class WorkOrderDetailsBottomSheet extends StatefulWidget {
final SearchWorkOrders workOrder; final SearchWorkOrder workOrder;
const WorkOrderDetailsBottomSheet({this.workOrder, Key key}) : super(key: key); const WorkOrderDetailsBottomSheet({this.workOrder, Key key}) : super(key: key);
@override @override
@ -29,7 +26,7 @@ class WorkOrderDetailsBottomSheet extends StatefulWidget {
class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomSheet> { class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomSheet> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
SearchWorkOrders _workOrder; SearchWorkOrder _workOrder;
bool _isLoading = false; bool _isLoading = false;
@override @override
@ -73,14 +70,14 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
const SizedBox(height: 8), const SizedBox(height: 8),
const ASubTitle("Assistant Employee"), const ASubTitle("Assistant Employee"),
const SizedBox(height: 4), const SizedBox(height: 4),
ServiceReportAllUsers( // ServiceReportAllUsers(
initialValue: _workOrder.assistantEmployees == null || _workOrder.assistantEmployees.isEmpty // initialValue: _workOrder.assistantEmployees == null || _workOrder.assistantEmployees.isEmpty
? null // ? null
: Engineer(id: _workOrder.assistantEmployees?.first?.id, name: _workOrder.assistantEmployees?.first?.name), // : Engineer(id: _workOrder.assistantEmployees?.first?.id, name: _workOrder.assistantEmployees?.first?.name),
onSelect: (engineer) { // onSelect: (engineer) {
_workOrder.assistantEmployees = [AssignedEmployee(id: engineer.id, name: engineer.name)]; // _workOrder.assistantEmployees = [AssignedEmployee(id: engineer.id, name: engineer.name)];
}, // },
), // ),
const SizedBox(height: 8), const SizedBox(height: 8),
Row( Row(
children: [ children: [
@ -93,11 +90,11 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
height: 8 * AppStyle.getScaleFactor(context), height: 8 * AppStyle.getScaleFactor(context),
), ),
ADateTimePicker( ADateTimePicker(
date: DateTime.tryParse(_workOrder.startDate ?? ""), date: DateTime.tryParse(_workOrder.startofWorkTime ?? ""),
from: DateTime.now().subtract(const Duration(days: 365)), from: DateTime.now().subtract(const Duration(days: 365)),
to: DateTime.now().add(const Duration(days: 365)), to: DateTime.now().add(const Duration(days: 365)),
onDateTimePicker: (date) { onDateTimePicker: (date) {
_workOrder.startDate = date?.toIso8601String(); _workOrder.startofWorkTime = date?.toIso8601String();
setState(() {}); setState(() {});
}, },
), ),
@ -114,11 +111,11 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
height: 8 * AppStyle.getScaleFactor(context), height: 8 * AppStyle.getScaleFactor(context),
), ),
ADateTimePicker( ADateTimePicker(
date: DateTime.tryParse(_workOrder.endDate ?? ""), date: DateTime.tryParse(_workOrder.endofWorkTime ?? ""),
from: DateTime.now().subtract(const Duration(days: 365)), from: DateTime.now().subtract(const Duration(days: 365)),
to: DateTime.now().add(const Duration(days: 365)), to: DateTime.now().add(const Duration(days: 365)),
onDateTimePicker: (date) { onDateTimePicker: (date) {
_workOrder.endDate = date?.toIso8601String(); _workOrder.endofWorkTime = date?.toIso8601String();
setState(() {}); setState(() {});
}, },
), ),
@ -133,9 +130,12 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
ATextFormField( ATextFormField(
initialValue: null, initialValue: null,
textAlign: TextAlign.center, textAlign: TextAlign.center,
hintText: _workOrder.startDate == null hintText: _workOrder.startofWorkTime == null
? "0" ? "0"
: ((DateTime.tryParse(_workOrder.endDate ?? "")?.difference(DateTime.tryParse(_workOrder.startDate ?? ""))?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? "0", : ((DateTime.tryParse(_workOrder.endofWorkTime ?? "")?.difference(DateTime.tryParse(_workOrder.startofWorkTime ?? ""))?.inMinutes ?? 0) / 60)
?.toStringAsFixed(2)
?.toString() ??
"0",
enable: false, enable: false,
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,
// validator: (value) => Validator.isNumeric(value) ? null : _subtitle.requiredWord, // validator: (value) => Validator.isNumeric(value) ? null : _subtitle.requiredWord,
@ -180,18 +180,18 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
const ASubTitle("Repair Location"), const ASubTitle("Repair Location"),
const SizedBox(height: 4), const SizedBox(height: 4),
ServiceReportRepairLocation( ServiceReportRepairLocation(
initialValue: _workOrder.repairLocation != null ? Lookup(name: _workOrder.repairLocation) : null, initialValue: _workOrder.repairLocation,
onSelect: (status) { onSelect: (status) {
_workOrder.repairLocation = status.name; _workOrder.repairLocation = status;
}, },
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
ATextFormField( ATextFormField(
labelText: "Technical Comments", labelText: "Technical Comments",
initialValue: _workOrder.reviewComment, initialValue: _workOrder.comment,
textInputType: TextInputType.multiline, textInputType: TextInputType.multiline,
onSaved: (value) { onSaved: (value) {
_workOrder.reviewComment = value; _workOrder.comment = value;
}, },
), ),
const SizedBox(height: 24), const SizedBox(height: 24),

@ -5,8 +5,8 @@ import '../../app_style/colors.dart';
import '../../app_style/sizing.dart'; import '../../app_style/sizing.dart';
class WorkOrderDetails extends StatelessWidget { class WorkOrderDetails extends StatelessWidget {
final SearchWorkOrders item; final SearchWorkOrder item;
const WorkOrderDetails({@required this.item,Key key}) : super(key: key); const WorkOrderDetails({@required this.item, Key key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -47,11 +47,13 @@ class WorkOrderDetails extends StatelessWidget {
), ),
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
), ),
child: _buildRow("call id", "", context),) child: _buildRow("call id", "", context),
)
], ],
); );
} }
Widget _buildRow(String title, String value, BuildContext context){
Widget _buildRow(String title, String value, BuildContext context) {
return Row( return Row(
children: [ children: [
Expanded( Expanded(

@ -1,4 +1,3 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/models/subtitle.dart';
@ -10,8 +9,8 @@ import '../../../models/service_request/search_work_order.dart';
class WorkOrderItem extends StatelessWidget { class WorkOrderItem extends StatelessWidget {
final int index; final int index;
final SearchWorkOrders item; final SearchWorkOrder item;
final Function(SearchWorkOrders) onPressed; final Function(SearchWorkOrder) onPressed;
const WorkOrderItem({Key key, this.item, this.onPressed, this.index}) : super(key: key); const WorkOrderItem({Key key, this.item, this.onPressed, this.index}) : super(key: key);
@override @override
@ -49,8 +48,8 @@ class WorkOrderItem extends StatelessWidget {
Text( Text(
item.callRequest.asset.id.toString(), item.callRequest.asset.id.toString(),
style: Theme.of(context).textTheme.subtitle2.copyWith( style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor, color: onItemColor,
), ),
), ),
Row( Row(
children: [ children: [
@ -58,24 +57,24 @@ class WorkOrderItem extends StatelessWidget {
child: Text( child: Text(
_subtitle.assetName, _subtitle.assetName,
style: Theme.of(context).textTheme.subtitle2.copyWith( style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor, color: onItemColor,
), ),
), ),
), ),
//if (item.clientName != null) //if (item.clientName != null)
Text( Text(
item.callRequest.asset.assetNumber, item.callRequest.asset.assetNumber,
style: Theme.of(context).textTheme.subtitle2.copyWith( style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor, color: onItemColor,
), ),
), ),
], ],
), ),
Text( Text(
item.calllastSituation.name, item.calllastSituation.name,
style: Theme.of(context).textTheme.subtitle2.copyWith( style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor, color: onItemColor,
), ),
), ),
Divider( Divider(
color: onItemColor, color: onItemColor,
@ -86,8 +85,8 @@ class WorkOrderItem extends StatelessWidget {
child: Text( child: Text(
_subtitle.status, _subtitle.status,
style: Theme.of(context).textTheme.subtitle2.copyWith( style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor, color: onItemColor,
), ),
), ),
), ),
if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, color: AColors.getGasStatusColor(item.callRequest.status.id)), if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, color: AColors.getGasStatusColor(item.callRequest.status.id)),

@ -1,5 +1,6 @@
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:test_sa/views/pages/sub_workorder/workorder_update.dart';
import 'package:test_sa/views/pages/sub_workorder/workorder_item.dart'; import 'package:test_sa/views/pages/sub_workorder/workorder_item.dart';
import '../../../controllers/localization/localization.dart'; import '../../../controllers/localization/localization.dart';
@ -10,36 +11,41 @@ import '../../widgets/loaders/no_item_found.dart';
import 'create_sub_workorder_page.dart'; import 'create_sub_workorder_page.dart';
class WorkOrderList extends StatelessWidget { class WorkOrderList extends StatelessWidget {
final List<SearchWorkOrders> items; final List<SearchWorkOrder> items;
final bool nextPage; final bool nextPage;
final Future<void> Function() onLazyLoad; final Future<void> Function() onLazyLoad;
WorkOrderList({Key key, this.items, this.nextPage, this.onLazyLoad}) : super(key: key); const WorkOrderList({Key key, this.items, this.nextPage, this.onLazyLoad}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (items.isEmpty) {
if (items.length == 0) {
Subtitle subtitle = AppLocalization.of(context).subtitle; Subtitle subtitle = AppLocalization.of(context).subtitle;
return NoItemFound( return NoItemFound(
message: subtitle.noServiceRequestFound, message: subtitle.noServiceRequestFound,
); );
} }
return LazyLoading( return LazyLoading(
nextPage: nextPage, nextPage: nextPage,
onLazyLoad: onLazyLoad, onLazyLoad: onLazyLoad,
child: ListView.builder( child: ListView.builder(
itemCount: items.length, itemCount: items.length,
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
itemBuilder: (context, itemIndex) { itemBuilder: (context, itemIndex) {
return WorkOrderItem(index: itemIndex, onPressed: (model){ return WorkOrderItem(
// Navigator.of(context).push(MaterialPageRoute( index: itemIndex,
// builder: (_) => WorkOrderUpdate(item: model,))); onPressed: (model) {
Navigator.push( // Navigator.of(context).push(MaterialPageRoute(
context, // builder: (_) => WorkOrderUpdate(item: model,)));
MaterialPageRoute(builder: (context) => CreateSubWorkOrderPage(workOrder:model)), log(model?.toJson()?.toString());
); Navigator.push(
}, item: items[itemIndex], ); context,
}), MaterialPageRoute(builder: (context) => CreateSubWorkOrderPage(workOrder: model)),
); );
},
item: items[itemIndex],
);
},
),
);
} }
} }

@ -9,9 +9,9 @@ import '../../widgets/buttons/app_back_button.dart';
import '../../widgets/loaders/loading_manager.dart'; import '../../widgets/loaders/loading_manager.dart';
class WorkOrderUpdate extends StatefulWidget { class WorkOrderUpdate extends StatefulWidget {
final SearchWorkOrders item; final SearchWorkOrder item;
const WorkOrderUpdate({@required this.item,Key key}) : super(key: key); const WorkOrderUpdate({@required this.item, Key key}) : super(key: key);
@override @override
State<WorkOrderUpdate> createState() => _WorkOrderUpdateState(); State<WorkOrderUpdate> createState() => _WorkOrderUpdateState();
@ -55,7 +55,9 @@ class _WorkOrderUpdateState extends State<WorkOrderUpdate> {
], ],
), ),
), ),
WorkOrderDetails(item: widget.item,) WorkOrderDetails(
item: widget.item,
)
], ],
), ),
), ),

@ -15,7 +15,7 @@ import 'edit_service_report.dart';
class FutureServiceReport extends StatefulWidget { class FutureServiceReport extends StatefulWidget {
final ServiceRequest request; final ServiceRequest request;
final SearchWorkOrders workOrder; final SearchWorkOrder workOrder;
const FutureServiceReport({Key key, this.request, this.workOrder}) : super(key: key); const FutureServiceReport({Key key, this.request, this.workOrder}) : super(key: key);

@ -37,7 +37,7 @@ class RequestDetailsPage extends StatelessWidget {
Subtitle _subtitle = AppLocalization.of(context).subtitle; Subtitle _subtitle = AppLocalization.of(context).subtitle;
UserProvider _userProvider = Provider.of<UserProvider>(context); UserProvider _userProvider = Provider.of<UserProvider>(context);
SettingProvider _settingProvider = Provider.of<SettingProvider>(context); SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
List<SearchWorkOrders> workOrders = []; List<SearchWorkOrder> workOrders = [];
ServiceRequestsProvider _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context); ServiceRequestsProvider _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
return DefaultTabController( return DefaultTabController(
length: 2, length: 2,
@ -303,7 +303,7 @@ class RequestDetailsPage extends StatelessWidget {
FutureBuilder( FutureBuilder(
future: _serviceRequestsProvider.searchWorkOrders(callId: serviceRequest.requestCode), future: _serviceRequestsProvider.searchWorkOrders(callId: serviceRequest.requestCode),
builder: (context, snap) { builder: (context, snap) {
workOrders = snap.data as List<SearchWorkOrders>; workOrders = snap.data as List<SearchWorkOrder>;
if (snap.connectionState == ConnectionState.waiting) return Center(child: CircularProgressIndicator()); if (snap.connectionState == ConnectionState.waiting) return Center(child: CircularProgressIndicator());
if (snap.connectionState == ConnectionState.done && (snap.data?.length ?? 0) != 0) { if (snap.connectionState == ConnectionState.done && (snap.data?.length ?? 0) != 0) {
return SingleChildScrollView( return SingleChildScrollView(

Loading…
Cancel
Save