improvements

pull/1/head
Sikander Saleem 3 years ago
parent 8f05983c14
commit 4d70fe2c36

@ -2,6 +2,7 @@ import 'dart:convert';
import 'dart:developer';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:http/http.dart' as http;
import 'package:http/http.dart';
@ -51,9 +52,12 @@ class ApiManager {
headers.addAll(_headers);
Uri _url = Uri.parse(url);
// print(_url);
// print(headers);
// log(json.encode(body));
if (!kReleaseMode) {
print("URL:$_url");
print("Headers:$headers");
print("Body:$body");
}
var request = http.Request('POST', _url);
request.body = json.encode(body);
request.headers.addAll(headers);

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
import 'package:test_sa/controllers/localization/localization.dart';
@ -114,9 +115,16 @@ class _LoginState extends State<Login> {
host: _settingProvider.host,
);
if (status >= 200 && status < 300) {
if(_userProvider.user.isAuthenticated ?? false) {
_settingProvider.setUser(_userProvider.user);
// if (_userProvider.user.isActive)
Navigator.of(context).pushNamed(LandPage.id);
} else {
Fluttertoast.showToast(msg: _userProvider.user.message);
}
// if (_userProvider.user.isActive)
// else
// Fluttertoast.showToast(msg: _subtitle.activationAlert);
} else {

@ -7,6 +7,8 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/call_request_for_work_order_model.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_report.dart';
import 'package:test_sa/models/service_request/search_work_order.dart';
@ -33,6 +35,7 @@ import '../../widgets/titles/app_sub_title.dart';
class CreateSubWorkOrderPage extends StatefulWidget {
static const id = "/CreateSubWorkOrder";
final SearchWorkOrder workOrder;
const CreateSubWorkOrderPage({this.workOrder, Key key}) : super(key: key);
@override
@ -57,29 +60,43 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
supplier: null,
);
_serviceReport = ServiceReport(id: widget.workOrder.id, type: widget.workOrder.assetType, equipmentStatus: widget.workOrder.equipmentStatus);
_isLoading = true;
super.initState();
}
var assetTypesProvider;
CallRequestForWorkOrder _callRequestForWorkOrder;
Future getAssetType() async {
//if (assetTypesProvider == null) {
Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false).reset();
final assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false);
assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false);
_callRequestForWorkOrder = await Provider.of<ServiceRequestsProvider>(context).getCallRequestForWorkOrder(callId: widget.workOrder.callRequest.id.toString());
await assetTypesProvider.getTypes();
_subWorkOrders?.assetType = assetTypesProvider.statuses?.firstWhere(
(element) => element.value == widget.workOrder?.callRequest?.assetType,
(element) => element.value == _callRequestForWorkOrder.assetType,
orElse: () => null,
);
setState(() {
_isLoading = false;
});
//}
}
@override
Widget build(BuildContext context) {
if (_callRequestForWorkOrder == null) {
getAssetType();
}
final Subtitle subtitle = AppLocalization.of(context).subtitle;
return Scaffold(
body: SafeArea(
child: FutureBuilder(
future: getAssetType(),
builder: (context, snap) => snap.connectionState == ConnectionState.waiting
child: _isLoading
? const ALoading()
: SingleChildScrollView(
: Column(
children: [
SingleChildScrollView(
child: Form(
key: _formKey,
child: Column(
@ -112,9 +129,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 16),
child: Column(
children: [
WorkOrderDetails(
item: widget.workOrder,
),
WorkOrderDetails(item: widget.workOrder, assetType: _subWorkOrders?.assetType),
const SizedBox(height: 8),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -208,6 +223,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
initialValue: _subWorkOrders?.faultDescription,
onSelect: (status) {
_subWorkOrders.faultDescription = status;
if(mounted)
setState(() {});
},
),
@ -292,11 +308,8 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
],
),
),
),
),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: Padding(
).expanded,
Padding(
padding: const EdgeInsets.all(16.0),
child: AButton(
text: subtitle.create,
@ -338,6 +351,9 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
},
),
),
],
),
),
);
}

