Commit a92809e3 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

23-06-2025 By Sai Srinivas

Finance module test cases
parent c7ff2cec
class addPaymentRequestionResponse { class addPaymentRequestionResponse {
List<String>? requestingPurposes;
List<Accounts>? accounts;
List<PaymentModes>? paymentModes;
String? error; String? error;
String? message; String? message;
List<Accounts>? accounts;
List<PaymentModes>? paymentModes;
List<String>? requestingPurposes;
addPaymentRequestionResponse( addPaymentRequestionResponse(
{this.requestingPurposes, { this.error,
this.message,
this.accounts, this.accounts,
this.paymentModes, this.paymentModes,
this.error, this.requestingPurposes,
this.message}); });
addPaymentRequestionResponse.fromJson(Map<String, dynamic> json) { addPaymentRequestionResponse.fromJson(Map<String, dynamic> json) {
requestingPurposes = json['requesting_purposes'].cast<String>();
if (json['accounts'] != null) { if (json['accounts'] != null) {
accounts = <Accounts>[]; accounts = <Accounts>[];
json['accounts'].forEach((v) { json['accounts'].forEach((v) {
...@@ -28,11 +30,15 @@ class addPaymentRequestionResponse { ...@@ -28,11 +30,15 @@ class addPaymentRequestionResponse {
} }
error = json['error']; error = json['error'];
message = json['message']; message = json['message'];
if(json['requesting_purposes']!=null){
requestingPurposes = json['requesting_purposes'].cast<String>();
}
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = new Map<String, dynamic>();
data['requesting_purposes'] = this.requestingPurposes;
if (this.accounts != null) { if (this.accounts != null) {
data['accounts'] = this.accounts!.map((v) => v.toJson()).toList(); data['accounts'] = this.accounts!.map((v) => v.toJson()).toList();
} }
...@@ -42,6 +48,7 @@ class addPaymentRequestionResponse { ...@@ -42,6 +48,7 @@ class addPaymentRequestionResponse {
} }
data['error'] = this.error; data['error'] = this.error;
data['message'] = this.message; data['message'] = this.message;
data['requesting_purposes'] = this.requestingPurposes;
return data; return data;
} }
} }
......
...@@ -502,6 +502,7 @@ class Leadlistprovider extends ChangeNotifier { ...@@ -502,6 +502,7 @@ class Leadlistprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
if (data.error == "0") { if (data.error == "0") {
_crmLeadList = data.leadList!; _crmLeadList = data.leadList!;
checkDropDownValues();
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} else { } else {
...@@ -571,39 +572,41 @@ class Leadlistprovider extends ChangeNotifier { ...@@ -571,39 +572,41 @@ class Leadlistprovider extends ChangeNotifier {
if (!_employeesList.contains(_selectedEmployees) && if (!_employeesList.contains(_selectedEmployees) &&
_selectedEmployees != null) { _selectedEmployees != null) {
_selectedEmployeeId = null; _selectedEmployeeId = null;
_selectedEmployeeValue = ""; _selectedEmployeeValue = null;
} }
if (!_sourcesList.contains(_selectedSources) && _selectedSources != null) { if (!_sourcesList.contains(_selectedSources) && _selectedSources != null) {
_selectedSourceId = null; _selectedSourceId = null;
_selectedEmployeeValue = ""; _selectedEmployeeValue = null;
} }
if (!_referencesList.contains(_selectedReferences) && if (!_referencesList.contains(_selectedReferences) &&
_selectedReferences != null) { _selectedReferences != null) {
_selectedReferenceId = null; _selectedReferenceId = null;
_selectedSourceValue = ""; _selectedSourceValue = null;
} }
if (!_segmentsList.contains(_selectedSegments) && if (!_segmentsList.contains(_selectedSegments) &&
_selectedSegments != null) { _selectedSegments != null) {
_selectedTeamId = null; _selectedTeamId = null;
_selectedReferenceValue = ""; _selectedReferenceValue = null;
} }
if (!_teamsList.contains(_selectedTeams) && _selectedTeams != null) { if (!_teamsList.contains(_selectedTeams) && _selectedTeams != null) {
_selectedSegmentId = null; _selectedSegmentId = null;
_selectedTeamValue = ""; _selectedTeamValue = null;
} }
if (!_districtsList.contains(_selectedDistricts) && if (!_districtsList.contains(_selectedDistricts) &&
_selectedDistricts != null) { _selectedDistricts != null) {
_selectedDistrictId = null; _selectedDistrictId = null;
_selectedSegmentValue = ""; _selectedSegmentValue = null;
} }
if (!_statesList.contains(_selectedStates) && _selectedStates != null) { if (!_statesList.contains(_selectedStates) && _selectedStates != null) {
_selectedStateId = null; _selectedStateId = null;
_selectedDistrictValue = ""; _selectedDistrictValue = null;
} }
if (!_subLocationsList.contains(_selectedSubLocations) && if (!_subLocationsList.contains(_selectedSubLocations) &&
_selectedSubLocations != null) { _selectedSubLocations != null) {
_selectedSubLocationId = null; _selectedSubLocationId = null;
_selectedStateValue = ""; _selectedStateValue = null;
} }
notifyListeners();
} }
} }
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Models/crmModels/LeadDetailsResponse.dart'; import '../../Models/crmModels/LeadDetailsResponse.dart';
...@@ -23,13 +24,15 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -23,13 +24,15 @@ class crmLeadDetailsProvider extends ChangeNotifier {
TextEditingController editAlternativeMobileController = TextEditingController(); TextEditingController editAlternativeMobileController = TextEditingController();
TextEditingController editTelephoneController = TextEditingController(); TextEditingController editTelephoneController = TextEditingController();
TextEditingController editEmailController = TextEditingController(); TextEditingController editEmailController = TextEditingController();
TextEditingController dateController = TextEditingController();
TextEditingController noteController = TextEditingController();
String? _nameError; String? _nameError;
String? _designationError; String? _designationError;
String? _mobileNumError; String? _mobileNumError;
String? _altMobError; String? _altMobError;
String? _teleError; String? _teleError;
String? _emailError; String? _emailError;
String? _noteError;
String? _editNameError; String? _editNameError;
String? _editDesignationError; String? _editDesignationError;
...@@ -38,6 +41,8 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -38,6 +41,8 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String? _editTeleError; String? _editTeleError;
String? _editEmailError; String? _editEmailError;
String? _dateError;
LeadDetails _leadDetails = LeadDetails(); LeadDetails _leadDetails = LeadDetails();
AccountDetails _accountDetails = AccountDetails(); AccountDetails _accountDetails = AccountDetails();
List<LeadProducts> _leadProducts = []; List<LeadProducts> _leadProducts = [];
...@@ -45,8 +50,13 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -45,8 +50,13 @@ class crmLeadDetailsProvider extends ChangeNotifier {
List<FollowupDetails> _followupDetails = []; List<FollowupDetails> _followupDetails = [];
List<AppointmentDetails> _appointmentDetails = []; List<AppointmentDetails> _appointmentDetails = [];
List<QuotationsDetails> _quotationsDetails = []; List<QuotationsDetails> _quotationsDetails = [];
List<String> _visitTypes = [];
String? _selectedVisitType;
List<String> _headings = []; List<String> _headings = [];
List<String> _subHeadings = []; List<String> _subHeadings = [];
DateTime? _date;
String? _formattedDate;
String? _visitTypeError = "";
String? get nameError => _nameError; String? get nameError => _nameError;
String? get designationError => _designationError; String? get designationError => _designationError;
...@@ -54,6 +64,8 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -54,6 +64,8 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String? get altMobError => _altMobError; String? get altMobError => _altMobError;
String? get teleError => _teleError; String? get teleError => _teleError;
String? get emailError => _emailError; String? get emailError => _emailError;
String? get noteError => _noteError;
String? get visitTypeError => _visitTypeError;
String? get editNameError => _editNameError; String? get editNameError => _editNameError;
String? get editDesignationError => _editDesignationError; String? get editDesignationError => _editDesignationError;
...@@ -62,8 +74,12 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -62,8 +74,12 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String? get editTeleError => _editTeleError; String? get editTeleError => _editTeleError;
String? get editEmailError => _editEmailError; String? get editEmailError => _editEmailError;
String? get dateError => _dateError;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
List<String> get visitTypes => _visitTypes;
String? get selectedVisitType => _selectedVisitType;
LeadDetails get leadDetails => _leadDetails; LeadDetails get leadDetails => _leadDetails;
AccountDetails get accountDetails => _accountDetails; AccountDetails get accountDetails => _accountDetails;
...@@ -82,6 +98,14 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -82,6 +98,14 @@ class crmLeadDetailsProvider extends ChangeNotifier {
List<String> get subHeadings => _subHeadings; List<String> get subHeadings => _subHeadings;
String? get formattedDate => _formattedDate;
set selectedVisitType(String? value){
_selectedVisitType = value;
_visitTypeError = "";
notifyListeners();
}
set nameError(String? value){ set nameError(String? value){
_nameError = value; _nameError = value;
notifyListeners(); notifyListeners();
...@@ -107,6 +131,11 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -107,6 +131,11 @@ class crmLeadDetailsProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
set noteError(String? value){
_noteError = value;
notifyListeners();
}
set editNameError(String? value){ set editNameError(String? value){
_editNameError = value; _editNameError = value;
...@@ -138,6 +167,25 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -138,6 +167,25 @@ class crmLeadDetailsProvider extends ChangeNotifier {
notifyListeners(); 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 { Future<void> crmLeadDetailsAPIFunction(context, leadID, mode) async {
try { try {
var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false); var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -186,6 +234,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -186,6 +234,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
data.leadDetails!.status??"-", data.leadDetails!.status??"-",
"${data.leadDetails!.lage??"-"} days", "${data.leadDetails!.lage??"-"} days",
]; ];
_visitTypes = ["Phone","Visit"];
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
}else{ }else{
...@@ -257,7 +306,95 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -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){ void onChangeName(value){
_nameError = ""; _nameError = "";
...@@ -308,6 +445,10 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -308,6 +445,10 @@ class crmLeadDetailsProvider extends ChangeNotifier {
_editEmailError = ""; _editEmailError = "";
notifyListeners(); notifyListeners();
} }
void onChangeNote(value){
_noteError = "";
notifyListeners();
}
void resetAll(){ void resetAll(){
nameController.clear(); nameController.clear();
......
...@@ -357,7 +357,8 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -357,7 +357,8 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
paymentRequesitionDetails(context, payment_request_id); paymentRequesitionDetails(context, payment_request_id);
resetAll(); resetAll();
toast(context, data.message); toast(context, data.message);
Navigator.pop(context); Navigator.pop(context,true);
notifyListeners();
} }
} }
} catch (e, s) {} } catch (e, s) {}
......
...@@ -118,8 +118,8 @@ class _MyHomePageState extends State<MyHomePage> { ...@@ -118,8 +118,8 @@ class _MyHomePageState extends State<MyHomePage> {
"Whizzdom", "Whizzdom",
"Common", "Common",
"Finance", "Finance",
// "Orders", "Orders",
// "CRM", "CRM",
]; ];
final icons = [ final icons = [
"assets/svg/home_icons_1.svg", "assets/svg/home_icons_1.svg",
...@@ -131,8 +131,8 @@ class _MyHomePageState extends State<MyHomePage> { ...@@ -131,8 +131,8 @@ class _MyHomePageState extends State<MyHomePage> {
"assets/svg/home_icons_81.svg", "assets/svg/home_icons_81.svg",
"assets/svg/home_icons_9.svg", "assets/svg/home_icons_9.svg",
"assets/svg/home_icons_10.svg", "assets/svg/home_icons_10.svg",
// "assets/svg/home_icons_11.svg", "assets/svg/home_icons_11.svg",
// "assets/svg/home_icons_12.svg", "assets/svg/home_icons_12.svg",
]; ];
final requiredRoles = [ final requiredRoles = [
"430", "430",
...@@ -144,8 +144,8 @@ class _MyHomePageState extends State<MyHomePage> { ...@@ -144,8 +144,8 @@ class _MyHomePageState extends State<MyHomePage> {
"431", "431",
"430", "430",
"430", "430",
// "430", "430",
// "430", "430",
]; ];
final filteredItems = <Map<String, String>>[]; final filteredItems = <Map<String, String>>[];
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:generp/Utils/dropdownTheme.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Notifiers/crmProvider/crmLeadDetailsProvider.dart'; import '../../Notifiers/crmProvider/crmLeadDetailsProvider.dart';
...@@ -6,14 +9,15 @@ import '../../Utils/app_colors.dart'; ...@@ -6,14 +9,15 @@ import '../../Utils/app_colors.dart';
import '../../Utils/commonWidgets.dart'; import '../../Utils/commonWidgets.dart';
class AppointmentDetails extends StatefulWidget { class AppointmentDetails extends StatefulWidget {
const AppointmentDetails({super.key}); final leadID;
const AppointmentDetails({super.key, this.leadID});
@override @override
State<AppointmentDetails> createState() => _AppointmentDetailsState(); State<AppointmentDetails> createState() => _AppointmentDetailsState();
} }
class _AppointmentDetailsState extends State<AppointmentDetails> { class _AppointmentDetailsState extends State<AppointmentDetails> {
Dropdowntheme ddtheme = Dropdowntheme();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
...@@ -151,4 +155,198 @@ class _AppointmentDetailsState extends State<AppointmentDetails> { ...@@ -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),
),
),
),
),
],
),
),
);
},
),
);
},
);
},
);
}
} }
...@@ -238,7 +238,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -238,7 +238,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
Navigator.push(context, MaterialPageRoute(builder: (context) => FollowUpDetails(),)); Navigator.push(context, MaterialPageRoute(builder: (context) => FollowUpDetails(),));
break; break;
case 3: case 3:
Navigator.push(context, MaterialPageRoute(builder: (context) => AppointmentDetails(),)); Navigator.push(context, MaterialPageRoute(builder: (context) => AppointmentDetails(leadID:provider.leadDetails.id ,),));
break; break;
case 4: case 4:
Navigator.push(context, MaterialPageRoute(builder: (context) => QuotationDetails(),)); Navigator.push(context, MaterialPageRoute(builder: (context) => QuotationDetails(),));
......
...@@ -321,7 +321,7 @@ class _AllpaymentrequesitionlistsbymodesState ...@@ -321,7 +321,7 @@ class _AllpaymentrequesitionlistsbymodesState
}), }),
InkResponse( InkResponse(
onTap: () async { onTap: () async {
Navigator.push( var res = await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: builder:
...@@ -337,6 +337,9 @@ class _AllpaymentrequesitionlistsbymodesState ...@@ -337,6 +337,9 @@ class _AllpaymentrequesitionlistsbymodesState
), ),
), ),
); );
if(res==true){
provider.paymentRequestionListsAPIFunction(context, widget.mode, "","");
}
}, },
child: Container( child: Container(
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
......
...@@ -410,7 +410,7 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> { ...@@ -410,7 +410,7 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
[ [
textControllerWidget( textControllerWidget(
context, context,
provider.amountController, provider.bankUpiController,
"Enter UPI ID", "Enter UPI ID",
provider.updateUPI,TextInputType.text,false,null provider.updateUPI,TextInputType.text,false,null
), ),
......
...@@ -420,7 +420,7 @@ class _DirectpaymentrequesitionlistState ...@@ -420,7 +420,7 @@ class _DirectpaymentrequesitionlistState
] else if (provider.directPaymentModesValues == "UPI") ...[ ] else if (provider.directPaymentModesValues == "UPI") ...[
textControllerWidget( textControllerWidget(
context, context,
provider.amountController, provider.bankUpiController,
"Enter UPI ID", "Enter UPI ID",
provider.updateUPI,TextInputType.text,false,null provider.updateUPI,TextInputType.text,false,null
), ),
......
...@@ -152,7 +152,7 @@ class _FinancedashboardState extends State<Financedashboard> { ...@@ -152,7 +152,7 @@ class _FinancedashboardState extends State<Financedashboard> {
borderRadius: BorderRadius.circular(15), borderRadius: BorderRadius.circular(15),
), ),
child: Text( child: Text(
"Add Payment", "Add Payment Request",
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
fontFamily: "JakartaMedium", fontFamily: "JakartaMedium",
......
...@@ -283,7 +283,7 @@ late Commondaterangefilter cf; ...@@ -283,7 +283,7 @@ late Commondaterangefilter cf;
}), }),
InkResponse( InkResponse(
onTap: () async { onTap: () async {
Navigator.push( var res = await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: builder:
...@@ -295,6 +295,9 @@ late Commondaterangefilter cf; ...@@ -295,6 +295,9 @@ late Commondaterangefilter cf;
), ),
), ),
); );
if(res==true){
provider.paymentsListAPI(context,'','');
}
}, },
child: Container( child: Container(
padding: EdgeInsets.symmetric(vertical: 5), padding: EdgeInsets.symmetric(vertical: 5),
......
...@@ -252,7 +252,7 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> { ...@@ -252,7 +252,7 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
}), }),
InkResponse( InkResponse(
onTap: () async { onTap: () async {
Navigator.push( var res = await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: builder:
...@@ -264,6 +264,9 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> { ...@@ -264,6 +264,9 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
), ),
), ),
); );
if(res==true){
provider.paymentsListAPI(context,'','');
}
}, },
child: Container( child: Container(
padding: EdgeInsets.symmetric(vertical: 5), padding: EdgeInsets.symmetric(vertical: 5),
......
...@@ -54,6 +54,7 @@ class _SubmitpaymentrequestionlistsbymodeState ...@@ -54,6 +54,7 @@ class _SubmitpaymentrequestionlistsbymodeState
provider.accountId = provider.accounts.first.id!; provider.accountId = provider.accounts.first.id!;
} }
}); });
return WillPopScope( return WillPopScope(
child: Scaffold( child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
......
...@@ -1231,6 +1231,7 @@ class ApiCalling { ...@@ -1231,6 +1231,7 @@ class ApiCalling {
}; };
final res = await post(data, addPaymentRequestionViewUrl, {}); final res = await post(data, addPaymentRequestionViewUrl, {});
if (res != null) { if (res != null) {
print("add view:${data}");
debugPrint(res.body); debugPrint(res.body);
return addPaymentRequestionResponse.fromJson(jsonDecode(res.body)); return addPaymentRequestionResponse.fromJson(jsonDecode(res.body));
} else { } else {
...@@ -1614,6 +1615,7 @@ class ApiCalling { ...@@ -1614,6 +1615,7 @@ class ApiCalling {
'mode': mode.toString(), 'mode': mode.toString(),
'payment_request_id': (payment_request_id).toString(), 'payment_request_id': (payment_request_id).toString(),
'approve_remarks': approve_remarks, 'approve_remarks': approve_remarks,
'approved_amount': approved_amount,
'proposed_payment_account_id': proposed_payment_account_id, 'proposed_payment_account_id': proposed_payment_account_id,
}; };
final res = await post(data, approveRejectPaymentRequestSubmitUrl, {}); final res = await post(data, approveRejectPaymentRequestSubmitUrl, {});
...@@ -3311,6 +3313,38 @@ class ApiCalling { ...@@ -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( // static Future<CommonResponse?> TpcIssueListApprovalAPI(
// empId, // empId,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment