mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-10 20:28:54 +03:30
v2.0.0
This commit is contained in:
@@ -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,
|
||||
);
|
||||
},
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user