Merge branch 'zaid_development_new' into sikander-development

main_design2.0
Sikander Saleem 2 years ago
commit 91d6b686c7

@ -71,7 +71,7 @@ class URLs {
static get getServiceReportLastCalls => "$_baseUrl/WorkOrder/GetLookupCallLastSituationBasedOnCase"; // get
static get getAssetTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=500"; // get
static get getPartNumber => "$_baseUrl/PartCatalog/GetPartAutoComplete"; // get
static get getServiceReportPriority => "$_baseUrl/Lookups/GetLookup?lookupEnum=602"; // get
static get getServiceReportPriority => "$_baseUrl/Lookups/GetLookup?lookupEnum=4"; // get
static get getServiceReportDefectTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=601"; // get
static get getCallRequestForWorkOrder => "$_baseUrl/CallRequest/GetCallRequestForWorkOrder"; // get

@ -113,7 +113,7 @@ class GasRefillProvider extends ChangeNotifier {
"site": hospital?.toMap(),
"building": {"id": building?.id, "name": building?.name, "value": building?.value},
"floor": {"id": floor?.id, "name": floor?.name, "value": floor?.value},
if (expectedDateTime != null) "expectedDate": expectedDateTime?.toIso8601String(),
//if (expectedDateTime != null) "expectedDate": expectedDateTime?.toIso8601String(),
if (expectedDateTime != null) "expectedTime": expectedDateTime?.toIso8601String(),
if (timer?.startAt != null) "startDate": timer.startAt.toIso8601String(),
if (timer?.startAt != null) "startTime": timer.startAt.toIso8601String(),
@ -159,7 +159,7 @@ class GasRefillProvider extends ChangeNotifier {
"id": newModel.id,
"gazRefillNo": newModel.title ?? "",
"status": newModel.status.toMap(),
"expectedDate": newModel.expectedDate?.toIso8601String(),
//"expectedDate": newModel.expectedDate?.toIso8601String(),
"expectedTime": newModel.expectedDate?.toIso8601String(),
if (timer?.startAt != null) "startDate": timer.startAt.toIso8601String(),
if (timer?.startAt != null) "startTime": timer.startAt.toIso8601String(),
@ -186,24 +186,23 @@ class GasRefillProvider extends ChangeNotifier {
})
.toList();
log(body.toString());
return -1;
// Response response;
// try {
// response = await ApiManager.instance.put(URLs.updateGasRefill, body: body);
// // response = await post(
// // Uri.parse("$host${URLs.updateGasRefill}/${newModel.id}"),
// // body: body,
// // );
//
// stateCode = response.statusCode;
// if (response.statusCode >= 200 && response.statusCode < 300) {
// oldModel.fromGasRefillModel(newModel);
// notifyListeners();
// }
// return response.statusCode;
// } catch (error) {
// return -1;
// }
Response response;
try {
response = await ApiManager.instance.put(URLs.updateGasRefill, body: body);
// response = await post(
// Uri.parse("$host${URLs.updateGasRefill}/${newModel.id}"),
// body: body,
// );
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
oldModel.fromGasRefillModel(newModel);
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Hospital hospital;

@ -152,10 +152,10 @@ class ServiceRequestsProvider extends ChangeNotifier {
"client": user.clientId,
"callComments": serviceRequest.callComments,
if (serviceRequest.devicePhotos.isNotEmpty) "attachmentsCallRequest": serviceRequest.devicePhotos.map((e) => {"name": e}).toList(),
"priority": serviceRequest.priority.toMap(),
"defectType": serviceRequest.defectType.toMap(),
"typeofRequest": serviceRequest.type.toMap(),
"requestedThrough": serviceRequest.requestedThrough.toMap(),
"priority": serviceRequest.priority?.toMap(),
"defectType": serviceRequest.defectType?.toMap(),
"typeofRequest": serviceRequest.type?.toMap(),
"requestedThrough": serviceRequest.requestedThrough?.toMap(),
"reviewComment": null,
if (serviceRequest.audio != null) "voiceNote": serviceRequest.audio,
"callSiteContactPerson": [

@ -155,14 +155,14 @@ class ServiceReport {
}
Future<bool> validate() async {
if (visitDate == null) {
await Fluttertoast.showToast(msg: "Visit Date Required");
return false;
}
if (returnToService == null) {
await Fluttertoast.showToast(msg: "Return To Service Date Required");
return false;
}
// if (visitDate == null) {
// await Fluttertoast.showToast(msg: "Visit Date Required");
// return false;
// }
// if (returnToService == null) {
// await Fluttertoast.showToast(msg: "Return To Service Date Required");
// return false;
// }
if (timer?.startAt == null) {
await Fluttertoast.showToast(msg: "Working Hours Required");
return false;

@ -25,9 +25,9 @@ import '../../../../models/enums/user_types.dart';
import '../../../app_style/colors.dart';
class GasRefillDetails extends StatefulWidget {
final GasRefillModel model;
GasRefillModel model;
const GasRefillDetails({Key key, this.model}) : super(key: key);
GasRefillDetails({Key key, this.model}) : super(key: key);
@override
State<GasRefillDetails> createState() => _GasRefillDetailsState();
@ -102,7 +102,9 @@ class _GasRefillDetailsState extends State<GasRefillDetails> {
padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4),
child: Row(
children: [
const ABackButton(),
ABackButton(onPressed: (){
Navigator.of(context).pop(_model);
},),
Expanded(
child: Center(
child: Text(
@ -123,14 +125,17 @@ class _GasRefillDetailsState extends State<GasRefillDetails> {
_model.fromGasRefillModel(widget.model);
print(widget.model.startDate);
// setState(() {});
Navigator.push(
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => RequestGasRefill(
gasRefillModel: widget.model,
),
),
);
).then((value) {
_model.status= value;
});
setState(() {});
},
),
const SizedBox(

@ -106,7 +106,8 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
Fluttertoast.showToast(
msg: _subtitle.requestCompleteSuccessfully,
);
Navigator.of(context).pop();
Navigator.of(context).pop(_formModel.status);
setState(() { });
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
@ -151,7 +152,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_settingProvider = Provider.of<SettingProvider>(context);
if (_gasRefillProvider == null) {
_gasRefillProvider = Provider.of<GasRefillProvider>(context, listen: false);
_gasRefillProvider.reset();
//_gasRefillProvider.reset();
}
if (_firstTime) {
if (widget.gasRefillModel != null) {
@ -298,27 +299,27 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
),
],
),
const SizedBox(height: 8),
if (_userProvider.user?.type == UsersTypes.normal_user || widget.gasRefillModel != null)
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const ASubTitle("Expected Date"),
SizedBox(
height: 8 * AppStyle.getScaleFactor(context),
),
ADateTimePicker(
date: _gasRefillProvider.expectedDateTime,
from: DateTime.now().subtract(const Duration(days: 365)),
to: DateTime.now().add(const Duration(days: 365)),
onDateTimePicker: (date) {
_gasRefillProvider.expectedDateTime = date;
_formModel.expectedDate = _gasRefillProvider.expectedDateTime;
setState(() {});
},
),
],
),
//const SizedBox(height: 8),
// if (_userProvider.user?.type == UsersTypes.normal_user || widget.gasRefillModel != null)
// Column(
// crossAxisAlignment: CrossAxisAlignment.stretch,
// children: [
// const ASubTitle("Expected Date"),
// SizedBox(
// height: 8 * AppStyle.getScaleFactor(context),
// ),
// ADateTimePicker(
// date: _gasRefillProvider.expectedDateTime,
// from: DateTime.now().subtract(const Duration(days: 365)),
// to: DateTime.now().add(const Duration(days: 365)),
// onDateTimePicker: (date) {
// _gasRefillProvider.expectedDateTime = date;
// _formModel.expectedDate = _gasRefillProvider.expectedDateTime;
// setState(() {});
// },
// ),
// ],
// ),
// if (_userProvider.user?.type == UsersTypes.engineer)
// Column(
// children: [

@ -189,7 +189,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
height: 4,
),
ServiceRequestPriorityMenu(
initialValue: _serviceRequest.priority,
initialValue: widget.serviceRequest?.priority,
onSelect: (status) {
_serviceRequest.priority = status;
},
@ -347,7 +347,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
return;
}
if (_serviceRequest.firstAction?.name == "Need a visit" && _dateTime == null) {
Fluttertoast.showToast(msg: _subtitle.noDateFound);
Fluttertoast.showToast(msg: "first action is required");
return;
}
if (widget.serviceRequest != null && (_serviceRequest?.engineerId == null || (_serviceRequest?.engineerId?.isEmpty ?? false))) {

@ -391,12 +391,12 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const ASubTitle("Return to Service"),
_validate && _serviceReport.returnToService == null
? ASubTitle(
_subtitle.requiredWord,
color: Colors.red,
)
: const SizedBox.shrink(),
// _validate && _serviceReport.returnToService == null
// ? ASubTitle(
// _subtitle.requiredWord,
// color: Colors.red,
// )
// : const SizedBox.shrink(),
Row(
children: [
Expanded(

@ -7,37 +7,45 @@ import 'package:test_sa/views/widgets/gas_refill/gas_refill_item.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
class GasRefillList extends StatelessWidget {
class GasRefillList extends StatefulWidget {
final List<GasRefillModel> items;
final bool nextPage;
final Future<void> Function() onLazyLoad;
const GasRefillList({Key key, this.items, this.nextPage, this.onLazyLoad}) : super(key: key);
@override
State<GasRefillList> createState() => _GasRefillListState();
}
class _GasRefillListState extends State<GasRefillList> {
@override
Widget build(BuildContext context) {
if (items.length == 0) {
if (widget.items.length == 0) {
Subtitle subtitle = AppLocalization.of(context).subtitle;
return NoItemFound(
message: subtitle.noServiceRequestFound,
);
}
return LazyLoading(
nextPage: nextPage,
onLazyLoad: onLazyLoad,
nextPage: widget.nextPage,
onLazyLoad: widget.onLazyLoad,
child: ListView.builder(
//physics: const BouncingScrollPhysics(),
itemCount: items.length,
itemCount: widget.items.length,
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
itemBuilder: (context, itemIndex) {
return GasRefillItem(
index: itemIndex,
item: items[itemIndex],
item: widget.items[itemIndex],
onPressed: (model) {
Navigator.of(context).push(MaterialPageRoute(
builder: (_) => GasRefillDetails(
model: model,
)));
))).then((value) {
model=value;
setState(() {});
});
},
);
}),

@ -147,7 +147,7 @@ class _MultiFilesPickerState extends State<MultiFilesPicker> with TickerProvider
FilePickerResult result = await FilePicker.platform.pickFiles(
type: FileType.custom,
allowMultiple: true,
allowedExtensions: ['jpg', 'png', 'pdf', 'doc', 'docx', 'xlsx', 'pptx'],
allowedExtensions: ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xlsx', 'pptx'],
);
if (result != null) {
for (var path in result.paths) {

@ -13,7 +13,7 @@ class MultiFilesPickerItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
var isImage = file.path.split(".").last.toLowerCase() == "png" || file.path.split(".").last.toLowerCase() == "jpg";
var isImage = file.path.split(".").last.toLowerCase() == "png" || file.path.split(".").last.toLowerCase() == "jpg" || file.path.split(".").last.toLowerCase() == "jpeg";
var isPdf = file.path.split(".").last.toLowerCase() == "pdf";
var isExcel = file.path.split(".").last.toLowerCase() == "xlsx";
return Container(

@ -22,7 +22,7 @@ class ServiceReportFaultDescription extends StatelessWidget {
UserProvider userProvider = Provider.of<UserProvider>(context);
ServiceRequestFaultDescriptionProvider menuProvider = Provider.of<ServiceRequestFaultDescriptionProvider>(context);
return LoadingManager(
isLoading: menuProvider.isLoading,
isLoading: menuProvider.isLoading || (enabled && (menuProvider.items?.isEmpty ?? true) || (!enabled && (initialValue?.defectName?.isEmpty ?? true))),
isFailedLoading: menuProvider.items == null,
stateCode: menuProvider.stateCode,
onRefresh: () async {

Loading…
Cancel
Save