Merge remote-tracking branch 'origin/main_design2.0' into main_design2.0

main_design2.0
nextwo 2 years ago
commit 8b0d9a6ca6

@ -35,6 +35,19 @@ extension WidgetExtensions on Widget {
) )
: this; : this;
Widget toRequestShimmer(BuildContext context, bool isShow) => isShow
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(width: 250, height: 24).toShimmer(isShow: isShow),
8.height,
const SizedBox(width: 160, height: 16).toShimmer(isShow: isShow),
8.height,
const SizedBox(width: 120, height: 18).toShimmer(isShow: isShow).toShimmer(isShow: isShow),
],
).toShadowContainer(context)
: this;
Widget toShadowContainer(BuildContext context) => Container( Widget toShadowContainer(BuildContext context) => Container(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
decoration: ShapeDecoration( decoration: ShapeDecoration(

@ -1,14 +1,22 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pie_chart/pie_chart.dart'; import 'package:pie_chart/pie_chart.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/requests/asset_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart';
import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/colors.dart';
class ProgressFragment extends StatelessWidget { class ProgressFragment extends StatelessWidget {
const ProgressFragment({Key key}) : super(key: key); ProgressFragment({Key key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -17,26 +25,96 @@ class ProgressFragment extends StatelessWidget {
"In Progress": 12, "In Progress": 12,
"Open": 12, "Open": 12,
}; };
return Column( return Consumer<AllRequestsProvider>(
children: [ builder: (context, snapshot, _) => Column(
PieChart( children: [
dataMap: statuses, AspectRatio(
animationDuration: const Duration(milliseconds: 500), aspectRatio: 398 / 237,
chartRadius: 190.toScreenWidth, child: PieChart(
colorList: [AColors.statusGreen, AColors.statusBlue, AColors.statusYellowLight], dataMap: statuses,
initialAngleInDegree: 270, animationDuration: const Duration(milliseconds: 500),
chartType: ChartType.ring, chartRadius: 190.toScreenWidth,
ringStrokeWidth: 40.toScreenWidth, colorList: [AColors.statusGreen, AColors.statusBlue, AColors.statusYellowLight],
centerText: "Total\n20", initialAngleInDegree: 270,
centerTextStyle: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), chartType: ChartType.ring,
legendOptions: const LegendOptions(showLegends: false), ringStrokeWidth: 40.toScreenWidth,
chartValuesOptions: ChartValuesOptions( centerText: "Total\n20",
chartValueBackgroundColor: Colors.transparent, centerTextStyle: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
chartValueStyle: AppTextStyles.heading6.copyWith(color: AppColor.neutral20), legendOptions: const LegendOptions(showLegends: false),
showChartValuesOutside: false, chartValuesOptions: ChartValuesOptions(
), chartValueBackgroundColor: Colors.transparent,
).paddingAll(8).toShadowContainer(context), chartValueStyle: AppTextStyles.heading6.copyWith(color: AppColor.neutral20),
], showChartValuesOutside: true,
).paddingOnly(start: 16, end: 16); ),
).toShimmer(isShow: snapshot.isOpenLoading || snapshot.isInProgressLoading || snapshot.isCloseLoading, radius: 300).paddingAll(12).toShadowContainer(context),
).paddingOnly(start: 16, end: 16, bottom: 16),
DefaultTabController(
length: 3,
child: Column(
children: <Widget>[
Container(
margin: const EdgeInsets.only(left: 16, right: 16),
decoration: BoxDecoration(color: AppColor.neutral30, borderRadius: BorderRadius.circular(16)),
child: TabBar(
//controller: _tabController,
padding: EdgeInsets.zero,
labelColor: AppColor.neutral60,
unselectedLabelColor: AppColor.neutral20,
unselectedLabelStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
labelStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral60),
indicatorPadding: const EdgeInsets.all(4),
indicator: BoxDecoration(color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)),
onTap: (index) {
// setState(() {});
},
tabs: [
Tab(text: "Open", height: 57.toScreenHeight),
Tab(text: "In Progress", height: 57.toScreenHeight),
Tab(text: "Completed", height: 57.toScreenHeight),
],
),
),
8.height,
TabBarView(
children: [
requestItemView(snapshot.openRequests?.requestsDetails ?? [], snapshot.isOpenLoading),
requestItemView(snapshot.inProgressRequests?.requestsDetails ?? [], snapshot.isInProgressLoading),
requestItemView(snapshot.closeRequests?.requestsDetails ?? [], snapshot.isCloseLoading),
],
).expanded,
],
),
).expanded,
],
),
);
}
Widget requestItemView(List<RequestsDetails> list, bool isLoading) {
return ListView.separated(
padding: const EdgeInsets.all(16),
itemBuilder: (cxt, index) {
if (isLoading) return SizedBox().toRequestShimmer(cxt, isLoading);
bool isServiceRequest = list[index].nameOfType == "ServiceRequest";
bool isGasRefill = list[index].nameOfType == "GasRefill";
bool isAssetTransfer = list[index].nameOfType == "AssetTransfer";
bool isPPMs = list[index].nameOfType == "PPMs";
return isServiceRequest
? ServiceRequestItemView(list[index])
: isGasRefill
? GasRefillItemView(list[index])
: isPPMs
? PpmItemView(list[index])
: isAssetTransfer
? AssetItemView(list[index])
: Container(
height: 100,
width: double.infinity,
color: Colors.grey,
);
},
separatorBuilder: (cxt, index) => 8.height,
itemCount: isLoading ? 6 : list.length);
} }
} }

