task detail page improvement

design_3.0_task_module_new
WaseemAbbasi22 6 months ago
parent 3ee2b66fbf
commit 93c7fb553d

@ -547,5 +547,6 @@
"since": "منذ", "since": "منذ",
"rejectionDetails": "تفاصيل الرفض", "rejectionDetails": "تفاصيل الرفض",
"part": "جزء", "part": "جزء",
"creationDate": "تاريخ الإنشاء" "creationDate": "تاريخ الإنشاء",
"transferType": "نوع النقل"
} }

@ -544,6 +544,7 @@
"createAssetTransferRequest": "Create Asset Transfer Request", "createAssetTransferRequest": "Create Asset Transfer Request",
"arrivedDate": "Arrived Date", "arrivedDate": "Arrived Date",
"closedDate": "Closed Date", "closedDate": "Closed Date",
"transferType": "Transfer Type",
"since": "Since", "since": "Since",
"rejectionDetails": "Rejection Details", "rejectionDetails": "Rejection Details",
"part": "Part", "part": "Part",

@ -47,6 +47,7 @@ class AssetTransfer {
this.receiverTravelingHours, this.receiverTravelingHours,
this.receiverEngSignature, this.receiverEngSignature,
this.receiverAttachments, this.receiverAttachments,
this.assetTransferAttachments,
this.attachments, this.attachments,
this.assetNumber, this.assetNumber,
this.assetName, this.assetName,
@ -124,6 +125,12 @@ class AssetTransfer {
senderAttachments!.add(AssetTransferAttachment.fromJson(v)); senderAttachments!.add(AssetTransferAttachment.fromJson(v));
}); });
} }
if (json['assetTransferAttachments'] != null) {
assetTransferAttachments = [];
json['assetTransferAttachments'].forEach((v) {
assetTransferAttachments?.add(AssetTransferAttachment.fromJson(v));
});
}
receiverAssignedEmployeeId = json['receiverAssignedEmployeeId']; receiverAssignedEmployeeId = json['receiverAssignedEmployeeId'];
receiverMachineStatusId = json['receiverMachineStatusId']; receiverMachineStatusId = json['receiverMachineStatusId'];
receiverComment = json['receiverComment']; receiverComment = json['receiverComment'];
@ -178,13 +185,6 @@ class AssetTransfer {
receiverAttachments!.add(AssetTransferAttachment.fromJson(v)); receiverAttachments!.add(AssetTransferAttachment.fromJson(v));
}); });
} }
if (senderAttachments != null) {
attachments = senderAttachments;
} else if (receiverAttachments != null) {
attachments = receiverAttachments;
}
print('sender attachment i got is ${senderAttachments?.length}');
assetNumber = json['assetNumber']; assetNumber = json['assetNumber'];
assetName = json['assetName']; assetName = json['assetName'];
manufacturerName = json['manufacturerName']; manufacturerName = json['manufacturerName'];
@ -253,6 +253,7 @@ class AssetTransfer {
String? senderEngSignature; String? senderEngSignature;
List<AssetTransferAttachment>? senderAttachments; List<AssetTransferAttachment>? senderAttachments;
List<AssetTransferAttachment>? attachments; List<AssetTransferAttachment>? attachments;
List<AssetTransferAttachment>? assetTransferAttachments;
String? receiverAssignedEmployeeId; String? receiverAssignedEmployeeId;
num? receiverMachineStatusId; num? receiverMachineStatusId;
String? receiverComment; String? receiverComment;

@ -112,8 +112,8 @@ class AssetItemView extends StatelessWidget {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
(requestDetails?.nameOfType ?? context.translation.deviceTransferRequest).heading5(context), (requestDetails?.nameOfType ?? context.translation.deviceTransferRequest).heading5(context),
"${context.translation.from} : ${requestDetails!.siteTransferFrom?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), "${context.translation.from} : ${requestDetails!.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),
"${context.translation.to} : ${requestDetails!.siteTransferTo?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), "${context.translation.to} : ${requestDetails!.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),
requestDetails!.status!.replaceAll("=", ":").bodyText(context), requestDetails!.status!.replaceAll("=", ":").bodyText(context),
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),
], ],

