ticket request cont.

merge-requests/1/merge
Sikander Saleem 3 years ago
parent ae0a788728
commit 959750da9b

@ -17,9 +17,15 @@ class Utils {
static bool get isLoading => _isLoadingVisible; static bool get isLoading => _isLoadingVisible;
static void showToast(String message) { static void showToast(String message, {bool longDuration = false}) {
Fluttertoast.showToast( Fluttertoast.showToast(
msg: message, toastLength: Toast.LENGTH_SHORT, gravity: ToastGravity.BOTTOM, timeInSecForIosWeb: 1, backgroundColor: Colors.black54, textColor: Colors.white, fontSize: 16.0); msg: message,
toastLength: longDuration ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.black54,
textColor: Colors.white,
fontSize: 16.0);
} }
static dynamic getNotNullValue(List<dynamic> list, int index) { static dynamic getNotNullValue(List<dynamic> list, int index) {

@ -1,4 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/ui/attendance/monthly_attendance.dart';
import 'package:mohem_flutter_app/ui/bottom_sheets/attendence_details_bottom_sheet.dart';
import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart'; import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart';
import 'package:mohem_flutter_app/ui/landing/today_attendance_screen.dart'; import 'package:mohem_flutter_app/ui/landing/today_attendance_screen.dart';
import 'package:mohem_flutter_app/ui/login/forgot_password_screen.dart'; import 'package:mohem_flutter_app/ui/login/forgot_password_screen.dart';
@ -8,25 +10,22 @@ import 'package:mohem_flutter_app/ui/login/verify_last_login_screen.dart';
import 'package:mohem_flutter_app/ui/login/verify_login_screen.dart'; import 'package:mohem_flutter_app/ui/login/verify_login_screen.dart';
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart'; import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/my_attendance_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/my_attendance_screen.dart';
import 'package:mohem_flutter_app/ui/profile/basic_details.dart';
import 'package:mohem_flutter_app/ui/profile/contact_details.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart'; import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart';
import 'package:mohem_flutter_app/ui/profile/family_members.dart';
import 'package:mohem_flutter_app/ui/profile/personal_info.dart';
// import 'package:mohem_flutter_app/ui/my_attendance/work_from_home_screen.dart'; // import 'package:mohem_flutter_app/ui/my_attendance/work_from_home_screen.dart';
import 'package:mohem_flutter_app/ui/screens/eit/add_eit.dart'; import 'package:mohem_flutter_app/ui/screens/eit/add_eit.dart';
import 'package:mohem_flutter_app/ui/screens/profile/profile_screen.dart'; import 'package:mohem_flutter_app/ui/screens/profile/profile_screen.dart';
import 'package:mohem_flutter_app/ui/screens/submenu_screen.dart'; import 'package:mohem_flutter_app/ui/screens/submenu_screen.dart';
import 'package:mohem_flutter_app/ui/profile/family_members.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/item_history_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/item_history_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/itg_detail_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/itg_detail_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/worklist_detail_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/work_list_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/work_list_screen.dart';
import 'package:mohem_flutter_app/ui/bottom_sheets/attendence_details_bottom_sheet.dart'; import 'package:mohem_flutter_app/ui/work_list/worklist_detail_screen.dart';
import 'package:mohem_flutter_app/ui/attendance/monthly_attendance.dart';
import 'package:mohem_flutter_app/ui/profile/profile.dart';
import 'package:mohem_flutter_app/ui/profile/personal_info.dart';
import 'package:mohem_flutter_app/ui/profile/basic_details.dart';
import 'package:mohem_flutter_app/ui/profile/contact_details.dart';
import 'package:mohem_flutter_app/ui/profile/family_members.dart';
class AppRoutes { class AppRoutes {
static const String splash = "/splash"; static const String splash = "/splash";
@ -58,6 +57,7 @@ class AppRoutes {
//profile //profile
static const String addDynamicInputProfile = 'addDynamicInputProfile'; static const String addDynamicInputProfile = 'addDynamicInputProfile';
//Attendance //Attendance
static const String attendance = "/attendance"; static const String attendance = "/attendance";
static const String monthlyAttendance = "/monthlyAttendance"; static const String monthlyAttendance = "/monthlyAttendance";
@ -113,6 +113,5 @@ class AppRoutes {
addDynamicInput: (context) => DynamicInputScreen(), addDynamicInput: (context) => DynamicInputScreen(),
addDynamicInputProfile: (context) => DynamicInputScreenProfile(), addDynamicInputProfile: (context) => DynamicInputScreenProfile(),
requestSubmitScreen: (context) => RequestSubmitScreen(), requestSubmitScreen: (context) => RequestSubmitScreen(),
}; };
} }

@ -26,7 +26,7 @@ Future<void> main() async {
await EasyLocalization.ensureInitialized(); await EasyLocalization.ensureInitialized();
await Firebase.initializeApp(); await Firebase.initializeApp();
AppState().setPostParamsModel( AppState().setPostParamsModel(
PostParamsModel(channel: 31, versionID: 3.4, mobileType: Platform.isAndroid ? "android" : "ios"), PostParamsModel(channel: 31, versionID: 5.0, mobileType: Platform.isAndroid ? "android" : "ios"),
); );
runApp( runApp(
EasyLocalization( EasyLocalization(

@ -205,6 +205,8 @@ class GetEITDFFStructureList {
data['VALIDATION_TYPE_DSP'] = this.vALIDATIONTYPEDSP; data['VALIDATION_TYPE_DSP'] = this.vALIDATIONTYPEDSP;
return data; return data;
} }
bool get isDefaultTypeIsCDPS => (dEFAULTTYPE == "C" || dEFAULTTYPE == "D" || dEFAULTTYPE == "P" || dEFAULTTYPE == "S");
} }
class ESERVICESDV { class ESERVICESDV {

@ -1,4 +1,5 @@
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class DrawerItem extends StatefulWidget { class DrawerItem extends StatefulWidget {

@ -85,10 +85,10 @@ class ServicesWidget extends StatelessWidget {
) )
], ],
).paddingOnly(left: 10, right: 10, bottom: 10, top: 12), ).paddingOnly(left: 10, right: 10, bottom: 10, top: 12),
), ).onPress(() {
).onPress(() { handleOnPress(context, data.homeMenus![parentIndex].menuEntiesList[index]);
handleOnPress(context, data.homeMenus![parentIndex].menuEntiesList[index]); }),
}); );
}, },
separatorBuilder: (cxt, index) => 9.width, separatorBuilder: (cxt, index) => 9.width,
itemCount: data.homeMenus![parentIndex].menuEntiesList.length), itemCount: data.homeMenus![parentIndex].menuEntiesList.length),
@ -108,7 +108,13 @@ class ServicesWidget extends StatelessWidget {
} }
void handleOnPress(context, GetMenuEntriesList menuEntry) { void handleOnPress(context, GetMenuEntriesList menuEntry) {
print(menuEntry.menuName); var pro = Provider.of<DashboardProviderModel>(context, listen: false);
List<GetMenuEntriesList>? menuList = pro.getMenuEntriesList?.where((element) => element.parentMenuName == menuEntry.menuName && element.menuEntryType == "FUNCTION").toList();
menuEntry.icon = "";
print(menuEntry.toJson());
Navigator.pushNamed(context, AppRoutes.myAttendance, arguments: menuList ?? []);
return;
if (menuEntry.menuName == "HMG_OTL_SS" || menuEntry.menuName == "HMG_PT_OTL_SS") { if (menuEntry.menuName == "HMG_OTL_SS" || menuEntry.menuName == "HMG_PT_OTL_SS") {
Navigator.pushNamed(context, AppRoutes.myAttendance); Navigator.pushNamed(context, AppRoutes.myAttendance);
} else { } else {

@ -90,7 +90,7 @@ class _RequestSubmitScreenState extends State<RequestSubmitScreen> {
params!.transactionId, params!.transactionId,
); );
Utils.hideLoading(context); Utils.hideLoading(context);
Utils.showToast(LocaleKeys.yourRequestHasBeenSubmittedForApprovals.tr()); Utils.showToast(LocaleKeys.yourRequestHasBeenSubmittedForApprovals.tr(), longDuration: true);
Navigator.of(context).popUntil((route) { Navigator.of(context).popUntil((route) {
return route.settings.name == AppRoutes.dashboard; return route.settings.name == AppRoutes.dashboard;
}); });

@ -194,11 +194,133 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
Widget parseDynamicFormatType(GetEITDFFStructureList model, int index) { Widget parseDynamicFormatType(GetEITDFFStructureList model, int index) {
if (model.dISPLAYFLAG != "N") { if (model.dISPLAYFLAG != "N") {
if (model.vALIDATIONTYPE == "N") {
if (model.fORMATTYPE == "C") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
isReadOnly: model.rEADONLY == "Y",
onChange: (text) {
model.fieldAnswer = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "N") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
isReadOnly: model.rEADONLY == "Y",
isInputTypeNum: true,
onChange: (text) {
model.fieldAnswer = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "X") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (!displayText.contains("-")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
displayText,
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
if ((getEitDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
selectedDate = DateFormat("yyyy/MM/dd").parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
} else {
selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
getEitDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
}
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (!displayText.contains("-")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
displayText,
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
if ((getEitDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
selectedDate = DateFormat("yyyy-MM-dd").parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
} else {
selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
getEitDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
}
},
).paddingOnly(bottom: 12);
}
} else {
return PopupMenuButton(
child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
isEnable: false,
isPopup: true,
isInputTypeNum: true,
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
],
onSelected: (int popipIndex) {
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
}
});
}
} else { } else {
return const SizedBox(); return const SizedBox();
} }
if (model.fORMATTYPE == "N") {
if (model.fORMATTYPE == "C") {
if (model.eSERVICESVS?.isNotEmpty ?? false) { if (model.eSERVICESVS?.isNotEmpty ?? false) {
return PopupMenuButton( return PopupMenuButton(
child: DynamicTextFieldWidget( child: DynamicTextFieldWidget(
@ -206,6 +328,8 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
model.eSERVICESDV?.pVALUECOLUMNNAME ?? "", model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
isEnable: false, isEnable: false,
isPopup: true, isPopup: true,
isInputTypeNum: true,
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[ itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i), for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
@ -232,15 +356,28 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
model.fieldAnswer = text; model.fieldAnswer = text;
}, },
).paddingOnly(bottom: 12); ).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "X") { } else if (model.fORMATTYPE == "X" || model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (!displayText.contains("-")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
}
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? ""), displayText,
suffixIconData: Icons.calendar_today, suffixIconData: Icons.calendar_today,
isEnable: false, isEnable: false,
onTap: () async { onTap: () async {
if ((getEitDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) { if ((getEitDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!); if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
selectedDate = DateFormat("yyyy/MM/dd").parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
} else {
selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
} }
DateTime date = await _selectDate(context); DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day); DateTime date1 = DateTime(date.year, date.month, date.day);
@ -249,7 +386,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1), pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pRETURNMSG: "null", pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE, pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date)); pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getEitDffStructureList![index].eSERVICESDV = eservicesdv; getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {}); setState(() {});
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {

@ -18,6 +18,7 @@ class DynamicListViewParams {
String uRL; String uRL;
String requestID; String requestID;
String colsURL; String colsURL;
DynamicListViewParams(this.title, this.dynamicId, {this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = ''}); DynamicListViewParams(this.title, this.dynamicId, {this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = ''});
} }
@ -33,6 +34,7 @@ class DynamicListViewScreen extends StatefulWidget {
class _DynamicListViewScreenState extends State<DynamicListViewScreen> { class _DynamicListViewScreenState extends State<DynamicListViewScreen> {
List<GetEITTransactionList>? getEITTransactionList; List<GetEITTransactionList>? getEITTransactionList;
DynamicListViewParams? dynamicParams; DynamicListViewParams? dynamicParams;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -42,6 +44,9 @@ class _DynamicListViewScreenState extends State<DynamicListViewScreen> {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
getEITTransactionList = await MyAttendanceApiClient().getEitTransaction(dynamicParams!.dynamicId); getEITTransactionList = await MyAttendanceApiClient().getEitTransaction(dynamicParams!.dynamicId);
getEITTransactionList?.forEach((element) {
element.collectionTransaction = element.collectionTransaction?.where((elemen) => elemen.dISPLAYFLAG == "Y").toList() ?? [];
});
Utils.hideLoading(context); Utils.hideLoading(context);
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
@ -74,17 +79,19 @@ class _DynamicListViewScreenState extends State<DynamicListViewScreen> {
? LocaleKeys.noDataAvailable.tr().toText16().center ? LocaleKeys.noDataAvailable.tr().toText16().center
: ListView.separated( : ListView.separated(
physics: const BouncingScrollPhysics(), physics: const BouncingScrollPhysics(),
padding: EdgeInsets.all(21), padding: const EdgeInsets.all(21),
itemBuilder: (cxt, int parentIndex) => Column( itemBuilder: (cxt, int parentIndex) => getEITTransactionList![parentIndex].collectionTransaction!.isEmpty
crossAxisAlignment: CrossAxisAlignment.start, ? const SizedBox()
mainAxisSize: MainAxisSize.min, : Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
for (int t = 0; t < (getEITTransactionList![parentIndex].collectionTransaction ?? []).length; t++) mainAxisSize: MainAxisSize.min,
if (getEITTransactionList![parentIndex].collectionTransaction![t].dISPLAYFLAG == "Y") children: [
ItemDetailView( for (int t = 0; t < (getEITTransactionList![parentIndex].collectionTransaction ?? []).length; t++)
getEITTransactionList![parentIndex].collectionTransaction![t].sEGMENTPROMPT!, getEITTransactionList![parentIndex].collectionTransaction![t].sEGMENTVALUEDSP ?? ""), if (getEITTransactionList![parentIndex].collectionTransaction![t].dISPLAYFLAG == "Y")
], ItemDetailView(
).objectContainerView(), getEITTransactionList![parentIndex].collectionTransaction![t].sEGMENTPROMPT!, getEITTransactionList![parentIndex].collectionTransaction![t].sEGMENTVALUEDSP ?? ""),
],
).objectContainerView(),
separatorBuilder: (cxt, index) => 12.height, separatorBuilder: (cxt, index) => 12.height,
itemCount: getEITTransactionList!.length)), itemCount: getEITTransactionList!.length)),
floatingActionButton: Container( floatingActionButton: Container(

@ -7,15 +7,18 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
class MyAttendanceScreen extends StatelessWidget { class MyAttendanceScreen extends StatelessWidget {
MyAttendanceScreen({Key? key}) : super(key: key); List<GetMenuEntriesList> list;
MyAttendanceScreen({Key? key, this.list = const <GetMenuEntriesList>[]}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
list = ModalRoute.of(context)!.settings.arguments as List<GetMenuEntriesList>;
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
appBar: AppBarWidget( appBar: AppBarWidget(
@ -25,30 +28,19 @@ class MyAttendanceScreen extends StatelessWidget {
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
child: ListView( child: list.isEmpty
children: [ ? LocaleKeys.noDataAvailable.tr().toText16().center
itemView( : ListView.separated(
"assets/images/pdf.svg", padding: const EdgeInsets.all(21),
LocaleKeys.missingSwipes.tr(), itemBuilder: (cxt, index) => itemView(
).onPress(() { "assets/images/pdf.svg",
Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(LocaleKeys.missingSwipes.tr(), "HMG_OTL_MISSING_SWIPE_EIT_SS")); //LocaleKeys.missingSwipes.tr(),
}), list[index].prompt!,
12.height, ).onPress(() {
itemView( Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(list[index].prompt!, list[index].functionName!));
"assets/images/pdf.svg", }),
LocaleKeys.workFromHome.tr(), separatorBuilder: (cxt, index) => 12.height,
).onPress(() { itemCount: list.length)),
Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(LocaleKeys.workFromHome.tr(), "HMG_OTL_WFH_EIT_SS"));
}),
12.height,
itemView(
"assets/images/pdf.svg",
LocaleKeys.workOnBreak.tr(),
).onPress(() {
// Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams("title", 8724807));
}),
],
).paddingAll(21)),
); );
} }

@ -86,9 +86,12 @@ class _WorkListDetailScreenState extends State<WorkListDetailScreen> {
memberInformationListModel = await WorkListApiClient().getUserInformation(-999, workListData!.sELECTEDEMPLOYEENUMBER!); memberInformationListModel = await WorkListApiClient().getUserInformation(-999, workListData!.sELECTEDEMPLOYEENUMBER!);
} }
if (workListData!.iTEMTYPE == "HRSSA") { if (workListData!.iTEMTYPE == "HRSSA") {
getBasicNTFBody = await WorkListApiClient().getBasicDetNTFBody(workListData!.nOTIFICATIONID!, -999); if (workListData!.rEQUESTTYPE == "EIT") {
getAbsenceCollectionNotifications = await WorkListApiClient().getAbsenceNotificationBody(workListData!.nOTIFICATIONID!, -999); } else {
subordinatesLeavesModel = await WorkListApiClient().getSubordinatesLeaves("", ""); getBasicNTFBody = await WorkListApiClient().getBasicDetNTFBody(workListData!.nOTIFICATIONID!, -999);
getAbsenceCollectionNotifications = await WorkListApiClient().getAbsenceNotificationBody(workListData!.nOTIFICATIONID!, -999);
subordinatesLeavesModel = await WorkListApiClient().getSubordinatesLeaves("", "");
}
} }
if (workListData!.iTEMTYPE == "STAMP") { if (workListData!.iTEMTYPE == "STAMP") {
if (workListData!.rEQUESTTYPE == "STAMP_MS") { if (workListData!.rEQUESTTYPE == "STAMP_MS") {

@ -1,9 +1,7 @@
import 'package:easy_localization/src/public_ext.dart'; import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart';
@ -45,8 +43,7 @@ class _DetailFragmentState extends State<DetailFragment> {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
ItemDetailView(LocaleKeys.employeeNumber.tr(), widget.memberInformationListModel!.eMPLOYEENUMBER ?? ""), ItemDetailView(LocaleKeys.employeeNumber.tr(), widget.memberInformationListModel!.eMPLOYEENUMBER ?? ""),
ItemDetailView(LocaleKeys.employeeName.tr(), ItemDetailView(LocaleKeys.employeeName.tr(), (AppState().isArabic(context) ? widget.memberInformationListModel!.eMPLOYEENAMEAr : widget.memberInformationListModel!.eMPLOYEENAMEEn) ?? ""),
(AppState().isArabic(context) ? widget.memberInformationListModel!.eMPLOYEENAMEAr : widget.memberInformationListModel!.eMPLOYEENAMEEn) ?? ""),
ItemDetailView(LocaleKeys.jobTitle.tr(), makePositionName(widget.memberInformationListModel!.pOSITIONNAME ?? "")), ItemDetailView(LocaleKeys.jobTitle.tr(), makePositionName(widget.memberInformationListModel!.pOSITIONNAME ?? "")),
ItemDetailView(LocaleKeys.grade.tr(), widget.memberInformationListModel!.gRADENAME ?? ""), ItemDetailView(LocaleKeys.grade.tr(), widget.memberInformationListModel!.gRADENAME ?? ""),
ItemDetailView(LocaleKeys.jobCategory.tr(), makePositionName(widget.memberInformationListModel!.pOSITIONNAME ?? "")), ItemDetailView(LocaleKeys.jobCategory.tr(), makePositionName(widget.memberInformationListModel!.pOSITIONNAME ?? "")),
@ -68,5 +65,4 @@ class _DetailFragmentState extends State<DetailFragment> {
} }
return jobName; return jobName;
} }
} }

Loading…
Cancel
Save