@ -122,7 +122,7 @@ class _DashboardPageState extends State<DashboardPage> {
onPageChanged: (index) => setState(() => _currentPage = index), onPageChanged: (index) => setState(() => _currentPage = index),
children: [ children: [
RequestsFragment(), RequestsFragment(),
const ProgressFragment(), ProgressFragment(),
RecentActivitiesFragment(), RecentActivitiesFragment(),
], ],
).expanded, ).expanded,

@ -0,0 +1,58 @@
import 'package:flutter/material.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/device/asset.dart';
class AssetItemView extends StatelessWidget {
final RequestsDetails request;
const AssetItemView(this.request, {Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text(
"Device Transfer Request",
maxLines: 2,
style: AppTextStyles.heading5.copyWith(color: Color(0xFF3B3D4A)),
),
Text(
"${context.translation.from} : ${request.assetTransferFrom}",
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
"${context.translation.to} : ${request.assetTransferTo}",
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
],
),
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewDetails,
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
),
4.width,
const Icon(
Icons.arrow_forward,
color: Color(0xFF4A8DB7),
size: 14,
)
],
),
],
).toShadowContainer(context).onPress(() {});
}
}

@ -0,0 +1,64 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/views/app_style/sizing.dart';
class GasRefillItemView extends StatelessWidget {
final RequestsDetails request;
const GasRefillItemView(this.request, {Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Row(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// /// TBD
// // StatusLabel(
// // label: ,
// // id: ,
// // textColor: AColors.getPriorityStatusTextColor(),
// // backgroundColor: AColors.getPriorityStatusColor()),
// 8.width,
// StatusLabel(label: item.status.name, textColor: AColors.getRequestStatusTextColor(item.status.value), backgroundColor: AColors.getRequestStatusColor(item.status.value)),
// 1.width.expanded,
// Text(item.startDate != null ? item.startDate.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))),
// ],
// ),
// 8.height,
Text(context.translation.gasRefillRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
Text(
'${context.translation.gasType}: ${request.gasType}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.site}: ${request.site}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewDetails,
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
),
4.width,
const Icon(
Icons.arrow_forward,
color: Color(0xFF4A8DB7),
size: 14,
)
],
),
],
).toShadowContainer(context).onPress(() {});
}
}