@ -57,8 +57,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
return const ALoading(); return const ALoading();
} else { } else {
_model = snapshot.data as AssetTransfer?; _model = snapshot.data as AssetTransfer?;
_attachments = _model?.attachments?.map((e) => File(e.attachmentName ?? '')).toList() ?? []; _attachments = _model?.assetTransferAttachments?.map((e) => File(e.attachmentName ?? '')).toList() ?? [];
return Form( return Form(
key: _formKey, key: _formKey,
child: LoadingManager( child: LoadingManager(
@ -79,24 +78,24 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
_buildTextWidget('${context.translation.transferType} : ${_model?.transferType?.name ?? ""}'),
_buildTextWidget('${context.translation.assetName} : ${_model?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? ""}'), _buildTextWidget('${context.translation.assetName} : ${_model?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? ""}'),
_buildTextWidget('${context.translation.assetNumber} : ${_model?.assetNumber ?? ""}'), _buildTextWidget('${context.translation.assetNumber} : ${_model?.assetNumber ?? ""}'),
_buildTextWidget('${context.translation.model} : ${_model?.modelName ?? ""}'), _buildTextWidget('${context.translation.model} : ${_model?.modelName ?? ""}'),
_buildTextWidget('${context.translation.sn} : ${_model?.assetSerialNo ?? ""}'), _buildTextWidget('${context.translation.sn} : ${_model?.assetSerialNo ?? ""}'),
if (_model?.receiverEndUserName != null) _buildTextWidget('${context.translation.receiverName} : ${_model?.receiverEndUserName ?? ""}'), if (_model?.receiverEndUserName != null) _buildTextWidget('${context.translation.receiverName} : ${_model?.receiverEndUserName ?? ""}'),
_buildTextWidget('${context.translation.requestNo} : ${_model?.transferCode ?? ""}'), _buildTextWidget('${context.translation.requestNo} : ${_model?.transferCode ?? ""}'),
//TODO need to confirm where to display this new data... infoText(label: context.translation.employeeId, value: _model?.employeeId),
infoText(label:context.translation.gasRequest ,value:_model?.extensionNo ), infoText(label: context.translation.name, value: _model?.name),
infoText(label:context.translation.employeeId ,value:_model?.employeeId ), infoText(label: context.translation.createdDate, value: _model?.createdDate?.toInitialVisitCardFormat),
infoText(label:context.translation.name ,value:_model?.name ),
infoText(label:context.translation.createdDate ,value:_model?.createdDate?.toInitialVisitCardFormat),
if ((_model?.comment ?? "").isNotEmpty) ...[ if ((_model?.comment ?? "").isNotEmpty) ...[
8.height, 8.height,
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
8.height, 8.height,
_buildTextWidget(_model!.comment!), _buildTextWidget(_model!.comment!),
],
if (_attachments.isNotEmpty) ...[
attachmentWidget(),
] ]
], ],
), ),
@ -106,21 +105,6 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
/// TBD
// Row(
// children: [
// /// TBD
// // StatusLabel(
// // label: "",
// // id: 0,
// // textColor: AColors.getPriorityStatusTextColor(0),
// // backgroundColor: AColors.getPriorityStatusColor(0)),
// 8.width,
//
// /// TBD
// //StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)),
// ],
// ),
1.width, 1.width,
Text( Text(
_model?.createdOn != null ? _model!.createdOn!.toServiceRequestCardFormat : "", _model?.createdOn != null ? _model!.createdOn!.toServiceRequestCardFormat : "",
@ -136,12 +120,8 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
_buildCard( _buildCard(
isSender: true, isSender: true,
site: _model?.senderSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", site: _model?.senderSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
/// TBD
unit: _model?.senderDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", unit: _model?.senderDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
comment: _model?.senderComment ?? "", comment: _model?.senderComment ?? "",
/// TBD
statusLabel: _model?.senderMachineStatusName != null statusLabel: _model?.senderMachineStatusName != null
? StatusLabel( ? StatusLabel(
label: _model!.senderMachineStatusName!, label: _model!.senderMachineStatusName!,
@ -156,12 +136,8 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
_buildCard( _buildCard(
isSender: false, isSender: false,
site: _model?.destSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", site: _model?.destSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
/// TBD
unit: _model?.destDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", unit: _model?.destDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
comment: _model?.receiverComment ?? "", comment: _model?.receiverComment ?? "",
/// TBD
statusLabel: _model?.receiverMachineStatusName != null statusLabel: _model?.receiverMachineStatusName != null
? StatusLabel( ? StatusLabel(
label: _model!.receiverMachineStatusName ?? "", label: _model!.receiverMachineStatusName ?? "",
@ -181,11 +157,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
); );
} }
_buildDetailsCard(Widget widget) { Widget attachmentWidget() {
return widget.toShadowContainer(context).paddingOnly(top: 14, start: 14, end: 14);
}
Widget attachmentWidget(){
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -200,7 +172,6 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
enabled: false, enabled: false,
onlyImages: false, onlyImages: false,
), ),
12.height,
], ],
], ],
); );
@ -253,21 +224,19 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
8.height, 8.height,
_buildTextWidget(comment), _buildTextWidget(comment),
attachmentWidget(),
] ]
], ],
).toShadowContainer(context); ).toShadowContainer(context);
} }
Widget infoText({String ?label,String ?value,}){
if(value==null||value.isEmpty){ Widget infoText({
return const SizedBox(); String? label,
} String? value,
else { }) {
if (value == null || value.isEmpty) {
return const SizedBox();
} else {
return '$label: $value'.bodyText(context); return '$label: $value'.bodyText(context);
} }
} }
} }

