Make QR code searches for a specific elements which are equal to asset no.

design_3.0_internal_audit_module
zaid_daoud 3 years ago
parent 5f842068a4
commit 05d1976969

@ -52,6 +52,7 @@ class DevicesProvider extends ChangeNotifier {
@required int hospitalId, @required int hospitalId,
String serialNumber, String serialNumber,
String number, String number,
bool isQr = false,
}) async { }) async {
if (_loading == true) return -2; if (_loading == true) return -2;
_loading = true; _loading = true;
@ -75,7 +76,15 @@ class DevicesProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"]; List equipmentListJson = json.decode(response.body)["data"];
_devices.addAll(equipmentListJson.map<Device>((device) => Device.fromJson(device, startKeyWithDest: false)).toList()); var dList = equipmentListJson.map<Device>((device) => Device.fromJson(device, startKeyWithDest: false)).toList();
try {
if (isQr) {
dList = dList.where((element) => number?.toLowerCase() == element?.number?.toLowerCase())?.toList() ?? [];
}
} catch (e) {
print(e);
}
_devices.addAll(dList);
nextPage = true; nextPage = true;
} else { } else {
nextPage = false; nextPage = false;

@ -152,14 +152,14 @@ class _LandPageState extends State<LandPage> {
mainAxisSpacing: 12, mainAxisSpacing: 12,
childAspectRatio: 1, childAspectRatio: 1,
children: [ children: [
if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) // if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user)
LandPageItem( LandPageItem(
text: _subtitle.newServiceRequest, text: _subtitle.newServiceRequest,
icon: FontAwesomeIcons.tools, icon: FontAwesomeIcons.tools,
onPressed: () { onPressed: () {
Navigator.of(context).pushNamed(CreateRequestPage.id); Navigator.of(context).pushNamed(CreateRequestPage.id);
}, },
), ),
LandPageItem( LandPageItem(
text: _subtitle.trackServiceRequest, text: _subtitle.trackServiceRequest,
icon: FontAwesomeIcons.tasks, icon: FontAwesomeIcons.tasks,

@ -34,12 +34,19 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
TextEditingController numberController = TextEditingController(); TextEditingController numberController = TextEditingController();
TextEditingController snController = TextEditingController(); TextEditingController snController = TextEditingController();
_getDevice(String result) async { _getDevice(String result, {bool isQr = false}) async {
print(result); print(result);
if (result == null) return; if (result == null) return;
// List<Device> devices = await _devicesProvider.getDevicesListBySN(host: _settingProvider.host, user: _userProvider.user, hospitalId: _userProvider.user.clientId, sn: result); // List<Device> devices = await _devicesProvider.getDevicesListBySN(host: _settingProvider.host, user: _userProvider.user, hospitalId: _userProvider.user.clientId, sn: result);
_devicesProvider.reset(); _devicesProvider.reset();
await _devicesProvider.getEquipment(user: _userProvider.user, host: _settingProvider.host, hospitalId: _userProvider.user.clientId, serialNumber: "", number: result); await _devicesProvider.getEquipment(
user: _userProvider.user,
host: _settingProvider.host,
hospitalId: _userProvider.user.clientId,
serialNumber: "",
number: result,
isQr: isQr,
);
_searchableList.clear(); _searchableList.clear();
_searchableList.addAll(_devicesProvider.devices); _searchableList.addAll(_devicesProvider.devices);
// Navigator.of(context).pop(); // Navigator.of(context).pop();
@ -164,7 +171,7 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
String result = await Navigator.of(context).push( String result = await Navigator.of(context).push(
MaterialPageRoute(builder: (_) => const ScanQr()), MaterialPageRoute(builder: (_) => const ScanQr()),
) as String; ) as String;
_getDevice(result); _getDevice(result, isQr: true);
}, },
), ),
); );

Loading…
Cancel
Save