Task Request Design complete

design_3.0_task_module_new
WaseemAbbasi22 8 months ago
parent eb978af46f
commit 15e62bb004

@ -553,6 +553,8 @@
"task": "مهمة",
"taskType": "نوع المهمة",
"createTaskRequest": "إنشاء طلب مهمة",
"taskRequest": "طلب مهمة"
"taskRequest": "طلب مهمة",
"completedActions": "الإجراءات المكتملة",
"impactStatus": "حالة التأثير"
}

@ -556,5 +556,7 @@
"task": "Task",
"taskType": "Task Type",
"createTaskRequest": "Create Task Request",
"taskRequest": "Task Request"
"taskRequest": "Task Request",
"completedActions": "Completed Actions",
"impactStatus": "Impact Status"
}

@ -1,4 +1,3 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -45,6 +44,19 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
List<File> _files = [];
bool installationTye = false;
List<Lookup> completedActions = [
Lookup(value: 0, name: 'Physical Check'),
Lookup(value: 1, name: 'Software Update'),
Lookup(value: 0, name: 'Hardware Update'),
];
List<Lookup> impactStatus = [
Lookup(value: 0, name: 'Impacted'),
Lookup(value: 1, name: 'Not Impacted'),
];
Lookup selectedValue = Lookup(value: 0, name: 'Impacted');
@override
void initState() {
_formModel.fromDetails(widget.model);
@ -57,6 +69,7 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
_requestedQuantityController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -81,6 +94,10 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
children: [
_timerWidget(context, 0, true),
12.height,
installationTye
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ADatePicker(
label: context.translation.installationDate,
hideShadow: true,
@ -88,14 +105,12 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
date: DateTime.now(),
formatDateWithTime: false,
onDatePicker: (selectedDate) {
// Handle the selected date and time here.
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,
selectedDate.day,
);
},
),
12.height,
@ -125,10 +140,17 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
showShadow: false,
staticData: [],
showAsBottomSheet: true,
onSelect: (value) {
},
onSelect: (value) {},
),
],
)
: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
context.translation.completedActions.bodyText(context).custom(color: AppColor.white936),
completedActionWidget(),
16.height,
context.translation.impactStatus.bodyText(context).custom(color: AppColor.white936),
impactStatusWidget(),
]),
12.height,
AppTextFormField(
initialValue: _formModel.receiverComment ?? "",
@ -160,7 +182,7 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
child: AppFilledButton(
buttonColor: AppColor.green70,
label: context.translation.markAsCompleted,
onPressed: (){},
onPressed: () {},
// buttonColor: AppColor.primary10,
),
),
@ -181,6 +203,66 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
// notifyListeners();
}
Widget completedActionWidget() {
return Column(
children: completedActions.asMap().entries.map((entry) {
int index = entry.key;
Lookup action = entry.value;
return Row(
children: [
Checkbox(
value: action.value == 1,
activeColor: AppColor.blueStatus(context),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
onChanged: (value) {
setState(() {
completedActions[index] = Lookup(value: value! ? 1 : 0, name: action.name);
});
},
),
action.name!
.bodyText(context)
.custom(
color: context.isDark ? AppColor.primary50 : AppColor.neutral50,
)
.expanded,
],
);
}).toList(),
);
}
Widget impactStatusWidget() {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, // Aligns to the start
children: impactStatus.map((item) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Radio<Lookup>(
value: item,
groupValue: selectedValue,
activeColor: AppColor.blueStatus(context),
visualDensity: VisualDensity.compact,
// Removes extra spacing
onChanged: (value) {
selectedValue = value!;
setState(() {});
},
),
Text(
item.name!,
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: context.isDark ? AppColor.primary50 : AppColor.neutral50,
),
),
16.width, // Adds spacing between items
],
);
}).toList(),
);
}
Widget _timerWidget(BuildContext context, double totalWorkingHours, bool isTimerEnable) {
return Column(
mainAxisSize: MainAxisSize.min,
@ -218,7 +300,6 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
],
);
}
}
class AssistantEmployeeCard extends StatefulWidget {
@ -418,5 +499,4 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
);
});
}
}

Loading…
Cancel
Save