main_production_RSG
WaseemAbbasi22 1 month ago
parent 474a244b55
commit e53a780b85

@ -790,8 +790,8 @@ class ServiceRequestBottomSheet {
label: context.translation.no, label: context.translation.no,
loading: false, loading: false,
showBorder: true, showBorder: true,
buttonColor: context.isDark ? AppColor.neutral70 : AppColor.white60, buttonColor: AppColor.noButtonColor(context),
textColor: context.isDark ? AppColor.white10 : AppColor.black10, textColor: AppColor.labelTextStyleColor(context),
// buttonColor: AppColor.white60, // buttonColor: AppColor.white60,
// textColor: AppColor.black10, // textColor: AppColor.black10,
onPressed: () async { onPressed: () async {

@ -128,10 +128,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 1) ...[ if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 1) ...[
assetDetails(taskModel: taskProvider.taskRequestModel!), assetDetails(taskModel: taskProvider.taskRequestModel!),
], ],
if (taskProvider.taskRequestModel?.taskType?.isInstallation == true) ...[ if (taskProvider.taskRequestModel?.taskType?.isInstallation == true) ...[const Divider().defaultStyle(context), installationWidget(taskModel: taskProvider.taskRequestModel!)],
const Divider().defaultStyle(context),
installationWidget(taskModel: taskProvider.taskRequestModel!)
],
if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 2) ...[ if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 2) ...[
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
linkWithLocationWidget(taskModel: taskProvider.taskRequestModel!), linkWithLocationWidget(taskModel: taskProvider.taskRequestModel!),
@ -184,9 +181,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
) )
else if (userProvider!.user!.type == UsersTypes.engineer && taskModel?.taskJobStatus?.value == 5) else if (userProvider!.user!.type == UsersTypes.engineer && taskModel?.taskJobStatus?.value == 5)
...[] ...[]
else if (userProvider!.user!.type == UsersTypes.engineer && (taskModel?.taskJobStatus?.value != 4 && taskModel?.taskJobStatus?.value != 3 else if (userProvider!.user!.type == UsersTypes.engineer && (taskModel?.taskJobStatus?.value != 4 && taskModel?.taskJobStatus?.value != 3 && taskModel?.taskJobStatus?.value != 1))
&& taskModel?.taskJobStatus?.value != 1
))
FooterActionButton.footerContainer( FooterActionButton.footerContainer(
context: context, context: context,
child: Row( child: Row(
@ -259,20 +254,20 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
), ),
).onPress(() => showModalBottomSheet( ).onPress(() => showModalBottomSheet(
context: context, context: context,
useSafeArea: true,
isScrollControlled: true,
isDismissible: true, isDismissible: true,
shape: const RoundedRectangleBorder( backgroundColor: AppColor.bottomSheetColor(context),
borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
),
clipBehavior: Clip.antiAliasWithSaveLayer,
builder: (BuildContext context) => TotalWorkingTimeDetailBottomSheet( builder: (BuildContext context) => TotalWorkingTimeDetailBottomSheet(
timerList: timer.map((e) { timerList: timer.map((e) {
return TimerHistoryModel( return TimerHistoryModel(
id: e.id, id: e.id,
startTime: e.startDate, startTime: e.startDate,
endTime: e.endDate, endTime: e.endDate,
workingHours: e.totalWorkingHour, workingHours: e.totalWorkingHour,
); );
}).toList()), }).toList())
.bottomSheetContainer(context),
)); ));
} }

