fix design

merge-requests/1/merge
Fatimah Alshammari 4 years ago
parent 8aa14618d4
commit 416a33b2fd

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<g id="phone-call_2_" data-name="phone-call (2)" transform="translate(0 0)">
<g id="Group_7730" data-name="Group 7730" transform="translate(0 0)">
<path id="Path_4724" data-name="Path 4724" d="M25.6,4.391A15,15,0,1,0,30,15,15,15,0,0,0,25.6,4.391Zm-2.888,16.5,0,0v0l-.76.755a4,4,0,0,1-3.775,1.08A13.291,13.291,0,0,1,14.32,21a17.834,17.834,0,0,1-3.045-2.455A17.971,17.971,0,0,1,9,15.781a14,14,0,0,1-1.71-3.46,4,4,0,0,1,1-4.085l.89-.89a.635.635,0,0,1,.9,0l0,0,2.81,2.81a.635.635,0,0,1,0,.9l0,0-1.65,1.65a1.345,1.345,0,0,0-.14,1.75,19.3,19.3,0,0,0,1.975,2.305,19.179,19.179,0,0,0,2.6,2.185,1.355,1.355,0,0,0,1.73-.15L19,17.177a.635.635,0,0,1,.9,0l0,0L22.715,20A.635.635,0,0,1,22.717,20.894Z" transform="translate(0 0)" fill="#2bb8a6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 851 B

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20.438" height="20.438" viewBox="0 0 20.438 20.438">
<g id="new-page" transform="translate(-1 -1)">
<path id="Path_14" data-name="Path 14" d="M22.669,7H7.681A.681.681,0,0,0,7,7.681V22.669a.681.681,0,0,0,.681.681H22.669a.681.681,0,0,0,.681-.681V7.681A.681.681,0,0,0,22.669,7Zm-3.406,8.857H15.857v3.406H14.494V15.857H11.088V14.494h3.406V11.088h1.363v3.406h3.406Z" transform="translate(-1.912 -1.912)" fill="#2bb8a6"/>
<path id="Path_15" data-name="Path 15" d="M17.351,3.725V1.681A.681.681,0,0,0,16.669,1H1.681A.681.681,0,0,0,1,1.681V16.669a.681.681,0,0,0,.681.681H3.725V5.769A2.044,2.044,0,0,1,5.769,3.725Z" fill="#2bb8a6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 694 B

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="17.232" height="19.606" viewBox="0 0 17.232 19.606">
<g id="user_19_" data-name="user (19)" transform="translate(-31)">
<g id="Group_7233" data-name="Group 7233" transform="translate(34.446)">
<g id="Group_7232" data-name="Group 7232">
<path id="Path_16" data-name="Path 16" d="M126.17,0a5.17,5.17,0,1,0,5.169,5.17A5.175,5.175,0,0,0,126.17,0Z" transform="translate(-121)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7235" data-name="Group 7235" transform="translate(31 11.488)">
<g id="Group_7234" data-name="Group 7234">
<path id="Path_17" data-name="Path 17" d="M46.048,302.228A7.369,7.369,0,0,0,40.765,300h-2.3a7.37,7.37,0,0,0-5.283,2.228A7.534,7.534,0,0,0,31,307.544a.574.574,0,0,0,.574.574H47.657a.574.574,0,0,0,.574-.574A7.534,7.534,0,0,0,46.048,302.228Z" transform="translate(-31 -300)" fill="#2bb8a6"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 936 B

@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" width="22.515" height="19.099" viewBox="0 0 22.515 19.099">
<g id="group_2_" data-name="group (2)" transform="translate(0 -38.84)">
<g id="Group_7238" data-name="Group 7238" transform="translate(17.523 49.151)">
<g id="Group_7237" data-name="Group 7237" transform="translate(0 0)">
<path id="Path_23" data-name="Path 23" d="M400.235,273.32h-1.741a4.53,4.53,0,0,1,.274,1.557v6.581a1.94,1.94,0,0,1-.112.65h2.879a1.952,1.952,0,0,0,1.95-1.95V276.57A3.254,3.254,0,0,0,400.235,273.32Z" transform="translate(-398.494 -273.32)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7240" data-name="Group 7240" transform="translate(0 49.151)">
<g id="Group_7239" data-name="Group 7239">
<path id="Path_24" data-name="Path 24" d="M4.717,274.878a4.529,4.529,0,0,1,.274-1.557H3.25A3.254,3.254,0,0,0,0,276.571v3.587a1.952,1.952,0,0,0,1.95,1.95H4.829a1.941,1.941,0,0,1-.112-.65Z" transform="translate(0 -273.321)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7242" data-name="Group 7242" transform="translate(6.017 47.458)">
<g id="Group_7241" data-name="Group 7241" transform="translate(0 0)">
<path id="Path_25" data-name="Path 25" d="M144.06,234.815h-3.981a3.254,3.254,0,0,0-3.25,3.25v6.581a.65.65,0,0,0,.65.65h9.181a.65.65,0,0,0,.65-.65v-6.581A3.254,3.254,0,0,0,144.06,234.815Z" transform="translate(-136.829 -234.815)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7244" data-name="Group 7244" transform="translate(7.349 38.84)">
<g id="Group_7243" data-name="Group 7243" transform="translate(0 0)">
<path id="Path_26" data-name="Path 26" d="M171.023,38.84a3.908,3.908,0,1,0,3.909,3.909A3.913,3.913,0,0,0,171.023,38.84Z" transform="translate(-167.114 -38.84)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7246" data-name="Group 7246" transform="translate(1.471 42.483)">
<g id="Group_7245" data-name="Group 7245" transform="translate(0 0)">
<path id="Path_27" data-name="Path 27" d="M36.366,121.689a2.922,2.922,0,1,0,2.923,2.923A2.926,2.926,0,0,0,36.366,121.689Z" transform="translate(-33.443 -121.689)" fill="#2bb8a6"/>
</g>
</g>
<g id="Group_7248" data-name="Group 7248" transform="translate(15.198 42.483)">
<g id="Group_7247" data-name="Group 7247" transform="translate(0 0)">
<path id="Path_28" data-name="Path 28" d="M348.53,121.689a2.923,2.923,0,1,0,2.923,2.923A2.926,2.926,0,0,0,348.53,121.689Z" transform="translate(-345.607 -121.689)" fill="#2bb8a6"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18.591" height="22" viewBox="0 0 18.591 22">
<g id="calendar_26_" data-name="calendar (26)" transform="translate(-7.31 -1.5)">
<path id="Path_18" data-name="Path 18" d="M7.31,42.646a1.5,1.5,0,0,0,1.5,1.5h15.6a1.5,1.5,0,0,0,1.5-1.5V30.71H7.31Zm12.874-8.759H22.61v2.426H20.184Zm0,4.124H22.61v2.426H20.184Zm-4.79-4.124h2.423v2.426H15.394Zm0,4.124h2.423v2.426H15.394Zm-4.8-4.124h2.426v2.426H10.6Zm0,4.124h2.426v2.426H10.6Z" transform="translate(0 -20.642)" fill="#2bb8a6"/>
<path id="Path_19" data-name="Path 19" d="M54.364,6.4a.264.264,0,0,0,.264-.264V1.764a.264.264,0,1,0-.528,0V6.141a.264.264,0,0,0,.264.264Z" transform="translate(-33.065)" fill="#2bb8a6"/>
<path id="Path_20" data-name="Path 20" d="M24.405,9.4H22.082v2.323a.795.795,0,0,1-1.59,0V9.4H12.716v2.323a.795.795,0,1,1-1.587,0V9.4H8.806a1.5,1.5,0,0,0-1.5,1.5v4.227H25.9V10.9a1.5,1.5,0,0,0-1.5-1.5Z" transform="translate(0 -5.583)" fill="#2bb8a6"/>
<path id="Path_21" data-name="Path 21" d="M22.364,6.465a.264.264,0,0,0,.267-.264V1.824a.267.267,0,0,0-.531,0V6.2a.264.264,0,0,0,.264.264Z" transform="translate(-10.452 -0.06)" fill="#2bb8a6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -339,6 +339,17 @@
"pleaseSelectEmployeeForReplacement": "الرجاء تحديد موظف للاستبدال", "pleaseSelectEmployeeForReplacement": "الرجاء تحديد موظف للاستبدال",
"pleaseSelectAction": "الرجاء تحديد الإجراء", "pleaseSelectAction": "الرجاء تحديد الإجراء",
"pleaseSelectDate": "الرجاء تحديد التاريخ", "pleaseSelectDate": "الرجاء تحديد التاريخ",
"todayAttendance": "حضور اليوم",
"viewAttendance": "عرض الحضور",
"teamMembers":"اعضاءالفريق",
"profileDetails": "الملف الشخصي",
"noResultsFound" : "لايوجد نتائج",
"searchBy": "بحث بواسطة",
"myTeamMembers": "اعضاء فريقي",
"save": "حفظ",
"itemType": "نوع العنصر",
"TurnNotificationsFor": "تفعيل الاشعارات",
"worklistSettings": "اعدادات الاشعارات",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -339,6 +339,17 @@
"pleaseSelectEmployeeForReplacement": "Please select employee for replacement", "pleaseSelectEmployeeForReplacement": "Please select employee for replacement",
"pleaseSelectAction": "Please select action", "pleaseSelectAction": "Please select action",
"pleaseSelectDate": "Please select date", "pleaseSelectDate": "Please select date",
"todayAttendance": "Today's Attendance",
"viewAttendance": "View Attendance",
"teamMembers":"Team Members",
"profileDetails": "Profile Details",
"noResultsFound" : "No Results Found",
"searchBy": "Search by",
"myTeamMembers": "My Team Members",
"save": "Save",
"itemType": "Item Type",
"TurnNotificationsFor": "Turn on notifications for",
"worklistSettings": "Worklist Settings",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -43,4 +43,9 @@ class MyColors {
static const Color lightGrayColor = Color(0xff808080); static const Color lightGrayColor = Color(0xff808080);
static const Color DarkRedColor = Color(0xffD02127); static const Color DarkRedColor = Color(0xffD02127);
static const Color lightGreyColor = Color(0xffC7C7C7); static const Color lightGreyColor = Color(0xffC7C7C7);
static const Color green69Color = Color(0xff1FA169);
static const Color redA3Color = Color(0xffCA3332);
static const Color green9CColor = Color(0xff259CB8);
static const Color green2DColor = Color(0xff32D892);
static const Color greyC4Color = Color(0xffC4C4C4);
} }