@ -0,0 +1,70 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/visits/visit.dart';
import 'package:test_sa/views/pages/user/visits/visit_details.dart';
class PpmItemView extends StatelessWidget {
final RequestsDetails request;
const PpmItemView(this.request, {Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Row(
// children: [
// // StatusLabel(
// // label: visit.priority.name,
// // id: visit.priority.id,
// // textColor: AColors.getPriorityStatusTextColor(visit.priority.id),
// // backgroundColor: AColors.getPriorityStatusColor(visit.priority.id)),
// // 8.width,
// StatusLabel(
// label: visit.status.name,
// id: visit.status.id,
// textColor: AColors.getRequestStatusTextColorByName(visit.status.name),
// backgroundColor: AColors.getRequestStatusColorByName(visit.status.name),
// ),
// 1.width.expanded,
// ],
// ),
// 8.height,
Text("PPMs Request", style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
8.height,
Text(
'${context.translation.assetNumber}: ${request.assetName}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
),
Text(
'${context.translation.assetSN}: ${request.assetNo}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
),
Text(
'${context.translation.code}: ${request.code}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
),
16.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewDetails,
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
),
4.width,
const Icon(Icons.arrow_forward, color: Color(0xFF4A8DB7), size: 14)
],
),
],
).toShadowContainer(context).onPress(() {});
}
}

