Not Required Solution

main_design2.0
zaid_daoud 3 years ago
parent 8df2edd55f
commit 5941a421e2

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart'; import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart';
@ -15,7 +17,9 @@ import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/titles/app_sub_title.dart'; import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
import '../../../../controllers/localization/localization.dart'; import '../../../../controllers/localization/localization.dart';
import '../../../controllers/providers/api/hospitals_provider.dart';
import '../../../controllers/validator/validator.dart'; import '../../../controllers/validator/validator.dart';
import '../../../models/hospital.dart';
import '../../widgets/app_text_form_field.dart'; import '../../widgets/app_text_form_field.dart';
import '../../widgets/gas_refill/building_type_menu.dart'; import '../../widgets/gas_refill/building_type_menu.dart';
import '../../widgets/gas_refill/department_type_menu.dart'; import '../../widgets/gas_refill/department_type_menu.dart';
@ -145,9 +149,24 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
6.height, 6.height,
DeviceButton( DeviceButton(
device: _formModel.device, device: _formModel.device,
onDevicePick: (device) { onDevicePick: (device) async {
_formModel.device = device; _formModel.device = device;
log(device?.hospital?.toMap().toString());
// _deviceTransferProvider.building.name = device.destDepartmentName;
// _deviceTransferProvider.building?.name = device.destBuildingName;
_isLoading = true;
setState(() {}); setState(() {});
HospitalsProvider().getHospitalsListByVal(searchVal: device.hospital.name).then((hos) {
_isLoading = false;
_setHospital(hos.firstWhere((element) => element.name == device.hospital.name));
_deviceTransferProvider.department = _deviceTransferProvider.hospital.buildings
?.firstWhere((element) => element.name == device.destBuildingName, orElse: () => null)
?.floors
?.firstWhere((element) => element.name == device.destFloor, orElse: () => null)
?.departments
?.firstWhere((element) => element.name == device.destDepartmentName, orElse: () => null);
setState(() {});
});
}, },
), ),
// const SizedBox(height: 8,), // const SizedBox(height: 8,),
@ -202,16 +221,13 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
height: 4, height: 4,
), ),
HospitalAutoCompleteField( HospitalAutoCompleteField(
enabled: false,
initialValue: _deviceTransferProvider.hospital?.name, initialValue: _deviceTransferProvider.hospital?.name,
// onSave: (value){ // onSave: (value){
// _search.hospital = value; // _search.hospital = value;
// }, // },
onSearch: (value) { onSearch: (value) {
_deviceTransferProvider.hospital = value; _setHospital(value);
_deviceTransferProvider.building = null;
_deviceTransferProvider.floor = null;
_deviceTransferProvider.department = null;
_formModel.receiver.client = value;
setState(() {}); setState(() {});
}, },
), ),
@ -276,4 +292,12 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
), ),
); );
} }
void _setHospital(Hospital hospital) {
_deviceTransferProvider.hospital = hospital;
_deviceTransferProvider.building = null;
_deviceTransferProvider.floor = null;
_deviceTransferProvider.department = null;
_formModel.receiver.client = hospital;
}
} }

Loading…
Cancel
Save