mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-13 02:28:54 +03:30
2.2.0
This commit is contained in:
Regular → Executable
+4
@@ -277,6 +277,10 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
||||
initialLabelValue:
|
||||
cycleProvider.initialLabelValue,
|
||||
index: index,
|
||||
hasRemoveButton:
|
||||
cycleProvider.labelValues.length > 1
|
||||
? true
|
||||
: false,
|
||||
),
|
||||
itemCount:
|
||||
cycleProvider.labelValues.length,
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+21
@@ -249,6 +249,27 @@ class ItemResultFloatingButton extends StatelessWidget {
|
||||
return Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: <Widget>[
|
||||
// InkWell(
|
||||
// customBorder: CircleBorder(),
|
||||
// onTap: () {
|
||||
// Provider.of<ItemProvider>(context, listen: false).exportItems();
|
||||
// },
|
||||
// child: Container(
|
||||
// padding: EdgeInsets.all(_deviceBlockSize),
|
||||
// decoration: BoxDecoration(
|
||||
// shape: BoxShape.circle,
|
||||
// color: Colors.black,
|
||||
// ),
|
||||
// child: Icon(
|
||||
// Icons.import_export,
|
||||
// size: 10 * _deviceBlockSize,
|
||||
// color: Colors.white,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// SizedBox(
|
||||
// width: 2 * _deviceBlockSize,
|
||||
// ),
|
||||
InkWell(
|
||||
customBorder: CircleBorder(),
|
||||
onTap: () {
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
+5
-18
@@ -30,9 +30,6 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
||||
DateTime? dateTimeS;
|
||||
|
||||
final _form = GlobalKey<FormState>();
|
||||
|
||||
List<Map<String, String>> packageVals = [];
|
||||
List<String> packageValue = [];
|
||||
bool isInit = true;
|
||||
// String? packageId;
|
||||
// String? previousRoute;
|
||||
@@ -49,15 +46,7 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
||||
@override
|
||||
void didChangeDependencies() async {
|
||||
if (isInit) {
|
||||
// final pastRoute = ModalRoute.of(context)!.settings.name;
|
||||
// previousRoute = pastRoute;
|
||||
// print(previousRoute);
|
||||
var labelProviderObject = Provider.of<LabelsProvider>(context);
|
||||
// var arguments = ModalRoute.of(context)!.settings.arguments;
|
||||
// if (arguments != null && arguments is Map<dynamic, dynamic>) {
|
||||
// packageId = arguments['id'];
|
||||
// }
|
||||
// print(packageId);
|
||||
labelProviderObject.resetPackageVals();
|
||||
labelProviderObject.getPackageFilters().then(
|
||||
(result) {
|
||||
@@ -68,7 +57,12 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
||||
);
|
||||
},
|
||||
);
|
||||
var arguments = ModalRoute.of(context)!.settings.arguments;
|
||||
if (arguments != null && arguments is Map<dynamic, dynamic>) {
|
||||
labelProviderObject.packageId = arguments['id'];
|
||||
}
|
||||
}
|
||||
|
||||
super.didChangeDependencies();
|
||||
}
|
||||
|
||||
@@ -298,13 +292,6 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
||||
),
|
||||
Consumer<LabelsProvider>(
|
||||
builder: (ctx, labelProvider, _) {
|
||||
// if (previousRoute ==
|
||||
// '/PackageDetailScreen') {
|
||||
// initialLabelValue = packageId!;
|
||||
// } else {
|
||||
// initialLabelValue =
|
||||
// labelProvider.initialPackageValue;
|
||||
// }
|
||||
return ListView.builder(
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+6
-4
@@ -218,10 +218,12 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
|
||||
items:
|
||||
itemResults.hospitalItems?[index],
|
||||
push: () {
|
||||
Navigator.pushNamed(context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments: itemResults
|
||||
.hospitalItems?[index]);
|
||||
Navigator.pushNamed(
|
||||
context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments: itemResults
|
||||
.hospitalItems?[index],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+16
-11
@@ -2,6 +2,7 @@ import 'package:cssd/models/my_item_model.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/my_items.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/History/my_items_history_date_widget.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/History/user_item_history_box.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Result/my_items_data_box_widget.dart';
|
||||
|
||||
import '../../config/routes.dart';
|
||||
@@ -26,6 +27,7 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
bool _isInit = true;
|
||||
ScrollController? sc;
|
||||
MyItemResultObject? itemData;
|
||||
ItemHistoryObject? historyData;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -117,8 +119,8 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<MyItemProvider>(
|
||||
builder: (context, userResults, child) {
|
||||
return userResults.isloading
|
||||
builder: (context, itemResults, child) {
|
||||
return itemResults.isloading
|
||||
? Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: Colors.black,
|
||||
@@ -132,15 +134,18 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
itemBuilder: (context, index) {
|
||||
return Column(
|
||||
children: [
|
||||
ItemHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
items: itemData!,
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
Text(
|
||||
itemData!.userHistory.toString(),
|
||||
ItemHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
items: itemResults
|
||||
.itemHistory![index],
|
||||
),
|
||||
UserItemDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
user: itemResults
|
||||
.itemHistory![index],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
@@ -148,13 +153,13 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
],
|
||||
);
|
||||
},
|
||||
itemCount: userResults
|
||||
.originalItemHistory!.length,
|
||||
itemCount:
|
||||
itemResults.itemHistory!.length,
|
||||
shrinkWrap: true,
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
Regular → Executable
Regular → Executable
+2
@@ -45,6 +45,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
itemData =
|
||||
ModalRoute.of(context)!.settings.arguments as ItemDetailObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.resetSelectedUser();
|
||||
userResults.setLoading();
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
@@ -121,6 +122,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
text: 'user',
|
||||
text2: 'name or ID',
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
textInputType: TextInputType.name,
|
||||
onChanged: (value) {
|
||||
Provider.of<UsersProvider>(context, listen: false)
|
||||
.searchUsers(value);
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+15
-12
@@ -2,6 +2,7 @@ import 'package:cssd/models/my_package_model.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/my_packages.dart';
|
||||
import 'package:cssd/widgets/MyPackagesScreens/History/my_packages_history_date_widget.dart';
|
||||
import 'package:cssd/widgets/MyPackagesScreens/History/user_package_history_box.dart';
|
||||
import 'package:cssd/widgets/MyPackagesScreens/Result/my_packages_data_box_widget.dart';
|
||||
|
||||
import '../../config/routes.dart';
|
||||
@@ -118,8 +119,8 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<MyPackageProvider>(
|
||||
builder: (context, userResults, child) {
|
||||
return userResults.isloading
|
||||
builder: (context, packageResults, child) {
|
||||
return packageResults.isloading
|
||||
? Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: Colors.black,
|
||||
@@ -133,16 +134,18 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
itemBuilder: (context, index) {
|
||||
return Column(
|
||||
children: [
|
||||
PackageHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
packages: packageData!,
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
Text(
|
||||
packageData!.userHistory
|
||||
.toString(),
|
||||
PackageHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
packages: packageResults
|
||||
.packageHistory![index],
|
||||
),
|
||||
UserPackageDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
user: packageResults
|
||||
.packageHistory![index],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
@@ -150,13 +153,13 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
],
|
||||
);
|
||||
},
|
||||
itemCount: userResults
|
||||
.originalPackageHistory!.length,
|
||||
itemCount:
|
||||
packageResults.packageHistory!.length,
|
||||
shrinkWrap: true,
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
Regular → Executable
Regular → Executable
+3
-1
@@ -44,6 +44,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
packageData =
|
||||
ModalRoute.of(context)!.settings.arguments as PackageDetailObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.resetSelectedUser();
|
||||
userResults.setLoading();
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
@@ -115,8 +116,9 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
ResultSearchBox(
|
||||
searchCTRL: searchCTRL,
|
||||
text: 'user',
|
||||
text2: 'name',
|
||||
text2: 'name or ID',
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
textInputType: TextInputType.name,
|
||||
onChanged: (value) {
|
||||
Provider.of<UsersProvider>(context, listen: false)
|
||||
.searchUsers(value);
|
||||
|
||||
Regular → Executable
+25
@@ -24,6 +24,7 @@ class _PackageAddScreenState extends State<PackageAddScreen> {
|
||||
// TextEditingController udiCTRL = new TextEditingController();
|
||||
TextEditingController nameCTRL = new TextEditingController();
|
||||
TextEditingController dateCTRL = new TextEditingController();
|
||||
|
||||
final _form = GlobalKey<FormState>();
|
||||
bool isInit = true;
|
||||
PackageFilterObject? filters;
|
||||
@@ -47,6 +48,23 @@ class _PackageAddScreenState extends State<PackageAddScreen> {
|
||||
(result) {
|
||||
setState(
|
||||
() {
|
||||
// itemVals = [
|
||||
// {'id': '', 'name-udi': ''}
|
||||
// ];
|
||||
// for (var item in result) {
|
||||
// itemVals.add(item);
|
||||
// packageProviderObject.itemVals = itemVals;
|
||||
// }
|
||||
// initialItemValue.text = itemVals[1]['name-udi'];
|
||||
// packageProviderObject.initialItemValue = initialItemValue.text;
|
||||
|
||||
// itemVals.forEach(
|
||||
// (item) {
|
||||
// if (item['id'] == '') {
|
||||
// selectedItemsCTRL.text = item['name']!;
|
||||
// }
|
||||
// },
|
||||
// );
|
||||
isInit = false;
|
||||
},
|
||||
);
|
||||
@@ -215,6 +233,13 @@ class _PackageAddScreenState extends State<PackageAddScreen> {
|
||||
initialItemValue:
|
||||
packageProvider.initialItemValue,
|
||||
index: index,
|
||||
filteredItems:
|
||||
packageProvider.filteredItems!,
|
||||
hasRemoveButton:
|
||||
packageProvider.itemValues.length >
|
||||
1
|
||||
? true
|
||||
: false,
|
||||
),
|
||||
itemCount:
|
||||
packageProvider.itemValues.length,
|
||||
|
||||
Regular → Executable
+10
-6
@@ -1,3 +1,4 @@
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/models/package_model.dart';
|
||||
import 'package:cssd/providers/packages.dart';
|
||||
import 'package:cssd/widgets/PackageScreens/Details/package_detail_box.dart';
|
||||
@@ -8,12 +9,6 @@ import '../../providers/connectivity.dart';
|
||||
import '../../widgets/Global/internet_error.dart';
|
||||
|
||||
class PackageDetailScreen extends StatefulWidget {
|
||||
final String? testResultId;
|
||||
|
||||
PackageDetailScreen({
|
||||
this.testResultId,
|
||||
});
|
||||
|
||||
@override
|
||||
_PackageDetailScreenState createState() => _PackageDetailScreenState();
|
||||
}
|
||||
@@ -80,6 +75,15 @@ class _PackageDetailScreenState extends State<PackageDetailScreen> {
|
||||
: PackageDetailsDataBox(
|
||||
datas: datas!,
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
goToAddLabelPage: () {
|
||||
Navigator.pushNamed(
|
||||
context,
|
||||
Routes.labelAddScreen,
|
||||
arguments: {
|
||||
"id": datas!.id,
|
||||
},
|
||||
);
|
||||
},
|
||||
)
|
||||
: ConnectionErrorBox();
|
||||
},
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+16
-8
@@ -11,7 +11,6 @@ import '../../widgets/Global/internet_error.dart';
|
||||
import '../../widgets/TestResultScreens/Add/selector_box.dart';
|
||||
|
||||
class TestResultAddScreen extends StatefulWidget {
|
||||
// static const route = '/TestResultAddScreen';
|
||||
@override
|
||||
State<StatefulWidget> createState() {
|
||||
return _TestResultAddScreenState();
|
||||
@@ -29,6 +28,7 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
||||
if (isInit) {
|
||||
var testResultProviderObject =
|
||||
Provider.of<TestResultsProvider>(context, listen: false);
|
||||
testResultProviderObject.resetTests();
|
||||
testResultProviderObject.getFilterItems().then((result) {
|
||||
for (var testType in result[1].keys) {
|
||||
testTypeVals.add(testType);
|
||||
@@ -128,6 +128,10 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
||||
} else if (result == 'access') {
|
||||
print('access');
|
||||
} else {
|
||||
Provider.of<TestResultsProvider>(
|
||||
context,
|
||||
listen: false,
|
||||
).testCode = result;
|
||||
Navigator.pushNamed(
|
||||
context,
|
||||
Routes.formTestResultScreen,
|
||||
@@ -174,14 +178,18 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
||||
child: TextFormField(
|
||||
onChanged: (val) {
|
||||
if (val != '') {
|
||||
setState(() {
|
||||
testTypeCTRL.text = '';
|
||||
});
|
||||
setState(
|
||||
() {
|
||||
testTypeCTRL.text = '';
|
||||
},
|
||||
);
|
||||
} else {
|
||||
setState(() {
|
||||
testTypeCTRL.text =
|
||||
testTypeVals[0];
|
||||
});
|
||||
setState(
|
||||
() {
|
||||
testTypeCTRL.text =
|
||||
testTypeVals[0];
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
controller: testCodeCTRL,
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
+24
-22
@@ -41,28 +41,30 @@ class _FormPageState extends State<FormPage> {
|
||||
setState(() {
|
||||
_isLoading = true;
|
||||
});
|
||||
prvObject.createTestResult(values, batchId).then((result) {
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
if (result == 'done') {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (ctx) => AlertDialog(
|
||||
content: Text('Test added.'),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(ctx).pop();
|
||||
},
|
||||
child: Text('Ok'),
|
||||
)
|
||||
],
|
||||
),
|
||||
).then((value) =>
|
||||
Navigator.of(context).popAndPushNamed(Routes.testResultScreen));
|
||||
}
|
||||
});
|
||||
prvObject.createTestResult(values, batchId).then(
|
||||
(result) {
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
if (result == 'done') {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (ctx) => AlertDialog(
|
||||
content: Text('Test added.'),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(ctx).pop();
|
||||
},
|
||||
child: Text('Ok'),
|
||||
)
|
||||
],
|
||||
),
|
||||
).then((value) =>
|
||||
Navigator.of(context).popAndPushNamed(Routes.testResultScreen));
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+36
-40
@@ -183,26 +183,24 @@ class HomePage extends StatelessWidget {
|
||||
Divider(
|
||||
height: 2,
|
||||
),
|
||||
userData['roles']?.contains('User') ?? false
|
||||
? Container()
|
||||
: SelectionItem(
|
||||
firstLine: 'PACKAGES',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kPurple,
|
||||
secondLineColor: kPurpleSub,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return PackageResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'PACKAGES',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kPurple,
|
||||
secondLineColor: kPurpleSub,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return PackageResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'MY PACKAGES',
|
||||
secondLine: 'The Package that i possess',
|
||||
@@ -224,26 +222,24 @@ class HomePage extends StatelessWidget {
|
||||
Divider(
|
||||
height: 2,
|
||||
),
|
||||
userData['roles']?.contains('User') ?? false
|
||||
? Container()
|
||||
: SelectionItem(
|
||||
firstLine: 'ITEMS',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kBlue,
|
||||
secondLineColor: kBlueSub,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return ItemResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'ITEMS',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kBlue,
|
||||
secondLineColor: kBlueSub,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return ItemResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'MY ITEMS',
|
||||
secondLine: 'The Items that i possess',
|
||||
|
||||
Regular → Executable
Reference in New Issue
Block a user