@ -14,7 +14,7 @@ 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/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/services_menu_list_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/services_menu_list_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/my_team/create_request.dart'; import 'package:mohem_flutter_app/ui/my_team/create_request.dart';
import 'package:mohem_flutter_app/ui/my_team/employee_details.dart'; import 'package:mohem_flutter_app/ui/my_team/employee_details.dart';
import 'package:mohem_flutter_app/ui/my_team/my_team.dart'; import 'package:mohem_flutter_app/ui/my_team/my_team.dart';

@ -355,6 +355,16 @@ class CodegenLoader extends AssetLoader{
"pleaseSelectEmployeeForReplacement": "الرجاء تحديد موظف للاستبدال", "pleaseSelectEmployeeForReplacement": "الرجاء تحديد موظف للاستبدال",
"pleaseSelectAction": "الرجاء تحديد الإجراء", "pleaseSelectAction": "الرجاء تحديد الإجراء",
"pleaseSelectDate": "الرجاء تحديد التاريخ", "pleaseSelectDate": "الرجاء تحديد التاريخ",
"todayAttendance": "حضور اليوم",
"viewAttendance": "عرض الحضور",
"teamMembers": "اعضاءالفريق",
"profileDetails": "الملف الشخصي",
"noResultsFound": "لايوجد نتائج",
"searchBy": "بحث بواسطة",
"myTeamMembers": "اعضاء فريقي",
"save": "حفظ",
"TurnNotificationsFor": "تفعيل الاشعارات",
"worklistSettings": "اعدادات الاشعارات",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",
@ -730,6 +740,16 @@ static const Map<String,dynamic> en_US = {
"pleaseSelectEmployeeForReplacement": "Please select employee for replacement", "pleaseSelectEmployeeForReplacement": "Please select employee for replacement",
"pleaseSelectAction": "Please select action", "pleaseSelectAction": "Please select action",
"pleaseSelectDate": "Please select date", "pleaseSelectDate": "Please select date",
"todayAttendance": "Today's Attendance",
"viewAttendance": "View Attendance",
"teamMembers": "Team Members",
"profileDetails": "Profile Details",
"noResultsFound": "No Results Found",
"searchBy": "Search by",
"myTeamMembers": "My Team Members",
"save": "Save",
"TurnNotificationsFor": "Turn on notifications for",
"worklistSettings": "Worklist Settings",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -340,6 +340,16 @@ abstract class LocaleKeys {
static const pleaseSelectEmployeeForReplacement = 'pleaseSelectEmployeeForReplacement'; static const pleaseSelectEmployeeForReplacement = 'pleaseSelectEmployeeForReplacement';
static const pleaseSelectAction = 'pleaseSelectAction'; static const pleaseSelectAction = 'pleaseSelectAction';
static const pleaseSelectDate = 'pleaseSelectDate'; static const pleaseSelectDate = 'pleaseSelectDate';
static const todayAttendance = 'todayAttendance';
static const viewAttendance = 'viewAttendance';
static const teamMembers = 'teamMembers';
static const profileDetails = 'profileDetails';
static const noResultsFound = 'noResultsFound';
static const searchBy = 'searchBy';
static const myTeamMembers = 'myTeamMembers';
static const save = 'save';
static const TurnNotificationsFor = 'TurnNotificationsFor';
static const worklistSettings = 'worklistSettings';
static const profile_reset_password_label = 'profile.reset_password.label'; static const profile_reset_password_label = 'profile.reset_password.label';
static const profile_reset_password_username = 'profile.reset_password.username'; static const profile_reset_password_username = 'profile.reset_password.username';
static const profile_reset_password_password = 'profile.reset_password.password'; static const profile_reset_password_password = 'profile.reset_password.password';

@ -2,10 +2,6 @@ class ProfileMenu {
final String name; final String name;
final String icon; final String icon;
final String route; final String route;
final String dynamicUrl;
final String functionName;
final String requestID;
final GetMenuEntriesList menuEntries;
final dynamic arguments; final dynamic arguments;
ProfileMenu({this.name = '', this.icon = '', this.route = '', this.arguments = '', this.dynamicUrl = '', this.functionName = '', this.requestID = '', required this.menuEntries}); ProfileMenu({this.name = '', this.icon = '', this.route = '', this.arguments = ''});
} }

@ -113,8 +113,8 @@ class _MonthlyAttendanceScreenState extends State<MonthlyAttendanceScreen> {
LocaleKeys.attendance.tr().toText24(isBold: true, color: MyColors.darkIconColor), LocaleKeys.attendance.tr().toText24(isBold: true, color: MyColors.darkIconColor),
Row( Row(
children: [ children: [
"${DateFormat("MMMM-yyyy").format(formattedDate)}".toText16(color: MyColors.greyACColor), "${DateFormat("MMMM-yyyy").format(formattedDate)}".toText16(color: MyColors.grey3AColor),
const Icon(Icons.keyboard_arrow_down_rounded, color: MyColors.greyACColor), const Icon(Icons.keyboard_arrow_down_rounded, color: MyColors.grey3AColor),
], ],
).onPress(() async { ).onPress(() async {
showMonthPicker( showMonthPicker(

@ -135,7 +135,7 @@ class _LoginScreenState extends State<LoginScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
username.text = "15153"; username.text = "15153";
password.text = "Abcd@1234"; password.text = "Abcd@12345";
// username.text = "15444"; // username.text = "15444";
return Scaffold( return Scaffold(

@ -2,6 +2,7 @@ import 'dart:collection';
import 'dart:ui'; import 'dart:ui';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_html/html_parser.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart'; import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart';
import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart'; import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart';
@ -42,7 +43,7 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
setState(() {}); // setState(() {});
} }
//favorite //favorite
@ -126,67 +127,67 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
width: _width, width: _width,
//height: 150, //height: 150,
margin: EdgeInsets.only(top: 50), margin: EdgeInsets.only(top: 50),
padding: EdgeInsets.only(top: 50), //padding: EdgeInsets.only(right: 17, left: 17),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: MyColors.whiteColor,
borderRadius: const BorderRadius.all(Radius.circular(15)), borderRadius: const BorderRadius.all(Radius.circular(15)),
boxShadow: [BoxShadow(color: MyColors.lightGreyColor, blurRadius: 15, spreadRadius: 3)], boxShadow: [BoxShadow(color: MyColors.lightGreyColor, blurRadius: 15, spreadRadius: 3)],
), ),
child: Container( child: Column(
child: Column( children: [
crossAxisAlignment: CrossAxisAlignment.center, Row(
children: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
/// card header children: [
customLabel(getEmployeeSubordinates!.eMPLOYEENAME.toString(), 22, Colors.black, true), IconButton(
customLabel(getEmployeeSubordinates!.eMPLOYEENUMBER.toString() + ' | ' + getEmployeeSubordinates!.jOBNAME.toString(), 14, Colors.grey, false), onPressed: (){
customLabel(getEmployeeSubordinates!.eMPLOYEEEMAILADDRESS.toString(), 13, Colors.black, true), if(getEmployeeSubordinates!.isFavorite != true){
], showFavoriteAlertDialog(context);
).paddingOnly(top: 10, bottom: 10), setState(() {});
}else{
fetchChangeFav(
email: getEmployeeSubordinates?.eMPLOYEEEMAILADDRESS ?? "",
employeName: getEmployeeSubordinates!.eMPLOYEENAME ?? "",
image: getEmployeeSubordinates!.eMPLOYEEIMAGE ?? "",
userName: getEmployeeSubordinates!.eMPLOYEENUMBER ?? "",
isFav: false,);
setState(() {});
} },
icon: getEmployeeSubordinates!.isFavorite != true
? Icon(
Icons.star_outline,
size: 35,
color: MyColors.green9CColor,
)
: Icon(
Icons.star_outlined,
size: 35,
color: MyColors.green9CColor,
),
),
// Container(height: 100, alignment: Alignment.center, child: ProfileImage()),
InkWell(
onTap:() {
launchUrl(phoneNumber);
},
child: SvgPicture.asset("assets/images/call.svg"),
),
],
).paddingOnly(left:6, right: 17, top: 16),
Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
/// card header
customLabel(getEmployeeSubordinates!.eMPLOYEENAME.toString(), 21, MyColors.grey3AColor, true),
customLabel(getEmployeeSubordinates!.eMPLOYEENUMBER.toString() + ' | ' + getEmployeeSubordinates!.jOBNAME.toString(), 13, MyColors.grey80Color, true),
customLabel(getEmployeeSubordinates!.eMPLOYEEEMAILADDRESS.toString(), 13, MyColors.grey3AColor, true),
],
).paddingOnly(bottom: 10),
],
), ),
), ),
Row( Container(height: 100, alignment: Alignment.center, child: ProfileImage()),
mainAxisAlignment: MainAxisAlignment.spaceBetween, ])
children: [ ),
IconButton(
onPressed: (){
if(getEmployeeSubordinates!.isFavorite != true){
showFavoriteAlertDialog(context);
setState(() {});
}else{
fetchChangeFav(
email: getEmployeeSubordinates?.eMPLOYEEEMAILADDRESS ?? "",
employeName: getEmployeeSubordinates!.eMPLOYEENAME ?? "",
image: getEmployeeSubordinates!.eMPLOYEEIMAGE ?? "",
userName: getEmployeeSubordinates!.eMPLOYEENUMBER ?? "",
isFav: false,);
setState(() {});
} },
icon: getEmployeeSubordinates!.isFavorite != true
? Icon(
Icons.star_outline,
size: 35,
color: Colors.green,
)
: Icon(
Icons.star_outlined,
size: 35,
color: Colors.green,
),
).paddingOnly(top: 50),
Container(height: 100, alignment: Alignment.center, child: ProfileImage()),
IconButton(
onPressed: () {
launchUrl(phoneNumber);
},
icon: Icon(
Icons.whatsapp,
color: Colors.green,
size: 30,
).paddingOnly(top: 30),
),
],
)
])),
Container( Container(
margin: EdgeInsets.fromLTRB(21, 8, 21, 10), margin: EdgeInsets.fromLTRB(21, 8, 21, 10),
height: 260, height: 260,
@ -228,17 +229,21 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
}, },
child: ListTile( child: ListTile(
leading: SvgPicture.asset('assets/images/' + obj.icon), leading: SvgPicture.asset('assets/images/' + obj.icon),
title: Text(obj.name), title: Text(obj.name,
trailing: Icon(Icons.arrow_forward), style: TextStyle(color: MyColors.grey3AColor,
fontWeight: FontWeight.w600,
fontSize: 16)),
trailing: Icon(Icons.arrow_forward,
color: MyColors.grey3AColor,),
), ),
); );
} }
void setMenu(){ void setMenu(){
menu = [ menu = [
ProfileMenu(name: "Profile Details", icon: 'personal-info.svg', route: AppRoutes.profileDetails, arguments:getEmployeeSubordinates, dynamicUrl: '', menuEntries: getMenuEntries('')), ProfileMenu(name: "Profile Details", icon: "profile_details.svg", route: AppRoutes.profileDetails, arguments:getEmployeeSubordinates),
ProfileMenu(name: "Create Request", icon: 'personal-info.svg', route: AppRoutes.createRequest,arguments: getEmployeeSubordinates, menuEntries: getMenuEntries('')), ProfileMenu(name: "Create Request", icon: "create_request.svg", route: AppRoutes.createRequest,arguments: getEmployeeSubordinates),
ProfileMenu(name: "View Attendance", icon: 'personal-info.svg', route: AppRoutes.viewAttendance, arguments: getEmployeeSubordinates, dynamicUrl: '', menuEntries: getMenuEntries('')), ProfileMenu(name: "View Attendance", icon: "view_attendance.svg", route: AppRoutes.viewAttendance, arguments: getEmployeeSubordinates),
ProfileMenu(name: "Team Members", icon: 'family-members.svg', route: AppRoutes.teamMembers, arguments: getEmployeeSubordinates, dynamicUrl: '', menuEntries: getMenuEntries('')), ProfileMenu(name: "Team Members", icon: "team.svg", route: AppRoutes.teamMembers, arguments: getEmployeeSubordinates),
]; ];
} }

