Merge remote-tracking branch 'origin/sikander-development' into zaid_development_new

main_design2.0
zaid_daoud 2 years ago
commit ad48521170

@ -78,6 +78,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
final subWoDetails = await serviceRequestProvider.getSubWorkOrderDetails(parentId: _subWorkOrders?.parentWOId.toString());
_subWorkOrders.equipmentStatus = subWoDetails.equipmentStatus;
_subWorkOrders.reason = subWoDetails.reason;
_serviceReportReason = _subWorkOrders.reason;
_subWorkOrders.faultDescription = subWoDetails.faultDescription;
_subWorkOrders.sparePartsWorkOrders = subWoDetails.sparePartsWorkOrders;
_serviceReport.equipmentStatus = subWoDetails.equipmentStatus;

@ -126,7 +126,7 @@ class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomShee
ServiceReportMaintenanceSituation(
initialValue: _workOrder.calllastSituation,
onSelect: (status) {
if (status.name.toLowerCase().contains("under repair-vendor")) {
if (status.name.toLowerCase().contains("under repair-vendor") || status.name.toLowerCase().contains("waiting for vendor")) {
_showVendorFields = true;
_workOrder.supplier ??= SupplierModel(id: _workOrder?.supplier?.id);
engineer = null;

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';
@ -46,17 +47,38 @@ class WorkOrderItem extends StatelessWidget {
item.callRequest.callNo ?? "-----",
style: Theme.of(context).textTheme.headline6.copyWith(color: onItemColor, fontSize: 16, fontWeight: FontWeight.bold),
),
Text(
item.callRequest.asset.id.toString(),
style: Theme.of(context).textTheme.subtitle2.copyWith(
// Text(
// item.callRequest.asset.id.toString(),
// style: Theme.of(context).textTheme.subtitle2.copyWith(
// color: onItemColor,
// ),
// ),
Row(crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Asset Name:",
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),
),
8.width,
Expanded(
child: Text(
//CallRequest.Asset.ModelDefinition.AssetND
// .AssetName
item.callRequest.asset.modelDefinition.assetName,
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),
),
),
],
),
Row(
children: [
Expanded(
child: Text(
_subtitle.assetName,
"Asset Number:",
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),
@ -71,8 +93,27 @@ class WorkOrderItem extends StatelessWidget {
),
],
),
Row(
children: [
Expanded(
child: Text(
"Asset SN:",
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),
),
),
//if (item.clientName != null)
Text(
item.callRequest.asset.assetSerialNo,
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),
),
],
),
Text(
item.calllastSituation.name,
item.currentSituation.name,
style: Theme.of(context).textTheme.subtitle2.copyWith(
color: onItemColor,
),

@ -24,6 +24,7 @@ import 'package:test_sa/views/widgets/equipment/device_button.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/sound/record_sound.dart';
import 'package:test_sa/views/widgets/sound/sound_player.dart';
import 'package:test_sa/views/widgets/speech_to_text/speech_to_text.dart';
import 'package:test_sa/views/widgets/status/service_request/service_request_defect_types_mune.dart';
import 'package:test_sa/views/widgets/status/service_request/service_request_priority_mune.dart';
@ -79,6 +80,10 @@ class CreateRequestPageState extends State<CreateRequestPage> {
super.initState();
}
getServiceRequestById(String id) async {
await _serviceRequestsProvider.getServiceRequestById(requestId: id) ?? "";
}
@override
void dispose() {
_maintenanceController.dispose();
@ -86,6 +91,11 @@ class CreateRequestPageState extends State<CreateRequestPage> {
super.dispose();
}
bool _isLocalUrl(String url) {
if (url?.isEmpty != false) return false;
return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
}
@override
Widget build(BuildContext context) {
_height = MediaQuery.of(context).size.height;
@ -93,6 +103,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
_settingProvider = Provider.of<SettingProvider>(context);
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
_subtitle = AppLocalization.of(context).subtitle;
return Scaffold(
key: _scaffoldKey,
body: SafeArea(
@ -316,12 +327,17 @@ class CreateRequestPageState extends State<CreateRequestPage> {
enable: widget.serviceRequest == null ? true : false,
),
12.height,
RecordSound(
onRecord: (audio) {
_serviceRequest.audio = audio;
},
enabled: widget.serviceRequest == null ? true : false,
),
if (_serviceRequest.audio?.isNotEmpty == true)
ASoundPlayer(
audio: _serviceRequest.audio,
)
else
RecordSound(
onRecord: (audio) {
_serviceRequest.audio = audio;
},
enabled: widget.serviceRequest == null ? true : false,
),
12.height,
if (widget.serviceRequest != null)
ATextFormField(
@ -364,8 +380,10 @@ class CreateRequestPageState extends State<CreateRequestPage> {
setState(() {});
_serviceRequest.devicePhotos = _deviceImages.map((e) => "${e.path.split("/").last}|${base64Encode(e.readAsBytesSync())}").toList();
if (_serviceRequest.audio != null) {
final file = File(_serviceRequest.audio);
_serviceRequest.audio = "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}";
if (_isLocalUrl(_serviceRequest.audio)) {
final File file = File(_serviceRequest.audio);
_serviceRequest.audio = "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}";
}
}
int status = 0;
if (widget.serviceRequest == null) {

@ -21,7 +21,7 @@ class _PartItemState extends State<PartItem> {
return Column(
children: [
const Divider(),
Row(
Row(crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: Column(
@ -84,6 +84,8 @@ class _PartItemState extends State<PartItem> {
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
// Row(crossAxisAlignment: ,)
],
),
),

Loading…
Cancel
Save