@ -171,6 +171,7 @@ class AppColor {
static Color selectedButtonColor(BuildContext context) => context.isDark ? neutral60 : neutral30; static Color selectedButtonColor(BuildContext context) => context.isDark ? neutral60 : neutral30;
static Color unSelectedButtonColor(BuildContext context) => context.isDark ? neutral60 : Colors.white; static Color unSelectedButtonColor(BuildContext context) => context.isDark ? neutral60 : Colors.white;
static Color noButtonColor(BuildContext context) => context.isDark ?AppColor.neutral70 : AppColor.white60;
static Color filterButtonTextColor(BuildContext context) => context.isDark ? neutral30 : neutral50; static Color filterButtonTextColor(BuildContext context) => context.isDark ? neutral30 : neutral50;

@ -27,7 +27,7 @@ class WorkingTimeTile extends StatelessWidget {
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
decoration: BoxDecoration( decoration: BoxDecoration(
color: AppColor.fieldBgColor(context), color: AppColor.disableFieldBackground(context),
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
// boxShadow: [ // boxShadow: [
// BoxShadow( // BoxShadow(
@ -43,6 +43,7 @@ class WorkingTimeTile extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Text( Text(
title, title,
style: Theme.of(context).textTheme.bodySmall?.copyWith( style: Theme.of(context).textTheme.bodySmall?.copyWith(
@ -63,12 +64,11 @@ class WorkingTimeTile extends StatelessWidget {
).onPress(() async { ).onPress(() async {
await showModalBottomSheet( await showModalBottomSheet(
context: context, context: context,
useSafeArea: true,
isScrollControlled: true,
isDismissible: true, isDismissible: true,
shape: const RoundedRectangleBorder( backgroundColor: AppColor.bottomSheetColor(context),
borderRadius: BorderRadius.vertical(top: Radius.circular(20)), builder: (BuildContext context) => TotalWorkingTimeDetailBottomSheet(timerList: timerList).bottomSheetContainer(context),
),
clipBehavior: Clip.antiAliasWithSaveLayer,
builder: (BuildContext context) => TotalWorkingTimeDetailBottomSheet(timerList: timerList),
); );
}); });
} }

@ -7,6 +7,8 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart'; import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/cm_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.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/views/widgets/item_views/info_header_widget.dart';
import 'package:test_sa/models/size_config.dart';
class TotalWorkingTimeDetailBottomSheet extends StatelessWidget { class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
final List<TimerHistoryModel> timerList; final List<TimerHistoryModel> timerList;
@ -15,57 +17,58 @@ class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( return SizedBox(
child: Container( height: SizeConfig.screenHeight! / 2.2,
height: MediaQuery.of(context).size.height * 0.5, width: SizeConfig.screenWidth,
padding: const EdgeInsets.all(16), child: Column(
child: Column( mainAxisSize: MainAxisSize.min,
children: [ // crossAxisAlignment: CrossAxisAlignment.start,
Container( children: [
width: 40.toScreenWidth, Container(
height: 5.toScreenHeight, width: 40.toScreenWidth,
decoration: BoxDecoration(color: AppColor.neutral40, borderRadius: BorderRadius.circular(30)), height: 5.toScreenHeight,
), decoration: BoxDecoration(color: AppColor.neutral40, borderRadius: BorderRadius.circular(30)),
8.height, ),
Align( 16.height,
alignment: AlignmentDirectional.centerStart, Align(
child: Text( alignment: AlignmentDirectional.centerStart,
"Total Working Time", child: InfoHeader16Widget("Total Working Time".addTranslation),
style: AppTextStyles.heading3.copyWith(fontWeight: FontWeight.w600, color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ),
), 8.height,
), ListView.separated(
ListView.separated( itemCount: timerList.length,
itemCount: timerList.length, separatorBuilder: (cxt, index) => const Divider().defaultStyle(context),
separatorBuilder: (cxt, index) => const Divider().defaultStyle(context), padding: const EdgeInsets.only(bottom: 16),
padding: const EdgeInsets.only(top: 16, bottom: 16), itemBuilder: (cxt, index) {
itemBuilder: (cxt, index) { int totalWorkingHours = DateTime.parse(timerList[index].endTime!).difference(DateTime.parse(timerList[index].startTime!)).inSeconds;
int totalWorkingHours = DateTime.parse(timerList[index].endTime!).difference(DateTime.parse(timerList[index].startTime!)).inSeconds; return Column(
return Column( mainAxisSize: MainAxisSize.min,
mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ RichText(
RichText( text: TextSpan(text: "From: ", style: AppTextStyles.bodyText.copyWith(color: AppColor.lightTextColor(context)), children: [
text: TextSpan( TextSpan(
text: "From: ", text: timerList[index].startTime!.toServiceRequestDetailsFormatWithSS,
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500), style: AppTextStyles.bodyText.copyWith(fontWeight: FontWeight.normal, color: AppColor.lightTextColor(context)))
children: [TextSpan(text: timerList[index].startTime!.toServiceRequestDetailsFormatWithSS, style: Theme.of(context).textTheme.bodySmall)])), ])),
4.height, 4.height,
RichText( RichText(
text: TextSpan( text: TextSpan(text: "To: ", style: AppTextStyles.bodyText.copyWith(color: AppColor.lightTextColor(context)), children: [
text: "To: ", TextSpan(
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500), text: timerList[index].endTime!.toServiceRequestDetailsFormatWithSS,
children: [TextSpan(text: timerList[index].endTime!.toServiceRequestDetailsFormatWithSS, style: Theme.of(context).textTheme.bodySmall)])), style: AppTextStyles.bodyText.copyWith(fontWeight: FontWeight.normal, color: AppColor.lightTextColor(context)))
4.height, ])),
RichText( 4.height,
text: TextSpan( RichText(
text: "Duration: ", text: TextSpan(text: "Duration: ", style: AppTextStyles.bodyText.copyWith(color: AppColor.lightTextColor(context)), children: [
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500), TextSpan(
children: [TextSpan(text: " ${CMRequestUtils.formatTimerDuration(totalWorkingHours.round())}", style: Theme.of(context).textTheme.bodySmall)])), text: " ${CMRequestUtils.formatTimerDuration(totalWorkingHours.round())}",
], style: AppTextStyles.bodyText.copyWith(fontWeight: FontWeight.normal, color: AppColor.lightTextColor(context)))
); ])),
}).expanded, ],
], );
), }).expanded,
],
), ),
); );
} }

Loading…
Cancel
Save