@ -1,16 +1,18 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart'; import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.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/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/models/my_team/get_employee_subordinates_list.dart'; import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class MyTeam extends StatefulWidget { class MyTeam extends StatefulWidget {
const MyTeam({Key? key}) : super(key: key); const MyTeam({Key? key}) : super(key: key);
@ -19,8 +21,8 @@ class MyTeam extends StatefulWidget {
} }
class _MyTeamState extends State<MyTeam> { class _MyTeamState extends State<MyTeam> {
String searchEmpEmail =""; String searchEmpEmail = "";
String searchEmpName =""; String searchEmpName = "";
String searchEmpNo = ""; String searchEmpNo = "";
String? empId; String? empId;
List<GetEmployeeSubordinatesList> getEmployeeSubordinatesList = []; List<GetEmployeeSubordinatesList> getEmployeeSubordinatesList = [];
@ -38,7 +40,7 @@ class _MyTeamState extends State<MyTeam> {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
getEmployeeSubordinatesList = await MyTeamApiClient().getEmployeeSubordinates(searchEmpEmail.toString(), searchEmpName.toString(), searchEmpNo.toString()); getEmployeeSubordinatesList = await MyTeamApiClient().getEmployeeSubordinates(searchEmpEmail.toString(), searchEmpName.toString(), searchEmpNo.toString());
getEmployeeSListOnSearch =getEmployeeSubordinatesList; getEmployeeSListOnSearch = getEmployeeSubordinatesList;
Utils.hideLoading(context); Utils.hideLoading(context);
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
@ -51,191 +53,132 @@ class _MyTeamState extends State<MyTeam> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title:"My Team Members", title: LocaleKeys.myTeamMembers.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( child: Column(
children: [ children: [
Container( Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[
width: double.infinity, Expanded(
margin: EdgeInsets.only( child: TextField(
top: 28, onChanged: dropdownValue == "Name"
left: 18, ? (String value) {
right: 18, getEmployeeSListOnSearch =
// bottom: 28 getEmployeeSubordinatesList.where((GetEmployeeSubordinatesList element) => element.eMPLOYEENAME!.toLowerCase().contains(value.toLowerCase())).toList();
), setState(() {});
padding: EdgeInsets.only( left: 10, right: 10), }
height: 65, : (String value) {
decoration: BoxDecoration( getEmployeeSListOnSearch =
boxShadow: [ getEmployeeSubordinatesList.where((GetEmployeeSubordinatesList element) => element.eMPLOYEEEMAILADDRESS!.toLowerCase().contains(value.toLowerCase())).toList();
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 26,
offset: Offset(0, 3),
),
],
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children : <Widget>[
Expanded(
child:
TextField(
onChanged: dropdownValue =="Name" ?
(String value){
getEmployeeSListOnSearch = getEmployeeSubordinatesList.where((GetEmployeeSubordinatesList element)
=> element.eMPLOYEENAME!.toLowerCase().contains(value.toLowerCase())).toList();
setState(() {}); setState(() {});
}: (String value){
getEmployeeSListOnSearch = getEmployeeSubordinatesList.where((GetEmployeeSubordinatesList element)
=> element.eMPLOYEEEMAILADDRESS!.toLowerCase().contains(value.toLowerCase())).toList();
setState(() {});
}, },
controller: _textEditingController, controller: _textEditingController,
decoration: InputDecoration( decoration: InputDecoration(
filled: true, filled: true,
fillColor: Colors.white, fillColor: Colors.white,
border: InputBorder.none, border: InputBorder.none,
enabledBorder: InputBorder.none, enabledBorder: InputBorder.none,
focusedBorder: InputBorder.none, focusedBorder: InputBorder.none,
// contentPadding: EdgeInsets.fromLTRB(10, 15, 10, 15), // contentPadding: EdgeInsets.fromLTRB(10, 15, 10, 15),
hintText: 'Search by $dropdownValue', hintText: LocaleKeys.searchBy.tr() + " $dropdownValue",
hintStyle: TextStyle(fontSize: 16.0, color: Colors.black,), hintStyle: TextStyle(fontSize: 14.0, color: MyColors.grey57Color, fontWeight: FontWeight.w600),
), ),
)), )),
dropDown() Row(
]), children: [
), "|".toText16(color: MyColors.greyC4Color),
10.width,
dropDown(),
],
)
]).objectContainerBorderView(),
// ),
Container( Container(
margin: EdgeInsets.only(left: 21, right: 21),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
child: SingleChildScrollView( child: SingleChildScrollView(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
_textEditingController!.text.isNotEmpty && getEmployeeSListOnSearch.isEmpty ? _textEditingController!.text.isNotEmpty && getEmployeeSListOnSearch.isEmpty
Container( ? Container(
child: "No Results found".toText16(color: MyColors.blackColor),).paddingOnly(top: 10) child: LocaleKeys.noResultsFound.tr().toText16(color: MyColors.blackColor),
: ListView.builder( ).paddingOnly(top: 10)
scrollDirection: Axis.vertical, : ListView.separated(
shrinkWrap: true, scrollDirection: Axis.vertical,
physics: ScrollPhysics(), shrinkWrap: true,
itemCount: _textEditingController!.text.isNotEmpty ? getEmployeeSListOnSearch.length : getEmployeeSubordinatesList.length, // padding: EdgeInsets.only(left: 21, right: 21),
itemBuilder: (context, index) { physics: ScrollPhysics(),
var phoneNumber = Uri.parse('tel:${getEmployeeSListOnSearch[index].eMPLOYEEMOBILENUMBER}'); separatorBuilder: (cxt, index) => 12.height,
return Container( itemCount: _textEditingController!.text.isNotEmpty ? getEmployeeSListOnSearch.length : getEmployeeSubordinatesList.length,
width: double.infinity, itemBuilder: (context, index) {
margin: EdgeInsets.only( var phoneNumber = Uri.parse('tel:${getEmployeeSListOnSearch[index].eMPLOYEEMOBILENUMBER}');
top: 18, return Row(
left: 18, mainAxisAlignment: MainAxisAlignment.spaceBetween,
right: 18,
),
padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10),
// height: 110,
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 26,
offset: Offset(0, 3),
),
],
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
CircleAvatar(
radius: 25,
backgroundImage: MemoryImage(Utils.getPostBytes(getEmployeeSListOnSearch[index].eMPLOYEEIMAGE)),
backgroundColor: Colors.black,
),
10.width,
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
// "Present".toText13(color: MyColors.greenColor),
CircleAvatar( "${getEmployeeSListOnSearch[index].eMPLOYEENAME}".toText16(isBold: true, color: MyColors.grey3AColor),
radius: 25, "${getEmployeeSListOnSearch[index].pOSITIONNAME}".toText10(isBold: true, color: MyColors.grey57Color),
backgroundImage: MemoryImage(Utils.getPostBytes(getEmployeeSListOnSearch[index].eMPLOYEEIMAGE)),
backgroundColor: Colors.black,
),
], ],
), ).expanded,
SizedBox(
width: 10,
),
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Present".toText13(color: MyColors.greenColor), InkWell(
"${getEmployeeSListOnSearch[index].eMPLOYEENAME}".toText16(color: MyColors.blackColor), onTap: () {
"${getEmployeeSListOnSearch[index].pOSITIONNAME}".toText13(color: MyColors.blackColor), launchUrl(phoneNumber);
},
child: SvgPicture.asset("assets/images/call.svg"),
),
21.height,
InkWell(
onTap: () async {
Navigator.pushNamed(context, AppRoutes.employeeDetails, arguments: getEmployeeSListOnSearch[index]);
},
child: Icon(Icons.arrow_forward_outlined, color: MyColors.grey3AColor),
),
], ],
), ),
], ],
), ).objectContainerView();
Column( })
children: [
IconButton(
onPressed: () {
launchUrl(phoneNumber);
},
icon: Icon(
Icons.whatsapp,
color: Colors.green,
),
),
IconButton(
onPressed: () async{
Navigator.pushNamed(context,AppRoutes.employeeDetails,arguments: getEmployeeSListOnSearch[index]);
// Navigator.of(context).push(MaterialPageRoute(builder: (context)=> EmployeeDetails(getEmployeeSubordinates: getEmployeeSubordinatesList[index])),);
},
icon: Icon(
Icons.arrow_forward_outlined,
color: Colors.grey,
),
),
],
),
],
),
);
})
], ],
), ),
) ),
) )
], ],
), ),
) ));
);
} }
Widget dropDown(){ Widget dropDown() {
return DropdownButton<String>( return DropdownButton<String>(
value: dropdownValue, value: dropdownValue,
icon: const Icon(Icons.keyboard_arrow_down), icon: const Icon(Icons.keyboard_arrow_down,
color: MyColors.grey57Color),
elevation: 16, elevation: 16,
onChanged: (String? newValue) { onChanged: (String? newValue) {
setState(() { setState(() {
dropdownValue = newValue!; dropdownValue = newValue!;
}); });
}, },
items: <String>['Name', 'Email'] items: <String>['Name', 'Email'].map<DropdownMenuItem<String>>((String value) {
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>( return DropdownMenuItem<String>(
value: value, value: value,
child: Text(value), child: Text(value),
); );
}).toList(), }).toList(),
style: TextStyle(fontSize: 14.0, color: MyColors.grey57Color, fontWeight: FontWeight.w600),
); );
} }
} }

