MOE bug fixes

merge-requests/10/merge
Sultan khan 2 years ago
parent 7bbcaaf89f
commit b073399ef4

@ -551,7 +551,12 @@ class CodegenLoader extends AssetLoader{
"attendanceType": "نوع الحضور", "attendanceType": "نوع الحضور",
"help": "يساعد", "help": "يساعد",
"dear": "عزيزي", "dear": "عزيزي",
"assistant": "للحصول على المساعدة ، يمكنك تقديم الطلب على نظام سعيد أو الاتصال بمركز الاتصال الموحد على 8310200" "assistant": "للحصول على المساعدة ، يمكنك تقديم الطلب على نظام سعيد أو الاتصال بمركز الاتصال الموحد على 8310200",
"employee_leaves_calender": "تقويم أوراق الموظفين",
"view_your_leave_information": "عرض معلومات إجازتك",
"view_details": "عرض التفاصيل",
"create_absence_request": "إنشاء طلب الغياب",
"business_mission": "طلب مهمة العمل"
}; };
static const Map<String,dynamic> en_US = { static const Map<String,dynamic> en_US = {
"mohemm": "Mohemm", "mohemm": "Mohemm",
@ -1090,7 +1095,12 @@ static const Map<String,dynamic> en_US = {
"attendanceType": "Attendance Type", "attendanceType": "Attendance Type",
"help": "Help", "help": "Help",
"dear": "Dear", "dear": "Dear",
"assistant": "For assistance, you can submit the request on the Saeed system or call the unified call center on 8310200" "assistant": "For assistance, you can submit the request on the Saeed system or call the unified call center on 8310200",
"employee_leaves_calender": "Employee Leaves Calender",
"view_your_leave_information": "View Your Leave Information",
"view_details": "View Details",
"create_absence_request": "Create Absence Request",
"business_mission": "Business Mission Request"
}; };
static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US}; static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US};
} }

@ -525,5 +525,7 @@ abstract class LocaleKeys {
static const employee_leaves_calender = 'employee_leaves_calender'; static const employee_leaves_calender = 'employee_leaves_calender';
static const view_your_leave_information = 'view_your_leave_information'; static const view_your_leave_information = 'view_your_leave_information';
static const view_details = 'view_details'; static const view_details = 'view_details';
static const create_absence_request = 'create_absence_request';
static const business_mission = 'business_mission';
} }

@ -49,8 +49,10 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
List<GetAccrualBalancesList>? accrualList; List<GetAccrualBalancesList>? accrualList;
GetAccrualBalancesList? leaveBalanceAccrual; GetAccrualBalancesList? leaveBalanceAccrual;
GetAccrualBalancesList? oldLeaveBalanceAccrual;
double get leaveBalance => leaveBalanceAccrual?.accrualNetEntitlement ?? 0;
double? get leaveBalance => ((leaveBalanceAccrual?.accrualNetEntitlement! ?? 0) + (oldLeaveBalanceAccrual?.accrualNetEntitlement! ??0));
GetAccrualBalancesList? businessTripAccrual; GetAccrualBalancesList? businessTripAccrual;
@ -107,6 +109,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
isLeaveTicketBalanceLoading = true; isLeaveTicketBalanceLoading = true;
accrualList = null; accrualList = null;
leaveBalanceAccrual = null; leaveBalanceAccrual = null;
oldLeaveBalanceAccrual = null;
businessTripAccrual = null; businessTripAccrual = null;
ticketBalance = 0; ticketBalance = 0;
@ -209,6 +212,8 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
accrualList = await DashboardApiClient().getAccrualBalances(DateFormat("MM/dd/yyyy", "en_US").format(date)); accrualList = await DashboardApiClient().getAccrualBalances(DateFormat("MM/dd/yyyy", "en_US").format(date));
isLeaveTicketBalanceLoading = false; isLeaveTicketBalanceLoading = false;
leaveBalanceAccrual = accrualList!.singleWhere((element) => element.accuralPlanName == 'Annual Vacation Accrual' || element.accuralPlanName == "خطة استحقاق الاجازة الاعتيادية", orElse: null); leaveBalanceAccrual = accrualList!.singleWhere((element) => element.accuralPlanName == 'Annual Vacation Accrual' || element.accuralPlanName == "خطة استحقاق الاجازة الاعتيادية", orElse: null);
oldLeaveBalanceAccrual = accrualList!.singleWhere((element) => element.accuralPlanName == 'Old Leave Balance' || element.accuralPlanName == "خطة فصل الارصدة 1439", orElse: null);
businessTripAccrual = accrualList!.singleWhere((element) => element.accuralPlanName == 'Business Trip Accrual' || element.accuralPlanName == "خطة استحقاق الإنتدابات", orElse: null); businessTripAccrual = accrualList!.singleWhere((element) => element.accuralPlanName == 'Business Trip Accrual' || element.accuralPlanName == "خطة استحقاق الإنتدابات", orElse: null);
ticketBalance = (accrualList![1].accrualNetEntitlement ?? 0.0) + (accrualList![2].accrualNetEntitlement ?? 0.0) + (accrualList![3].accrualNetEntitlement ?? 0.0); ticketBalance = (accrualList![1].accrualNetEntitlement ?? 0.0) + (accrualList![2].accrualNetEntitlement ?? 0.0) + (accrualList![3].accrualNetEntitlement ?? 0.0);
notifyListeners(); notifyListeners();

