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,
),
)
: ListView.builder(
: ListView.separated(
controller: sc,
separatorBuilder: (context, index) {
return Divider();
},
itemBuilder: (context, index) {
return Column(
children: [
@@ -139,11 +142,14 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
Text(
itemData!.userHistory.toString(),
),
SizedBox(
height: 20.0,
),
],
);
},
itemCount: userResults
.originalItemHistory?.length,
.originalItemHistory!.length,
shrinkWrap: true,
);
},
@@ -181,7 +181,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
packageResults.myPackages?[index],
push: () {
Navigator.pushNamed(context,
Routes.myItemsHistoryScreen,
Routes.myPackagesHistoryScreen,
arguments: packageResults
.myPackages?[index]);
},
@@ -194,7 +194,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
.hospitalPackages?[index],
push: () {
Navigator.pushNamed(context,
Routes.myItemsHistoryScreen,
Routes.myPackagesHistoryScreen,
arguments: packageResults
.hospitalPackages?[index]);
},
@@ -1,7 +1,6 @@
import 'package:cssd/models/my_package_model.dart';
import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/users.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_data_box.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/Result/my_packages_data_box_widget.dart';
@@ -36,28 +35,29 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
}
@override
void didChangeDependencies() async {
void didChangeDependencies() {
if (_isInit) {
packageData =
ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?;
var userResults = Provider.of<UsersProvider>(context);
userResults.setLoading();
String medicalCenterId =
await userResults.getUserMedicalCenter() as String;
userResults.getUsers(medicalCenterId).then((_) {
userResults.resetLoading();
sc?.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent) {
var userResults = Provider.of<UsersProvider>(
context,
listen: false,
);
userResults.getUsers(medicalCenterId);
}
},
);
});
var _id = packageData!.id;
var myPackageResults = Provider.of<MyPackageProvider>(context);
myPackageResults.setLoading();
myPackageResults.getPackagesHistory(_id).then(
(_) {
myPackageResults.resetLoading();
sc!.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent) {
var myPackageResults = Provider.of<MyPackageProvider>(
context,
listen: false,
);
myPackageResults.getPackagesHistory(_id);
}
},
);
},
);
}
_isInit = false;
super.didChangeDependencies();
@@ -117,16 +117,19 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
height: 20.0,
),
Expanded(
child: Consumer<UsersProvider>(
child: Consumer<MyPackageProvider>(
builder: (context, userResults, child) {
return userResults.isLoading
return userResults.isloading
? Center(
child: CircularProgressIndicator(
color: Colors.black,
),
)
: ListView.builder(
: ListView.separated(
controller: sc,
separatorBuilder: (context, index) {
return Divider();
},
itemBuilder: (context, index) {
return Column(
children: [
@@ -137,15 +140,18 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
SizedBox(
height: 20.0,
),
TransferDataBox(
deviceBlockSize: _deviceBlockSize,
user:
userResults.usersBox?[index],
Text(
packageData!.userHistory
.toString(),
),
SizedBox(
height: 20.0,
),
],
);
},
itemCount: userResults.usersBox?.length,
itemCount: userResults
.originalPackageHistory!.length,
shrinkWrap: true,
);
},
+36 -36
View File
@@ -19,6 +19,8 @@ class MyPackageProvider extends ChangeNotifier {
List<MyPackageResultObject>? originalMyPackagesRequests;
List<MyPackageResultObject>? originalHospitalPackagesRequests;
List<MyPackageResultObject>? originalPackageHistory;
MyPackageFilterObject? filters = MyPackageFilterObject(
id: '',
name: '',
@@ -102,30 +104,12 @@ class MyPackageProvider extends ChangeNotifier {
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']) {
originalMyPackages!.add(
MyPackageResultObject(
name: package['name'],
id: package['id'].toString(),
createdAt: package['created_at'].toString(),
fromDate: fromDate,
toDate: toDate,
userName: userHistory,
),
);
}
@@ -157,21 +141,6 @@ class MyPackageProvider extends ChangeNotifier {
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']) {
originalHospitalPackages!.add(
MyPackageResultObject(
@@ -179,9 +148,6 @@ class MyPackageProvider extends ChangeNotifier {
id: package['id'].toString(),
createdAt: package['created_at'].toString(),
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 {
var response = await http.post(
Uri.parse(Url.transferPackages(packageId)),
@@ -28,7 +28,7 @@ class ItemHistoryDate extends StatelessWidget {
Text(
items.fromDate.toString(),
style: TextStyle(
fontSize: 4 * _deviceBlockSize,
fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700,
),
),
@@ -51,7 +51,7 @@ class ItemHistoryDate extends StatelessWidget {
Text(
items.toDate.toString(),
style: TextStyle(
fontSize: 4 * _deviceBlockSize,
fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700,
),
),
@@ -28,7 +28,7 @@ class PackageHistoryDate extends StatelessWidget {
Text(
packages.fromDate!,
style: TextStyle(
fontSize: 4 * _deviceBlockSize,
fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700,
),
),
@@ -51,7 +51,7 @@ class PackageHistoryDate extends StatelessWidget {
Text(
packages.toDate!,
style: TextStyle(
fontSize: 4 * _deviceBlockSize,
fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700,
),
),