@ -2,6 +2,7 @@ import 'package:easy_localization/easy_localization.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/classes/colors.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/string_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/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
@ -33,7 +34,7 @@ class _ProfileDetailsState extends State<ProfileDetails> {
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "Profile Details", title: LocaleKeys.profileDetails.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
body: Column( body: Column(
@ -41,12 +42,11 @@ class _ProfileDetailsState extends State<ProfileDetails> {
Container( Container(
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 28, top: 20,
left: 26, left: 21,
right: 26, right: 21,
), ),
padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 20), padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 20),
height: 350,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
@ -61,27 +61,19 @@ class _ProfileDetailsState extends State<ProfileDetails> {
), ),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
LocaleKeys.category.tr().toText13(color: MyColors.lightGrayColor), LocaleKeys.category.tr().toText13(color: MyColors.lightGrayColor),
"${getEmployeeSubordinates?.eMPLOYMENTCATEGORYMEANING}".toText16(isBold: true, color: MyColors.blackColor), "${getEmployeeSubordinates?.eMPLOYMENTCATEGORYMEANING}".toText16(isBold: true, color: MyColors.darkTextColor),
SizedBox( 23.height,
height: 20,
),
LocaleKeys.address.tr().toText13(color: MyColors.lightGrayColor), LocaleKeys.address.tr().toText13(color: MyColors.lightGrayColor),
"${getEmployeeSubordinates?.lOCATIONNAME}".toText16(isBold: true, color: MyColors.blackColor), "${getEmployeeSubordinates?.lOCATIONNAME}".toText16(isBold: true, color: MyColors.darkTextColor),
SizedBox( 23.height,
height: 20,
),
LocaleKeys.phoneNumber.tr().toText13(color: MyColors.lightGrayColor), LocaleKeys.phoneNumber.tr().toText13(color: MyColors.lightGrayColor),
"${getEmployeeSubordinates?.eMPLOYEEMOBILENUMBER}".toText16(isBold: true, color: MyColors.blackColor), "${getEmployeeSubordinates?.eMPLOYEEMOBILENUMBER}".toText16(isBold: true, color: MyColors.darkTextColor),
SizedBox( 23.height,
height: 20,
),
LocaleKeys.businessGroup.tr().toText13(color: MyColors.lightGrayColor), LocaleKeys.businessGroup.tr().toText13(color: MyColors.lightGrayColor),
"${getEmployeeSubordinates?.bUSINESSGROUPNAME}".toText16(isBold: true, color: MyColors.blackColor), "${getEmployeeSubordinates?.bUSINESSGROUPNAME}".toText16(isBold: true, color: MyColors.darkTextColor),
SizedBox( 23.height,
height: 20,
),
LocaleKeys.Payroll.tr().toText13(color: MyColors.lightGrayColor), LocaleKeys.Payroll.tr().toText13(color: MyColors.lightGrayColor),
"${getEmployeeSubordinates?.pAYROLLNAME}".toText16(isBold: true, color: MyColors.blackColor), "${getEmployeeSubordinates?.pAYROLLNAME}".toText16(isBold: true, color: MyColors.darkTextColor),
]), ]),
), ),
], ],

