mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-10 19:48:56 +03:30
test commit
This commit is contained in:
@@ -95,15 +95,33 @@ class Url {
|
||||
return '$baseUrl/transfer-items?page=$id';
|
||||
}
|
||||
|
||||
static String getMyPackages(int id) {
|
||||
return '$baseUrl/transfer-my-packages?page=$id';
|
||||
}
|
||||
|
||||
static String getHospitalPackages(int id) {
|
||||
return '$baseUrl/transfer-packages?page=$id';
|
||||
}
|
||||
|
||||
static String getMyItemRequests = '$baseUrl/my-suspended-transfer-items';
|
||||
|
||||
static const String getHospitalItemRequests =
|
||||
'$baseUrl/suspended-transfer-items';
|
||||
|
||||
static String getMyPackageRequests =
|
||||
'$baseUrl/my-suspended-transfer-packages';
|
||||
|
||||
static const String getHospitalPackageRequests =
|
||||
'$baseUrl/suspended-transfer-packages';
|
||||
|
||||
static String transferItems(String id) {
|
||||
return '$baseUrl/transfer-items/$id';
|
||||
}
|
||||
|
||||
static String transferPackages(String id) {
|
||||
return '$baseUrl/transfer-packages/$id';
|
||||
}
|
||||
|
||||
static String testResultVerification(String id, String value) {
|
||||
return '$baseUrl/TestResults/Verify/$id/$value';
|
||||
}
|
||||
@@ -112,6 +130,10 @@ class Url {
|
||||
return '$baseUrl/transfer-items/ChangeStatus/$id';
|
||||
}
|
||||
|
||||
static String verifyPackageRequests(String id, String value) {
|
||||
return '$baseUrl/transfer-packages/ChangeStatus/$id';
|
||||
}
|
||||
|
||||
static String updateLabelResult(String id) {
|
||||
return '$baseUrl/Labels/$id';
|
||||
}
|
||||
@@ -160,6 +182,10 @@ class Url {
|
||||
return '$baseUrl/Items/ChangeStatus/$id';
|
||||
}
|
||||
|
||||
static String repairItems(String id) {
|
||||
return '$baseUrl/transfer-items/ChangeRepair/$id';
|
||||
}
|
||||
|
||||
static String getUsers(String id) {
|
||||
return '$baseUrl/Users?medicalCenter_id=$id';
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:equatable/equatable.dart';
|
||||
class MyPackageResultObject extends Equatable {
|
||||
final String id;
|
||||
final String name;
|
||||
final List<String>? items;
|
||||
final String? userName;
|
||||
final String? fromDate;
|
||||
final String? toDate;
|
||||
@@ -13,12 +14,14 @@ class MyPackageResultObject extends Equatable {
|
||||
this.userName,
|
||||
this.fromDate,
|
||||
this.toDate,
|
||||
this.items,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object> get props => [
|
||||
id,
|
||||
name,
|
||||
items!,
|
||||
userName!,
|
||||
fromDate!,
|
||||
toDate!,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// ignore_for_file: public_member_api_docs, sort_constructors_first
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/pages/MyItemsPages/my_items_history_screen.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/connectivity.dart';
|
||||
import 'package:cssd/providers/my_items.dart';
|
||||
@@ -206,16 +205,10 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
|
||||
isAdmin: false,
|
||||
items: itemResults.myItems?[index],
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: ((context) =>
|
||||
MyItemsHistoryScreen(
|
||||
items: itemResults
|
||||
.myItems?[index],
|
||||
)),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments:
|
||||
itemResults.myItems?[index]);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
@@ -225,16 +218,10 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
|
||||
items:
|
||||
itemResults.hospitalItems?[index],
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: ((context) =>
|
||||
MyItemsHistoryScreen(
|
||||
items: itemResults
|
||||
.myItems?[index],
|
||||
)),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments: itemResults
|
||||
.hospitalItems?[index]);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/models/item_model.dart';
|
||||
import 'package:cssd/pages/MyItemsPages/my_items_transfer_screen.dart';
|
||||
import 'package:cssd/providers/items.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -82,14 +82,9 @@ class _MyItemsDetailScreenState extends State<MyItemsDetailScreen> {
|
||||
datas: datas!,
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ItemsTransferScreen(
|
||||
items: datas,
|
||||
),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(
|
||||
context, Routes.itemsTransferScreen,
|
||||
arguments: datas);
|
||||
},
|
||||
)
|
||||
: ConnectionErrorBox();
|
||||
|
||||
@@ -39,6 +39,14 @@ class _MyItemsFilterScreenState extends State<MyItemsFilterScreen> {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
if (isInit) {
|
||||
isInit = false;
|
||||
}
|
||||
super.didChangeDependencies();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final _media = MediaQuery.of(context);
|
||||
|
||||
@@ -26,6 +26,7 @@ class MyItemsHistoryScreen extends StatefulWidget {
|
||||
class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
bool _isInit = true;
|
||||
ScrollController? sc;
|
||||
MyItemResultObject? itemData;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -34,13 +35,15 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
void didChangeDependencies() async {
|
||||
if (_isInit) {
|
||||
itemData =
|
||||
ModalRoute.of(context)!.settings.arguments as MyItemResultObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.setLoading();
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String)
|
||||
.then((_) {
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
userResults.getUsers(medicalCenterId).then((_) {
|
||||
userResults.resetLoading();
|
||||
sc?.addListener(
|
||||
() {
|
||||
@@ -49,8 +52,7 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
context,
|
||||
listen: false,
|
||||
);
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String);
|
||||
userResults.getUsers(medicalCenterId);
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -105,20 +107,13 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
MyItemsItemDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
hasHistoryBtn: false,
|
||||
items: MyItemsHistoryScreen().items!,
|
||||
items: itemData,
|
||||
isAdmin: userData['roles']?.contains('User')
|
||||
? false
|
||||
: true,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
Divider(
|
||||
color: Colors.grey,
|
||||
height: 2.0,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
height: 20.0,
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<UsersProvider>(
|
||||
@@ -136,8 +131,7 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
||||
children: [
|
||||
ItemHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
items:
|
||||
MyItemsHistoryScreen().items!,
|
||||
items: itemData!,
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
|
||||
@@ -30,19 +30,26 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
bool _isInit = true;
|
||||
ScrollController? sc;
|
||||
TextEditingController searchCTRL = new TextEditingController();
|
||||
ItemDetailObject? itemData;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
sc = new ScrollController();
|
||||
print(itemData);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
void didChangeDependencies() async {
|
||||
if (_isInit) {
|
||||
itemData =
|
||||
ModalRoute.of(context)!.settings.arguments as ItemDetailObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.setLoading();
|
||||
userResults.getUsers(userResults.getUserMedicalCenter() as String).then(
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
print(medicalCenterId);
|
||||
userResults.getUsers(medicalCenterId).then(
|
||||
(_) {
|
||||
userResults.resetLoading();
|
||||
sc!.addListener(
|
||||
@@ -53,8 +60,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
context,
|
||||
listen: false,
|
||||
);
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String);
|
||||
userResults.getUsers(medicalCenterId);
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -113,7 +119,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
ResultSearchBox(
|
||||
searchCTRL: searchCTRL,
|
||||
text: 'user',
|
||||
text2: 'name',
|
||||
text2: 'name or ID',
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
onChanged: (value) {
|
||||
Provider.of<UsersProvider>(context, listen: false)
|
||||
@@ -138,6 +144,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
return TransferDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
user: userResults.usersBox?[index],
|
||||
clickColor: kDarkBlue,
|
||||
isClicked:
|
||||
userResults.selectedUserIndex ==
|
||||
index,
|
||||
@@ -148,8 +155,14 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
).selectUser(index);
|
||||
print(userId);
|
||||
Provider.of<UsersProvider>(
|
||||
context)
|
||||
context,
|
||||
listen: false)
|
||||
.saveUserId = userId;
|
||||
Provider.of<UsersProvider>(
|
||||
context,
|
||||
listen: false)
|
||||
.selectedUserForItems =
|
||||
userResults.usersBox?[index];
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -176,7 +189,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
),
|
||||
content: SizedBox(
|
||||
width: _deviceBlockSize,
|
||||
height: 280,
|
||||
height: 300,
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
@@ -188,7 +201,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
ItemCard(_deviceBlockSize),
|
||||
ItemCard(_deviceBlockSize, itemData!),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
@@ -199,7 +212,14 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
SizedBox(
|
||||
width: 5.0,
|
||||
),
|
||||
ItemCard(_deviceBlockSize),
|
||||
TransferDataBox(
|
||||
deviceBlockSize:
|
||||
_deviceBlockSize,
|
||||
user:
|
||||
Provider.of<UsersProvider>(
|
||||
context)
|
||||
.selectedUserForItems,
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
@@ -214,11 +234,16 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
context,
|
||||
listen: false,
|
||||
).transferItems(
|
||||
ItemsTransferScreen().items!.id,
|
||||
itemData!.id,
|
||||
Provider.of<UsersProvider>(
|
||||
context,
|
||||
).saveUserId!,
|
||||
context,
|
||||
listen: false)
|
||||
.saveUserId!,
|
||||
);
|
||||
Navigator.of(context).pop();
|
||||
Navigator.of(context)
|
||||
.popAndPushNamed(Routes
|
||||
.myItemsResultScreen);
|
||||
},
|
||||
text: 'Transfer',
|
||||
),
|
||||
@@ -252,7 +277,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
);
|
||||
}
|
||||
|
||||
Container ItemCard(double _deviceBlockSize) {
|
||||
Container ItemCard(double _deviceBlockSize, ItemDetailObject item) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(color: Colors.grey),
|
||||
@@ -262,9 +287,9 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
padding: const EdgeInsets.all(6.0),
|
||||
padding: const EdgeInsets.all(10.0),
|
||||
child: Text(
|
||||
ItemsTransferScreen().items!.id,
|
||||
item.id,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 5 * _deviceBlockSize,
|
||||
@@ -281,7 +306,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
Container(
|
||||
width: 40 * _deviceBlockSize,
|
||||
child: Text(
|
||||
ItemsTransferScreen().items!.name,
|
||||
item.name,
|
||||
style: TextStyle(
|
||||
fontSize: 3 * _deviceBlockSize,
|
||||
fontWeight: FontWeight.w700,
|
||||
@@ -301,7 +326,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
),
|
||||
),
|
||||
Text(
|
||||
ItemsTransferScreen().items!.size,
|
||||
item.size,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
@@ -323,7 +348,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
||||
),
|
||||
),
|
||||
Text(
|
||||
ItemsTransferScreen().items!.userName,
|
||||
item.userName,
|
||||
style: TextStyle(
|
||||
fontSize: 3 * _deviceBlockSize,
|
||||
fontWeight: FontWeight.w700,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// ignore_for_file: public_member_api_docs, sort_constructors_first
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/pages/MyPackagesPages/my_packages_history_screen.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/connectivity.dart';
|
||||
import 'package:cssd/providers/my_packages.dart';
|
||||
@@ -49,11 +48,11 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
|
||||
() {
|
||||
if (sc!.position.pixels == sc!.position.maxScrollExtent &&
|
||||
searchCTRL.text == '') {
|
||||
var myItemResults = Provider.of<MyPackageProvider>(
|
||||
var myPackageResults = Provider.of<MyPackageProvider>(
|
||||
context,
|
||||
listen: false,
|
||||
);
|
||||
myItemResults.getMyPackages();
|
||||
myPackageResults.getMyPackages();
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -181,16 +180,10 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
|
||||
packages:
|
||||
packageResults.myPackages?[index],
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: ((context) =>
|
||||
MyPackagesHistoryScreen(
|
||||
packages: packageResults
|
||||
.myPackages?[index],
|
||||
)),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments: packageResults
|
||||
.myPackages?[index]);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
@@ -200,16 +193,10 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
|
||||
packages: packageResults
|
||||
.hospitalPackages?[index],
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: ((context) =>
|
||||
MyPackagesHistoryScreen(
|
||||
packages: packageResults
|
||||
.myPackages?[index],
|
||||
)),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(context,
|
||||
Routes.myItemsHistoryScreen,
|
||||
arguments: packageResults
|
||||
.hospitalPackages?[index]);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/models/package_model.dart';
|
||||
import 'package:cssd/pages/MyPackagesPages/my_packages_transfer_screen.dart';
|
||||
import 'package:cssd/providers/packages.dart';
|
||||
import 'package:cssd/widgets/MyPackagesScreens/Detail/my_packages_detail_box_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -82,14 +82,9 @@ class _MyPackagesDetailScreenState extends State<MyPackagesDetailScreen> {
|
||||
datas: datas!,
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
push: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => PackageTransferScreen(
|
||||
packages: datas,
|
||||
),
|
||||
),
|
||||
);
|
||||
Navigator.pushNamed(
|
||||
context, Routes.packagesTransferScreen,
|
||||
arguments: datas);
|
||||
},
|
||||
)
|
||||
: ConnectionErrorBox();
|
||||
|
||||
@@ -36,6 +36,14 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
if (isInit) {
|
||||
isInit = false;
|
||||
}
|
||||
super.didChangeDependencies();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final _media = MediaQuery.of(context);
|
||||
@@ -198,31 +206,71 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
|
||||
SizedBox(
|
||||
height: 30,
|
||||
),
|
||||
TextFormField(
|
||||
controller: udiCTRL,
|
||||
decoration: InputDecoration(
|
||||
icon: Icon(
|
||||
FontAwesomeIcons.alignLeft,
|
||||
size: 6 * _deviceBlockSize,
|
||||
Row(
|
||||
children: [
|
||||
Flexible(
|
||||
flex: 8,
|
||||
child: TextFormField(
|
||||
controller: udiCTRL,
|
||||
decoration: InputDecoration(
|
||||
icon: Icon(
|
||||
FontAwesomeIcons.alignLeft,
|
||||
size: 6 * _deviceBlockSize,
|
||||
),
|
||||
labelStyle: TextStyle(
|
||||
fontWeight: FontWeight.w100,
|
||||
fontSize: 4 * _deviceBlockSize,
|
||||
),
|
||||
labelText: 'UDI',
|
||||
isDense: true,
|
||||
contentPadding: EdgeInsets.symmetric(
|
||||
vertical: 2,
|
||||
horizontal: 3,
|
||||
),
|
||||
),
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 5 * _deviceBlockSize,
|
||||
),
|
||||
focusNode: _udiFocusNode,
|
||||
keyboardType: TextInputType.text,
|
||||
textInputAction: TextInputAction.next,
|
||||
),
|
||||
),
|
||||
labelStyle: TextStyle(
|
||||
fontWeight: FontWeight.w100,
|
||||
fontSize: 4 * _deviceBlockSize,
|
||||
),
|
||||
labelText: 'UDI',
|
||||
isDense: true,
|
||||
contentPadding: EdgeInsets.symmetric(
|
||||
vertical: 2,
|
||||
horizontal: 3,
|
||||
),
|
||||
),
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 5 * _deviceBlockSize,
|
||||
),
|
||||
focusNode: _udiFocusNode,
|
||||
keyboardType: TextInputType.text,
|
||||
textInputAction: TextInputAction.next,
|
||||
Flexible(
|
||||
flex: 1,
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
scan().then(
|
||||
(String result) {
|
||||
if (result == 'cancel') {
|
||||
print('cancel');
|
||||
} else if (result == 'error') {
|
||||
print('error');
|
||||
} else if (result == 'access') {
|
||||
print('access');
|
||||
} else {
|
||||
print(result);
|
||||
idCTRL.text = result;
|
||||
}
|
||||
},
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(8),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: Colors.black,
|
||||
),
|
||||
child: Icon(
|
||||
Icons.qr_code_scanner,
|
||||
size: 5 * _deviceBlockSize,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 90,
|
||||
|
||||
@@ -15,9 +15,9 @@ import 'package:provider/provider.dart';
|
||||
|
||||
class MyPackagesHistoryScreen extends StatefulWidget {
|
||||
final bool? isAdmin;
|
||||
final MyPackageResultObject? packages;
|
||||
final MyPackageResultObject? items;
|
||||
|
||||
MyPackagesHistoryScreen({this.isAdmin, this.packages});
|
||||
MyPackagesHistoryScreen({this.isAdmin, this.items});
|
||||
|
||||
@override
|
||||
_MyPackagesHistoryScreenState createState() =>
|
||||
@@ -27,6 +27,7 @@ class MyPackagesHistoryScreen extends StatefulWidget {
|
||||
class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
bool _isInit = true;
|
||||
ScrollController? sc;
|
||||
MyPackageResultObject? packageData;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -35,13 +36,15 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
void didChangeDependencies() async {
|
||||
if (_isInit) {
|
||||
packageData =
|
||||
ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.setLoading();
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String)
|
||||
.then((_) {
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
userResults.getUsers(medicalCenterId).then((_) {
|
||||
userResults.resetLoading();
|
||||
sc?.addListener(
|
||||
() {
|
||||
@@ -50,8 +53,7 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
context,
|
||||
listen: false,
|
||||
);
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String);
|
||||
userResults.getUsers(medicalCenterId);
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -106,20 +108,13 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
MyPackagesItemDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
hasHistoryBtn: false,
|
||||
packages: MyPackagesHistoryScreen().packages!,
|
||||
packages: packageData,
|
||||
isAdmin: userData['roles']?.contains('User')
|
||||
? false
|
||||
: true,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
Divider(
|
||||
color: Colors.grey,
|
||||
height: 2.0,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
height: 20.0,
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<UsersProvider>(
|
||||
@@ -137,9 +132,7 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
||||
children: [
|
||||
PackageHistoryDate(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
packages:
|
||||
MyPackagesHistoryScreen()
|
||||
.packages!,
|
||||
packages: packageData!,
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
|
||||
@@ -30,6 +30,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
bool _isInit = true;
|
||||
ScrollController? sc;
|
||||
TextEditingController searchCTRL = new TextEditingController();
|
||||
PackageDetailObject? packageData;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -38,13 +39,15 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
void didChangeDependencies() async {
|
||||
if (_isInit) {
|
||||
packageData =
|
||||
ModalRoute.of(context)!.settings.arguments as PackageDetailObject?;
|
||||
var userResults = Provider.of<UsersProvider>(context);
|
||||
userResults.setLoading();
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String)
|
||||
.then((_) {
|
||||
String medicalCenterId =
|
||||
await userResults.getUserMedicalCenter() as String;
|
||||
userResults.getUsers(medicalCenterId).then((_) {
|
||||
userResults.resetLoading();
|
||||
sc!.addListener(
|
||||
() {
|
||||
@@ -54,8 +57,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
context,
|
||||
listen: false,
|
||||
);
|
||||
userResults
|
||||
.getUsers(userResults.getUserMedicalCenter() as String);
|
||||
userResults.getUsers(medicalCenterId);
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -138,6 +140,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
return TransferDataBox(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
user: userResults.usersBox?[index],
|
||||
clickColor: kDarkPurple,
|
||||
isClicked:
|
||||
userResults.selectedUserIndex ==
|
||||
index,
|
||||
@@ -148,8 +151,14 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
).selectUser(index);
|
||||
print(userId);
|
||||
Provider.of<UsersProvider>(
|
||||
context)
|
||||
context,
|
||||
listen: false)
|
||||
.saveUserId = userId;
|
||||
Provider.of<UsersProvider>(
|
||||
context,
|
||||
listen: false)
|
||||
.selectedUserForPackages =
|
||||
userResults.usersBox?[index];
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -188,7 +197,8 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
PackageCard(_deviceBlockSize),
|
||||
PackageCard(
|
||||
_deviceBlockSize, packageData!),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
@@ -199,7 +209,13 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
SizedBox(
|
||||
width: 5.0,
|
||||
),
|
||||
PackageCard(_deviceBlockSize),
|
||||
TransferDataBox(
|
||||
deviceBlockSize:
|
||||
_deviceBlockSize,
|
||||
user: Provider.of<
|
||||
UsersProvider>(context)
|
||||
.selectedUserForPackages,
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
@@ -207,20 +223,23 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
),
|
||||
TransferDestroyButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
firstColor: kDarkBlue,
|
||||
secondColor: kDarkBlueSub,
|
||||
firstColor: kDarkPurple,
|
||||
secondColor: kDarkPurpleSub,
|
||||
onTap: () {
|
||||
Provider.of<MyPackageProvider>(
|
||||
context,
|
||||
listen: false,
|
||||
).transferPackage(
|
||||
PackageTransferScreen()
|
||||
.packages!
|
||||
.id,
|
||||
packageData!.id,
|
||||
Provider.of<UsersProvider>(
|
||||
context,
|
||||
).saveUserId!,
|
||||
context,
|
||||
listen: false)
|
||||
.saveUserId!,
|
||||
);
|
||||
Navigator.of(context).pop();
|
||||
Navigator.of(context)
|
||||
.popAndPushNamed(Routes
|
||||
.myPackagesResultScreen);
|
||||
},
|
||||
text: 'Transfer',
|
||||
),
|
||||
@@ -254,7 +273,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
);
|
||||
}
|
||||
|
||||
Container PackageCard(double _deviceBlockSize) {
|
||||
Container PackageCard(double _deviceBlockSize, PackageDetailObject package) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(color: Colors.grey),
|
||||
@@ -266,7 +285,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
Container(
|
||||
padding: const EdgeInsets.all(6.0),
|
||||
child: Text(
|
||||
PackageTransferScreen().packages!.id,
|
||||
package.id,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 5 * _deviceBlockSize,
|
||||
@@ -283,7 +302,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
||||
Container(
|
||||
width: 40 * _deviceBlockSize,
|
||||
child: Text(
|
||||
PackageTransferScreen().packages!.name,
|
||||
package.name,
|
||||
style: TextStyle(
|
||||
fontSize: 3 * _deviceBlockSize,
|
||||
fontWeight: FontWeight.w700,
|
||||
|
||||
+42
-11
@@ -92,6 +92,7 @@ class MyItemProvider extends ChangeNotifier {
|
||||
String url = Url.getMyItems(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Modify this. Filter Items by ID dos'nt work!!!!
|
||||
url += '&item_id=${filters!.id}';
|
||||
}
|
||||
if (filters!.name != '') {
|
||||
@@ -124,8 +125,12 @@ class MyItemProvider extends ChangeNotifier {
|
||||
name: item['name'],
|
||||
id: item['id'].toString(),
|
||||
size: item['size'].toString(),
|
||||
fromDate: item['transfers']['from_date'],
|
||||
toDate: item['transfers']['to_date'],
|
||||
fromDate: item['transfers'].isNotEmpty
|
||||
? item['transfers']['from_date'].toString()
|
||||
: '',
|
||||
toDate: item['transfers'].isNotEmpty
|
||||
? item['transfers']['to_date'].toString()
|
||||
: '',
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -137,6 +142,7 @@ class MyItemProvider extends ChangeNotifier {
|
||||
String url = Url.getHospitalItems(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Modify this. Filter Items by ID dos'nt work!!!!
|
||||
url += '&item_id=${filters!.id}';
|
||||
}
|
||||
if (filters!.name != '') {
|
||||
@@ -158,7 +164,6 @@ class MyItemProvider extends ChangeNotifier {
|
||||
);
|
||||
|
||||
print(response.body);
|
||||
print(response.statusCode);
|
||||
|
||||
var itemsData = json.decode(response.body);
|
||||
|
||||
@@ -173,8 +178,12 @@ class MyItemProvider extends ChangeNotifier {
|
||||
id: item['id'].toString(),
|
||||
size: item['size'].toString(),
|
||||
userName: item['user'] != null ? item['user']['name'] : '',
|
||||
// fromDate: item['transfers']['from_date'],
|
||||
// toDate: item['transfers']['to_date'],
|
||||
fromDate: item['transfers'].isNotEmpty
|
||||
? item['transfers']['from_date'].toString()
|
||||
: '',
|
||||
toDate: item['transfers'].isNotEmpty
|
||||
? item['transfers']['to_date'].toString()
|
||||
: '',
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -196,9 +205,9 @@ class MyItemProvider extends ChangeNotifier {
|
||||
for (var item in itemsData['data']) {
|
||||
originalMyItemsRequests!.add(
|
||||
MyItemResultObject(
|
||||
name: item['name'],
|
||||
id: item['id'].toString(),
|
||||
size: item['size'].toString(),
|
||||
name: item['transferable']['name'],
|
||||
id: item['transferable']['id'].toString(),
|
||||
size: item['transferable']['size'].toString(),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -212,15 +221,16 @@ class MyItemProvider extends ChangeNotifier {
|
||||
);
|
||||
|
||||
var itemsData = json.decode(response.body);
|
||||
print(itemsData);
|
||||
|
||||
originalHospitalItemsRequests = [];
|
||||
|
||||
for (var item in itemsData['data']) {
|
||||
originalHospitalItemsRequests!.add(
|
||||
MyItemResultObject(
|
||||
name: item['name'],
|
||||
id: item['id'].toString(),
|
||||
size: item['size'].toString(),
|
||||
name: item['transferable']['name'].toString(),
|
||||
id: item['transferable']['id'].toString(),
|
||||
size: item['transferable']['size'].toString(),
|
||||
userName: item['user'] != null ? item['user']['name'] : '',
|
||||
),
|
||||
);
|
||||
@@ -247,6 +257,24 @@ class MyItemProvider extends ChangeNotifier {
|
||||
print(itemData);
|
||||
}
|
||||
|
||||
Future<void> repairItems(String itemId, String value) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.repairItems(itemId)),
|
||||
body: json.encode(
|
||||
{
|
||||
'status': value,
|
||||
},
|
||||
),
|
||||
headers: {
|
||||
'Authorization': User.token,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json"
|
||||
},
|
||||
);
|
||||
print(response.statusCode);
|
||||
}
|
||||
|
||||
Future<bool> verifyItemRequests(String id, String value) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.verifyItemRequests(id, value)),
|
||||
@@ -260,6 +288,8 @@ class MyItemProvider extends ChangeNotifier {
|
||||
);
|
||||
|
||||
var itemData = json.decode(response.body);
|
||||
print(response.statusCode);
|
||||
print(itemData);
|
||||
|
||||
try {
|
||||
if (itemData['data']['transfers']['status'] == 'approved') {
|
||||
@@ -268,6 +298,7 @@ class MyItemProvider extends ChangeNotifier {
|
||||
return false;
|
||||
}
|
||||
} catch (e) {
|
||||
print(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<void> getMyPackages() async {
|
||||
String url = Url.getMyItems(pageNumber);
|
||||
String url = Url.getMyPackages(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
url += '&package_id=${filters!.id}';
|
||||
@@ -107,8 +107,12 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
fromDate: package['transfers']['from_date'],
|
||||
toDate: package['transfers']['to_date'],
|
||||
// fromDate: package['transfers'].isNotEmpty
|
||||
// ? package['transfers']['from_date'].toString()
|
||||
// : '',
|
||||
// toDate: package['transfers'].isNotEmpty
|
||||
// ? package['transfers']['to_date'].toString()
|
||||
// : '',
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -117,7 +121,7 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<void> getHospitalPackages() async {
|
||||
String url = Url.getHospitalItems(pageNumber);
|
||||
String url = Url.getHospitalPackages(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
url += '&package_id=${filters!.id}';
|
||||
@@ -146,8 +150,12 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
userName: package['user'] != null ? package['user']['name'] : '',
|
||||
fromDate: package['transfers']['from_date'],
|
||||
toDate: package['transfers']['to_date'],
|
||||
// fromDate: package['transfers'].isNotEmpty
|
||||
// ? package['transfers']['from_date'].toString()
|
||||
// : '',
|
||||
// toDate: package['transfers'].isNotEmpty
|
||||
// ? package['transfers']['to_date'].toString()
|
||||
// : '',
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -156,7 +164,7 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<void> getMyPackageRequests() async {
|
||||
String url = Url.getMyItemRequests;
|
||||
String url = Url.getMyPackageRequests;
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
@@ -169,15 +177,15 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
for (var package in packagesData['data']) {
|
||||
originalMyPackagesRequests!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
name: package['transferable']['name'],
|
||||
id: package['transferable']['id'].toString(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> getHospitalPackageRequests() async {
|
||||
String url = Url.getHospitalItemRequests;
|
||||
String url = Url.getHospitalPackageRequests;
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
@@ -190,8 +198,8 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
for (var package in packagesData['data']) {
|
||||
originalHospitalPackagesRequests!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
name: package['transferable']['name'],
|
||||
id: package['transferable']['id'].toString(),
|
||||
userName: package['user'] != null ? package['user']['name'] : '',
|
||||
),
|
||||
);
|
||||
@@ -200,7 +208,7 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
|
||||
Future<void> transferPackage(String packageId, String userId) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.transferItems(packageId)),
|
||||
Uri.parse(Url.transferPackages(packageId)),
|
||||
body: json.encode(
|
||||
{
|
||||
'user_id': userId,
|
||||
@@ -220,7 +228,7 @@ class MyPackageProvider extends ChangeNotifier {
|
||||
|
||||
Future<bool> verifyPackageRequests(String id, String value) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.verifyItemRequests(id, value)),
|
||||
Uri.parse(Url.verifyPackageRequests(id, value)),
|
||||
body: json.encode({'status': value}),
|
||||
headers: {
|
||||
'Authorization': User.token,
|
||||
|
||||
@@ -16,6 +16,8 @@ class UsersProvider extends ChangeNotifier {
|
||||
String? medicalCenterId;
|
||||
|
||||
int? selectedUserIndex;
|
||||
Users? selectedUserForItems;
|
||||
Users? selectedUserForPackages;
|
||||
|
||||
String? saveUserId;
|
||||
|
||||
@@ -66,6 +68,7 @@ class UsersProvider extends ChangeNotifier {
|
||||
),
|
||||
);
|
||||
}
|
||||
searchUsers('');
|
||||
}
|
||||
|
||||
Future<String?> getUserMedicalCenter() async {
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/models/item_model.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/items.dart';
|
||||
import 'package:cssd/providers/my_items.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -417,6 +418,83 @@ class MyItemsDetailsDataBox extends StatelessWidget {
|
||||
);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
userData['roles']?.contains('User') ?? false
|
||||
? Container()
|
||||
: TransferDestroyButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
firstColor: Colors.black,
|
||||
secondColor: Colors.black87,
|
||||
text: 'Repair',
|
||||
onTap: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return AlertDialog(
|
||||
title: Text(
|
||||
'Are you sure to repair this Item?',
|
||||
style: TextStyle(
|
||||
fontSize: 4 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
content: SizedBox(
|
||||
width: _deviceBlockSize,
|
||||
height: 220,
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
'By approving, your item will be set in repair mode and it can be use anymore unless you disable repair mode.',
|
||||
style: TextStyle(
|
||||
fontSize: 3 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
ItemCard(_deviceBlockSize),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
TransferDestroyButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
firstColor: Colors.black,
|
||||
secondColor: Colors.black87,
|
||||
onTap: () {
|
||||
Provider.of<MyItemProvider>(context,
|
||||
listen: false)
|
||||
.repairItems(datas.id, 'approved')
|
||||
.then(
|
||||
(value) {
|
||||
Navigator.of(context).pop();
|
||||
Navigator.pushReplacementNamed(
|
||||
context,
|
||||
Routes.myItemsResultScreen,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
text: 'Repair',
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
CancelTransferButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
color: kDarkBlue,
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:cssd/config/colors.dart';
|
||||
import 'package:cssd/models/users_model.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -6,12 +5,14 @@ class TransferDataBox extends StatelessWidget {
|
||||
final Users? user;
|
||||
final Function(String)? onTap;
|
||||
final bool isClicked;
|
||||
final Color? clickColor;
|
||||
|
||||
const TransferDataBox({
|
||||
Key? key,
|
||||
required double deviceBlockSize,
|
||||
this.user,
|
||||
this.onTap,
|
||||
this.clickColor,
|
||||
this.isClicked = false,
|
||||
}) : _deviceBlockSize = deviceBlockSize,
|
||||
super(key: key);
|
||||
@@ -32,7 +33,7 @@ class TransferDataBox extends StatelessWidget {
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(10),
|
||||
),
|
||||
border: Border.all(color: kDarkBlue, width: 2.0),
|
||||
border: Border.all(color: clickColor!, width: 2.0),
|
||||
)
|
||||
: BoxDecoration(),
|
||||
padding: EdgeInsets.all(8),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/my_items.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -31,6 +32,7 @@ class MyItemFilterChip extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userData = Provider.of<Auth>(context, listen: false).user;
|
||||
return Row(
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
@@ -59,11 +61,19 @@ class MyItemFilterChip extends StatelessWidget {
|
||||
_specific,
|
||||
);
|
||||
itemProvider.setLoading();
|
||||
itemProvider.getMyItems().then(
|
||||
(_) {
|
||||
itemProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
if (userData['roles']?.contains('User')) {
|
||||
itemProvider.getMyItems().then(
|
||||
(_) {
|
||||
itemProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
} else {
|
||||
itemProvider.getHospitalItems().then(
|
||||
(_) {
|
||||
itemProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
import 'package:cssd/config/colors.dart';
|
||||
import 'package:cssd/config/routes.dart';
|
||||
import 'package:cssd/models/package_model.dart';
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/packages.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart';
|
||||
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class MyPackageDetailsDataBox extends StatelessWidget {
|
||||
@@ -25,7 +20,7 @@ class MyPackageDetailsDataBox extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userData = Provider.of<Auth>(context, listen: false).user;
|
||||
// final userData = Provider.of<Auth>(context, listen: false).user;
|
||||
return Padding(
|
||||
padding: EdgeInsets.all(20),
|
||||
child: ListView(
|
||||
@@ -276,83 +271,83 @@ class MyPackageDetailsDataBox extends StatelessWidget {
|
||||
push();
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
userData['roles']?.contains('User') ?? false
|
||||
? Container()
|
||||
: TransferDestroyButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
firstColor: kPink,
|
||||
secondColor: kPinkSub,
|
||||
text: 'Destroy',
|
||||
onTap: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return AlertDialog(
|
||||
title: Text(
|
||||
'Are you sure to destroy this Package?',
|
||||
style: TextStyle(
|
||||
fontSize: 4 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
content: SizedBox(
|
||||
width: _deviceBlockSize,
|
||||
height: 220,
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
'By approving, your package will be removed and it can not be used any more.',
|
||||
style: TextStyle(
|
||||
fontSize: 3 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
PackageCard(_deviceBlockSize),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
TransferDestroyButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
firstColor: kPink,
|
||||
secondColor: kPinkSub,
|
||||
onTap: () {
|
||||
Provider.of<PackageProvider>(context,
|
||||
listen: false)
|
||||
.removePackages(datas.id)
|
||||
.then(
|
||||
(value) {
|
||||
Navigator.of(context).pop();
|
||||
Navigator.pushReplacementNamed(
|
||||
context,
|
||||
Routes.myPackagesResultScreen,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
text: 'Destroy',
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
CancelTransferButton(
|
||||
deviceBlockSize: _deviceBlockSize,
|
||||
color: kDarkPurple,
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
// SizedBox(
|
||||
// height: 10.0,
|
||||
// ),
|
||||
// userData['roles']?.contains('User') ?? false
|
||||
// ? Container()
|
||||
// : TransferDestroyButton(
|
||||
// deviceBlockSize: _deviceBlockSize,
|
||||
// firstColor: kPink,
|
||||
// secondColor: kPinkSub,
|
||||
// text: 'Destroy',
|
||||
// onTap: () {
|
||||
// showDialog(
|
||||
// context: context,
|
||||
// builder: (context) {
|
||||
// return AlertDialog(
|
||||
// title: Text(
|
||||
// 'Are you sure to destroy this Package?',
|
||||
// style: TextStyle(
|
||||
// fontSize: 4 * _deviceBlockSize,
|
||||
// ),
|
||||
// ),
|
||||
// content: SizedBox(
|
||||
// width: _deviceBlockSize,
|
||||
// height: 220,
|
||||
// child: Column(
|
||||
// children: [
|
||||
// Text(
|
||||
// 'By approving, your package will be removed and it can not be used any more.',
|
||||
// style: TextStyle(
|
||||
// fontSize: 3 * _deviceBlockSize,
|
||||
// ),
|
||||
// ),
|
||||
// SizedBox(
|
||||
// height: 10.0,
|
||||
// ),
|
||||
// PackageCard(_deviceBlockSize),
|
||||
// SizedBox(
|
||||
// height: 20.0,
|
||||
// ),
|
||||
// TransferDestroyButton(
|
||||
// deviceBlockSize: _deviceBlockSize,
|
||||
// firstColor: kPink,
|
||||
// secondColor: kPinkSub,
|
||||
// onTap: () {
|
||||
// Provider.of<PackageProvider>(context,
|
||||
// listen: false)
|
||||
// .removePackages(datas.id)
|
||||
// .then(
|
||||
// (value) {
|
||||
// Navigator.of(context).pop();
|
||||
// Navigator.pushReplacementNamed(
|
||||
// context,
|
||||
// Routes.myPackagesResultScreen,
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// },
|
||||
// text: 'Destroy',
|
||||
// ),
|
||||
// SizedBox(
|
||||
// height: 5.0,
|
||||
// ),
|
||||
// CancelTransferButton(
|
||||
// deviceBlockSize: _deviceBlockSize,
|
||||
// color: kDarkPurple,
|
||||
// onTap: () {
|
||||
// Navigator.pop(context);
|
||||
// },
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:cssd/providers/auth.dart';
|
||||
import 'package:cssd/providers/my_packages.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -25,6 +26,7 @@ class MyPackageFilterChip extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userData = Provider.of<Auth>(context, listen: false).user;
|
||||
return Row(
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
@@ -51,11 +53,19 @@ class MyPackageFilterChip extends StatelessWidget {
|
||||
_udi,
|
||||
);
|
||||
packageProvider.setLoading();
|
||||
packageProvider.getMyPackages().then(
|
||||
(_) {
|
||||
packageProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
if (userData['roles']?.contains('User')) {
|
||||
packageProvider.getMyPackages().then(
|
||||
(_) {
|
||||
packageProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
} else {
|
||||
packageProvider.getHospitalPackages().then(
|
||||
(_) {
|
||||
packageProvider.resetLoading();
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
|
||||
@@ -106,7 +106,7 @@ class MyPackagesItemDataBox extends StatelessWidget {
|
||||
width: 9 * _deviceBlockSize,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: kDarkBlue,
|
||||
color: kDarkPurple,
|
||||
),
|
||||
child: Icon(
|
||||
FontAwesomeIcons.history,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:cssd/config/colors.dart';
|
||||
import 'package:cssd/models/my_package_model.dart';
|
||||
import 'package:cssd/providers/my_items.dart';
|
||||
import 'package:cssd/providers/my_packages.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
@@ -104,9 +104,9 @@ class PackageRequestsDataBox extends StatelessWidget {
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
Provider.of<MyItemProvider>(context,
|
||||
Provider.of<MyPackageProvider>(context,
|
||||
listen: false)
|
||||
.verifyItemRequests(
|
||||
.verifyPackageRequests(
|
||||
package!.id, 'approved')
|
||||
.then((result) {
|
||||
if (result) {
|
||||
@@ -114,7 +114,7 @@ class PackageRequestsDataBox extends StatelessWidget {
|
||||
}
|
||||
Navigator.of(ctx).pop();
|
||||
Navigator.of(context).popAndPushNamed(
|
||||
Routes.myItemsResultScreen);
|
||||
Routes.myPackagesResultScreen);
|
||||
});
|
||||
},
|
||||
child: Text('Yes'),
|
||||
@@ -158,9 +158,9 @@ class PackageRequestsDataBox extends StatelessWidget {
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
Provider.of<MyItemProvider>(context,
|
||||
Provider.of<MyPackageProvider>(context,
|
||||
listen: false)
|
||||
.verifyItemRequests(
|
||||
.verifyPackageRequests(
|
||||
package!.id, 'rejected')
|
||||
.then((result) {
|
||||
if (result) {
|
||||
@@ -168,7 +168,7 @@ class PackageRequestsDataBox extends StatelessWidget {
|
||||
}
|
||||
Navigator.of(ctx).pop();
|
||||
Navigator.of(context).popAndPushNamed(
|
||||
Routes.myItemsResultScreen);
|
||||
Routes.myPackagesResultScreen);
|
||||
});
|
||||
},
|
||||
child: Text('Yes'),
|
||||
|
||||
Reference in New Issue
Block a user