@ -0,0 +1,71 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
class ServiceRequestItemView extends StatelessWidget {
final RequestsDetails request;
const ServiceRequestItemView(this.request, {Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Row(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// StatusLabel(
// label: request.priority.name,
// id: request.priority.id,
// textColor: AColors.getPriorityStatusTextColor(request.priority.id),
// backgroundColor: AColors.getPriorityStatusColor(request.priority.id)),
// 8.width,
// StatusLabel(label: request.statusLabel, textColor: AColors.getRequestStatusTextColor(request.statusValue), backgroundColor: AColors.getRequestStatusColor(request.statusValue)),
// 1.width.expanded,
// Text(request.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))),
// ],
// ),
// 8.height,
Text(context.translation.serviceRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
Text(
'${context.translation.assetName}: ${request.assetName}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.assetNumber}: ${request.assetNo}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.requestType}: ${request.requestType}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.requestNo}: ${request.requestNo}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewDetails,
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
),
4.width,
const Icon(
Icons.arrow_forward,
color: Color(0xFF4A8DB7),
size: 14,
)
],
),
],
).toShadowContainer(context).onPress(() { });
}
}

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart'; import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
@ -12,11 +11,8 @@ import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart'; import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart';
import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/requests/info_row.dart';
import '../../../extensions/text_extensions.dart'; import '../../../extensions/text_extensions.dart';
import '../../../models/enums/user_types.dart'; import '../../../models/enums/user_types.dart';
@ -73,73 +69,87 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
child: Column( child: Column(
children: [ children: [
_buildDetailsCard( _buildDetailsCard(
Column( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [
children: [ Text(context.translation.transferDetails, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
Row( 8.height,
children: [ Column(
/// TBD crossAxisAlignment: CrossAxisAlignment.start,
// StatusLabel( children: [
// label: "", _buildTextWidget('${context.translation.assetName} : ${_model.assetName}'),
// id: 0, _buildTextWidget('${context.translation.assetNumber} : ${_model.assetNumber}'),
// textColor: AColors.getPriorityStatusTextColor(0), _buildTextWidget('${context.translation.model} : ${_model.modelName}'),
// backgroundColor: AColors.getPriorityStatusColor(0)), _buildTextWidget('${context.translation.sn} : ${_model.assetSerialNo}'),
8.width, ],
/// TBD ),
//StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)), 8.height,
], ],
), ).expanded,
1.width.expanded, Column(
Text(widget.model.createdOn != null ?widget.model.createdOn.toServiceRequestCardFormat:"", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), crossAxisAlignment: CrossAxisAlignment.end,
], children: [
), /// TBD
8.height, // Row(
Text(context.translation.transferDetails, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), // children: [
8.height, // /// TBD
Column( // // StatusLabel(
crossAxisAlignment: CrossAxisAlignment.start, // // label: "",
children: [ // // id: 0,
_buildTextWidget('${context.translation.assetName} : ${_model.assetName}'), // // textColor: AColors.getPriorityStatusTextColor(0),
_buildTextWidget('${context.translation.assetNumber} : ${_model.assetNumber}'), // // backgroundColor: AColors.getPriorityStatusColor(0)),
_buildTextWidget('${context.translation.model} : ${_model.modelName}'), // 8.width,
_buildTextWidget('${context.translation.sn} : ${_model.assetSerialNo}'), //
], // /// TBD
), // //StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)),
8.height, // ],
], // ),
).paddingAll(14) 1.width,
Text(widget.model.createdOn != null ? widget.model.createdOn.toServiceRequestCardFormat : "",
textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))),
],
),
],
).paddingAll(14),
), ),
// sender card // sender card
_buildCard( _buildCard(
isSender: true, isSender: true,
site: _model.senderSiteName??"", site: _model.senderSiteName ?? "",
/// TBD /// TBD
unit: _model.senderDepartmentName??"", unit: _model.senderDepartmentName ?? "",
comment: _model.senderComment??"", comment: _model.senderComment ?? "",
/// TBD /// TBD
statusLabel: _model.senderMachineStatusName != null? StatusLabel( statusLabel: _model.senderMachineStatusName != null
label: _model.senderMachineStatusName, ? StatusLabel(
id: _model.senderMachineStatusId, label: _model.senderMachineStatusName,
textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.senderMachineStatusName)), id: _model.senderMachineStatusId,
backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.senderMachineStatusName))):null, textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.senderMachineStatusName)),
backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.senderMachineStatusName)))
: null,
), ),
// receiver card // receiver card
_buildCard( _buildCard(
isSender: false, isSender: false,
site: _model.destSiteName??"", site: _model.destSiteName ?? "",
/// TBD /// TBD
unit: _model.destDepartmentName??"", unit: _model.destDepartmentName ?? "",
comment: _model.receiverComment??"", comment: _model.receiverComment ?? "",
/// TBD /// TBD
statusLabel: _model.receiverMachineStatusName != null ? StatusLabel( statusLabel: _model.receiverMachineStatusName != null
label: _model.receiverMachineStatusName??"", ? StatusLabel(
id: _model.receiverMachineStatusId, label: _model.receiverMachineStatusName ?? "",
textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.receiverMachineStatusName)), id: _model.receiverMachineStatusId,
backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.receiverMachineStatusName))):null, textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.receiverMachineStatusName)),
backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.receiverMachineStatusName)))
: null,
), ),
], ],
), ),
@ -152,7 +162,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
); );
} }
_buildDetailsCard(Widget widget){ _buildDetailsCard(Widget widget) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -162,13 +172,14 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
).paddingOnly(top: 14, start: 14, end: 14); ).paddingOnly(top: 14, start: 14, end: 14);
} }
_buildTextWidget(String text){ _buildTextWidget(String text) {
return Text( return Text(
text, style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), text,
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
); );
} }
_buildCard({@required String site, @required String unit, @required String comment, @required bool isSender, StatusLabel statusLabel}){ _buildCard({@required String site, @required String unit, @required String comment, @required bool isSender, StatusLabel statusLabel}) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -183,13 +194,12 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
statusLabel??Container(), statusLabel ?? Container(),
8.height, 8.height,
Text(isSender?context.translation.senderDetails:context.translation.receiverDetails, Text(isSender ? context.translation.senderDetails : context.translation.receiverDetails, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
], ],
), ),
if (_userProvider.user?.type == UsersTypes.engineer) if ((_userProvider.user?.type == UsersTypes.engineer) && (isSender ? _model.senderMachineStatusName != "Closed" : _model.receiverMachineStatusName != "Closed"))
CircleAvatar( CircleAvatar(
radius: 25, radius: 25,
backgroundColor: AppColor.neutral30, backgroundColor: AppColor.neutral30,
@ -201,26 +211,13 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
child: SvgPicture.asset('assets/images/update.svg'), child: SvgPicture.asset('assets/images/update.svg'),
), ),
), ),
).onPress( ).onPress(isSender
isSender ? _model.senderMachineStatusName == "Closed" ? () {
? null Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdateDeviceTransfer(model: _model, isSender: isSender)));
: () { }
Navigator.of(context).push(MaterialPageRoute( : () {
builder: (_) => UpdateDeviceTransfer( Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdateDeviceTransfer(model: _model, isSender: isSender)));
model: _model, }),
isSender: isSender,
)));
}
: _model.receiverMachineStatusName == "Closed"
? null
: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (_) => UpdateDeviceTransfer(
model: _model,
isSender: isSender,
)));
}),
], ],
), ),
Column( Column(
@ -239,19 +236,18 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
).paddingAll(14), ).paddingAll(14),
).paddingOnly(top: 14, start: 14, end: 14); ).paddingOnly(top: 14, start: 14, end: 14);
} }
int getIdstatus(String status){ int getIdstatus(String status) {
switch(status){ switch (status) {
case "Closed": case "Closed":
return 3 ; return 3;
break; break;
case "Open": case "Open":
return 1 ; return 1;
break; break;
case "In Progress": case "In Progress":
return 2; return 2;
break; break;
} }
} }
} }

