dynamic forms finalized & improvements

merge-requests/1/merge
Sikander Saleem 3 years ago
parent 48de28c0b3
commit 68146ecd97

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 161.9 115.9" style="enable-background:new 0 0 161.9 115.9;" xml:space="preserve">
viewBox="0 0 161.9 115.9" style="enable-background:new 0 0 161.9 115.9;" xml:space="preserve">
<style type="text/css"> <style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);} .st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
@ -9,54 +8,51 @@
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000167385588366204257280000005677836094560819131_);} .st3{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000167385588366204257280000005677836094560819131_);}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000030484853887028042530000009742356117098638990_);} .st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000030484853887028042530000009742356117098638990_);}
</style> </style>
<g id="Layer_2_00000008146416357898561640000016925561153751568014_"> <g id="Layer_2_00000008146416357898561640000016925561153751568014_">
<g id="Cover_Page"> <g id="Cover_Page">
<path class="st0" d="M23.5,110.2h4.3v-27h-5L14,95.9L5,83.2H0v27h4.3V89.5l9.1,12.8h0.9l9.2-12.8V110.2z"/> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="55.98" y1="-10.0986"
<path class="st0" d="M41.2,90.8c-5.5,0-9.9,4.4-9.9,9.9c0,5.5,4.4,9.9,9.9,9.9c5.2,0.2,9.7-3.8,9.9-9c0-0.3,0-0.6,0-0.9 x2="163.1928" y2="72.1628" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
c0.2-5.3-4-9.7-9.3-9.9C41.6,90.8,41.4,90.8,41.2,90.8z M41.2,94.4c3.3,0.1,5.9,2.8,5.9,6.1c0,0.1,0,0.1,0,0.2 <stop offset="0" style="stop-color:#0086C8" />
c0.2,3.2-2.3,6-5.6,6.1c-3.2,0.2-6-2.3-6.1-5.6c0-0.2,0-0.4,0-0.6c-0.2-3.2,2.2-6,5.4-6.2C40.9,94.4,41,94.4,41.2,94.4z"/> <stop offset="1" style="stop-color:#C1D967" />
<path class="st0" d="M54.2,83.1v27.1h4v-9.9c-0.2-3,2.1-5.5,5-5.7c0.1,0,0.2,0,0.2,0c2.9,0,4.8,1.8,4.8,5.4v10.2h4V99.9
c0-5.5-2.5-9.1-7.8-9.1c-2.5-0.1-4.8,1.1-6.2,3.1V83.1H54.2z"/>
<path class="st0" d="M94.8,102.2c0.7-7.8-3.4-11.5-9.6-11.5c-5.3-0.2-9.8,3.9-10,9.2c0,0.3,0,0.5,0,0.8c0,6.1,4,10.1,10.3,10.1
c3.1,0.1,6-1.1,8.2-3.3l-2.6-2.5c-1.5,1.4-3.5,2.1-5.5,2.1c-3.5,0-5.9-1.9-6.2-4.8L94.8,102.2z M79.4,98.8
c0.5-2.8,3.1-4.8,5.9-4.6c3.2,0,5.4,1.6,5.7,4.6H79.4z"/>
<path class="st0" d="M114.9,110.2V99.8c-0.2-2.6,1.7-4.9,4.3-5.1c0.1,0,0.2,0,0.3,0c2.8,0,4.2,2.2,4.2,5.1v10.5h4V99.7
c0-5.5-2.8-8.8-8.1-8.8c-2.7-0.1-5.3,1.3-6.5,3.8c-0.9-2.5-3.4-4-6-3.8c-2.2-0.1-4.2,1-5.3,2.9l-0.3-2.6h-3.7v19.1h4V99.8
c0-2.8,1.8-5.2,4.6-5.2c2.8,0,4.4,2.4,4.4,5.2v10.5H114.9z"/>
<path class="st0" d="M149,110.2V99.8c-0.2-2.6,1.7-4.9,4.4-5.1c0.1,0,0.2,0,0.3,0c2.8,0,4.2,2.2,4.2,5.1v10.5h4V99.7
c0-5.5-2.8-8.8-8.1-8.8c-2.7-0.1-5.3,1.3-6.5,3.8c-0.9-2.4-3.3-4-6-3.8c-2.2-0.1-4.2,1-5.3,2.9l-0.3-2.6h-3.8v19.1h4V99.8
c0-2.8,1.8-5.2,4.6-5.2c2.8,0,4.4,2.4,4.4,5.2v10.5H149z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="55.98" y1="-10.0986" x2="163.1928" y2="72.1628" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8"/>
<stop offset="1" style="stop-color:#C1D967"/>
</linearGradient> </linearGradient>
<path class="st1" d="M117.4,20.5c-4.2,0-7.6-3.4-7.6-7.6c0-4.2,3.4-7.6,7.6-7.6c4.2,0,7.6,3.4,7.6,7.6c0,0,0,0,0,0 <path class="st1" d="M117.4,20.5c-4.2,0-7.6-3.4-7.6-7.6c0-4.2,3.4-7.6,7.6-7.6c4.2,0,7.6,3.4,7.6,7.6c0,0,0,0,0,0
C125,17.1,121.6,20.5,117.4,20.5z"/> C125,17.1,121.6,20.5,117.4,20.5z" />
<linearGradient id="SVGID_00000026872133431724139420000015295225800217450885_" gradientUnits="userSpaceOnUse" x1="72.1783" y1="-15.2775" x2="150.1874" y2="44.584" gradientTransform="matrix(1 0 0 -1 0 49.8898)"> <linearGradient id="SVGID_00000026872133431724139420000015295225800217450885_"
<stop offset="0" style="stop-color:#0086C8"/> gradientUnits="userSpaceOnUse" x1="72.1783" y1="-15.2775" x2="150.1874" y2="44.584"
<stop offset="1" style="stop-color:#C1D967"/> gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient> </linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000026872133431724139420000015295225800217450885_);" d=" <path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000026872133431724139420000015295225800217450885_);"
d="
M99.2,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.5c0,0.1,0,0.1,0,0.2v8.6C100.7,61,109,64,114.4,64h1.8V30.8 M99.2,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.5c0,0.1,0,0.1,0,0.2v8.6C100.7,61,109,64,114.4,64h1.8V30.8
C107.1,30.8,99.6,21.8,99.2,12.7z"/> C107.1,30.8,99.6,21.8,99.2,12.7z" />
<linearGradient id="SVGID_00000029033238716987721520000004689211043976606898_" gradientUnits="userSpaceOnUse" x1="54.3473" y1="-8.6399" x2="132.3564" y2="51.2215" gradientTransform="matrix(1 0 0 -1 0 49.8898)"> <linearGradient id="SVGID_00000029033238716987721520000004689211043976606898_"
<stop offset="0" style="stop-color:#0086C8"/> gradientUnits="userSpaceOnUse" x1="54.3473" y1="-8.6399" x2="132.3564" y2="51.2215"
<stop offset="1" style="stop-color:#C1D967"/> gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient> </linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000029033238716987721520000004689211043976606898_);" d=" <path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000029033238716987721520000004689211043976606898_);"
d="
M72.8,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C74.2,61,82.5,64,87.9,64h1.8V30.8 M72.8,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C74.2,61,82.5,64,87.9,64h1.8V30.8
C80.6,30.8,73.1,21.8,72.8,12.7z"/> C80.6,30.8,73.1,21.8,72.8,12.7z" />
<linearGradient id="SVGID_00000113332780290425602090000015103686907198383032_" gradientUnits="userSpaceOnUse" x1="36.5148" y1="-2.0006" x2="114.524" y2="57.8471" gradientTransform="matrix(1 0 0 -1 0 49.8898)"> <linearGradient id="SVGID_00000113332780290425602090000015103686907198383032_"
<stop offset="0" style="stop-color:#0086C8"/> gradientUnits="userSpaceOnUse" x1="36.5148" y1="-2.0006" x2="114.524" y2="57.8471"
<stop offset="1" style="stop-color:#C1D967"/> gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient> </linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000113332780290425602090000015103686907198383032_);" d=" <path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000113332780290425602090000015103686907198383032_);"
d="
M46.3,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C47.7,61,56,64,61.4,64h1.8V30.8 M46.3,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C47.7,61,56,64,61.4,64h1.8V30.8
C54.1,30.8,46.6,21.8,46.3,12.7z"/> C54.1,30.8,46.6,21.8,46.3,12.7z" />
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:mohem_flutter_app/api/api_client.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/consts.dart'; import 'package:mohem_flutter_app/classes/consts.dart';
import 'package:mohem_flutter_app/models/generic_response_model.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart';
@ -9,8 +10,6 @@ import 'package:mohem_flutter_app/models/get_eit_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart'; import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart';
import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart';
import 'package:mohem_flutter_app/api/api_client.dart';
class MyAttendanceApiClient { class MyAttendanceApiClient {
static final MyAttendanceApiClient _instance = MyAttendanceApiClient._internal(); static final MyAttendanceApiClient _instance = MyAttendanceApiClient._internal();
@ -83,12 +82,8 @@ class MyAttendanceApiClient {
"P_MENU_TYPE": "E", "P_MENU_TYPE": "E",
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode, "P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName, "P_FUNCTION_NAME": pFunctionName,
// "EITTransactionTBL": list, "EITTransactionTBL": list,
}; };
print(postParams);
postParams["EITTransactionTBL"] =list;
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
@ -103,13 +98,10 @@ class MyAttendanceApiClient {
"P_MENU_TYPE": "E", "P_MENU_TYPE": "E",
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode, "P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName, "P_FUNCTION_NAME": pFunctionName,
//"EITTransactionTBL": list, "EITTransactionTBL": list,
// "EITTransactionTBLModel": list, "EITTransactionTBLModel": list,
}; };
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
print("postParams:$postParams");
postParams["EITTransactionTBL"] = list;
postParams["EITTransactionTBLModel"] = list;
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel responseData = GenericResponseModel.fromJson(json); GenericResponseModel responseData = GenericResponseModel.fromJson(json);
return responseData.submitEITTransactionList!; //ESERVICESDV.fromJson(responseData.getDefaultValueList!.toJson()); return responseData.submitEITTransactionList!; //ESERVICESDV.fromJson(responseData.getDefaultValueList!.toJson());