@ -99,7 +99,7 @@ class MenusWidget extends StatelessWidget {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: data.leaveBalance.toStringAsFixed(2).toText16(color: Colors.white, isBold: true, maxlines: 1), child: (data.leaveBalance)!.toStringAsFixed(0).toText16(color: Colors.white, isBold: true, maxlines: 1),
), ),
RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: Colors.white)), RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: Colors.white)),
], ],
@ -126,7 +126,7 @@ class MenusWidget extends StatelessWidget {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: data.businessTrip.toStringAsFixed(2).toText16(color: Colors.white, isBold: true, maxlines: 1), child: data.businessTrip.toStringAsFixed(0).toText16(color: Colors.white, isBold: true, maxlines: 1),
), ),
RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: Colors.white)), RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: Colors.white)),
], ],
@ -134,7 +134,10 @@ class MenusWidget extends StatelessWidget {
], ],
).paddingOnly(left: 10, right: 10, bottom: 6, top: 6), ).paddingOnly(left: 10, right: 10, bottom: 6, top: 6),
).onPress(() { ).onPress(() {
Navigator.pushNamed(context, AppRoutes.leaveBalance); //Navigator.pushNamed(context, AppRoutes.leaveBalance);
Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(LocaleKeys.business_mission.tr(), "XXX_HR_EIT_BUSINESS_MISSION_SS"));
}), }),
if (env.dashboard.ticketBalance) if (env.dashboard.ticketBalance)
data.isLeaveTicketBalanceLoading data.isLeaveTicketBalanceLoading

@ -236,27 +236,27 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
}, },
), ),
12.height, 12.height,
DynamicTextFieldWidget( // DynamicTextFieldWidget(
LocaleKeys.selectEmployee.tr(), // LocaleKeys.selectEmployee.tr(),
selectedReplacementEmployee == null ? LocaleKeys.searchForEmployee.tr() : selectedReplacementEmployee!.employeeDisplayName ?? "", // selectedReplacementEmployee == null ? LocaleKeys.searchForEmployee.tr() : selectedReplacementEmployee!.employeeDisplayName ?? "",
isEnable: false, // isEnable: false,
onTap: () { // onTap: () {
showMyBottomSheet( // showMyBottomSheet(
context, // context,
callBackFunc: () {}, // callBackFunc: () {},
child: SearchEmployeeBottomSheet( // child: SearchEmployeeBottomSheet(
title: LocaleKeys.searchForEmployee.tr(), // title: LocaleKeys.searchForEmployee.tr(),
apiMode: LocaleKeys.delegate.tr(), // apiMode: LocaleKeys.delegate.tr(),
fromChat: false, // fromChat: false,
onSelectEmployee: (_selectedEmployee) { // onSelectEmployee: (_selectedEmployee) {
// Navigator.pop(context); // // Navigator.pop(context);
selectedReplacementEmployee = _selectedEmployee; // selectedReplacementEmployee = _selectedEmployee;
setState(() {}); // setState(() {});
}, // },
), // ),
); // );
}, // },
), // ),
12.height, 12.height,
DynamicTextFieldWidget( DynamicTextFieldWidget(
LocaleKeys.comments.tr(), LocaleKeys.comments.tr(),

@ -8,6 +8,7 @@ import 'package:mohem_flutter_app/extensions/int_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/leave_balance/get_absence_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/leave_balance/get_absence_transaction_list_model.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';
import 'package:mohem_flutter_app/widgets/balances_dashboard_widget.dart'; import 'package:mohem_flutter_app/widgets/balances_dashboard_widget.dart';
import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart'; import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart';
@ -117,7 +118,9 @@ class _LeaveBalanceState extends State<LeaveBalance> {
), ),
child: const Icon(Icons.add, color: Colors.white, size: 30), child: const Icon(Icons.add, color: Colors.white, size: 30),
).onPress(() { ).onPress(() {
Navigator.pushNamed(context, AppRoutes.addLeaveBalance, arguments: employeeId); //Navigator.pushNamed(context, AppRoutes.addLeaveBalance, arguments: employeeId);
Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(LocaleKeys.create_absence_request.tr(), "XXX_HR_EIT_LOA_CREATE_SS"));
}), }),
); );
} }

