diff --git a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart index 5358ded3..7511fa91 100644 --- a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart @@ -78,6 +78,7 @@ class _CreateSubWorkOrderPageState extends State { 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; diff --git a/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart b/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart index 1a54f09b..fb595275 100644 --- a/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart +++ b/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart @@ -126,7 +126,7 @@ class _WorkOrderDetailsBottomSheetState extends State { super.initState(); } + getServiceRequestById(String id) async { + await _serviceRequestsProvider.getServiceRequestById(requestId: id) ?? ""; + } + @override void dispose() { _maintenanceController.dispose(); @@ -86,6 +91,11 @@ class CreateRequestPageState extends State { 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 { _settingProvider = Provider.of(context); _serviceRequestsProvider = Provider.of(context); _subtitle = AppLocalization.of(context).subtitle; + return Scaffold( key: _scaffoldKey, body: SafeArea( @@ -316,12 +327,17 @@ class CreateRequestPageState extends State { 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 { 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) { diff --git a/lib/views/widgets/parts/part_item.dart b/lib/views/widgets/parts/part_item.dart index c108d07e..87fcec03 100644 --- a/lib/views/widgets/parts/part_item.dart +++ b/lib/views/widgets/parts/part_item.dart @@ -21,7 +21,7 @@ class _PartItemState extends State { return Column( children: [ const Divider(), - Row( + Row(crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Column( @@ -84,6 +84,8 @@ class _PartItemState extends State { maxLines: 1, overflow: TextOverflow.ellipsis, ), + + // Row(crossAxisAlignment: ,) ], ), ),