This commit is contained in:
HooDie
2023-10-28 16:39:35 +03:30
parent 92d6024cb1
commit b567d4dac9
6 changed files with 85 additions and 73 deletions
@@ -124,8 +124,11 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
color: Colors.black, color: Colors.black,
), ),
) )
: ListView.builder( : ListView.separated(
controller: sc, controller: sc,
separatorBuilder: (context, index) {
return Divider();
},
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Column( return Column(
children: [ children: [
@@ -139,11 +142,14 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
Text( Text(
itemData!.userHistory.toString(), itemData!.userHistory.toString(),
), ),
SizedBox(
height: 20.0,
),
], ],
); );
}, },
itemCount: userResults itemCount: userResults
.originalItemHistory?.length, .originalItemHistory!.length,
shrinkWrap: true, shrinkWrap: true,
); );
}, },
@@ -181,7 +181,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
packageResults.myPackages?[index], packageResults.myPackages?[index],
push: () { push: () {
Navigator.pushNamed(context, Navigator.pushNamed(context,
Routes.myItemsHistoryScreen, Routes.myPackagesHistoryScreen,
arguments: packageResults arguments: packageResults
.myPackages?[index]); .myPackages?[index]);
}, },
@@ -194,7 +194,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
.hospitalPackages?[index], .hospitalPackages?[index],
push: () { push: () {
Navigator.pushNamed(context, Navigator.pushNamed(context,
Routes.myItemsHistoryScreen, Routes.myPackagesHistoryScreen,
arguments: packageResults arguments: packageResults
.hospitalPackages?[index]); .hospitalPackages?[index]);
}, },
@@ -1,7 +1,6 @@
import 'package:cssd/models/my_package_model.dart'; import 'package:cssd/models/my_package_model.dart';
import 'package:cssd/providers/auth.dart'; import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/users.dart'; import 'package:cssd/providers/my_packages.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_data_box.dart';
import 'package:cssd/widgets/MyPackagesScreens/History/my_packages_history_date_widget.dart'; import 'package:cssd/widgets/MyPackagesScreens/History/my_packages_history_date_widget.dart';
import 'package:cssd/widgets/MyPackagesScreens/Result/my_packages_data_box_widget.dart'; import 'package:cssd/widgets/MyPackagesScreens/Result/my_packages_data_box_widget.dart';
@@ -36,28 +35,29 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
} }
@override @override
void didChangeDependencies() async { void didChangeDependencies() {
if (_isInit) { if (_isInit) {
packageData = packageData =
ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?; ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?;
var userResults = Provider.of<UsersProvider>(context); var _id = packageData!.id;
userResults.setLoading(); var myPackageResults = Provider.of<MyPackageProvider>(context);
String medicalCenterId = myPackageResults.setLoading();
await userResults.getUserMedicalCenter() as String; myPackageResults.getPackagesHistory(_id).then(
userResults.getUsers(medicalCenterId).then((_) { (_) {
userResults.resetLoading(); myPackageResults.resetLoading();
sc?.addListener( sc!.addListener(
() { () {
if (sc!.position.pixels == sc!.position.maxScrollExtent) { if (sc!.position.pixels == sc!.position.maxScrollExtent) {
var userResults = Provider.of<UsersProvider>( var myPackageResults = Provider.of<MyPackageProvider>(
context, context,
listen: false, listen: false,
); );
userResults.getUsers(medicalCenterId); myPackageResults.getPackagesHistory(_id);
} }
}, },
); );
}); },
);
} }
_isInit = false; _isInit = false;
super.didChangeDependencies(); super.didChangeDependencies();
@@ -117,16 +117,19 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
height: 20.0, height: 20.0,
), ),
Expanded( Expanded(
child: Consumer<UsersProvider>( child: Consumer<MyPackageProvider>(
builder: (context, userResults, child) { builder: (context, userResults, child) {
return userResults.isLoading return userResults.isloading
? Center( ? Center(
child: CircularProgressIndicator( child: CircularProgressIndicator(
color: Colors.black, color: Colors.black,
), ),
) )
: ListView.builder( : ListView.separated(
controller: sc, controller: sc,
separatorBuilder: (context, index) {
return Divider();
},
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Column( return Column(
children: [ children: [
@@ -137,15 +140,18 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
SizedBox( SizedBox(
height: 20.0, height: 20.0,
), ),
TransferDataBox( Text(
deviceBlockSize: _deviceBlockSize, packageData!.userHistory
user: .toString(),
userResults.usersBox?[index], ),
SizedBox(
height: 20.0,
), ),
], ],
); );
}, },
itemCount: userResults.usersBox?.length, itemCount: userResults
.originalPackageHistory!.length,
shrinkWrap: true, shrinkWrap: true,
); );
}, },
+36 -36
View File
@@ -19,6 +19,8 @@ class MyPackageProvider extends ChangeNotifier {
List<MyPackageResultObject>? originalMyPackagesRequests; List<MyPackageResultObject>? originalMyPackagesRequests;
List<MyPackageResultObject>? originalHospitalPackagesRequests; List<MyPackageResultObject>? originalHospitalPackagesRequests;
List<MyPackageResultObject>? originalPackageHistory;
MyPackageFilterObject? filters = MyPackageFilterObject( MyPackageFilterObject? filters = MyPackageFilterObject(
id: '', id: '',
name: '', name: '',
@@ -102,30 +104,12 @@ class MyPackageProvider extends ChangeNotifier {
originalMyPackages = []; originalMyPackages = [];
} }
String fromDate = '';
String toDate = '';
String userHistory = '';
for (var package in packagesData['data']) {
for (var transfer in package['transfers']) {
fromDate = transfer['from_date'] != null
? transfer['from_date'].toString()
: '';
toDate =
transfer['to_date'] != null ? transfer['to_date'].toString() : '';
userHistory = transfer['user']['name'].toString();
}
}
for (var package in packagesData['data']) { for (var package in packagesData['data']) {
originalMyPackages!.add( originalMyPackages!.add(
MyPackageResultObject( MyPackageResultObject(
name: package['name'], name: package['name'],
id: package['id'].toString(), id: package['id'].toString(),
createdAt: package['created_at'].toString(), createdAt: package['created_at'].toString(),
fromDate: fromDate,
toDate: toDate,
userName: userHistory,
), ),
); );
} }
@@ -157,21 +141,6 @@ class MyPackageProvider extends ChangeNotifier {
originalHospitalPackages = []; originalHospitalPackages = [];
} }
String fromDate = '';
String toDate = '';
String userHistory = '';
for (var package in packagesData['data']) {
for (var transfer in package['transfers']) {
fromDate = transfer['from_date'] != null
? transfer['from_date'].toString()
: '';
toDate =
transfer['to_date'] != null ? transfer['to_date'].toString() : '';
userHistory = transfer['user']['name'].toString();
}
}
for (var package in packagesData['data']) { for (var package in packagesData['data']) {
originalHospitalPackages!.add( originalHospitalPackages!.add(
MyPackageResultObject( MyPackageResultObject(
@@ -179,9 +148,6 @@ class MyPackageProvider extends ChangeNotifier {
id: package['id'].toString(), id: package['id'].toString(),
createdAt: package['created_at'].toString(), createdAt: package['created_at'].toString(),
userName: package['user'] != null ? package['user']['name'] : '', userName: package['user'] != null ? package['user']['name'] : '',
fromDate: fromDate,
toDate: toDate,
userHistory: userHistory,
), ),
); );
} }
@@ -236,6 +202,40 @@ class MyPackageProvider extends ChangeNotifier {
} }
} }
Future<void> getPackagesHistory(String id) async {
String url = Url.getPackageResult(id);
var response = await http.get(
Uri.parse(url),
headers: {'Authorization': User.token, "Accept": "application/json"},
);
var packagesData = json.decode(response.body)['data'];
String fromDate = '';
String toDate = '';
String userHistory = '';
for (var transfer in packagesData['transfers']) {
fromDate =
transfer['from_date'] != null ? transfer['from_date'].toString() : '';
toDate =
transfer['to_date'] != null ? transfer['to_date'].toString() : '';
userHistory = transfer['user']['name'].toString();
}
if (packagesData.isNotEmpty) {
originalPackageHistory!.add(
MyPackageResultObject(
name: packagesData['name'],
id: packagesData['id'].toString(),
createdAt: packagesData['created_at'].toString(),
fromDate: fromDate,
toDate: toDate,
userHistory: userHistory,
),
);
originalPackageHistory!.reversed.toList();
}
}
Future<void> transferPackage(String packageId, String userId) async { Future<void> transferPackage(String packageId, String userId) async {
var response = await http.post( var response = await http.post(
Uri.parse(Url.transferPackages(packageId)), Uri.parse(Url.transferPackages(packageId)),
@@ -28,7 +28,7 @@ class ItemHistoryDate extends StatelessWidget {
Text( Text(
items.fromDate.toString(), items.fromDate.toString(),
style: TextStyle( style: TextStyle(
fontSize: 4 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
), ),
@@ -51,7 +51,7 @@ class ItemHistoryDate extends StatelessWidget {
Text( Text(
items.toDate.toString(), items.toDate.toString(),
style: TextStyle( style: TextStyle(
fontSize: 4 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
), ),
@@ -28,7 +28,7 @@ class PackageHistoryDate extends StatelessWidget {
Text( Text(
packages.fromDate!, packages.fromDate!,
style: TextStyle( style: TextStyle(
fontSize: 4 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
), ),
@@ -51,7 +51,7 @@ class PackageHistoryDate extends StatelessWidget {
Text( Text(
packages.toDate!, packages.toDate!,
style: TextStyle( style: TextStyle(
fontSize: 4 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
), ),