diff --git a/lib/models/my_package_model.dart b/lib/models/my_package_model.dart index 35c254c..3ca7e2d 100755 --- a/lib/models/my_package_model.dart +++ b/lib/models/my_package_model.dart @@ -58,12 +58,14 @@ class PackageHistoryObject extends Equatable { final String userHistoryName; final String userHistoryId; final String userHistoryPhon; + final String? userTransferName; PackageHistoryObject({ required this.fromDate, required this.toDate, required this.userHistoryName, required this.userHistoryId, required this.userHistoryPhon, + required this.userTransferName }); @override diff --git a/lib/pages/MyPackagesPages/my_packages_history_screen.dart b/lib/pages/MyPackagesPages/my_packages_history_screen.dart index 5f4dff7..895b74e 100755 --- a/lib/pages/MyPackagesPages/my_packages_history_screen.dart +++ b/lib/pages/MyPackagesPages/my_packages_history_screen.dart @@ -39,18 +39,15 @@ class _MyPackagesHistoryScreenState extends State { void didChangeDependencies() { if (_isInit) { packageData = - ModalRoute - .of(context)! - .settings - .arguments as MyPackageResultObject?; + ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?; var _id = packageData!.id; var myPackageResults = Provider.of(context); myPackageResults.setLoading(); myPackageResults.getPackagesHistory(_id).then( - (_) { + (_) { myPackageResults.resetLoading(); sc!.addListener( - () { + () { if (sc!.position.pixels == sc!.position.maxScrollExtent) { var myPackageResults = Provider.of( context, @@ -72,14 +69,17 @@ class _MyPackagesHistoryScreenState extends State { final _media = MediaQuery.of(context); final double _deviceWidth = _media.size.width; final double _deviceBlockSize = _deviceWidth / 100; - final userData = Provider - .of(context, listen: false) - .user; + final userData = Provider.of(context, listen: false).user; return SafeArea( child: Scaffold( appBar: AppBar( titleSpacing: -10, - title: Text('My Packages', style: TextStyle(color: Colors.white,),), + title: Text( + 'My Packages', + style: TextStyle( + color: Colors.white, + ), + ), backgroundColor: Colors.black, leading: IconButton( icon: Icon( @@ -94,84 +94,81 @@ class _MyPackagesHistoryScreenState extends State { builder: (ct, connection, _) { return connection.conStatus != 'offline' ? Padding( - padding: EdgeInsets.only( - top: 20, - right: 20, - bottom: 60, - left: 20, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ResultBanner( - deviceBlockSize: _deviceBlockSize, - text: 'Package History', - push: Routes.itemFilterScreen, - hasFilterObject: false, - ), - SizedBox( - height: 20, - ), - MyPackagesItemDataBox( - deviceBlockSize: _deviceBlockSize, - hasHistoryBtn: false, - packages: packageData, - isAdmin: userData['roles']?.contains('User') - ? false - : true, - ), - SizedBox( - height: 20.0, - ), - Expanded( - child: Consumer( - builder: (context, packageResults, child) { - return packageResults.isloading - ? Center( - child: CircularProgressIndicator( - color: Colors.black, - ), - ) - : ListView.separated( - controller: sc, - separatorBuilder: (context, index) { - return Divider(); - }, - itemBuilder: (context, index) { - return Column( - children: [ - SizedBox( - height: 20.0, - ), - PackageHistoryDate( - deviceBlockSize: _deviceBlockSize, - packages: packageResults - .packageHistory![index], - ), - UserPackageDataBox( - deviceBlockSize: _deviceBlockSize, - user: packageResults - .packageHistory![index], - transmitterName: !(index == - (packageResults.packageHistory!.length - - 1)) ? packageResults.packageHistory![index + 1].userHistoryName : null, - ), - SizedBox( - height: 20.0, - ), - ], - ); - }, - itemCount: - packageResults.packageHistory!.length, - shrinkWrap: true, - ); - }, + padding: EdgeInsets.only( + top: 20, + right: 20, + bottom: 60, + left: 20, ), - ), - ], - ), - ) + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ResultBanner( + deviceBlockSize: _deviceBlockSize, + text: 'Package History', + push: Routes.itemFilterScreen, + hasFilterObject: false, + ), + SizedBox( + height: 20, + ), + MyPackagesItemDataBox( + deviceBlockSize: _deviceBlockSize, + hasHistoryBtn: false, + packages: packageData, + isAdmin: userData['roles']?.contains('User') + ? false + : true, + ), + SizedBox( + height: 20.0, + ), + Expanded( + child: Consumer( + builder: (context, packageResults, child) { + return packageResults.isloading + ? Center( + child: CircularProgressIndicator( + color: Colors.black, + ), + ) + : ListView.separated( + controller: sc, + separatorBuilder: (context, index) { + return Divider(); + }, + itemBuilder: (context, index) { + return Column( + children: [ + SizedBox( + height: 20.0, + ), + PackageHistoryDate( + deviceBlockSize: _deviceBlockSize, + packages: packageResults + .packageHistory![index], + ), + UserPackageDataBox( + deviceBlockSize: _deviceBlockSize, + user: packageResults + .packageHistory![index], + ), + SizedBox( + height: 20.0, + ), + ], + ); + }, + itemCount: + packageResults.packageHistory!.length, + shrinkWrap: true, + ); + }, + ), + ), + ], + ), + ) : ConnectionErrorBox(); }, ), diff --git a/lib/providers/my_packages.dart b/lib/providers/my_packages.dart index aa34653..7b3a028 100755 --- a/lib/providers/my_packages.dart +++ b/lib/providers/my_packages.dart @@ -11,12 +11,15 @@ class MyPackageProvider extends ChangeNotifier { String searchBoxValue = ''; bool filterOn = false; List? myPackages; + // List? hospitalPackages; List? originalMyPackages; + // List? originalHospitalPackages; List? originalMyPackagesRequests; + // List? originalHospitalPackagesRequests; List? packageHistory; @@ -27,8 +30,10 @@ class MyPackageProvider extends ChangeNotifier { // udi: '', ); int pageNumber = 1; + void resetPageNumber() => pageNumber = 1; bool isloading = false; + void resetLoading() { isloading = false; notifyListeners(); @@ -227,6 +232,9 @@ class MyPackageProvider extends ChangeNotifier { userHistoryName: transfer['user']['name'].toString(), userHistoryId: transfer['user']['id'].toString(), userHistoryPhon: transfer['user']['cell_number'].toString(), + userTransferName: transfer['userTransfer'] != null + ? transfer['userTransfer']['name'].toString() + : null, ), ); } diff --git a/lib/widgets/MyPackagesScreens/History/user_package_history_box.dart b/lib/widgets/MyPackagesScreens/History/user_package_history_box.dart index 72ccea7..b41c7da 100755 --- a/lib/widgets/MyPackagesScreens/History/user_package_history_box.dart +++ b/lib/widgets/MyPackagesScreens/History/user_package_history_box.dart @@ -3,13 +3,11 @@ import 'package:flutter/material.dart'; class UserPackageDataBox extends StatelessWidget { final PackageHistoryObject? user; - final String? transmitterName; const UserPackageDataBox({ Key? key, required double deviceBlockSize, this.user, - this.transmitterName }) : _deviceBlockSize = deviceBlockSize, super(key: key); @@ -42,7 +40,7 @@ class UserPackageDataBox extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( - width: 30 * _deviceBlockSize, + width: 25 * _deviceBlockSize, child: Text( user!.userHistoryName, style: TextStyle( @@ -52,7 +50,7 @@ class UserPackageDataBox extends StatelessWidget { ), ), Container( - width: 30 * _deviceBlockSize, + width: 25 * _deviceBlockSize, child: Text( user!.userHistoryPhon, style: TextStyle( @@ -64,25 +62,27 @@ class UserPackageDataBox extends StatelessWidget { ), ], ), - SizedBox( - width: 3 * _deviceBlockSize, + Row( + children: [ + Text( + user!.userTransferName != null ? "Transmitter : " : "", + style: TextStyle( + fontSize: 3 * _deviceBlockSize, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: 25 * _deviceBlockSize, + child: Text( + user!.userTransferName ?? "", + style: TextStyle( + fontSize: 3 * _deviceBlockSize, + fontWeight: FontWeight.w700, + ), + ), + ), + ], ), - Row(children: [ - Text( - "Transmitter : ", - style: TextStyle( - fontSize: 3 * _deviceBlockSize, - fontWeight: FontWeight.w700, - ), - ), - Text( - transmitterName ?? "null", - style: TextStyle( - fontSize: 3 * _deviceBlockSize, - fontWeight: FontWeight.w700, - ), - ), - ],), ], ), ),