Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sai Srinivas
GEN_ERP_2025
Commits
eadb9dd9
Commit
eadb9dd9
authored
May 20, 2025
by
Sai Srinivas
Browse files
20-05-2025 By Sai Srinivas
Common Module complete
parent
e54f0aeb
Changes
45
Expand all
Hide whitespace changes
Inline
Side-by-side
lib/Notifiers/commonProvider/accountDetailsProvider.dart
0 → 100644
View file @
eadb9dd9
import
'package:flutter/foundation.dart'
;
import
'package:generp/Notifiers/HomeScreenNotifier.dart'
;
import
'package:generp/services/api_calling.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Models/commonModels/commonAccountdetailsResponse.dart'
;
class
Accountdetailsprovider
extends
ChangeNotifier
{
AccountDetails
_accountDetails
=
AccountDetails
();
List
<
LedgerList
>
_ledgerList
=
[];
AccountDetails
get
accountDetails
=>
_accountDetails
;
List
<
LedgerList
>
get
ledgerList
=>
_ledgerList
;
double
totalCredit
=
0.0
;
double
totalDebit
=
0.0
;
double
totalRunningBalance
=
0.0
;
List
<
double
>
runningBalances
=
[];
Future
<
void
>
accountdetailsAPIFunction
(
context
,
accountID
)
async
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
final
data
=
await
ApiCalling
.
commonAccountDetailsAPI
(
prov
.
empId
,
prov
.
session
,
accountID
);
if
(
data
!=
null
){
if
(
data
.
error
==
"0"
){
_accountDetails
=
data
.
accountDetails
!;
_ledgerList
=
data
.
ledgerList
!;
for
(
var
item
in
_ledgerList
)
{
double
credit
=
double
.
tryParse
(
item
.
creditAmount
.
toString
())
??
0
;
double
debit
=
double
.
tryParse
(
item
.
debitAmount
.
toString
())
??
0
;
totalCredit
=
0.0
;
totalDebit
=
0.0
;
totalRunningBalance
=
0.0
;
runningBalances
=
[];
totalCredit
+=
credit
;
totalDebit
+=
debit
;
totalRunningBalance
+=
(
debit
-
credit
);
runningBalances
.
add
(
totalRunningBalance
);
}
notifyListeners
();
}
}
}
catch
(
e
,
s
){
}
}
Map
<
String
,
List
<
LedgerList
>>
groupByDate
(
List
<
LedgerList
>
list
)
{
Map
<
String
,
List
<
LedgerList
>>
grouped
=
{};
for
(
var
item
in
list
)
{
String
date
=
item
.
createdDatetime
!;
if
(!
grouped
.
containsKey
(
date
))
{
grouped
[
date
]
=
[];
}
grouped
[
date
]!.
add
(
item
);
}
return
grouped
;
}
}
\ No newline at end of file
lib/Notifiers/commonProvider/accountLedgerProvider.dart
0 → 100644
View file @
eadb9dd9
import
'package:flutter/foundation.dart'
;
import
'package:generp/Models/commonModels/commonAccountLedgerFilterResponse.dart'
;
import
'package:generp/Models/commonModels/commonAccountLedgerResponse.dart'
;
import
'package:generp/Notifiers/HomeScreenNotifier.dart'
;
import
'package:generp/services/api_calling.dart'
;
import
'package:provider/provider.dart'
;
class
Accountledgerprovider
extends
ChangeNotifier
{
List
<
Accounts
>
_accounts
=
[];
List
<
LedgerList
>
_ledgerList
=
[];
AccountDetails
_accountDetails
=
AccountDetails
();
Accounts
?
_selectedAccount
;
String
_selectedAcID
=
""
;
String
_selectedAcVal
=
""
;
bool
_isLoading
=
true
;
bool
get
isLoading
=>
_isLoading
;
List
<
Accounts
>
get
accounts
=>
_accounts
;
List
<
LedgerList
>
get
ledgerList
=>
_ledgerList
;
AccountDetails
get
acDetails
=>
_accountDetails
;
Accounts
?
get
selectedAccount
=>
_selectedAccount
;
String
get
selectedAcId
=>
_selectedAcID
;
String
get
selectedAcVal
=>
_selectedAcVal
;
set
accounts
(
List
<
Accounts
>
value
){
_accounts
=
value
;
notifyListeners
();
}
set
selectedAccount
(
Accounts
?
value
){
_selectedAccount
=
value
;
_selectedAcID
=
value
!.
id
!;
_selectedAcVal
=
value
!.
name
!;
notifyListeners
();
}
set
selectedAcId
(
String
value
){
_selectedAcID
=
value
;
notifyListeners
();
}
set
selectedAcVal
(
String
value
){
_selectedAcVal
=
value
;
notifyListeners
();
}
// Reset all values
void
resetAll
()
{
_selectedAccount
=
null
;
_selectedAcID
=
""
;
_accounts
=
[];
_ledgerList
=
[];
notifyListeners
();
// Notify UI to update
}
Future
<
void
>
dropDownAPI
(
context
)
async
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
final
data
=
await
ApiCalling
.
commonAccountLedgerDropDownAPI
(
prov
.
empId
,
prov
.
session
);
if
(
data
!=
null
){
if
(
data
.
error
==
"0"
){
_accounts
=
data
.
accounts
!;
notifyListeners
();
}
}
}
catch
(
e
,
s
){
}
}
Future
<
void
>
ledgerlistAPI
(
context
)
async
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
_ledgerList
.
clear
();
_isLoading
=
true
;
notifyListeners
();
final
data
=
await
ApiCalling
.
commonAccountLedgerListAPI
(
prov
.
empId
,
prov
.
session
,
selectedAcId
);
if
(
data
!=
null
){
if
(
data
.
error
==
"0"
){
_isLoading
=
false
;
_ledgerList
=
data
.
ledgerList
!;
_accountDetails
=
data
.
accountDetails
!;
if
(
_selectedAccount
!=
null
&&
!
_accounts
.
contains
(
_selectedAccount
))
{
_selectedAccount
=
null
;
_selectedAcID
=
""
;
}
notifyListeners
();
}
else
if
(
data
.
error
==
"1"
){
_isLoading
=
false
;
}
notifyListeners
();
}
}
catch
(
e
,
s
){
}
}
Map
<
String
,
List
<
LedgerList
>>
groupByDate
(
List
<
LedgerList
>
list
)
{
Map
<
String
,
List
<
LedgerList
>>
grouped
=
{};
for
(
var
item
in
list
)
{
String
date
=
item
.
createdDatetime
!;
if
(!
grouped
.
containsKey
(
date
))
{
grouped
[
date
]
=
[];
}
grouped
[
date
]!.
add
(
item
);
}
return
grouped
;
}
}
\ No newline at end of file
lib/Notifiers/commonProvider/accountsListProvider.dart
View file @
eadb9dd9
...
@@ -7,6 +7,7 @@ import 'package:provider/provider.dart';
...
@@ -7,6 +7,7 @@ import 'package:provider/provider.dart';
import
'../../Models/commonModels/DistrictsResponse.dart'
;
import
'../../Models/commonModels/DistrictsResponse.dart'
;
import
'../../Models/commonModels/SubLocationsResponse.dart'
;
import
'../../Models/commonModels/SubLocationsResponse.dart'
;
import
'../../Models/commonModels/commonAccountlistResponse.dart'
;
import
'../../Models/commonModels/commonAddAccountsViewResponse.dart'
;
import
'../../Models/commonModels/commonAddAccountsViewResponse.dart'
;
class
Accountslistprovider
extends
ChangeNotifier
{
class
Accountslistprovider
extends
ChangeNotifier
{
...
@@ -26,10 +27,27 @@ class Accountslistprovider extends ChangeNotifier {
...
@@ -26,10 +27,27 @@ class Accountslistprovider extends ChangeNotifier {
TextEditingController
contectPersonTeleController
=
TextEditingController
();
TextEditingController
contectPersonTeleController
=
TextEditingController
();
TextEditingController
contectPersonMailController
=
TextEditingController
();
TextEditingController
contectPersonMailController
=
TextEditingController
();
TextEditingController
mobileNumberController
=
TextEditingController
();
TextEditingController
companyNameController
=
TextEditingController
();
List
<
States
>
_states
=
[];
List
<
States
>
_states
=
[];
List
<
Districts
>
_districts
=
[];
List
<
Districts
>
_districts
=
[];
List
<
SubLocations
>
_subLocations
=
[];
List
<
SubLocations
>
_subLocations
=
[];
List
<
String
>
_accountTypes
=
[];
List
<
String
>
_accountTypes
=
[];
List
<
AccountList
>
_accountsList
=
[];
bool
_isLoading
=
true
;
bool
_hasMoreData
=
true
;
bool
get
isLoading
=>
_isLoading
;
int
_pageNum
=
1
;
int
get
pageNum
=>
_pageNum
;
set
pageNum
(
value
){
_pageNum
=
value
;
notifyListeners
();
}
bool
_isVisible
=
false
;
List
<
States
>
get
states
=>
_states
;
List
<
States
>
get
states
=>
_states
;
...
@@ -38,7 +56,12 @@ class Accountslistprovider extends ChangeNotifier {
...
@@ -38,7 +56,12 @@ class Accountslistprovider extends ChangeNotifier {
List
<
SubLocations
>
get
subLocations
=>
_subLocations
;
List
<
SubLocations
>
get
subLocations
=>
_subLocations
;
List
<
String
>
get
accountTypes
=>
_accountTypes
;
List
<
String
>
get
accountTypes
=>
_accountTypes
;
List
<
AccountList
>
get
accountsList
=>
_accountsList
;
bool
get
isVisible
=>
_isVisible
;
set
isVisible
(
bool
value
){
_isVisible
=
value
;
notifyListeners
();
}
States
?
_selectedState
;
States
?
_selectedState
;
Districts
?
_selectedDistricts
;
Districts
?
_selectedDistricts
;
SubLocations
?
_selectedSubLocations
;
SubLocations
?
_selectedSubLocations
;
...
@@ -242,6 +265,42 @@ class Accountslistprovider extends ChangeNotifier {
...
@@ -242,6 +265,42 @@ class Accountslistprovider extends ChangeNotifier {
}
catch
(
e
,
s
)
{}
}
catch
(
e
,
s
)
{}
}
}
Future
<
void
>
commonAccountListAPIFunction
(
context
)
async
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
if
(
_pageNum
==
1
){
_accountsList
.
clear
();
notifyListeners
();
}
final
data
=
await
ApiCalling
.
commonAccountListAPI
(
prov
.
empId
,
prov
.
session
,
_pageNum
,
companyNameController
.
text
,
mobileNumberController
.
text
);
if
(
data
!=
null
){
print
(
"pageNum
$_pageNum
"
);
if
(
data
.
error
==
"0"
){
_hasMoreData
=
true
;
_accountsList
.
addAll
(
data
.
accountList
!);
_pageNum
++;
_isLoading
=
false
;
notifyListeners
();
}
else
{
_hasMoreData
=
false
;
_isLoading
=
false
;
notifyListeners
();
}
}
}
catch
(
e
,
s
){
}
}
resetValues
(){
resetValues
(){
_selectedAccountType
=
null
;
_selectedAccountType
=
null
;
_selectedStateID
=
null
;
_selectedStateID
=
null
;
...
...
lib/Notifiers/financeProvider/RequestionListProvider.dart
View file @
eadb9dd9
...
@@ -484,6 +484,7 @@ class Requestionlistprovider extends ChangeNotifier {
...
@@ -484,6 +484,7 @@ class Requestionlistprovider extends ChangeNotifier {
}
}
}
catch
(
e
,
s
)
{}
}
catch
(
e
,
s
)
{}
}
}
void
showDatePickerDialog
(
BuildContext
context
)
{
void
showDatePickerDialog
(
BuildContext
context
)
{
showCupertinoModalPopup
<
void
>(
showCupertinoModalPopup
<
void
>(
context:
context
,
context:
context
,
...
@@ -546,6 +547,7 @@ class Requestionlistprovider extends ChangeNotifier {
...
@@ -546,6 +547,7 @@ class Requestionlistprovider extends ChangeNotifier {
),
),
);
);
}
}
List
<
List
<
String
>>
prepareExportData
()
{
List
<
List
<
String
>>
prepareExportData
()
{
final
headers
=
[
final
headers
=
[
'ID'
,
'ID'
,
...
@@ -804,6 +806,7 @@ class Requestionlistprovider extends ChangeNotifier {
...
@@ -804,6 +806,7 @@ class Requestionlistprovider extends ChangeNotifier {
bankIfscController
.
clear
();
bankIfscController
.
clear
();
bankAcHolderController
.
clear
();
bankAcHolderController
.
clear
();
bankUpiController
.
clear
();
bankUpiController
.
clear
();
paymentReferenceController
.
clear
();
_selectedAccounts
=
null
;
_selectedAccounts
=
null
;
_selectedPayment
=
null
;
_selectedPayment
=
null
;
...
...
lib/Notifiers/financeProvider/paymentReceiptsProvider.dart
View file @
eadb9dd9
...
@@ -308,12 +308,18 @@ class Paymentreceiptsprovider extends ChangeNotifier{
...
@@ -308,12 +308,18 @@ class Paymentreceiptsprovider extends ChangeNotifier{
Future
<
void
>
paymentsListAPI
(
context
,
from
,
to
)
async
{
Future
<
void
>
paymentsListAPI
(
context
,
from
,
to
)
async
{
try
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
_isLoading
=
true
;
notifyListeners
();
final
data
=
await
ApiCalling
.
paymentRequisitionPaymentReceiptListAPI
(
prov
.
empId
,
prov
.
session
,
from
,
to
);
final
data
=
await
ApiCalling
.
paymentRequisitionPaymentReceiptListAPI
(
prov
.
empId
,
prov
.
session
,
from
,
to
);
if
(
data
!=
null
){
if
(
data
!=
null
){
if
(
data
.
error
==
"0"
){
if
(
data
.
error
==
"0"
){
_receiptsList
=
data
.
receiptsList
!;
_receiptsList
=
data
.
receiptsList
!;
_isLoading
=
false
;
notifyListeners
();
notifyListeners
();
}
else
if
(
data
.
error
==
"1"
){
_isLoading
=
false
;
}
}
notifyListeners
();
}
}
}
catch
(
e
,
s
){
}
catch
(
e
,
s
){
...
...
lib/Notifiers/financeProvider/paymentRequisitionPaymentsListProvider.dart
View file @
eadb9dd9
...
@@ -25,19 +25,27 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
...
@@ -25,19 +25,27 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
List
<
String
>
_subHeadings
=
[];
List
<
String
>
_subHeadings
=
[];
List
<
PaymentsList
>
get
paymentsList
=>
_paymentsList
;
List
<
PaymentsList
>
get
paymentsList
=>
_paymentsList
;
PaymentDetails
get
paymentDetails
=>
_paymentDetails
;
PaymentDetails
get
paymentDetails
=>
_paymentDetails
;
bool
_isLoading
=
true
;
List
<
String
>
get
Headings
=>
_headings
;
List
<
String
>
get
Headings
=>
_headings
;
List
<
String
>
get
subHeadings
=>
_subHeadings
;
List
<
String
>
get
subHeadings
=>
_subHeadings
;
bool
get
isLoading
=>
_isLoading
;
Future
<
void
>
paymentsListAPI
(
context
,
from
,
to
)
async
{
Future
<
void
>
paymentsListAPI
(
context
,
from
,
to
)
async
{
try
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
_paymentsList
.
clear
();
_isLoading
=
true
;
notifyListeners
();
final
data
=
await
ApiCalling
.
paymentRequisitionPaymentListAPI
(
prov
.
empId
,
prov
.
session
,
from
,
to
);
final
data
=
await
ApiCalling
.
paymentRequisitionPaymentListAPI
(
prov
.
empId
,
prov
.
session
,
from
,
to
);
if
(
data
!=
null
){
if
(
data
!=
null
){
if
(
data
.
error
==
"0"
){
if
(
data
.
error
==
"0"
){
_isLoading
=
false
;
_paymentsList
=
data
.
paymentsList
!;
_paymentsList
=
data
.
paymentsList
!;
notifyListeners
();
notifyListeners
();
}
else
if
(
data
.
error
==
"1"
){
_isLoading
=
false
;
}
}
notifyListeners
();
}
}
}
catch
(
e
,
s
){
}
catch
(
e
,
s
){
...
...
lib/Utils/GlobalConstants.dart
0 → 100644
View file @
eadb9dd9
String
didPushed
=
""
;
String
didPopped
=
""
;
\ No newline at end of file
lib/Utils/commonWidgets.dart
View file @
eadb9dd9
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'GlobalConstants.dart'
;
import
'app_colors.dart'
;
import
'app_colors.dart'
;
PreferredSizeWidget
appbar
(
BuildContext
context
,
title
)
{
PreferredSizeWidget
appbar
(
BuildContext
context
,
title
)
{
...
@@ -92,4 +93,24 @@ Widget Emptywidget(BuildContext context){
...
@@ -92,4 +93,24 @@ Widget Emptywidget(BuildContext context){
child:
Center
(
child:
Center
(
child:
Text
(
"No Data Available"
)),
child:
Text
(
"No Data Available"
)),
);
);
}
class
MyNavigatorObserver
extends
NavigatorObserver
{
@override
void
didPush
(
Route
route
,
Route
?
previousRoute
)
{
super
.
didPush
(
route
,
previousRoute
);
// Called when a route has been pushed onto the navigator.
didPushed
=
"true"
;
// print('Route pushed: ${route.settings.name}');
// print('didPushed$didPushed');
}
@override
void
didPop
(
Route
route
,
Route
?
previousRoute
)
{
super
.
didPop
(
route
,
previousRoute
);
didPopped
=
"true"
;
// Called when a route has been popped off the navigator.
// print('Route popped: ${route.settings.name}');
// print('didPopped${didPopped}');
}
}
}
\ No newline at end of file
lib/main.dart
View file @
eadb9dd9
...
@@ -23,6 +23,7 @@ import 'package:generp/Notifiers/ServiceEngineerDashboardProvider.dart';
...
@@ -23,6 +23,7 @@ import 'package:generp/Notifiers/ServiceEngineerDashboardProvider.dart';
import
'package:generp/Notifiers/TodayMontlyVisitsProvider.dart'
;
import
'package:generp/Notifiers/TodayMontlyVisitsProvider.dart'
;
import
'package:generp/Notifiers/UpdatePasswordProvider.dart'
;
import
'package:generp/Notifiers/UpdatePasswordProvider.dart'
;
import
'package:generp/Notifiers/VisitDetailsProvider.dart'
;
import
'package:generp/Notifiers/VisitDetailsProvider.dart'
;
import
'package:generp/Notifiers/commonProvider/accountDetailsProvider.dart'
;
import
'package:generp/Notifiers/commonProvider/accountsListProvider.dart'
;
import
'package:generp/Notifiers/commonProvider/accountsListProvider.dart'
;
import
'package:generp/Notifiers/commonProvider/commonPagesProvider.dart'
;
import
'package:generp/Notifiers/commonProvider/commonPagesProvider.dart'
;
import
'package:generp/Notifiers/financeProvider/DashboardProvider.dart'
;
import
'package:generp/Notifiers/financeProvider/DashboardProvider.dart'
;
...
@@ -37,7 +38,9 @@ import 'package:generp/screens/HomeScreen.dart';
...
@@ -37,7 +38,9 @@ import 'package:generp/screens/HomeScreen.dart';
import
'package:generp/screens/splash.dart'
;
import
'package:generp/screens/splash.dart'
;
import
'package:provider/provider.dart'
;
import
'package:provider/provider.dart'
;
import
'Notifiers/commonProvider/accountLedgerProvider.dart'
;
import
'Notifiers/financeProvider/RequesitionLidtDetailsProvider.dart'
;
import
'Notifiers/financeProvider/RequesitionLidtDetailsProvider.dart'
;
import
'Utils/commonWidgets.dart'
;
const
AndroidNotificationChannel
channel
=
AndroidNotificationChannel
(
const
AndroidNotificationChannel
channel
=
AndroidNotificationChannel
(
'generp_channel'
,
// id
'generp_channel'
,
// id
...
@@ -220,10 +223,21 @@ class MyApp extends StatelessWidget {
...
@@ -220,10 +223,21 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider
(
create:
(
_
)
=>
Paymentreceiptsprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Paymentreceiptsprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Commonpagesprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Commonpagesprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Accountslistprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Accountslistprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Accountdetailsprovider
(),),
ChangeNotifierProvider
(
create:
(
_
)
=>
Accountledgerprovider
(),),
],
],
child:
Builder
(
child:
Builder
(
builder:
(
BuildContext
context
)
{
builder:
(
BuildContext
context
)
{
return
MaterialApp
(
return
MaterialApp
(
navigatorObservers:
[
MyNavigatorObserver
()],
builder:
(
BuildContext
context
,
Widget
?
child
)
{
final
MediaQueryData
data
=
MediaQuery
.
of
(
context
);
return
MediaQuery
(
data:
data
.
copyWith
(
textScaleFactor:
1.0
),
child:
child
??
Container
(),
);
},
themeMode:
ThemeMode
.
light
,
debugShowCheckedModeBanner:
false
,
debugShowCheckedModeBanner:
false
,
theme:
ThemeData
(
theme:
ThemeData
(
fontFamily:
'JakartaRegular'
,
fontFamily:
'JakartaRegular'
,
...
...
lib/screens/HomeScreen.dart
View file @
eadb9dd9
...
@@ -130,8 +130,8 @@ class _MyHomePageState extends State<MyHomePage> {
...
@@ -130,8 +130,8 @@ class _MyHomePageState extends State<MyHomePage> {
"Nearby"
,
"Nearby"
,
"Inventory"
,
"Inventory"
,
"Whizzdom"
,
"Whizzdom"
,
"Common"
,
//
"Common",
"Finance"
,
//
"Finance",
];
];
final
icons
=
[
final
icons
=
[
"assets/svg/home_icons_1.svg"
,
"assets/svg/home_icons_1.svg"
,
...
@@ -141,8 +141,8 @@ class _MyHomePageState extends State<MyHomePage> {
...
@@ -141,8 +141,8 @@ class _MyHomePageState extends State<MyHomePage> {
"assets/svg/home_icons_5.svg"
,
"assets/svg/home_icons_5.svg"
,
"assets/svg/home_icons_6.svg"
,
"assets/svg/home_icons_6.svg"
,
"assets/svg/home_icons_81.svg"
,
"assets/svg/home_icons_81.svg"
,
"assets/svg/home_icons_
8
.svg"
,
//
"assets/svg/home_icons_
9
.svg",
"assets/svg/home_icons_
8
.svg"
,
//
"assets/svg/home_icons_
10
.svg",
];
];
final
requiredRoles
=
[
final
requiredRoles
=
[
"430"
,
"430"
,
...
@@ -152,8 +152,8 @@ class _MyHomePageState extends State<MyHomePage> {
...
@@ -152,8 +152,8 @@ class _MyHomePageState extends State<MyHomePage> {
"433"
,
"433"
,
"432"
,
"432"
,
"431"
,
"431"
,
"430"
,
//
"430",
"430"
,
//
"430",
];
];
final
filteredItems
=
<
Map
<
String
,
String
>>[];
final
filteredItems
=
<
Map
<
String
,
String
>>[];
...
...
lib/screens/WebERPScreen.dart
View file @
eadb9dd9
...
@@ -342,24 +342,7 @@ class _WebErpScreenState extends State<WebErpScreen> {
...
@@ -342,24 +342,7 @@ class _WebErpScreenState extends State<WebErpScreen> {
);
);
}
}
},
},
shouldInterceptAjaxRequest:
(
controller
,
ajaxRequest
,
)
async
{
if
(
Platform
.
isAndroid
)
{
if
(
ajaxRequest
.
url
.
toString
().
contains
(
'download'
))
{
await
_handleDownload
(
ajaxRequest
.
url
.
toString
(),
''
,
'application/octet-stream'
,
''
,
);
}
return
ajaxRequest
;
}
return
ajaxRequest
;
},
),
),
if
(
isLoading
)
...[
if
(
isLoading
)
...[
Container
(
Container
(
...
...
lib/screens/commom/accountLedger.dart
View file @
eadb9dd9
This diff is collapsed.
Click to expand it.
lib/screens/commom/accountsList.dart
View file @
eadb9dd9
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:generp/Notifiers/commonProvider/accountsListProvider.dart'
;
import
'package:generp/Utils/app_colors.dart'
;
import
'package:generp/Utils/app_colors.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:generp/screens/commom/accountsListDetails.dart'
;
import
'package:provider/provider.dart'
;
import
'package:provider/provider.dart'
;
class
Accountslist
extends
StatefulWidget
{
class
Accountslist
extends
StatefulWidget
{
...
@@ -11,24 +14,368 @@ class Accountslist extends StatefulWidget {
...
@@ -11,24 +14,368 @@ class Accountslist extends StatefulWidget {
}
}
class
_AccountslistState
extends
State
<
Accountslist
>
{
class
_AccountslistState
extends
State
<
Accountslist
>
{
ScrollController
scrollController
=
ScrollController
();
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Accountslistprovider
>(
context
,
listen:
false
);
provider
.
commonAccountListAPIFunction
(
context
);
scrollController
.
addListener
(()
{
if
(
scrollController
.
position
.
maxScrollExtent
==
scrollController
.
offset
)
{
provider
.
commonAccountListAPIFunction
(
context
);
}
});
});
}
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
return
Consumer
(
builder:
(
context
,
provider
,
child
)
{
return
Consumer
<
Accountslistprovider
>(
return
WillPopScope
(
builder:
(
context
,
provider
,
child
)
{
var
accountList
=
provider
.
accountsList
;
print
(
accountList
.
length
);
return
WillPopScope
(
child:
Scaffold
(
child:
Scaffold
(
appBar:
appbar
(
context
,
"Account List"
),
appBar:
appbar2
(
context
,
"Account List"
,
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
5
),
child:
InkResponse
(
onTap:
()
{
_showFilterSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/filter_ic.svg"
,
height:
18
),
),
),),
backgroundColor:
AppColors
.
scaffold_bg_color
,
backgroundColor:
AppColors
.
scaffold_bg_color
,
body:
Container
(
body:
Container
(
child:
SingleChildScrollView
(
child:
SingleChildScrollView
(
controller:
scrollController
,
child:
Column
(
child:
Column
(
children:
[
children:
[
ListView
.
builder
(
itemCount:
accountList
.
length
+
1
,
shrinkWrap:
true
,
physics:
NeverScrollableScrollPhysics
(),
itemBuilder:
(
context
,
index
)
{
if
(
accountList
.
isEmpty
)
{
return
SizedBox
(
child:
Center
(
child:
Text
(
"No Data Available"
)),
);
}
if
(
index
==
accountList
.
length
&&
!
provider
.
isLoading
)
{
return
Padding
(
padding:
EdgeInsets
.
all
(
8.0
),
child:
Center
(
child:
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
),
)),
);
}
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
,
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
Row
(
children:
[
Expanded
(
flex:
1
,
child:
Container
(
height:
50
,
width:
35
,
padding:
EdgeInsets
.
all
(
8.0
),
decoration:
BoxDecoration
(
color:
Color
(
0xFFEAF7FF
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
child:
SvgPicture
.
asset
(
"assets/svg/common_ac_list_ic.svg"
,
),
),
),
SizedBox
(
width:
10
),
Expanded
(
flex:
4
,
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Text
(
accountList
[
index
].
name
!,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
semi_black
,
),
),
Text
(
accountList
[
index
].
contactName
??
"-"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
),
),
],
),
),
),
],
),
Divider
(
thickness:
0.5
,
color:
Color
(
0xFFD7D7D7
)),
...
List
.
generate
(
4
,
(
j
)
{
final
headings
=
[
"Mobile Number"
,
"Email Id"
,
"Address"
,
"Date"
,
];
final
subHeadings
=
[
accountList
[
index
].
mob1
??
"-"
,
accountList
[
index
].
email
??
"-"
,
accountList
[
index
].
address
??
"-"
,
accountList
[
index
].
datetime
??
"-"
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Expanded
(
child:
Text
(
headings
[
j
],
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
semi_black
,
),
),
),
SizedBox
(
width:
15
),
Expanded
(
child:
Text
(
subHeadings
[
j
]
??
"-"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
grey_thick
,
),
),
),
],
),
);
}),
InkResponse
(
onTap:
()
async
{
print
(
"length,
${accountList.length}
"
);
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Accountslistdetails
(
accountID:
accountList
[
index
].
id
,
),
),
);
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
Text
(
"View Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
),
),
SizedBox
(
width:
5
),
SvgPicture
.
asset
(
"assets/svg/next_button.svg"
,
),
],
),
),
),
],
),
);
},
),
],
],
),
),
),
),
),
),
),
onWillPop:
()
=>
onBackPressed
(
context
));
),
});
onWillPop:
()
{
provider
.
pageNum
=
1
;
return
_onBackPressed
(
context
);
},
);
},
);
}
Future
<
void
>
_showFilterSheet
(
BuildContext
context
)
{
return
showModalBottomSheet
(
useSafeArea:
true
,
isDismissible:
true
,
isScrollControlled:
true
,
showDragHandle:
true
,
backgroundColor:
Colors
.
white
,
enableDrag:
true
,
context:
context
,
builder:
(
context
)
{
return
StatefulBuilder
(
builder:
(
context
,
setState
)
{
return
SafeArea
(
child:
Consumer
<
Accountslistprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
Container
(
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
margin:
EdgeInsets
.
only
(
bottom:
15
,
left:
15
,
right:
15
,
top:
10
,
),
child:
SingleChildScrollView
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisSize:
MainAxisSize
.
min
,
children:
[
Padding
(
padding:
EdgeInsets
.
symmetric
(
vertical:
10
),
child:
Text
(
"Filter"
,
style:
TextStyle
(
color:
AppColors
.
app_blue
,
fontSize:
16
,
fontFamily:
"JakartaMedium"
,
),
),
),
textControllerWidget
(
context
,
provider
.
companyNameController
,
"Company Name"
,
(
p0
)
{
},),
textControllerWidget
(
context
,
provider
.
mobileNumberController
,
"Mobile Number"
,
(
p0
)
{
},),
InkResponse
(
onTap:
()
{
Navigator
.
pop
(
context
);
provider
.
commonAccountListAPIFunction
(
context
);
provider
.
companyNameController
.
clear
();
provider
.
mobileNumberController
.
clear
();
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
Text
(
"Search"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
color:
Colors
.
white
,
),
),
),
),
],
),
),
);
},
),
);
},
);
},
);
}
Widget
textControllerWidget
(
context
,
controller
,
hintText
,
Function
(
String
)?
onChanged
,
)
{
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
top:
8.0
),
child:
Text
(
hintText
),
),
Container
(
height:
hintText
==
"Enter Description"
?
150
:
50
,
alignment:
Alignment
.
center
,
decoration:
BoxDecoration
(
color:
AppColors
.
text_field_color
,
borderRadius:
BorderRadius
.
circular
(
14
),
),
child:
Padding
(
padding:
const
EdgeInsets
.
fromLTRB
(
10.0
,
0.0
,
10
,
0
),
child:
TextFormField
(
controller:
controller
,
keyboardType:
TextInputType
.
text
,
maxLines:
hintText
==
"Enter Description"
?
60
:
1
,
onChanged:
onChanged
,
decoration:
InputDecoration
(
hintText:
hintText
,
hintStyle:
TextStyle
(
fontWeight:
FontWeight
.
w400
,
color:
Color
(
0xFFB4BEC0
),
fontSize:
14
,
),
enabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
),
),
),
),
],
);
}
Future
<
bool
>
_onBackPressed
(
BuildContext
context
)
async
{
Provider
.
of
<
Accountslistprovider
>(
context
,
listen:
false
).
pageNum
=
1
;
Navigator
.
pop
(
context
,
true
);
return
true
;
}
}
}
}
lib/screens/commom/accountsListDetails.dart
View file @
eadb9dd9
This diff is collapsed.
Click to expand it.
lib/screens/commom/addCommonPayment.dart
View file @
eadb9dd9
This diff is collapsed.
Click to expand it.
lib/screens/commom/commonDashboard.dart
View file @
eadb9dd9
...
@@ -50,7 +50,7 @@ class _CommondashboardState extends State<Commondashboard> {
...
@@ -50,7 +50,7 @@ class _CommondashboardState extends State<Commondashboard> {
mainAxisSpacing:
10
,
mainAxisSpacing:
10
,
),
),
itemBuilder:
(
context
,
index
)
{
itemBuilder:
(
context
,
index
)
{
final
icons
=
[
"
gent_gen_det"
,
"gent_reg_comp
"
];
final
icons
=
[
"
comm_ic_1"
,
"comm_ic_2
"
];
return
InkResponse
(
return
InkResponse
(
onTap:
()
{
onTap:
()
{
switch
(
gridPages
[
index
].
pageName
!)
{
switch
(
gridPages
[
index
].
pageName
!)
{
...
...
lib/screens/commom/transactionDetails.dart
View file @
eadb9dd9
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:generp/Utils/app_colors.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Notifiers/financeProvider/paymentRequisitionPaymentsListProvider.dart'
;
class
Transactiondetails
extends
StatefulWidget
{
class
Transactiondetails
extends
StatefulWidget
{
const
Transactiondetails
({
super
.
key
});
final
paymentID
;
final
type
;
const
Transactiondetails
({
super
.
key
,
this
.
paymentID
,
this
.
type
});
@override
@override
State
<
Transactiondetails
>
createState
()
=>
_TransactiondetailsState
();
State
<
Transactiondetails
>
createState
()
=>
_TransactiondetailsState
();
}
}
class
_TransactiondetailsState
extends
State
<
Transactiondetails
>
{
class
_TransactiondetailsState
extends
State
<
Transactiondetails
>
{
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Paymentrequisitionpaymentslistprovider
>(
context
,
listen:
false
,
);
provider
.
paymentsListDetailsAPI
(
context
,
widget
.
paymentID
);
});
}
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
return
const
Placeholder
();
return
Consumer
<
Paymentrequisitionpaymentslistprovider
>(
builder:
(
context
,
provider
,
child
)
{
var
details
=
provider
.
paymentDetails
;
return
Scaffold
(
appBar:
appbar
(
context
,
"Details"
),
backgroundColor:
AppColors
.
scaffold_bg_color
,
body:
Container
(
margin:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
),
child:
SingleChildScrollView
(
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
),
margin:
EdgeInsets
.
symmetric
(
vertical:
5
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
Expanded
(
flex:
1
,
child:
SizedBox
(
child:
widget
.
type
==
"Credit"
?
Image
.
asset
(
"assets/images/trans_debit.png"
,
height:
45
,
width:
45
,
fit:
BoxFit
.
contain
,
)
:
Image
.
asset
(
"assets/images/trans_credit.png"
,
height:
45
,
width:
45
,
fit:
BoxFit
.
contain
,
),
),
),
SizedBox
(
width:
10
),
Expanded
(
flex:
5
,
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Text
(
widget
.
type
==
"Credit"
?
"Debited Amount"
:
"Credited Amount"
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
12
,
),
),
RichText
(
textAlign:
TextAlign
.
right
,
maxLines:
1
,
overflow:
TextOverflow
.
ellipsis
,
text:
TextSpan
(
children:
[
TextSpan
(
text:
widget
.
type
==
"Credit"
?
"-"
:
"+"
,
style:
TextStyle
(
color:
Color
(
0xFF2D2D2D
),
fontSize:
13
,
fontFamily:
"JakartaRegular"
,
),
),
TextSpan
(
text:
"₹
${details.amount}
"
,
style:
TextStyle
(
color:
Color
(
0xFF2D2D2D
),
fontSize:
13
,
fontFamily:
"JakartaMedium"
,
),
),
],
),
),
],
),
),
),
],
),
Divider
(
thickness:
0.5
,
color:
Color
(
0xFFd7d7d7
)),
...
List
.
generate
(
5
,
(
j
)
{
final
headings
=
[
"ID"
,
"Date"
,
"Account"
,
"Ref Type"
,
"Description"
,
];
final
subHeadings
=
[
details
.
id
??
"-"
,
details
.
createdDatetime
??
"-"
,
details
.
accountName
??
"-"
,
details
.
refType
??
"-"
,
details
.
description
??
"-"
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Expanded
(
child:
Text
(
headings
[
j
],
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
semi_black
,
),
),
),
SizedBox
(
width:
15
),
Expanded
(
child:
Text
(
subHeadings
[
j
]
??
"-"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
grey_thick
,
),
),
),
],
),
);
}),
],
),
),
),
),
);
},
);
}
}
}
}
lib/screens/commonDateRangeFilter.dart
View file @
eadb9dd9
import
'package:dropdown_button2/dropdown_button2.dart'
;
import
'package:dropdown_button2/dropdown_button2.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'
;
class
Commondaterangefilter
{
class
Commondaterangefilter
{
final
List
<
String
>
filterItems
=
[
final
List
<
String
>
filterItems
=
[
...
@@ -186,30 +187,54 @@ class Commondaterangefilter {
...
@@ -186,30 +187,54 @@ class Commondaterangefilter {
Row
(
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
children:
[
IconButton
(
GestureDetector
(
icon:
Icon
(
Icons
.
chevron_left
,
color:
Colors
.
blue
[
600
]),
onTap:
displayedMonth
.
isAfter
(
DateTime
(
2020
))
onPressed:
displayedMonth
.
isAfter
(
DateTime
(
2020
))
?
()
{
?
()
{
setState
(()
{
setState
(()
{
displayedMonth
=
DateTime
(
displayedMonth
.
year
,
displayedMonth
.
month
-
1
);
displayedMonth
=
DateTime
(
displayedMonth
.
year
,
displayedMonth
.
month
-
1
);
});
});
}
}
:
null
,
:
null
,
child:
SvgPicture
.
asset
(
"assets/svg/arrow_left.svg"
,
),
),
),
// IconButton(
// icon: Icon(Icons.chevron_left, color: Colors.blue[600]),
// onPressed: displayedMonth.isAfter(DateTime(2020))
// ? () {
// setState(() {
// displayedMonth = DateTime(displayedMonth.year, displayedMonth.month - 1);
// });
// }
// : null,
// ),
Text
(
Text
(
'
${_monthName(displayedMonth.month)}
${displayedMonth.year}
'
,
'
${_monthName(displayedMonth.month)}
${displayedMonth.year}
'
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w600
),
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w600
),
),
),
IconButton
(
GestureDetector
(
icon:
Icon
(
Icons
.
chevron_right
,
color:
Colors
.
blue
[
600
]),
onTap:
displayedMonth
.
isBefore
(
DateTime
(
2100
))
onPressed:
displayedMonth
.
isBefore
(
DateTime
(
2100
))
?
()
{
?
()
{
setState
(()
{
setState
(()
{
displayedMonth
=
DateTime
(
displayedMonth
.
year
,
displayedMonth
.
month
+
1
);
displayedMonth
=
DateTime
(
displayedMonth
.
year
,
displayedMonth
.
month
+
1
);
});
});
}
}
:
null
,
:
null
,
child:
SvgPicture
.
asset
(
"assets/svg/arrow_right_new.svg"
,
),
),
),
// IconButton(
// icon: Icon(Icons.chevron_right, color: Colors.blue[600]),
// onPressed: displayedMonth.isBefore(DateTime(2100))
// ? () {
// setState(() {
// displayedMonth = DateTime(displayedMonth.year, displayedMonth.month + 1);
// });
// }
// : null,
// ),
],
],
),
),
Container
(
Container
(
...
...
lib/screens/finance/AllPaymentRequesitionListsByModes.dart
View file @
eadb9dd9
...
@@ -60,7 +60,7 @@ class _AllpaymentrequesitionlistsbymodesState
...
@@ -60,7 +60,7 @@ class _AllpaymentrequesitionlistsbymodesState
onTap:
()
{
onTap:
()
{
_showOptionsSheet
(
context
);
_showOptionsSheet
(
context
);
},
},
child:
Icon
(
CupertinoIcons
.
down_arrow
),
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
,
),
),
),
InkResponse
(
InkResponse
(
...
@@ -94,7 +94,7 @@ class _AllpaymentrequesitionlistsbymodesState
...
@@ -94,7 +94,7 @@ class _AllpaymentrequesitionlistsbymodesState
print
(
"Bottom sheet closed without selection"
);
print
(
"Bottom sheet closed without selection"
);
}
}
},
},
child:
Icon
(
CupertinoIcons
.
color_filter
),
child:
SvgPicture
.
asset
(
"assets/svg/filter_ic.svg"
,
height:
25
,
),
),
),
],
],
),
),
...
...
lib/screens/finance/paymentListPaymentRequisition.dart
View file @
eadb9dd9
...
@@ -52,7 +52,7 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
...
@@ -52,7 +52,7 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
onTap:
()
{
onTap:
()
{
_showOptionsSheet
(
context
);
_showOptionsSheet
(
context
);
},
},
child:
Icon
(
CupertinoIcons
.
down_arrow
),
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
,
),
),
),
InkResponse
(
InkResponse
(
onTap:
()
async
{
onTap:
()
async
{
...
@@ -80,13 +80,17 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
...
@@ -80,13 +80,17 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
print
(
"Bottom sheet closed without selection"
);
print
(
"Bottom sheet closed without selection"
);
}
}
},
},
child:
Icon
(
CupertinoIcons
.
color_filter
),
child:
SvgPicture
.
asset
(
"assets/svg/filter_ic.svg"
,
height:
25
,
),
),
),
],
],
),
),
),
),
backgroundColor:
AppColors
.
scaffold_bg_color
,
backgroundColor:
AppColors
.
scaffold_bg_color
,
body:
Container
(
body:
provider
.
isLoading
?
Center
(
child:
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
)
)):
Container
(
child:
SingleChildScrollView
(
child:
SingleChildScrollView
(
child:
Column
(
child:
Column
(
children:
[
children:
[
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment