From 13d52b4094bc287ef4970be723cbf1922b67351f Mon Sep 17 00:00:00 2001 From: fhkhd Date: Wed, 28 Feb 2024 21:51:28 +0330 Subject: [PATCH] Set repair to my items and fix colors of items in result --- lib/config/urls.dart | 3 +- lib/models/item_model.dart | 31 +++++------ lib/providers/items.dart | 1 + lib/providers/my_items.dart | 9 +--- .../ItemScreens/Details/item_detail_box.dart | 53 +++++++++++-------- .../Detail/my_items_detail_box_widget.dart | 45 +++++++++++++--- 6 files changed, 88 insertions(+), 54 deletions(-) diff --git a/lib/config/urls.dart b/lib/config/urls.dart index 80772a7..f0d8731 100755 --- a/lib/config/urls.dart +++ b/lib/config/urls.dart @@ -164,12 +164,13 @@ class Url { static String changeItemStatus(String id) { return '$baseUrl/Items/ChangeStatus/$id'; } + static String changePackageStatus(String id) { return '$baseUrl/Packages/ChangeStatus/$id'; } static String repairItems(String id) { - return '$baseUrl/transfer-items/ChangeRepair/$id'; + return '$baseUrl/Items/ChangeRepair/$id'; } static String getUsers(String id) { diff --git a/lib/models/item_model.dart b/lib/models/item_model.dart index 9a03dc2..dccaf50 100755 --- a/lib/models/item_model.dart +++ b/lib/models/item_model.dart @@ -55,22 +55,23 @@ class ItemDetailObject extends Equatable { final String status; final List? filePath; final String? packageId; + final int? repair; - ItemDetailObject({ - required this.id, - required this.name, - required this.userName, - required this.size, - required this.specific, - required this.hospital, - required this.description, - required this.createdAt, - required this.udi, - required this.status, - this.filePath, - required this.packageId, - required this.userCreator, - }); + ItemDetailObject( + {required this.id, + required this.name, + required this.userName, + required this.size, + required this.specific, + required this.hospital, + required this.description, + required this.createdAt, + required this.udi, + required this.status, + this.filePath, + required this.packageId, + required this.userCreator, + this.repair}); @override List get props { diff --git a/lib/providers/items.dart b/lib/providers/items.dart index 0f063dc..caacc21 100755 --- a/lib/providers/items.dart +++ b/lib/providers/items.dart @@ -373,6 +373,7 @@ class ItemProvider extends ChangeNotifier { udi: data['udi'] != null ? data['udi'] : '', status: data['status'], packageId: data['package_id'].toString(), + repair: data['repair'], filePath: mediaList, ); return result!; diff --git a/lib/providers/my_items.dart b/lib/providers/my_items.dart index a5c90eb..be9c9bf 100755 --- a/lib/providers/my_items.dart +++ b/lib/providers/my_items.dart @@ -287,18 +287,11 @@ class MyItemProvider extends ChangeNotifier { print(itemData); } - Future repairItems(String itemId, String value) async { + Future repairItems(String itemId) 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" }, ); diff --git a/lib/widgets/ItemScreens/Details/item_detail_box.dart b/lib/widgets/ItemScreens/Details/item_detail_box.dart index 445aae3..9ec2b9c 100755 --- a/lib/widgets/ItemScreens/Details/item_detail_box.dart +++ b/lib/widgets/ItemScreens/Details/item_detail_box.dart @@ -6,14 +6,12 @@ import 'package:intl/intl.dart'; import 'package:pinch_zoom/pinch_zoom.dart'; import 'package:url_launcher/url_launcher.dart'; - class ItemDetailsDataBox extends StatelessWidget { const ItemDetailsDataBox({ Key? key, required this.datas, required double deviceBlockSize, - }) - : _deviceBlockSize = deviceBlockSize, + }) : _deviceBlockSize = deviceBlockSize, super(key: key); final ItemDetailObject datas; @@ -46,7 +44,11 @@ class ItemDetailsDataBox extends StatelessWidget { color: Color.fromRGBO(235, 235, 235, 1), border: Border( left: BorderSide( - color: kBlue, + color: datas.status == 'approved' + ? kBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, width: 2, ), ), @@ -62,14 +64,22 @@ class ItemDetailsDataBox extends StatelessWidget { ), ), style: TextStyle( - color: kBlue, + color: datas.status == 'approved' + ? kBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, ), ), Divider(), Text( 'ID: ${datas.id}', style: TextStyle( - color: kBlue, + color: datas.status == 'approved' + ? kBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, fontWeight: FontWeight.w700, ), ), @@ -337,14 +347,18 @@ class ItemDetailsDataBox extends StatelessWidget { Container( width: 45 * _deviceBlockSize, child: Text( - datas.status == 'approved' ? 'Confirmed' : - datas - .status == 'rejected' ? 'Rejected' : 'Pending..', + datas.status == 'approved' + ? 'Confirmed' + : datas.status == 'rejected' + ? 'Rejected' + : 'Pending..', style: TextStyle( fontWeight: FontWeight.w700, - color: datas.status == 'approved' ? kBlue : - datas - .status == 'rejected' ? kPink : Colors.grey, + color: datas.status == 'approved' + ? kBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, ), overflow: TextOverflow.clip, ), @@ -365,16 +379,12 @@ class ItemDetailsDataBox extends StatelessWidget { itemBuilder: (ctx, index, realIndex) { return InkWell( child: Image( - image: NetworkImage(datas.filePath![index]) - ), + image: NetworkImage(datas.filePath![index])), onTap: () { showDialog( context: context, - builder: (BuildContext context) => - PinchZoom( - child: Image.network( - datas.filePath![index]) - ), + builder: (BuildContext context) => PinchZoom( + child: Image.network(datas.filePath![index])), ); }, ); @@ -390,7 +400,7 @@ class ItemDetailsDataBox extends StatelessWidget { autoPlay: false, enlargeFactor: 0.5, enableInfiniteScroll: - datas.filePath?.length == 1 ? false : true, + datas.filePath?.length == 1 ? false : true, ), ), ), @@ -401,8 +411,7 @@ class ItemDetailsDataBox extends StatelessWidget { height: 20, ), InkWell( - onTap: () async => - await launch( + onTap: () async => await launch( 'https://cssd-doc.com/Show/Item/${datas.id.toString()}', ), child: Container( diff --git a/lib/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart b/lib/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart index cfab6f8..c3593a0 100755 --- a/lib/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart +++ b/lib/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart @@ -55,7 +55,13 @@ class MyItemsDetailsDataBox extends StatelessWidget { color: Color.fromRGBO(235, 235, 235, 1), border: Border( left: BorderSide( - color: kDarkBlue, + color: datas.repair == 1 + ? kPink + : datas.status == 'approved' + ? kDarkBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, width: 2, ), ), @@ -71,14 +77,26 @@ class MyItemsDetailsDataBox extends StatelessWidget { ), ), style: TextStyle( - color: kDarkBlue, + color: datas.repair == 1 + ? kPink + : datas.status == 'approved' + ? kDarkBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, ), ), Divider(), Text( 'ID: ${datas.id}', style: TextStyle( - color: kDarkBlue, + color: datas.repair == 1 + ? kPink + : datas.status == 'approved' + ? kDarkBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, fontWeight: FontWeight.w700, ), ), @@ -346,10 +364,22 @@ class MyItemsDetailsDataBox extends StatelessWidget { Container( width: 45 * _deviceBlockSize, child: Text( - datas.status == 'approved' ? 'Success' : 'Failure', + datas.repair == 1 + ? 'Pending...' + : datas.status == 'approved' + ? 'Success' + : datas.status == 'rejected' + ? 'Failure' + : 'Pending...', style: TextStyle( fontWeight: FontWeight.w700, - color: datas.status == 'approved' ? kDarkBlue : kPink, + color: datas.repair == 1 + ? kPink + : datas.status == 'approved' + ? kDarkBlue + : datas.status == 'rejected' + ? kPink + : Colors.grey, ), overflow: TextOverflow.clip, ), @@ -647,7 +677,7 @@ class MyItemsDetailsDataBox extends StatelessWidget { await Provider.of( context, listen: false) - .repairItems(datas.id, 'suspended') + .repairItems(datas.id) .then( (value) { Navigator.of(context).pop(); @@ -726,8 +756,7 @@ class MyItemsDetailsDataBox extends StatelessWidget { onTap: () { Provider.of(context, listen: false) - .repairItems( - datas.id, 'suspended') + .repairItems(datas.id) .then( (value) { Navigator.of(context).pop();