@ -1,9 +1,13 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart'; import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.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/string_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/models/my_team/get_employee_subordinates_list.dart'; import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
@ -26,8 +30,6 @@ class _TeamMembersState extends State<TeamMembers> {
void initState() { void initState() {
super.initState(); super.initState();
employeeSubordinates(); employeeSubordinates();
setState(() {});
} }
void employeeSubordinates() async { void employeeSubordinates() async {
@ -49,108 +51,58 @@ class _TeamMembersState extends State<TeamMembers> {
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "Team Members", title: LocaleKeys.teamMembers.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( scrollDirection: Axis.vertical,
children: [ child: Column(
Container( children: <Widget>[
width: MediaQuery.of(context).size.width, getEmployeeSubordinatesList != 0
child: SingleChildScrollView( ? ListView.separated(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
child: Column( shrinkWrap: true,
children: <Widget>[ padding: EdgeInsets.all(21),
if(getEmployeeSubordinatesList != 0) physics: ScrollPhysics(),
ListView.builder( separatorBuilder: (cxt, index) => 12.height,
scrollDirection: Axis.vertical, itemCount: getEmployeeSubordinatesList.length,
shrinkWrap: true, itemBuilder: (context, index) {
physics: ScrollPhysics(), var phoneNumber = Uri.parse('tel:${getEmployeeSubordinatesList[index].eMPLOYEEMOBILENUMBER}');
itemCount: getEmployeeSubordinatesList.length, return Container(
itemBuilder: (context, index) { child: Row(
var phoneNumber = Uri.parse('tel:${getEmployeeSubordinatesList[index].eMPLOYEENUMBER}'); mainAxisAlignment: MainAxisAlignment.spaceBetween,
return Container( children: [
width: double.infinity, CircleAvatar(
margin: EdgeInsets.only( radius: 25,
top: 18, backgroundImage: MemoryImage(Utils.getPostBytes(getEmployeeSubordinatesList[index].eMPLOYEEIMAGE)),
left: 18, backgroundColor: Colors.black,
right: 18, ),
), SizedBox(width: 10,),
padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), Column(
decoration: BoxDecoration( crossAxisAlignment: CrossAxisAlignment.start,
boxShadow: [ children: [
BoxShadow( // "Present".toText13(color: MyColors.greenColor),
color: Colors.grey.withOpacity(0.5), "${getEmployeeSubordinatesList[index].eMPLOYEENAME}".toText16(isBold: true, color: MyColors.grey3AColor),
spreadRadius: 5, "${getEmployeeSubordinatesList[index].pOSITIONNAME}".toText10(isBold: true, color: MyColors.grey57Color),
blurRadius: 26, ],
offset: Offset(0, 3), ).expanded,
), Column(
], children: [
color: Colors.white, IconButton(
borderRadius: BorderRadius.circular(10.0), onPressed: () {
), launchUrl(phoneNumber);
child: Row( },
mainAxisAlignment: MainAxisAlignment.spaceBetween, icon: Icon(
children: [ Icons.whatsapp,
Row( color: Colors.green,
children: [ ),),],
Column( ),],
children: [ ),).objectContainerView();
CircleAvatar( }): Container(
radius: 25, child: LocaleKeys.noResultsFound.tr().toText16(color: MyColors.blackColor),
backgroundImage: MemoryImage(Utils.getPostBytes(getEmployeeSubordinatesList[index].eMPLOYEEIMAGE)), ).paddingOnly(top: 10),
backgroundColor: Colors.black, ],
), )
// MyTeamImage() ));
],
),
SizedBox(
width: 10,
),
Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
"Present".toText13(color: MyColors.greenColor),
"${getEmployeeSubordinatesList[index].eMPLOYEENAME}".toText16(color: MyColors.blackColor),
"${getEmployeeSubordinatesList[index].pOSITIONNAME}".toText13(color: MyColors.blackColor),
],
),
],
),
Column(
children: [
IconButton(
onPressed: () {
launchUrl(phoneNumber);
},
icon: Icon(
Icons.whatsapp,
color: Colors.green,
),
),
],
),
],
),
);
}),
Container(
margin: EdgeInsets.only(top:30),
child: "No Members".toText16(isBold: true, color: MyColors.black),
)
],
),
)
// SizedBox(height: 20),
)
],
),
));
} }
Widget MyTeamImage() => CircleAvatar(
radius: 30,
//backgroundImage: MemoryImage(Utils.getPostBytes(memberInformationList.eMPLOYEEIMAGE)),
backgroundColor: Colors.black,
);
} }