@ -76,7 +76,7 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: informationCard(_model), child: informationCard(_model),
).expanded, ).expanded,
if (_userProvider.user!.type == UsersTypes.engineer && (_model.status!.id! != 5833))//TODO need to check this value for complete status. if (_userProvider.user!.type == UsersTypes.engineer && (_model.status!.value! != 2))//TODO need to ask backend for status of complete and cancelled request.
AppFilledButton( AppFilledButton(
onPressed: () async { onPressed: () async {
await Navigator.of(context).push(MaterialPageRoute(builder: (_) => GasRefillForm(gasRefillModel: _model))); await Navigator.of(context).push(MaterialPageRoute(builder: (_) => GasRefillForm(gasRefillModel: _model)));
@ -125,14 +125,12 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
context.translation.gasRefillRequest.heading5(context), context.translation.gasRefillRequest.heading5(context),
8.height, 8.height,
'${context.translation.gasRequest}: ${gasRefillModel.gasRefillDetails![0].gasType?.name}'.bodyText(context), '${context.translation.gasType}: ${gasRefillModel.gasRefillDetails![0].gasType?.name}'.bodyText(context),
'${context.translation.cylinderType}: ${gasRefillModel.gasRefillDetails![0].cylinderType?.name}'.bodyText(context), '${context.translation.cylinderType}: ${gasRefillModel.gasRefillDetails![0].cylinderType?.name}'.bodyText(context),
'${context.translation.cylinderSize}: ${gasRefillModel.gasRefillDetails![0].cylinderSize?.name}'.bodyText(context), '${context.translation.cylinderSize}: ${gasRefillModel.gasRefillDetails![0].cylinderSize?.name}'.bodyText(context),
'${context.translation.site}: ${gasRefillModel.site?.name?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), '${context.translation.site}: ${gasRefillModel.site?.name?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.department}: ${gasRefillModel.department?.name?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), '${context.translation.department}: ${gasRefillModel.department?.name?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.requestNo}: ${gasRefillModel.gasRefillNo}'.bodyText(context), '${context.translation.requestNo}: ${gasRefillModel.gasRefillNo}'.bodyText(context),
//TODO need to confirm where to display this new data...
infoText(label: context.translation.gasRequest, value: gasRefillModel.extensionNo),
infoText(label: context.translation.employeeId, value: gasRefillModel.employeeId), infoText(label: context.translation.employeeId, value: gasRefillModel.employeeId),
infoText(label: context.translation.name, value: gasRefillModel.name), infoText(label: context.translation.name, value: gasRefillModel.name),
infoText(label: context.translation.createdDate, value: gasRefillModel.createdDate?.toInitialVisitCardFormat), infoText(label: context.translation.createdDate, value: gasRefillModel.createdDate?.toInitialVisitCardFormat),

Loading…
Cancel
Save