QR reader

pull/1/head
zaid_daoud 3 years ago
parent 77e2b7402b
commit ccf329798a

@ -147,31 +147,31 @@ class DevicesProvider extends ChangeNotifier {
} }
} }
/// return -2 if request in progress // /// return -2 if request in progress
/// return -1 if error happen when sending request // /// return -1 if error happen when sending request
/// return state code if request complete may be 200, 404 or 403 // /// return state code if request complete may be 200, 404 or 403
/// for more details check http state manager // /// for more details check http state manager
/// lib\controllers\http_status_manger\http_status_manger.dart // /// lib\controllers\http_status_manger\http_status_manger.dart
Future<List<Device>> getDevicesListBySN({@required String host, @required User user, @required int hospitalId, @required String sn}) async { // Future<List<Device>> getDevicesListBySN({@required String host, @required User user, @required int hospitalId, @required String sn}) async {
Response response; // Response response;
try { // try {
response = await get( // response = await get(
Uri.parse(URLs.getEquipment + "?client=$hospitalId" + (sn == null || sn.isEmpty ? "" : "&serial_qr=$sn")), // Uri.parse(URLs.getEquipment + "?client=$hospitalId" + (sn == null || sn.isEmpty ? "" : "&serial_qr=$sn")),
); // );
//
_stateCode = response.statusCode; // _stateCode = response.statusCode;
List<Device> _page = []; // List<Device> _page = [];
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 categoriesListJson = json.decode(utf8.decode(response.bodyBytes)); // List categoriesListJson = json.decode(utf8.decode(response.bodyBytes));
_page = categoriesListJson.map((device) => Device.fromJson(device)).toList(); // _page = categoriesListJson.map((device) => Device.fromJson(device)).toList();
} // }
return _page; // return _page;
} catch (error) { // } catch (error) {
_loading = false; // _loading = false;
_stateCode = -1; // _stateCode = -1;
notifyListeners(); // notifyListeners();
return []; // return [];
} // }
} // }
} }

@ -33,6 +33,13 @@ class DeviceItem extends StatelessWidget {
subtitle: Column( subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Divider(
color: Theme.of(context).scaffoldBackgroundColor,
),
Text(
"${_subtitle.assetNumber} : ${device.number}",
style: Theme.of(context).textTheme.subtitle1.copyWith(color: AColors.white),
),
Divider( Divider(
color: Theme.of(context).scaffoldBackgroundColor, color: Theme.of(context).scaffoldBackgroundColor,
), ),

@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/devices_provider.dart'; import 'package:test_sa/controllers/providers/api/devices_provider.dart';
@ -33,20 +32,20 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
TextEditingController numberController = TextEditingController(); TextEditingController numberController = TextEditingController();
TextEditingController snController = TextEditingController(); TextEditingController snController = TextEditingController();
_getDevice(String result) async { _getDevice(String result) async {
print(result);
if (result == null) return; if (result == null) return;
showDialog( // List<Device> devices = await _devicesProvider.getDevicesListBySN(host: _settingProvider.host, user: _userProvider.user, hospitalId: _userProvider.user.clientId, sn: result);
barrierDismissible: false, _devicesProvider.reset();
context: context, await _devicesProvider.getEquipment(user: _userProvider.user, host: _settingProvider.host, hospitalId: _userProvider.user.clientId, serialNumber: "", number: result);
builder: (dialogContext) { _searchableList.clear();
return const Center(child: CircularProgressIndicator()); _searchableList.addAll(_devicesProvider.devices);
}); // Navigator.of(context).pop();
List<Device> devices = await _devicesProvider.getDevicesListBySN(host: _settingProvider.host, user: _userProvider.user, hospitalId: _userProvider.user.clientId, sn: result); // Navigator.of(context).pop();
Navigator.of(context).pop(); // if (devices.isEmpty) {
if (devices.isEmpty) { // Fluttertoast.showToast(msg: _subtitle.noDeviceFound);
Fluttertoast.showToast(msg: _subtitle.noDeviceFound); // return;
return; // }
} // Navigator.of(context).pop(devices.first);
Navigator.of(context).pop(devices.first);
} }
@override @override

Loading…
Cancel
Save