main_production_RSG
WaseemAbbasi22 1 month ago
parent 474a244b55
commit e53a780b85

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

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

@ -171,6 +171,7 @@ class AppColor {
static Color selectedButtonColor(BuildContext context) => context.isDark ? neutral60 : neutral30;
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;

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

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

Loading…
Cancel
Save