@ -11,6 +11,8 @@ extension WidgetExtensions on Widget {
Widget get center => Center(child: this); Widget get center => Center(child: this);
Widget circle(double _value) => ClipRRect(borderRadius: BorderRadius.circular(_value), child: this);
Widget paddingAll(double _value) => Padding(padding: EdgeInsets.all(_value), child: this); Widget paddingAll(double _value) => Padding(padding: EdgeInsets.all(_value), child: this);
Widget paddingOnly({double left = 0.0, double right = 0.0, double top = 0.0, double bottom = 0.0}) => Widget paddingOnly({double left = 0.0, double right = 0.0, double top = 0.0, double bottom = 0.0}) =>

@ -3,7 +3,9 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/flutter_countdown_timer.dart'; import 'package:flutter_countdown_timer/flutter_countdown_timer.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.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/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/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
@ -13,7 +15,6 @@ import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/landing/widget/app_drawer.dart'; import 'package:mohem_flutter_app/ui/landing/widget/app_drawer.dart';
import 'package:mohem_flutter_app/ui/landing/widget/menus_widget.dart'; import 'package:mohem_flutter_app/ui/landing/widget/menus_widget.dart';
import 'package:mohem_flutter_app/ui/landing/widget/services_widget.dart'; import 'package:mohem_flutter_app/ui/landing/widget/services_widget.dart';
import 'package:mohem_flutter_app/widgets/circular_avatar.dart';
import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart'; import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -30,6 +31,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
late DashboardProviderModel data; late DashboardProviderModel data;
final GlobalKey<ScaffoldState> _scaffoldState = GlobalKey(); final GlobalKey<ScaffoldState> _scaffoldState = GlobalKey();
int currentIndex = 0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -60,11 +63,19 @@ class _DashboardScreenState extends State<DashboardScreen> {
return Row( return Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
CircularAvatar( Image.memory(
Utils.getPostBytes(
AppState().memberInformationList!.eMPLOYEEIMAGE ?? "",
),
width: 34, width: 34,
height: 34, height: 34,
url: "https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png", fit: BoxFit.cover,
), ).circle(50),
// CircularAvatar(
// width: 34,
// height: 34,
// url: "https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png",
// ),
8.width, 8.width,
SvgPicture.asset("assets/images/side_nav.svg"), SvgPicture.asset("assets/images/side_nav.svg"),
], ],
@ -72,18 +83,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
_scaffoldState.currentState!.openDrawer(); _scaffoldState.currentState!.openDrawer();
}); });
}), }),
Expanded( Image.asset("assets/images/logos/main_mohemm_logo.png", width: 134, height: 28).expanded,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
//AppLogo(),
8.width,
LocaleKeys.mohemm.tr().toText14()
],
),
),
SizedBox( SizedBox(
width: 36, width: 36,
height: 36, height: 36,
@ -104,7 +104,6 @@ class _DashboardScreenState extends State<DashboardScreen> {
), ),
).onPress(() async { ).onPress(() async {
await Navigator.pushNamed(context, AppRoutes.announcements); await Navigator.pushNamed(context, AppRoutes.announcements);
}) })
], ],
).paddingOnly(left: 21, right: 21, top: 48, bottom: 7), ).paddingOnly(left: 21, right: 21, top: 48, bottom: 7),
@ -116,7 +115,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
LocaleKeys.goodMorning.tr().toText14(color: MyColors.grey77Color), LocaleKeys.goodMorning.tr().toText14(color: MyColors.grey77Color),
"Mahmoud Shrouf".toText24(isBold: true), (AppState().memberInformationList!.eMPLOYEENAME ?? "").toText24(isBold: true),
16.height, 16.height,
Row( Row(
children: [ children: [
@ -371,7 +370,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
label: LocaleKeys.itemsForSale.tr(), label: LocaleKeys.itemsForSale.tr(),
), ),
], ],
currentIndex: 0, currentIndex: currentIndex,
selectedLabelStyle: TextStyle( selectedLabelStyle: TextStyle(
fontSize: 8, fontSize: 8,
color: Color(0xff989898), color: Color(0xff989898),
@ -385,7 +384,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
type: BottomNavigationBarType.fixed, type: BottomNavigationBarType.fixed,
selectedItemColor: Colors.black, selectedItemColor: Colors.black,
backgroundColor: Color(0xffF8F8F8), backgroundColor: Color(0xffF8F8F8),
onTap: (v) {}, onTap: (index) {},
), ),
); );
} }