@ -91,7 +91,7 @@ class _ViewAttendanceState extends State<ViewAttendance> {
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "View Attendance", title: LocaleKeys.viewAttendance.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
body: SingleChildScrollView( body: SingleChildScrollView(
@ -99,11 +99,11 @@ class _ViewAttendanceState extends State<ViewAttendance> {
Container( Container(
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 28, top: 21,
left: 18, left: 21,
right: 18, right: 21,
), ),
padding: EdgeInsets.only(left: 16, right: 16, top: 16, bottom: 16), padding: EdgeInsets.only(left: 14, right: 14, top: 15, bottom: 15),
// height: 120, // height: 120,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
@ -120,7 +120,7 @@ class _ViewAttendanceState extends State<ViewAttendance> {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Today's Attendance".toText20(color: MyColors.blackColor), LocaleKeys.todayAttendance.tr().toText16(isBold: true, color: MyColors.darkColor),
SizedBox( SizedBox(
height: 10, height: 10,
), ),
@ -129,20 +129,20 @@ class _ViewAttendanceState extends State<ViewAttendance> {
children: [ children: [
Column( Column(
children: [ children: [
LocaleKeys.checkIn.tr().toText12(isBold: true, color: MyColors.greenColor), LocaleKeys.checkIn.tr().toText10(isBold: true, color: MyColors.green69Color),
"${(attendanceTracking?.pSwipeIn)?? "- - : - -"}".toText16(isBold: true, color: MyColors.grey57Color), "${(attendanceTracking?.pSwipeIn)?? "- - : - -"}".toText14(isBold: true, color: MyColors.grey57Color),
], ],
), ),
Column( Column(
children: [ children: [
LocaleKeys.checkOut.tr().toText12(isBold: true, color: MyColors.redColor), LocaleKeys.checkOut.tr().toText10(isBold: true, color: MyColors.redA3Color),
"${(attendanceTracking?.pSwipeOut)?? "- - : - -"}".toText16(isBold: true, color: MyColors.grey57Color), "${(attendanceTracking?.pSwipeOut)?? "- - : - -"}".toText14(isBold: true, color: MyColors.grey57Color),
], ],
), ),
Column( Column(
children: [ children: [
LocaleKeys.lateIn.tr().toText12(isBold: true, color: MyColors.blackColor), LocaleKeys.lateIn.tr().toText10(isBold: true, color: MyColors.darkGreyColor),
"${(attendanceTracking?.pLateInHours)?? "- - : - -"}".toText16(isBold: true, color: MyColors.grey57Color), "${(attendanceTracking?.pLateInHours)?? "- - : - -"}".toText14(isBold: true, color: MyColors.grey57Color),
], ],
), ),
], ],
@ -179,8 +179,8 @@ class _ViewAttendanceState extends State<ViewAttendance> {
children: [ children: [
Row( Row(
children: [ children: [
"${DateFormat("MMMM-yyyy").format(formattedDate)}".toText16(color: MyColors.blackColor), "${DateFormat("MMMM-yyyy").format(formattedDate)}".toText16(color: MyColors.grey3AColor),
const Icon(Icons.keyboard_arrow_down_rounded, color: MyColors.blackColor), const Icon(Icons.keyboard_arrow_down_rounded, color: MyColors.grey3AColor),
], ],
).onPress(() async { ).onPress(() async {
showMonthPicker( showMonthPicker(
@ -438,10 +438,6 @@ class _ViewAttendanceState extends State<ViewAttendance> {
), ),
), ),
); );
// return Container(
// alignment: Alignment.center,
// child: Text("$val"),
// );
} else { } else {
return const SizedBox(); return const SizedBox();
} }

@ -19,6 +19,7 @@ import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'dart:io'; import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart'; import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart';
import 'package:easy_localization/src/public_ext.dart'; import 'package:easy_localization/src/public_ext.dart';
@ -37,13 +38,12 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
SubmitContactTransactionList? submitContactTransactionList; SubmitContactTransactionList? submitContactTransactionList;
dynamic args; dynamic args;
String? date = "MM/DD/YYYY"; String? date = "MM/DD/YYYY";
// String actionType = "UPDATE";
GetApprovesList? getApprovesList; GetApprovesList? getApprovesList;
@override @override
void initState() { void initState() {
//
super.initState(); super.initState();
} }
@ -89,15 +89,12 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (args == null) { if (args == null) {
args = ModalRoute.of(context)!.settings.arguments; args = ModalRoute.of(context)!.settings.arguments;
callAddAndUpdateFamilyMember(); callAddAndUpdateFamilyMember();}
}
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: LocaleKeys.profile_familyDetails.tr(), title: LocaleKeys.profile_familyDetails.tr(),),
),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(),
body: args['flag'] == 1 body: args['flag'] == 1
? Column( ? Column(
children: [ children: [
@ -128,9 +125,11 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
separatorBuilder: (cxt, index) => 0.height, separatorBuilder: (cxt, index) => 0.height,
itemCount: getContactDffStructureList!.length), itemCount: getContactDffStructureList!.length),
]).expanded, ]).expanded,
SizedBox( DefaultButton(
height: 50, LocaleKeys.next.tr(), () async {
), submitUpdateForm();
}
).insideContainer,
], ],
) )
: args['flag'] == 2 : args['flag'] == 2
@ -165,9 +164,11 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
separatorBuilder: (cxt, index) => 0.height, separatorBuilder: (cxt, index) => 0.height,
itemCount: getContactDffStructureList!.length), itemCount: getContactDffStructureList!.length),
]).expanded, ]).expanded,
SizedBox( DefaultButton(
height: 50, LocaleKeys.next.tr(), () async {
), submitUpdateForm();
}
).insideContainer,
], ],
) )
: Container(), : Container(),
@ -405,7 +406,6 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson();
}).toList(); }).toList();
List<Map<String, dynamic>> values2 = getContactDffStructureList!.map((e) { List<Map<String, dynamic>> values2 = getContactDffStructureList!.map((e) {
//String tempVar = e!.getContactDetailsList!.vARCHAR2VALUE ?? "";
String? dateVal = ''; String? dateVal = '';
String? vatcherVal = ''; String? vatcherVal = '';
int? numberVal; int? numberVal;

@ -6,6 +6,7 @@ import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.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/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
@ -43,7 +44,6 @@ class _BasicDetailsState extends State<BasicDetails> {
menuEntries = menuData.where((e) => e.requestType == 'BASIC_DETAILS').toList()[0]; menuEntries = menuData.where((e) => e.requestType == 'BASIC_DETAILS').toList()[0];
getEmployeeBasicDetails(); getEmployeeBasicDetails();
basicDetails();
} }
void getEmployeeBasicDetails() async { void getEmployeeBasicDetails() async {
@ -51,7 +51,6 @@ class _BasicDetailsState extends State<BasicDetails> {
Utils.showLoading(context); Utils.showLoading(context);
getEmployeeBasicDetailsList = await ProfileApiClient().getEmployeeBasicDetails(); getEmployeeBasicDetailsList = await ProfileApiClient().getEmployeeBasicDetails();
Utils.hideLoading(context); Utils.hideLoading(context);
basicDetails();
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
Utils.hideLoading(context); Utils.hideLoading(context);
@ -59,23 +58,6 @@ class _BasicDetailsState extends State<BasicDetails> {
} }
} }
void basicDetails() {
for (int i = 0; i < getEmployeeBasicDetailsList.length; i++) {
if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'FULL_NAME') {
fullName = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'MARITAL_STATUS') {
maritalStatus = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'DATE_OF_BIRTH') {
birthDate = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'NATIONAL_IDENTIFIER') {
civilIdentityNumber = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'EMAIL_ADDRESS') {
emailAddress = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'EMPLOYEE_NUMBER') {
employeeNo = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
}
}
}
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -84,69 +66,54 @@ class _BasicDetailsState extends State<BasicDetails> {
title: LocaleKeys.profile_basicDetails.tr(), title: LocaleKeys.profile_basicDetails.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(),
body: Column( body: Column(
children: [ children: [
Container( Expanded(
width: double.infinity, child: Column(
margin: EdgeInsets.only(top: 20, left: 21, right: 21, bottom: 20), crossAxisAlignment: CrossAxisAlignment.start,
padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 5), children: [
height: 280, Container(
decoration: BoxDecoration( width: double.infinity,
boxShadow: [ margin: EdgeInsets.only(top: 20, left: 21, right: 21, bottom: 20),
BoxShadow( padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 5),
color: Colors.grey.withOpacity(0.5), height: 300,
spreadRadius: 5, decoration: BoxDecoration(
blurRadius: 26, boxShadow: [
offset: Offset(0, 3), BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 26,
offset: Offset(0, 3),
),
],
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: getEmployeeBasicDetailsList.map((e) =>
Column(
children: [
e.dISPLAYFLAG == "Y" ? Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
"${e.sEGMENTPROMPT}".toText13(color: MyColors.lightGrayColor),
"${e.sEGMENTVALUEDSP}".toText16(isBold: true, color: MyColors.blackColor),
SizedBox(height: 12,)
]): Container(),
],
)).toList()),
), ),
], ],
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
), ),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
LocaleKeys.fullName.tr().toText13(color: MyColors.lightGrayColor),
"$fullName".toText16(isBold: true, color: MyColors.blackColor),
SizedBox(
height: 20,
),
LocaleKeys.maritalStatus.tr().toText13(color: MyColors.lightGrayColor),
"$maritalStatus".toText16(isBold: true, color: MyColors.blackColor),
SizedBox(
height: 20,
),
LocaleKeys.dateOfBirth.tr().toText13(color: MyColors.lightGrayColor),
"$birthDate".toText16(isBold: true, color: MyColors.blackColor),
SizedBox(
height: 20,
),
LocaleKeys.civilIdentityNumber.tr().toText13(color: MyColors.lightGrayColor),
"$civilIdentityNumber".toText16(isBold: true, color: MyColors.blackColor),
]),
), ),
DefaultButton(
LocaleKeys.update.tr(),
menuEntries.updateButton == 'Y' ? () async {
showAlertDialog(context);}
: null).insideContainer,
], ],
)); ));
} }
Widget footer() {
return Container(
decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(10),
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(
LocaleKeys.update.tr(),
menuEntries.updateButton == 'Y'
? () async {
showAlertDialog(context);
}
: null)
.insideContainer,
);
}
void showAlertDialog(BuildContext context) { void showAlertDialog(BuildContext context) {
Widget cancelButton = TextButton( Widget cancelButton = TextButton(

@ -134,7 +134,7 @@ class _ContactDetailsState extends State<ContactDetails> {
])) ]))
.toList()) .toList())
])), ])),
Container( Container(
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 20, top: 20,

@ -12,6 +12,7 @@ import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'dart:io'; import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart'; import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart';
class DeleteFamilyMember extends StatefulWidget { class DeleteFamilyMember extends StatefulWidget {
@ -66,25 +67,29 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
title: LocaleKeys.profile_familyDetails.tr(), title: LocaleKeys.profile_familyDetails.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(),
body: Column( body: Column(
children: [ children: [
DynamicTextFieldWidget( Expanded(
LocaleKeys.endDate.tr(), date.toString(), child: Column(
// suffixIconData: Icons.calendar_today, crossAxisAlignment: CrossAxisAlignment.start,
isEnable: false, children: [
onTap: () async { DynamicTextFieldWidget(
DateTime dateValue = await _selectDate(context); LocaleKeys.endDate.tr(), date.toString(),
// DateTime date1 = DateTime(dateValue.year, dateValue.month, dateValue.day); isEnable: false,
date = DateFormat('yyyy/MM/dd').format(dateValue); onTap: () async {
datePar = DateFormat('yyyy/MM/dd hh:mm:ss').format(dateValue); DateTime dateValue = await _selectDate(context);
setState(() {}); date = DateFormat('yyyy/MM/dd').format(dateValue);
// if (date !=null) { datePar = DateFormat('yyyy/MM/dd hh:mm:ss').format(dateValue);
// print(datePar); setState(() {});
// deleteFamilyMember(datePar); },
// } ).paddingOnly(bottom: 12),
}, ],
).paddingOnly(bottom: 12) ),
),
DefaultButton(
LocaleKeys.next.tr(), () async {
deleteFamilyMember(datePar);}
).insideContainer,
], ],
)); ));
} }

@ -34,7 +34,6 @@ class _FamilyMembersState extends State<FamilyMembers> {
super.initState(); super.initState();
List<GetMenuEntriesList> menuData = Provider.of<DashboardProviderModel>(context, listen: false).getMenuEntriesList!; List<GetMenuEntriesList> menuData = Provider.of<DashboardProviderModel>(context, listen: false).getMenuEntriesList!;
menuEntries = menuData.where((GetMenuEntriesList e) => e.requestType == 'CONTACT').toList()[0]; menuEntries = menuData.where((GetMenuEntriesList e) => e.requestType == 'CONTACT').toList()[0];
setState(() {});
getEmployeeContacts(); getEmployeeContacts();
} }
@ -57,196 +56,164 @@ class _FamilyMembersState extends State<FamilyMembers> {
title: LocaleKeys.profile_familyDetails.tr(), title: LocaleKeys.profile_familyDetails.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(), body: Column(
body: Container( children: [
width: MediaQuery.of(context).size.width, Expanded(
child: getEmployeeContactsList.length != 0 child: getEmployeeContactsList.length != 0
? SingleChildScrollView( ? SingleChildScrollView(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
child: Column( child: ListView.builder(
children: <Widget>[
ListView.builder(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
physics: ScrollPhysics(), physics: ScrollPhysics(),
itemCount: getEmployeeContactsList.length, itemCount: getEmployeeContactsList.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Container( return Container(
child: Column( width: double.infinity,
children: [ margin: EdgeInsets.only(
Container( top: 20,
width: double.infinity, left: 21,
margin: EdgeInsets.only( right: 21,
top: 20, ),
left: 21, padding: EdgeInsets.only(
right: 21, left: 14,
right: 14,
top: 13,
),
height: 110,
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 26,
offset: Offset(0, 3),
), ),
padding: EdgeInsets.only( ],
left: 14, color: MyColors.whiteColor,
right: 14, borderRadius: BorderRadius.circular(10.0),
top: 13, ),
), child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
height: 110, "${getEmployeeContactsList[index].cONTACTNAME}".toText16(isBold: true, color: MyColors.grey3AColor),
decoration: BoxDecoration( "${getEmployeeContactsList[index].rELATIONSHIP}".toText11(isBold: true, color: MyColors.textMixColor),
boxShadow: [ SizedBox(
BoxShadow( height: 5,
color: Colors.grey.withOpacity(0.5), ),
spreadRadius: 5, Divider(
blurRadius: 26, color: MyColors.lightGreyEFColor,
offset: Offset(0, 3), height: 20,
), thickness: 1,
], indent: 0,
color: Colors.white, endIndent: 0,
borderRadius: BorderRadius.circular(10.0), ),
), Row(
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
"${getEmployeeContactsList[index].cONTACTNAME}".toText16(color: MyColors.blackColor), children: <Widget>[
"${getEmployeeContactsList[index].rELATIONSHIP}".toText11(isBold: true, color: MyColors.textMixColor), Container(
SizedBox( child: menuEntries.updateButton == 'Y'
height: 5, ? InkWell(
), onTap: () async{
Divider( relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt();
color: MyColors.lightGreyEFColor, showUpdateAlertDialog(context, relationId!.toInt(), 2, LocaleKeys.update.tr());
height: 20, },
thickness: 1, child: RichText(
indent: 0, text: TextSpan(
endIndent: 0, children: [
), WidgetSpan(
Row( child: Icon(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, Icons.edit,
children: <Widget>[ size: 15,
Container( color: MyColors.grey67Color,
child: menuEntries.updateButton == 'Y' ),
? InkWell(
onTap: () async{
relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt();
showUpdateAlertDialog(context, relationId!.toInt(), 2, LocaleKeys.update.tr());
},
child: RichText(
text: TextSpan(
children: [
WidgetSpan(
child: Icon(
Icons.edit,
size: 15,
color: MyColors.grey67Color,
),
),
TextSpan(
text: LocaleKeys.update.tr(),
style: TextStyle(
color: MyColors.grey67Color,
fontSize: 12,
fontWeight: FontWeight.bold,
),
),
],
), ),
), TextSpan(
) text: LocaleKeys.update.tr(),
: RichText( style: TextStyle(
text: TextSpan( color: MyColors.grey67Color,
children: [ fontSize: 12,
WidgetSpan( fontWeight: FontWeight.bold,
child: Icon(
Icons.edit,
size: 15,
color: MyColors.lightGreyColor,
),
),
TextSpan(
text: LocaleKeys.update.tr(),
style: TextStyle(
color: MyColors.lightGreyColor,
fontSize: 12,
fontWeight: FontWeight.bold,
),
),
],
), ),
) ),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: SizedBox(
child: Container(
width: 3,
color: MyColors.lightGreyEFColor,
), ),
), ],
), ),
Container( ),
child: InkWell( )
onTap: () { : RichText(
relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt(); text: TextSpan(
showRemoveAlertDialog(context, relationId!.toInt()); children: [
}, WidgetSpan(
child: RichText( child: Icon(
text: TextSpan( Icons.edit,
children: [ size: 15,
WidgetSpan( color: MyColors.lightGreyColor,
child: Icon(
Icons.delete,
size: 15,
color: Color(0x99FF0000),
),
), ),
TextSpan( ),
text: LocaleKeys.remove.tr(), TextSpan(
style: TextStyle( text: LocaleKeys.update.tr(),
color: MyColors.DarkRedColor, style: TextStyle(
fontSize: 12, color: MyColors.lightGreyColor,
fontWeight: FontWeight.bold, fontSize: 12,
), fontWeight: FontWeight.bold,
), ),
], ),
), ],
), ),
)), ) ),
// ElevatedButton.icon( Padding(
// icon: Icon( padding: const EdgeInsets.symmetric(horizontal: 8),
// Icons.delete, child: SizedBox(
// size: 15, child: Container(
// color: Color(0x99FF0000), width: 3,
// ), color: MyColors.lightGreyEFColor,
// style: ElevatedButton.styleFrom( ),
// shadowColor: Colors.white, ),
// primary: Colors.white,
// ),
// label: "remove".toText12(color: MyColors.DarkRedColor),
// onPressed: (){},
// ),
],
), ),
]), Container(
child: InkWell(
onTap: () {
relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt();
showRemoveAlertDialog(context, relationId!.toInt());
},
child: RichText(
text: TextSpan(
children: [
WidgetSpan(
child: Icon(
Icons.delete,
size: 15,
color: MyColors.redColor,
),
),
TextSpan(
text: LocaleKeys.remove.tr(),
style: TextStyle(
color: MyColors.redColor,
fontSize: 12,
fontWeight: FontWeight.bold,
),
),
],
),
),
)),
],
), ),
], ]),
)); );
}) }),
], )
), : Container(),
) ),
: Container(), DefaultButton(
// SizedBox(height: 20), LocaleKeys.addNewFamilyMember.tr(), () async {
Navigator.pushNamed(context, AppRoutes.addUpdateFamilyMember, arguments: {"relationID": relationId, "flag": 1, "actionType": "ADD"});
ProfileScreen();
}
).insideContainer,
],
)); ));
} }
Widget footer() {
return Container(
decoration: BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(
LocaleKeys.addNewFamilyMember.tr(), () async {
Navigator.pushNamed(context, AppRoutes.addUpdateFamilyMember, arguments: {"relationID": relationId, "flag": 1, "actionType": "ADD"});
ProfileScreen();
}
)
.insideContainer,
);
}
void showUpdateAlertDialog(BuildContext context, int relationId, int flag, String actionType) { void showUpdateAlertDialog(BuildContext context, int relationId, int flag, String actionType) {
Widget cancelButton = TextButton( Widget cancelButton = TextButton(
@ -323,7 +290,5 @@ class _FamilyMembersState extends State<FamilyMembers> {
); );
} }
// void continueDynamicForms() {
// Navigator.pushNamed(context, AppRoutes.addDynamicInputProfile, arguments: DynamicFamilyMembersParams(LocaleKeys.profile_familyDetails.tr(), getEmployeeContactsList: getEmployeeContactsList));
// }
} }