@ -191,7 +191,7 @@ class _LoginScreenState extends State<LoginScreen> {
// username.text = "1100313582"; // username.text = "1100313582";
// password.text = "moe123456"; // password.text = "moe123456";
username.text = "1002528733"; username.text = "1024056812";
password.text = "moe123456"; password.text = "moe123456";
// 1) Normal user : // 1) Normal user :

@ -45,8 +45,8 @@ class BalancesDashboardWidget extends StatefulWidget {
class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> { class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> {
List<PieChartModel> chartModelList = []; List<PieChartModel> chartModelList = [];
late DateTime accrualDateTime; late DateTime accrualDateTime;
GetAccrualBalancesList? leaveBalanceAccrual; List<GetAccrualBalancesList>? leaveBalanceAccrual =[];
List<GetAccrualBalancesList>? ticketBalanceAccrualList; List<GetAccrualBalancesList>? ticketBalanceAccrualList =[];
@override @override
void initState() { void initState() {
@ -66,17 +66,20 @@ class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> {
List<GetAccrualBalancesList> accrualList = await DashboardApiClient().getAccrualBalances(DateFormat("MM/dd/yyyy", "en_US").format(accrualDateTime), empID: widget.selectedEmp); List<GetAccrualBalancesList> accrualList = await DashboardApiClient().getAccrualBalances(DateFormat("MM/dd/yyyy", "en_US").format(accrualDateTime), empID: widget.selectedEmp);
if (accrualList.isNotEmpty) { if (accrualList.isNotEmpty) {
if (widget.isLeaveBalance) { if (widget.isLeaveBalance) {
leaveBalanceAccrual = accrualList[0]; leaveBalanceAccrual = accrualList;
chartModelList = [ chartModelList = [
PieChartModel(LocaleKeys.currentBalance.tr(), leaveBalanceAccrual?.accrualNetEntitlement ?? 0, MyColors.textMixColor, titleAppend: ""), PieChartModel(LocaleKeys.currentBalance.tr(), ((leaveBalanceAccrual![0]?.accrualNetEntitlement! ?? 0)! + (leaveBalanceAccrual![1]?.accrualNetEntitlement! ??0)!).toDouble() , MyColors.textMixColor, titleAppend: ""),
PieChartModel(LocaleKeys.usedBalance.tr(), leaveBalanceAccrual?.accrualUsedEntitlement?.toDouble() ?? 0, MyColors.backgroundBlackColor, titleAppend: ""), PieChartModel(LocaleKeys.usedBalance.tr(), ((leaveBalanceAccrual![0]?.accrualUsedEntitlement! ?? 0)! + (leaveBalanceAccrual![1]?.accrualUsedEntitlement! ??0)!).toDouble() , MyColors.backgroundBlackColor, titleAppend: ""),
]; ];
} else { }
else if(accrualList.isNotEmpty){
chartModelList = [ chartModelList = [
PieChartModel(LocaleKeys.adult.tr(), accrualList[1].accrualNetEntitlement?.toDouble() ?? 0, MyColors.textMixColor, titleAppend: ""), PieChartModel(LocaleKeys.adult.tr(), accrualList[1].accrualNetEntitlement?.toDouble() ?? 0, MyColors.textMixColor, titleAppend: ""),
PieChartModel(LocaleKeys.child.tr(), accrualList[2].accrualNetEntitlement?.toDouble() ?? 0, MyColors.backgroundBlackColor, titleAppend: ""), PieChartModel(LocaleKeys.child.tr(), accrualList[2].accrualNetEntitlement?.toDouble() ?? 0, MyColors.backgroundBlackColor, titleAppend: ""),
PieChartModel(LocaleKeys.infants.tr(), accrualList[3].accrualNetEntitlement?.toDouble() ?? 0, MyColors.pinkColor, titleAppend: ""), PieChartModel(LocaleKeys.infants.tr(), accrualList[3].accrualNetEntitlement?.toDouble() ?? 0, MyColors.pinkColor, titleAppend: ""),
]; ];
} }
} }
if (showLoading) Utils.hideLoading(context); if (showLoading) Utils.hideLoading(context);
@ -89,15 +92,15 @@ class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (leaveBalanceAccrual == null && widget.isLeaveBalance) { // if (leaveBalanceAccrual == null && widget.isLeaveBalance) {
leaveBalanceAccrual = Provider.of<DashboardProviderModel>(context, listen: false).leaveBalanceAccrual; // leaveBalanceAccrual = Provider.of<DashboardProviderModel>(context, listen: false).leaveBalanceAccrual;
chartModelList = [ // chartModelList = [
PieChartModel(LocaleKeys.currentBalance.tr(), leaveBalanceAccrual?.accrualNetEntitlement ?? 0, MyColors.textMixColor, titleAppend: ""), // PieChartModel(LocaleKeys.currentBalance.tr(), leaveBalanceAccrual?.accrualNetEntitlement ?? 0, MyColors.textMixColor, titleAppend: ""),
PieChartModel(LocaleKeys.usedBalance.tr(), leaveBalanceAccrual?.accrualUsedEntitlement?.toDouble() ?? 0, MyColors.backgroundBlackColor, titleAppend: ""), // PieChartModel(LocaleKeys.usedBalance.tr(), leaveBalanceAccrual?.accrualUsedEntitlement?.toDouble() ?? 0, MyColors.backgroundBlackColor, titleAppend: ""),
]; // ];
} // }
if (ticketBalanceAccrualList == null && !widget.isLeaveBalance) { if (ticketBalanceAccrualList!.isEmpty && !widget.isLeaveBalance) {
ticketBalanceAccrualList = Provider.of<DashboardProviderModel>(context, listen: false).accrualList ?? []; ticketBalanceAccrualList = Provider.of<DashboardProviderModel>(context, listen: false).accrualList ?? [];
if (ticketBalanceAccrualList!.isNotEmpty) { if (ticketBalanceAccrualList!.isNotEmpty) {
chartModelList = [ chartModelList = [
@ -130,7 +133,7 @@ class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> {
], ],
), ),
8.height, 8.height,
Row( (leaveBalanceAccrual!.isNotEmpty || ticketBalanceAccrualList!.isNotEmpty) ? Row(
children: [ children: [
ListView.separated( ListView.separated(
shrinkWrap: true, shrinkWrap: true,
@ -144,7 +147,7 @@ class _BalancesDashboardWidgetState extends State<BalancesDashboardWidget> {
.expanded, .expanded,
getChart(chartModelList) getChart(chartModelList)
], ],
) ) :const Center(child:CircularProgressIndicator(backgroundColor:MyColors.gradiantStartColor,))
], ],
).paddingOnly(top: 19, bottom: 11, right: 6, left: 14).objectContainerView(disablePadding: true, radius: 10); ).paddingOnly(top: 19, bottom: 11, right: 6, left: 14).objectContainerView(disablePadding: true, radius: 10);
} }

Loading…
Cancel
Save