Set repair to my items and fix colors of items in result

This commit is contained in:
fhkhd
2024-02-28 21:51:28 +03:30
parent 48062eb0a0
commit 13d52b4094
6 changed files with 88 additions and 54 deletions
+2 -1
View File
@@ -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) {
+16 -15
View File
@@ -55,22 +55,23 @@ class ItemDetailObject extends Equatable {
final String status;
final List<String>? 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<Object> get props {
+1
View File
@@ -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!;
+1 -8
View File
@@ -287,18 +287,11 @@ class MyItemProvider extends ChangeNotifier {
print(itemData);
}
Future<void> repairItems(String itemId, String value) async {
Future<void> 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"
},
);
@@ -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(
@@ -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<MyItemProvider>(
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<MyItemProvider>(context,
listen: false)
.repairItems(
datas.id, 'suspended')
.repairItems(datas.id)
.then(
(value) {
Navigator.of(context).pop();