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

main_design2.0
zaid_daoud 2 years ago
parent 5f842068a4
commit 05d1976969

@ -52,6 +52,7 @@ class DevicesProvider extends ChangeNotifier {
@required int hospitalId,
String serialNumber,
String number,
bool isQr = false,
}) async {
if (_loading == true) return -2;
_loading = true;
@ -75,7 +76,15 @@ class DevicesProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
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;
} else {
nextPage = false;

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

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

Loading…
Cancel
Save