@ -15,7 +15,6 @@ import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart';
import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart'; import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart';
import 'package:test_sa/views/pages/sub_workorder/search_sub_workorder_page.dart';
import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart'; import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart';
import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart'; import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
import 'package:test_sa/views/pages/user/visits/regular_visits_page.dart'; import 'package:test_sa/views/pages/user/visits/regular_visits_page.dart';
@ -212,14 +211,14 @@ class _LandPageState extends State<LandPage> {
Navigator.of(context).pushNamed(TrackDeviceTransferPage.id); Navigator.of(context).pushNamed(TrackDeviceTransferPage.id);
}, },
), ),
if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user) // if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user)
LandPageItem( // LandPageItem(
text: "Create Sub Work Order", // text: "Create Sub Work Order",
svgPath: "assets/images/sub_workorder_icon.svg", // svgPath: "assets/images/sub_workorder_icon.svg",
onPressed: () { // onPressed: () {
Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id); // Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id);
}, // },
), // ),
], ],
), ),
], ],

@ -4,11 +4,8 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset_transfer.dart'; import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import '../../../extensions/text_extensions.dart'; import '../../../extensions/text_extensions.dart';
import '../../app_style/colors.dart';
import '../requests/request_status.dart';
class DeviceTransferItem extends StatelessWidget { class DeviceTransferItem extends StatelessWidget {
final int index; final int index;
@ -19,41 +16,12 @@ class DeviceTransferItem extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Row(
return Padding( crossAxisAlignment: CrossAxisAlignment.start,
padding: const EdgeInsets.symmetric(vertical: 4), children: [
child: ElevatedButton( Column(
style: ElevatedButton.styleFrom( crossAxisAlignment: CrossAxisAlignment.stretch,
elevation: 0,
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 8),
backgroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
),
),
onPressed: () {
onPressed(item);
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
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.expanded,
Text(item.createdOn != null ?item.createdOn.toServiceRequestCardFormat:"", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))),
],
),
8.height,
Text(context.translation.deviceTransferRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), Text(context.translation.deviceTransferRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))),
Text( Text(
'${context.translation.from} : ${item.senderAssignedEmployeeName}', '${context.translation.from} : ${item.senderAssignedEmployeeName}',
@ -78,10 +46,27 @@ class DeviceTransferItem extends StatelessWidget {
size: 14, size: 14,
) )
], ],
), ).onPress(() => onPressed(item)),
],
).expanded,
Column(
crossAxisAlignment: CrossAxisAlignment.end,
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,
Text(item.createdOn != null ? item.createdOn.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))),
], ],
) ),
), ],
); ).toShadowContainer(context).paddingOnly(bottom: 8);
} }
} }

@ -61,7 +61,7 @@ class GasRefillItem extends StatelessWidget {
size: 14, size: 14,
) )
], ],
), ).onPress(() => onPressed(item)),
// Row( // Row(
// children: [ // children: [
// Expanded( // Expanded(

Loading…
Cancel
Save