|
|
|
@ -31,9 +31,9 @@ import 'package:test_sa/views/widgets/parts/part_item.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_report_reasons.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_report_status.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/status/report/service_status.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
|
|
|
import '../../../../widgets/speech_to_text/speech_to_text.dart';
|
|
|
|
|
import '../../../../widgets/status/report/service_report_repair_location.dart';
|
|
|
|
|
|
|
|
|
@ -51,7 +51,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
UserProvider _userProvider;
|
|
|
|
|
SettingProvider _settingProvider;
|
|
|
|
|
ServiceRequestsProvider _serviceRequestsProvider;
|
|
|
|
|
|
|
|
|
|
ServiceStatusProvider _assetTypeProvider;
|
|
|
|
|
bool _validate = false;
|
|
|
|
|
ServiceReport _serviceReport;
|
|
|
|
|
bool _isLoading = false;
|
|
|
|
@ -61,16 +61,18 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
File _image;
|
|
|
|
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
|
|
|
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
|
|
TextEditingController _faultController = TextEditingController();
|
|
|
|
|
TextEditingController _workPreformedController = TextEditingController();
|
|
|
|
|
final TextEditingController _faultController = TextEditingController();
|
|
|
|
|
final TextEditingController _workPreformedController = TextEditingController();
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
_serviceReport = ServiceReport(
|
|
|
|
|
visitDate: DateTime.now(),
|
|
|
|
|
//type: const Lookup(value: 2),
|
|
|
|
|
device: widget.request.device,
|
|
|
|
|
parts: []);
|
|
|
|
|
visitDate: DateTime.now(),
|
|
|
|
|
//type: const Lookup(value: 2),
|
|
|
|
|
device: widget.request.device,
|
|
|
|
|
parts: [],
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
super.initState();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -86,6 +88,11 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
_userProvider = Provider.of<UserProvider>(context);
|
|
|
|
|
_settingProvider = Provider.of<SettingProvider>(context);
|
|
|
|
|
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
|
|
|
_assetTypeProvider = Provider.of<ServiceStatusProvider>(context);
|
|
|
|
|
_serviceReport.assetType = _assetTypeProvider.statuses?.firstWhere(
|
|
|
|
|
(element) => element.value == widget.request?.device?.hospital?.id,
|
|
|
|
|
orElse: () => null,
|
|
|
|
|
);
|
|
|
|
|
_subtitle = AppLocalization.of(context).subtitle;
|
|
|
|
|
return Scaffold(
|
|
|
|
|
key: _scaffoldKey,
|
|
|
|
@ -251,12 +258,31 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
|
|
|
|
|
const SizedBox(
|
|
|
|
|
height: 4,
|
|
|
|
|
),
|
|
|
|
|
ServiceAssetTypeMenu(
|
|
|
|
|
initialValue: _serviceReport.assetType,
|
|
|
|
|
onSelect: (status) {
|
|
|
|
|
_serviceReport.assetType = status;
|
|
|
|
|
LoadingManager(
|
|
|
|
|
isLoading: _assetTypeProvider.isLoading,
|
|
|
|
|
isFailedLoading: _assetTypeProvider.statuses == null,
|
|
|
|
|
stateCode: _assetTypeProvider.stateCode,
|
|
|
|
|
onRefresh: () async {
|
|
|
|
|
_assetTypeProvider.reset();
|
|
|
|
|
await _assetTypeProvider.getTypes(user: _userProvider.user, host: _settingProvider.host);
|
|
|
|
|
_serviceReport?.assetType = _assetTypeProvider.statuses?.firstWhere(
|
|
|
|
|
(element) => element.value == widget.request?.device?.hospital?.id,
|
|
|
|
|
orElse: () => null,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
child: ATextFormField(
|
|
|
|
|
initialValue: _serviceReport?.assetType?.name ?? "NULL",
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
enable: false,
|
|
|
|
|
style: Theme.of(context).textTheme.titleMedium,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
// ServiceAssetTypeMenu(
|
|
|
|
|
// initialValue: _serviceReport.assetType,
|
|
|
|
|
// onSelect: (status) {
|
|
|
|
|
// _serviceReport.assetType = status;
|
|
|
|
|
// },
|
|
|
|
|
// ),
|
|
|
|
|
const SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|