@ -88,9 +88,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson()); values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson()); values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson()); values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
values.forEach((element) {
print(element);
});
genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values); genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values); SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
Utils.hideLoading(context); Utils.hideLoading(context);
@ -105,68 +103,65 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
String descFlexConTextTitle = ""; String descFlexConTextTitle = "";
Future calGetValueSetValues(GetEITDFFStructureList structureList) async { Future calGetValueSetValues(GetEITDFFStructureList structureList) async {
// try { try {
Utils.showLoading(context); Utils.showLoading(context);
String segmentId = structureList.cHILDSEGMENTSVS!; String segmentId = structureList.cHILDSEGMENTSVS!;
if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!; if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!;
List<GetEITDFFStructureList> filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVS == segmentId).toList() ?? [];
List<Map<String, dynamic>> values = filteredList
.map((e) => GetSetValuesRequestModel(
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
.toJson())
.toList();
ESERVICESVS eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
List<GetEITDFFStructureList> abc = genericResponseModel?.getEITDFFStructureList ?? [];
getEitDffStructureList = abc;
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS);
getEitDffStructureList![index].eSERVICESVS!.clear();
getEitDffStructureList![index].eSERVICESVS!.add(eServicesResponseModel);
// getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
//getEitDffStructureList = getEitDffStructureList!.where((element) => element.dISPLAYFLAG != "N").toList();
Utils.hideLoading(context);
setState(() {});
// } catch (ex) {
// Utils.hideLoading(context);
// Utils.handleException(ex, context, null);
// }
}
Future getDefaultValues(GetEITDFFStructureList structureList) async {
// try {
Utils.showLoading(context);
for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
print("segmentId:$segmentId");
print("segmentName:${structureList.sEGMENTNAME}");
GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
List<GetEITDFFStructureList> filteredList =
getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
List<GetEITDFFStructureList> filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVS == segmentId).toList() ?? [];
List<Map<String, dynamic>> values = filteredList List<Map<String, dynamic>> values = filteredList
.map((e) => GetSetValuesRequestModel( .map((e) => GetSetValuesRequestModel(
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME) sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
.toJson()) .toJson())
.toList(); .toList();
print("values:${values.length}"); ESERVICESVS eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
List<Map<String, dynamic>> getSetList = getDefaultValuesIonicLogic(parent); List<GetEITDFFStructureList> abc = genericResponseModel?.getEITDFFStructureList ?? [];
print("getSetList:${getSetList.length}"); getEitDffStructureList = abc;
if (getSetList.isNotEmpty) { int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS);
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList); getEitDffStructureList![index].eSERVICESVS!.clear();
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId); getEitDffStructureList![index].eSERVICESVS!.add(eServicesResponseModel);
getEitDffStructureList![index].eSERVICESDV = defaultValue; // getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
//getEitDffStructureList = getEitDffStructureList!.where((element) => element.dISPLAYFLAG != "N").toList();
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
Future getDefaultValues(GetEITDFFStructureList structureList) async {
try {
Utils.showLoading(context);
for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
List<GetEITDFFStructureList> filteredList =
getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
List<Map<String, dynamic>> values = filteredList
.map((e) => GetSetValuesRequestModel(
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
.toJson())
.toList();
List<Map<String, dynamic>> getSetList = getDefaultValuesIonicLogic(parent);
if (getSetList.isNotEmpty) {
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList);
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
getEitDffStructureList![index].eSERVICESDV = defaultValue;
}
} }
await Future.delayed(const Duration(seconds: 1));
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
} }
await Future.delayed(const Duration(seconds: 1));
Utils.hideLoading(context);
setState(() {});
// } catch (ex) {
// Utils.hideLoading(context);
// Utils.handleException(ex, context, null);
// }
} }
// List<Map<String, dynamic>> calGetValueSetValuesIonicLogic(GetEITDFFStructureList structureElement) { // List<Map<String, dynamic>> calGetValueSetValuesIonicLogic(GetEITDFFStructureList structureElement) {
@ -180,79 +175,80 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
// } // }
List<Map<String, dynamic>> getDefaultValuesIonicLogic(GetEITDFFStructureList structureElement) { List<Map<String, dynamic>> getDefaultValuesIonicLogic(GetEITDFFStructureList structureElement) {
// try { try {
// Utils.showLoading(context); Utils.showLoading(context);
List<PARENTSEGMENTSVSSplitedVS> parentValue = structureElement.pARENTSEGMENTSVSSplitedVS ?? []; List<PARENTSEGMENTSVSSplitedVS> parentValue = structureElement.pARENTSEGMENTSVSSplitedVS ?? [];
List<PARENTSEGMENTSDVSplited> parentsList = structureElement.pARENTSEGMENTSDVSplited ?? []; List<PARENTSEGMENTSDVSplited> parentsList = structureElement.pARENTSEGMENTSDVSplited ?? [];
List<Map<String, dynamic>> dependenciesList = []; List<Map<String, dynamic>> dependenciesList = [];
String? parentVal; String? parentVal;
bool isStandardDate = false; bool isStandardDate = false;
bool isStandardTimeDate = false; bool isStandardTimeDate = false;
bool isStandardTime = false; bool isStandardTime = false;
bool isHidden = false; bool isHidden = false;
bool isReadOnlyList = false; bool isReadOnlyList = false;
bool isSelectElement = false; bool isSelectElement = false;
// isStandardDate = this.isStandardDate(obj); // isStandardDate = this.isStandardDate(obj);
// isStandardTimeDate = this.isStandardDateTime(obj); // isStandardTimeDate = this.isStandardDateTime(obj);
// isStandardTime = this.isStandardTime(obj); // isStandardTime = this.isStandardTime(obj);
if (structureElement.dISPLAYFLAG == "N") isHidden = true; if (structureElement.dISPLAYFLAG == "N") isHidden = true;
if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "Y") { if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "Y") {
isReadOnlyList = true; isReadOnlyList = true;
} }
if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "N") { if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "N") {
isSelectElement = true; isSelectElement = true;
} }
if (parentValue.isNotEmpty && (structureElement.vALIDATIONTYPE == "D" || structureElement.vALIDATIONTYPE == "Y")) { if (parentValue.isNotEmpty && (structureElement.vALIDATIONTYPE == "D" || structureElement.vALIDATIONTYPE == "Y")) {
List parValue = getDependenciesParams(parentValue); List parValue = getDependenciesParams(parentValue);
if (parValue.isNotEmpty) { if (parValue.isNotEmpty) {
parentVal = parValue.first.ID_COLUMN_NAME; parentVal = parValue.first.ID_COLUMN_NAME;
} }
if (parentVal == null) { if (parentVal == null) {
return []; return [];
}
} }
} if (parentsList.isNotEmpty) {
if (parentsList.isNotEmpty) { if (parentValue.isNotEmpty) {
if (parentValue.isNotEmpty) { parentsList = parentsList + parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())).toList();
parentsList = parentsList + parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())).toList(); // parentsList.addAll(parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())));
// parentsList.addAll(parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson()))); // parentsList.concat(parentValue);
// parentsList.concat(parentValue); }
dependenciesList = getDependenciesParams(parentsList);
} }
dependenciesList = getDependenciesParams(parentsList); return dependenciesList;
// for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
// String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
// print("segmentId:$segmentId");
// print("segmentName:${structureList.sEGMENTNAME}");
// GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
// List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
// List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
//
// List<GetEITDFFStructureList> filteredList =
// getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
//
// List<Map<String, dynamic>> values = filteredList
// .map((e) => GetSetValuesRequestModel(
// sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
// .toJson())
// .toList();
// print("values:$values");
//
// ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
// int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
// getEitDffStructureList![index].eSERVICESDV = defaultValue;
// }
// Utils.hideLoading(context);
// setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
return [];
} }
return dependenciesList;
// for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
// String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
// print("segmentId:$segmentId");
// print("segmentName:${structureList.sEGMENTNAME}");
// GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
// List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
// List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
//
// List<GetEITDFFStructureList> filteredList =
// getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
//
// List<Map<String, dynamic>> values = filteredList
// .map((e) => GetSetValuesRequestModel(
// sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
// .toJson())
// .toList();
// print("values:$values");
//
// ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
// int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
// getEitDffStructureList![index].eSERVICESDV = defaultValue;
// }
// Utils.hideLoading(context);
// setState(() {});
// } catch (ex) {
// Utils.hideLoading(context);
// Utils.handleException(ex, context, null);
// }
} }
List<Map<String, dynamic>> getDependenciesParams(parentsList) { List<Map<String, dynamic>> getDependenciesParams(parentsList) {
@ -579,13 +575,14 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
isReadOnly: model.rEADONLY == "Y", 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), if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
], ],
onSelected: (int popipIndex) async { onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv = ESERVICESDV( ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
pRETURNMSG: "null", pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![popipIndex].dEFAULTVALUE, pRETURNSTATUS: "null", //getEitDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME); pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getEitDffStructureList![index].eSERVICESDV = eservicesdv; getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {}); setState(() {});
@ -612,14 +609,12 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
isReadOnly: model.rEADONLY == "Y", 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), if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(value: i, child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!)),
], ],
onSelected: (int popipIndex) async { onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv = ESERVICESDV( ESERVICESDV eservicesdv =
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, ESERVICESDV(pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", pRETURNSTATUS: "null", pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getEitDffStructureList![index].eSERVICESDV = eservicesdv; getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {}); setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {

@ -1,19 +1,26 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
class AppLogo extends StatelessWidget { class AppLogo extends StatelessWidget {
AppLogo({Key? key}) : super(key: key); AppLogo({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// TODO: implement build return Row(
return Row(children: [ children: [
SvgPicture.asset( SvgPicture.asset(
"assets/mohemm_logo.svg", "assets/mohemm_logo.svg",
height: 100, height: 48,
width: 100, width: 48,
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
), ),
],); 8.width,
LocaleKeys.mohemm.tr().toText14()
],
);
} }
} }

Loading…
Cancel
Save