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
a92809e3
Commit
a92809e3
authored
Jun 23, 2025
by
Sai Srinivas
Browse files
23-06-2025 By Sai Srinivas
Finance module test cases
parent
c7ff2cec
Changes
15
Hide whitespace changes
Inline
Side-by-side
lib/Models/financeModels/addPaymentRequestionResponse.dart
View file @
a92809e3
class
addPaymentRequestionResponse
{
List
<
String
>?
requestingPurposes
;
List
<
Accounts
>?
accounts
;
List
<
PaymentModes
>?
paymentModes
;
String
?
error
;
String
?
message
;
List
<
Accounts
>?
accounts
;
List
<
PaymentModes
>?
paymentModes
;
List
<
String
>?
requestingPurposes
;
addPaymentRequestionResponse
(
{
this
.
requestingPurposes
,
{
this
.
error
,
this
.
message
,
this
.
accounts
,
this
.
paymentModes
,
this
.
error
,
this
.
message
});
this
.
requestingPurposes
,
});
addPaymentRequestionResponse
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
requestingPurposes
=
json
[
'requesting_purposes'
].
cast
<
String
>();
if
(
json
[
'accounts'
]
!=
null
)
{
accounts
=
<
Accounts
>[];
json
[
'accounts'
].
forEach
((
v
)
{
...
...
@@ -28,11 +30,15 @@ class addPaymentRequestionResponse {
}
error
=
json
[
'error'
];
message
=
json
[
'message'
];
if
(
json
[
'requesting_purposes'
]!=
null
){
requestingPurposes
=
json
[
'requesting_purposes'
].
cast
<
String
>();
}
}
Map
<
String
,
dynamic
>
toJson
()
{
final
Map
<
String
,
dynamic
>
data
=
new
Map
<
String
,
dynamic
>();
data
[
'requesting_purposes'
]
=
this
.
requestingPurposes
;
if
(
this
.
accounts
!=
null
)
{
data
[
'accounts'
]
=
this
.
accounts
!.
map
((
v
)
=>
v
.
toJson
()).
toList
();
}
...
...
@@ -42,6 +48,7 @@ class addPaymentRequestionResponse {
}
data
[
'error'
]
=
this
.
error
;
data
[
'message'
]
=
this
.
message
;
data
[
'requesting_purposes'
]
=
this
.
requestingPurposes
;
return
data
;
}
}
...
...
lib/Notifiers/crmProvider/LeadListProvider.dart
View file @
a92809e3
...
...
@@ -502,6 +502,7 @@ class Leadlistprovider extends ChangeNotifier {
notifyListeners
();
if
(
data
.
error
==
"0"
)
{
_crmLeadList
=
data
.
leadList
!;
checkDropDownValues
();
_isLoading
=
false
;
notifyListeners
();
}
else
{
...
...
@@ -571,39 +572,41 @@ class Leadlistprovider extends ChangeNotifier {
if
(!
_employeesList
.
contains
(
_selectedEmployees
)
&&
_selectedEmployees
!=
null
)
{
_selectedEmployeeId
=
null
;
_selectedEmployeeValue
=
""
;
_selectedEmployeeValue
=
null
;
}
if
(!
_sourcesList
.
contains
(
_selectedSources
)
&&
_selectedSources
!=
null
)
{
_selectedSourceId
=
null
;
_selectedEmployeeValue
=
""
;
_selectedEmployeeValue
=
null
;
}
if
(!
_referencesList
.
contains
(
_selectedReferences
)
&&
_selectedReferences
!=
null
)
{
_selectedReferenceId
=
null
;
_selectedSourceValue
=
""
;
_selectedSourceValue
=
null
;
}
if
(!
_segmentsList
.
contains
(
_selectedSegments
)
&&
_selectedSegments
!=
null
)
{
_selectedTeamId
=
null
;
_selectedReferenceValue
=
""
;
_selectedReferenceValue
=
null
;
}
if
(!
_teamsList
.
contains
(
_selectedTeams
)
&&
_selectedTeams
!=
null
)
{
_selectedSegmentId
=
null
;
_selectedTeamValue
=
""
;
_selectedTeamValue
=
null
;
}
if
(!
_districtsList
.
contains
(
_selectedDistricts
)
&&
_selectedDistricts
!=
null
)
{
_selectedDistrictId
=
null
;
_selectedSegmentValue
=
""
;
_selectedSegmentValue
=
null
;
}
if
(!
_statesList
.
contains
(
_selectedStates
)
&&
_selectedStates
!=
null
)
{
_selectedStateId
=
null
;
_selectedDistrictValue
=
""
;
_selectedDistrictValue
=
null
;
}
if
(!
_subLocationsList
.
contains
(
_selectedSubLocations
)
&&
_selectedSubLocations
!=
null
)
{
_selectedSubLocationId
=
null
;
_selectedStateValue
=
""
;
_selectedStateValue
=
null
;
}
notifyListeners
();
}
}
lib/Notifiers/crmProvider/crmLeadDetailsProvider.dart
View file @
a92809e3
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:intl/intl.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Models/crmModels/LeadDetailsResponse.dart'
;
...
...
@@ -23,13 +24,15 @@ class crmLeadDetailsProvider extends ChangeNotifier {
TextEditingController
editAlternativeMobileController
=
TextEditingController
();
TextEditingController
editTelephoneController
=
TextEditingController
();
TextEditingController
editEmailController
=
TextEditingController
();
TextEditingController
dateController
=
TextEditingController
();
TextEditingController
noteController
=
TextEditingController
();
String
?
_nameError
;
String
?
_designationError
;
String
?
_mobileNumError
;
String
?
_altMobError
;
String
?
_teleError
;
String
?
_emailError
;
String
?
_noteError
;
String
?
_editNameError
;
String
?
_editDesignationError
;
...
...
@@ -38,6 +41,8 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String
?
_editTeleError
;
String
?
_editEmailError
;
String
?
_dateError
;
LeadDetails
_leadDetails
=
LeadDetails
();
AccountDetails
_accountDetails
=
AccountDetails
();
List
<
LeadProducts
>
_leadProducts
=
[];
...
...
@@ -45,8 +50,13 @@ class crmLeadDetailsProvider extends ChangeNotifier {
List
<
FollowupDetails
>
_followupDetails
=
[];
List
<
AppointmentDetails
>
_appointmentDetails
=
[];
List
<
QuotationsDetails
>
_quotationsDetails
=
[];
List
<
String
>
_visitTypes
=
[];
String
?
_selectedVisitType
;
List
<
String
>
_headings
=
[];
List
<
String
>
_subHeadings
=
[];
DateTime
?
_date
;
String
?
_formattedDate
;
String
?
_visitTypeError
=
""
;
String
?
get
nameError
=>
_nameError
;
String
?
get
designationError
=>
_designationError
;
...
...
@@ -54,6 +64,8 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String
?
get
altMobError
=>
_altMobError
;
String
?
get
teleError
=>
_teleError
;
String
?
get
emailError
=>
_emailError
;
String
?
get
noteError
=>
_noteError
;
String
?
get
visitTypeError
=>
_visitTypeError
;
String
?
get
editNameError
=>
_editNameError
;
String
?
get
editDesignationError
=>
_editDesignationError
;
...
...
@@ -62,8 +74,12 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String
?
get
editTeleError
=>
_editTeleError
;
String
?
get
editEmailError
=>
_editEmailError
;
String
?
get
dateError
=>
_dateError
;
bool
get
isLoading
=>
_isLoading
;
List
<
String
>
get
visitTypes
=>
_visitTypes
;
String
?
get
selectedVisitType
=>
_selectedVisitType
;
LeadDetails
get
leadDetails
=>
_leadDetails
;
AccountDetails
get
accountDetails
=>
_accountDetails
;
...
...
@@ -82,6 +98,14 @@ class crmLeadDetailsProvider extends ChangeNotifier {
List
<
String
>
get
subHeadings
=>
_subHeadings
;
String
?
get
formattedDate
=>
_formattedDate
;
set
selectedVisitType
(
String
?
value
){
_selectedVisitType
=
value
;
_visitTypeError
=
""
;
notifyListeners
();
}
set
nameError
(
String
?
value
){
_nameError
=
value
;
notifyListeners
();
...
...
@@ -107,6 +131,11 @@ class crmLeadDetailsProvider extends ChangeNotifier {
notifyListeners
();
}
set
noteError
(
String
?
value
){
_noteError
=
value
;
notifyListeners
();
}
set
editNameError
(
String
?
value
){
_editNameError
=
value
;
...
...
@@ -138,6 +167,25 @@ class crmLeadDetailsProvider extends ChangeNotifier {
notifyListeners
();
}
set
formattedDate
(
String
?
value
)
{
_formattedDate
=
value
;
dateController
.
text
=
_formattedDate
!;
_dateError
=
null
;
notifyListeners
();
}
set
dateError
(
value
){
_dateError
=
value
;
notifyListeners
();
}
void
setDate
(
DateTime
newDate
)
{
_date
=
newDate
;
_formattedDate
=
DateFormat
(
'yyyy-MM-dd'
).
format
(
newDate
);
dateController
.
text
=
_formattedDate
!;
_dateError
=
null
;
notifyListeners
();
}
Future
<
void
>
crmLeadDetailsAPIFunction
(
context
,
leadID
,
mode
)
async
{
try
{
var
HomeProv
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
...
...
@@ -186,6 +234,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
data
.
leadDetails
!.
status
??
"-"
,
"
${data.leadDetails!.lage??"-"}
days"
,
];
_visitTypes
=
[
"Phone"
,
"Visit"
];
_isLoading
=
false
;
notifyListeners
();
}
else
{
...
...
@@ -257,7 +306,95 @@ class crmLeadDetailsProvider extends ChangeNotifier {
}
}
Future
<
void
>
crmLeadDetailsAddAppointmentAPIFunction
(
context
,
leadID
,
appointmentDate
,
appointmentType
,
note
)
async
{
try
{
var
prov
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
final
data
=
await
ApiCalling
.
crmLeadDetailsAddAppointmentAPI
(
prov
.
empId
,
prov
.
session
,
leadID
,
appointmentDate
,
appointmentType
,
note
);
_isLoading
=
true
;
notifyListeners
();
if
(
data
!=
null
)
{
if
(
data
.
error
==
"0"
)
{
_isLoading
=
false
;
Navigator
.
pop
(
context
,
true
);
resetAll
();
_isLoading
=
false
;
notifyListeners
();
}
else
{
_isLoading
=
false
;
notifyListeners
();
}
}
else
{
_isLoading
=
false
;
notifyListeners
();
}
}
catch
(
e
,
s
)
{
_isLoading
=
false
;
notifyListeners
();
}
}
void
showDatePickerDialog
(
BuildContext
context
)
{
showCupertinoModalPopup
<
void
>(
context:
context
,
builder:
(
BuildContext
context
)
=>
Container
(
height:
216
,
padding:
const
EdgeInsets
.
only
(
top:
6.0
),
margin:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
color:
CupertinoColors
.
systemBackground
.
resolveFrom
(
context
),
child:
SafeArea
(
top:
false
,
child:
Column
(
children:
[
Expanded
(
flex:
1
,
child:
SizedBox
(
height:
40
,
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
CupertinoButton
(
child:
Text
(
'Cancel'
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
),
),
onPressed:
()
{
Navigator
.
pop
(
context
);
},
),
CupertinoButton
(
child:
Text
(
'Done'
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
),
),
onPressed:
()
{
Navigator
.
pop
(
context
);
},
),
],
),
),
),
Expanded
(
flex:
3
,
child:
CupertinoDatePicker
(
initialDateTime:
_date
??
DateTime
.
now
(),
mode:
CupertinoDatePickerMode
.
date
,
use24hFormat:
true
,
showDayOfWeek:
true
,
onDateTimeChanged:
(
DateTime
newDate
)
{
setDate
(
newDate
);
},
),
),
],
),
),
),
);
}
void
onChangeName
(
value
){
_nameError
=
""
;
...
...
@@ -308,6 +445,10 @@ class crmLeadDetailsProvider extends ChangeNotifier {
_editEmailError
=
""
;
notifyListeners
();
}
void
onChangeNote
(
value
){
_noteError
=
""
;
notifyListeners
();
}
void
resetAll
(){
nameController
.
clear
();
...
...
lib/Notifiers/financeProvider/RequesitionLidtDetailsProvider.dart
View file @
a92809e3
...
...
@@ -357,7 +357,8 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
paymentRequesitionDetails
(
context
,
payment_request_id
);
resetAll
();
toast
(
context
,
data
.
message
);
Navigator
.
pop
(
context
);
Navigator
.
pop
(
context
,
true
);
notifyListeners
();
}
}
}
catch
(
e
,
s
)
{}
...
...
lib/screens/HomeScreen.dart
View file @
a92809e3
...
...
@@ -118,8 +118,8 @@ class _MyHomePageState extends State<MyHomePage> {
"Whizzdom"
,
"Common"
,
"Finance"
,
//
"Orders",
//
"CRM",
"Orders"
,
"CRM"
,
];
final
icons
=
[
"assets/svg/home_icons_1.svg"
,
...
...
@@ -131,8 +131,8 @@ class _MyHomePageState extends State<MyHomePage> {
"assets/svg/home_icons_81.svg"
,
"assets/svg/home_icons_9.svg"
,
"assets/svg/home_icons_10.svg"
,
//
"assets/svg/home_icons_11.svg",
//
"assets/svg/home_icons_12.svg",
"assets/svg/home_icons_11.svg"
,
"assets/svg/home_icons_12.svg"
,
];
final
requiredRoles
=
[
"430"
,
...
...
@@ -144,8 +144,8 @@ class _MyHomePageState extends State<MyHomePage> {
"431"
,
"430"
,
"430"
,
//
"430",
//
"430",
"430"
,
"430"
,
];
final
filteredItems
=
<
Map
<
String
,
String
>>[];
...
...
lib/screens/crm/AppointmentDetails.dart
View file @
a92809e3
import
'package:dropdown_button2/dropdown_button2.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
import
'package:generp/Utils/dropdownTheme.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Notifiers/crmProvider/crmLeadDetailsProvider.dart'
;
...
...
@@ -6,14 +9,15 @@ import '../../Utils/app_colors.dart';
import
'../../Utils/commonWidgets.dart'
;
class
AppointmentDetails
extends
StatefulWidget
{
const
AppointmentDetails
({
super
.
key
});
final
leadID
;
const
AppointmentDetails
({
super
.
key
,
this
.
leadID
});
@override
State
<
AppointmentDetails
>
createState
()
=>
_AppointmentDetailsState
();
}
class
_AppointmentDetailsState
extends
State
<
AppointmentDetails
>
{
Dropdowntheme
ddtheme
=
Dropdowntheme
();
@override
Widget
build
(
BuildContext
context
)
{
...
...
@@ -151,4 +155,198 @@ class _AppointmentDetailsState extends State<AppointmentDetails> {
},
);
}
Future
<
void
>
_showAddAppointmentSheet
(
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
<
crmLeadDetailsProvider
>(
builder:
(
context
,
provider
,
child
)
{
return
Container
(
margin:
EdgeInsets
.
only
(
bottom:
15
,
left:
15
,
right:
15
,
top:
10
,
),
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
child:
SingleChildScrollView
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisSize:
MainAxisSize
.
min
,
children:
[
Align
(
alignment:
Alignment
.
topLeft
,
child:
Text
(
"Add Contact"
,
style:
TextStyle
(
color:
AppColors
.
app_blue
,
fontSize:
16
,
),
),
),
TextWidget
(
context
,
"Appointment Date"
),
GestureDetector
(
onTap:
()
{
provider
.
showDatePickerDialog
(
context
);
},
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
children:
[
Expanded
(
child:
Container
(
height:
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:
provider
.
dateController
,
keyboardType:
TextInputType
.
text
,
enabled:
false
,
maxLines:
1
,
readOnly:
true
,
onChanged:
(
value
)
{
},
decoration:
InputDecoration
(
hintText:
"Enter Date"
,
hintStyle:
TextStyle
(
fontWeight:
FontWeight
.
w400
,
color:
Color
(
0xFFB4BEC0
),
fontSize:
14
,
),
enabledBorder:
InputBorder
.
none
,
disabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
),
),
),
),
),
],
),
),
errorWidget
(
context
,
provider
.
dateError
),
DropdownButtonHideUnderline
(
child:
Row
(
children:
[
Expanded
(
child:
DropdownButton2
<
String
>(
isExpanded:
true
,
hint:
const
Row
(
children:
[
Expanded
(
child:
Text
(
'Select Account'
,
style:
TextStyle
(
fontSize:
14
),
overflow:
TextOverflow
.
ellipsis
,
),
),
],
),
items:
provider
.
visitTypes
.
map
(
(
vt
)
=>
DropdownMenuItem
<
String
>(
value:
vt
,
child:
Text
(
vt
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
),
)
.
toList
(),
value:
provider
.
selectedVisitType
,
onChanged:
(
value
)
{
if
(
value
!=
null
)
{
provider
.
selectedVisitType
=
value
;
print
(
"statusId:
${provider.selectedVisitType}
"
,
);
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
visitTypeError
),
textControllerWidget
(
context
,
provider
.
noteController
,
"Enter Note"
,
provider
.
onChangeNote
,
TextInputType
.
text
,
false
,
null
,
),
errorWidget
(
context
,
provider
.
noteError
),
InkWell
(
onTap:
provider
.
isLoading
?
null
:(){
provider
.
isLoading
=
true
;
provider
.
crmLeadDetailsAddAppointmentAPIFunction
(
context
,
widget
.
leadID
,
provider
.
dateController
.
text
,
provider
.
selectedVisitType
,
provider
.
noteController
.
text
);
},
child:
Container
(
alignment:
Alignment
.
center
,
height:
45
,
margin:
EdgeInsets
.
only
(
left:
5.0
,
right:
5.0
,
top:
5.0
,
bottom:
5.0
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
//1487C9
borderRadius:
BorderRadius
.
circular
(
14.0
),
),
child:
Center
(
child:
provider
.
isLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
AppColors
.
white
),):
Text
(
"Submit"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
Colors
.
white
),
),
),
),
),
],
),
),
);
},
),
);
},
);
},
);
}
}
lib/screens/crm/LeadDetailsByMode.dart
View file @
a92809e3
...
...
@@ -238,7 +238,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
FollowUpDetails
(),));
break
;
case
3
:
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
AppointmentDetails
(),));
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
AppointmentDetails
(
leadID:
provider
.
leadDetails
.
id
,
),));
break
;
case
4
:
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
QuotationDetails
(),));
...
...
lib/screens/finance/AllPaymentRequesitionListsByModes.dart
View file @
a92809e3
...
...
@@ -321,7 +321,7 @@ class _AllpaymentrequesitionlistsbymodesState
}),
InkResponse
(
onTap:
()
async
{
Navigator
.
push
(
var
res
=
await
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
...
...
@@ -337,6 +337,9 @@ class _AllpaymentrequesitionlistsbymodesState
),
),
);
if
(
res
==
true
){
provider
.
paymentRequestionListsAPIFunction
(
context
,
widget
.
mode
,
""
,
""
);
}
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
...
...
lib/screens/finance/addPaymentReceiptList.dart
View file @
a92809e3
...
...
@@ -410,7 +410,7 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
[
textControllerWidget
(
context
,
provider
.
amount
Controller
,
provider
.
bankUpi
Controller
,
"Enter UPI ID"
,
provider
.
updateUPI
,
TextInputType
.
text
,
false
,
null
),
...
...
lib/screens/finance/directPaymentRequesitionList.dart
View file @
a92809e3
...
...
@@ -420,7 +420,7 @@ class _DirectpaymentrequesitionlistState
]
else
if
(
provider
.
directPaymentModesValues
==
"UPI"
)
...[
textControllerWidget
(
context
,
provider
.
amount
Controller
,
provider
.
bankUpi
Controller
,
"Enter UPI ID"
,
provider
.
updateUPI
,
TextInputType
.
text
,
false
,
null
),
...
...
lib/screens/finance/financeDashboard.dart
View file @
a92809e3
...
...
@@ -152,7 +152,7 @@ class _FinancedashboardState extends State<Financedashboard> {
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
Text
(
"Add Payment"
,
"Add Payment
Request
"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
...
...
lib/screens/finance/paymentListPaymentRequisition.dart
View file @
a92809e3
...
...
@@ -283,7 +283,7 @@ late Commondaterangefilter cf;
}),
InkResponse
(
onTap:
()
async
{
Navigator
.
push
(
var
res
=
await
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
...
...
@@ -295,6 +295,9 @@ late Commondaterangefilter cf;
),
),
);
if
(
res
==
true
){
provider
.
paymentsListAPI
(
context
,
''
,
''
);
}
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
...
...
lib/screens/finance/paymentreceiptList.dart
View file @
a92809e3
...
...
@@ -252,7 +252,7 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
}),
InkResponse
(
onTap:
()
async
{
Navigator
.
push
(
var
res
=
await
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
...
...
@@ -264,6 +264,9 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
),
),
);
if
(
res
==
true
){
provider
.
paymentsListAPI
(
context
,
''
,
''
);
}
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
...
...
lib/screens/finance/submitPaymentRequestionListsByMode.dart
View file @
a92809e3
...
...
@@ -54,6 +54,7 @@ class _SubmitpaymentrequestionlistsbymodeState
provider
.
accountId
=
provider
.
accounts
.
first
.
id
!;
}
});
return
WillPopScope
(
child:
Scaffold
(
resizeToAvoidBottomInset:
true
,
...
...
lib/services/api_calling.dart
View file @
a92809e3
...
...
@@ -1231,6 +1231,7 @@ class ApiCalling {
};
final
res
=
await
post
(
data
,
addPaymentRequestionViewUrl
,
{});
if
(
res
!=
null
)
{
print
(
"add view:
${data}
"
);
debugPrint
(
res
.
body
);
return
addPaymentRequestionResponse
.
fromJson
(
jsonDecode
(
res
.
body
));
}
else
{
...
...
@@ -1614,6 +1615,7 @@ class ApiCalling {
'mode'
:
mode
.
toString
(),
'payment_request_id'
:
(
payment_request_id
).
toString
(),
'approve_remarks'
:
approve_remarks
,
'approved_amount'
:
approved_amount
,
'proposed_payment_account_id'
:
proposed_payment_account_id
,
};
final
res
=
await
post
(
data
,
approveRejectPaymentRequestSubmitUrl
,
{});
...
...
@@ -3311,6 +3313,38 @@ class ApiCalling {
}
}
static
Future
<
CommonResponse
?>
crmLeadDetailsAddAppointmentAPI
(
empId
,
session
,
lead_id
,
appointment_date
,
type
,
note
,
)
async
{
try
{
Map
<
String
,
String
>
data
=
{
'emp_id'
:
(
empId
).
toString
(),
'session_id'
:
(
session
).
toString
(),
'lead_id'
:
(
lead_id
).
toString
(),
'appointment_date'
:(
appointment_date
).
toString
(),
'type'
:(
type
).
toString
(),
'note'
:(
note
).
toString
(),
};
final
res
=
await
post
(
data
,
crmLeadDetailsAddAppointmentUrl
,
{});
if
(
res
!=
null
)
{
print
(
data
);
debugPrint
(
res
.
body
);
return
CommonResponse
.
fromJson
(
jsonDecode
(
res
.
body
));
}
else
{
debugPrint
(
"Null Response"
);
return
null
;
}
}
catch
(
e
)
{
debugPrint
(
'hello bev=bug
$e
'
);
return
null
;
}
}
// static Future<CommonResponse?> TpcIssueListApprovalAPI(
// empId,
...
...
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