Task Request Design complete

design_3.0_dark_mode
WaseemAbbasi22 12 months ago
parent eb978af46f
commit 15e62bb004

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

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

@ -1,4 +1,3 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -45,6 +44,19 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>(); final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
List<File> _files = []; 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 @override
void initState() { void initState() {
_formModel.fromDetails(widget.model); _formModel.fromDetails(widget.model);
@ -57,6 +69,7 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
_requestedQuantityController.dispose(); _requestedQuantityController.dispose();
super.dispose(); super.dispose();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -81,6 +94,10 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
children: [ children: [
_timerWidget(context, 0, true), _timerWidget(context, 0, true),
12.height, 12.height,
installationTye
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ADatePicker( ADatePicker(
label: context.translation.installationDate, label: context.translation.installationDate,
hideShadow: true, hideShadow: true,
@ -88,14 +105,12 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
date: DateTime.now(), date: DateTime.now(),
formatDateWithTime: false, formatDateWithTime: false,
onDatePicker: (selectedDate) { onDatePicker: (selectedDate) {
// Handle the selected date and time here. // Handle the selected date and time here.
DateTime selectedDateTime = DateTime( DateTime selectedDateTime = DateTime(
selectedDate.year, selectedDate.year,
selectedDate.month, selectedDate.month,
selectedDate.day, selectedDate.day,
); );
}, },
), ),
12.height, 12.height,
@ -125,10 +140,17 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
showShadow: false, showShadow: false,
staticData: [], staticData: [],
showAsBottomSheet: true, 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, 12.height,
AppTextFormField( AppTextFormField(
initialValue: _formModel.receiverComment ?? "", initialValue: _formModel.receiverComment ?? "",
@ -160,7 +182,7 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
child: AppFilledButton( child: AppFilledButton(
buttonColor: AppColor.green70, buttonColor: AppColor.green70,
label: context.translation.markAsCompleted, label: context.translation.markAsCompleted,
onPressed: (){}, onPressed: () {},
// buttonColor: AppColor.primary10, // buttonColor: AppColor.primary10,
), ),
), ),
@ -181,6 +203,66 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
// notifyListeners(); // 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) { Widget _timerWidget(BuildContext context, double totalWorkingHours, bool isTimerEnable) {
return Column( return Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -218,7 +300,6 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
], ],
); );
} }
} }
class AssistantEmployeeCard extends StatefulWidget { class AssistantEmployeeCard extends StatefulWidget {
@ -418,5 +499,4 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
); );
}); });
} }
} }

Loading…
Cancel
Save