@ -2,7 +2,6 @@
import 'package:easy_localization/src/public_ext.dart'; import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart'; import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
@ -10,7 +9,6 @@ import 'package:mohem_flutter_app/config/routes.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/models/generic_response_model.dart';
import 'package:mohem_flutter_app/models/get_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/get_user_item_type_list.dart';
import 'package:mohem_flutter_app/models/update_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/update_user_item_type_list.dart';
import 'package:mohem_flutter_app/models/worklist/update_user_type_list.dart'; import 'package:mohem_flutter_app/models/worklist/update_user_type_list.dart';
@ -46,13 +44,11 @@ class _WorklistSettingsState extends State<WorklistSettings> {
} }
} }
void updateUserItem() async { void updateUserItem() async {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
List<Map<String, dynamic>> itemList=[]; List<Map<String, dynamic>> itemList=[];
for (var element in getUserItemTypesList) { for (var element in getUserItemTypesList) {
itemList.add(UpdateUserTypesList(itemID: element.uSERITEMTYPEID, pITEMTYPE: element.iTEMTYPE,pFYAENABLEDFALG: element.fYAENABLEDFALG, pFYIENABLEDFALG: element.fYIENABLEDFLAG).toJson()); itemList.add(UpdateUserTypesList(itemID: element.uSERITEMTYPEID, pITEMTYPE: element.iTEMTYPE,pFYAENABLEDFALG: element.fYAENABLEDFALG, pFYIENABLEDFALG: element.fYIENABLEDFLAG).toJson());
} }
@ -66,86 +62,71 @@ class _WorklistSettingsState extends State<WorklistSettings> {
} }
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold(backgroundColor: Colors.white, return Scaffold(backgroundColor: Colors.white,
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "Worklist Settings", title: LocaleKeys.worklistSettings.tr(),
), ),
body:Container( body:Column(
margin: const EdgeInsets.only(top: 21, left: 21, right: 21), children: [
child: Column( Expanded(
crossAxisAlignment: CrossAxisAlignment.start, child: Container(
children: [ margin: const EdgeInsets.only(top: 21, left: 21, right: 21),
Container( child: Column(
child: "Turn on notifications for".tr().toText22(color: MyColors.blackColor), crossAxisAlignment: CrossAxisAlignment.start,
).paddingOnly(top: 10, bottom: 50), children: [
Row( Container(
mainAxisAlignment: MainAxisAlignment.spaceBetween, child: LocaleKeys.TurnNotificationsFor.tr().toText22(color: MyColors.blackColor),
children: [ ).paddingOnly(top: 10, bottom: 50),
Container( Row(
child: "Item Type".tr().toText14(color: MyColors.blackColor) , mainAxisAlignment: MainAxisAlignment.spaceBetween,
), children: [
Row( Container(
mainAxisAlignment: MainAxisAlignment.spaceAround, child: LocaleKeys.itemType.tr().toText14(color: MyColors.blackColor) ,
children: [ ),
Container( Row(
child: "FYA".tr().toText14(color: MyColors.blackColor) , mainAxisAlignment: MainAxisAlignment.spaceAround,
), children: [
Container( Container(
child: "FYI".tr().toText14(color: MyColors.blackColor) , child: "FYA".tr().toText14(color: MyColors.blackColor) ,
).paddingOnly(left: 30, right: 30), ),
], Container(
) child: "FYI".tr().toText14(color: MyColors.blackColor) ,
], ).paddingOnly(left: 30, right: 30),
), ],
Divider( )
color: MyColors.greyA5Color, ],
),
Divider(color: MyColors.greyA5Color,),
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: ScrollPhysics(),
itemCount: getUserItemTypesList == null ? 0 : getUserItemTypesList.length,
itemBuilder: (BuildContext context,int index) {
return Column(
children:[
customSwitch(getUserItemTypesList[index]),
Divider(
color: MyColors.greyC4Color,
thickness: 0.5,),
]);
}
),
),
],
),
), ),
Container(
width: MediaQuery.of(context).size.width,
child: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: ScrollPhysics(),
itemCount: getUserItemTypesList == null ? 0 : getUserItemTypesList.length,
itemBuilder: (BuildContext context,int index) {
return Container(
child: Column(
children:[
customSwitch(getUserItemTypesList[index]),
]
), ),
); DefaultButton(
} LocaleKeys.save.tr(), () async {
), updateUserItem();
) }).insideContainer,
),
SizedBox(
height: 30,
),
Container(
decoration: BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
], ],
),
child: DefaultButton(
LocaleKeys.submit.tr(), () async {
updateUserItem();
}
)
.insideContainer,
),
],
),
) )
); );

Loading…
Cancel
Save