@ -9,6 +9,7 @@ import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/pages/sub_workorder/workorder_list.dart';
import 'package:test_sa/views/widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/hospitals/hospital_auto_complete_field_new.dart';
import '../../../controllers/api_routes/http_status_manger.dart';
import '../../../controllers/localization/localization.dart';
@ -133,10 +134,13 @@ class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
woId: _searchWorkOrders.id?.toString(),
),
const SizedBox(height: 16),
ATextFormField(
labelText: "Site",
onSaved: (value) {
_site = value;
HospitalAutoCompleteField(
initialValue:_site,
onSearch: (value) {
_site = value.name;
setState(() {
});
},
),
const SizedBox(height: 16),
@ -194,7 +198,6 @@ class _SearchSubWorkOrderPageState extends State<SearchSubWorkOrderPage> {
_isLoading = false;
setState(() {});
if (serviceRequestsProvider.stateCode >= 200 && serviceRequestsProvider.stateCode < 300) {
Fluttertoast.showToast(msg: _subtitle.requestCompleteSuccessfully);
Navigator.push(
context,
MaterialPageRoute(

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:test_sa/models/lookup.dart';
import '../../../controllers/localization/localization.dart';
import '../../../models/service_request/search_work_order.dart';
@ -8,7 +9,9 @@ import '../../app_style/sizing.dart';
class WorkOrderDetails extends StatelessWidget {
final SearchWorkOrder item;
WorkOrderDetails({@required this.item,Key key}) : super(key: key);
Lookup assetType;
WorkOrderDetails({@required this.item, this.assetType, Key key}) : super(key: key);
Subtitle _subtitle;
@override
@ -30,15 +33,15 @@ class WorkOrderDetails extends StatelessWidget {
),
child: Column(
children: [
_buildRow(_subtitle.callId, item.callRequest?.id?.toString()??"", context),
_buildRow(_subtitle.assetNumber, item.callRequest?.asset?.assetNumber??"", context),
_buildRow(_subtitle.callId, item.callRequest?.id?.toString() ?? "", context),
_buildRow(_subtitle.assetNumber, item.callRequest?.asset?.assetNumber ?? "", context),
_buildRow("WO No", item.workOrderNo, context),
_buildRow(_subtitle.assetName, item.callRequest?.asset?.assetNumber??'', context),
_buildRow(_subtitle.department, item.callRequest?.asset?.department??'', context),
_buildRow(_subtitle.assetSN, item.callRequest?.asset?.assetSerialNo??'', context),
_buildRow(_subtitle.model, item.callRequest?.asset?.modelDefinition?.modelName??"", context),
_buildRow("Manufacturer", item.callRequest?.asset?.modelDefinition?.manufacturerName??"", context),
_buildRow(_subtitle.site, item.callRequest?.asset?.site?.custName??"", context),
_buildRow(_subtitle.assetName, item.callRequest?.asset?.assetNumber ?? '', context),
_buildRow(_subtitle.department, item.callRequest?.asset?.department ?? '', context),
_buildRow(_subtitle.assetSN, item.callRequest?.asset?.assetSerialNo ?? '', context),
_buildRow(_subtitle.model, item.callRequest?.asset?.modelDefinition?.modelName ?? "", context),
_buildRow("Manufacturer", item.callRequest?.asset?.modelDefinition?.manufacturerName ?? "", context),
_buildRow(_subtitle.site, item.callRequest?.asset?.site?.custName ?? "", context),
],
),
),
@ -53,16 +56,18 @@ class WorkOrderDetails extends StatelessWidget {
),
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
),
child: _buildRow("Asset Type", item.assetType?.name??"", context),)
child: _buildRow("Asset Type", assetType?.name ?? (item.assetType?.name ?? ""), context),
)
],
);
}
Widget _buildRow(String title, String value, BuildContext context){
Widget _buildRow(String title, String value, BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
title+" : ",
title + " : ",
style: Theme.of(context).textTheme.subtitle2.copyWith(fontWeight: FontWeight.bold),
),
//if (item.clientName != null)

@ -212,7 +212,7 @@ class _LandPageState extends State<LandPage> {
Navigator.of(context).pushNamed(TrackDeviceTransferPage.id);
},
),
// if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.engineer)
if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user)
LandPageItem(
text: "Search Work Order",
svgPath: "assets/images/sub_workorder_icon.svg",

Loading…
Cancel
Save