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

09-06-2025 By Sai Srinivas

issues and Alignments and modifications
parent 60c0bef0
......@@ -9,10 +9,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_download_manager/flutter_download_manager.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:generp/services/api_calling.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart';
import 'dart:math';
......@@ -20,9 +18,9 @@ import 'dart:math';
import 'package:flutter/widgets.dart';
import 'package:url_launcher/url_launcher.dart';
const MAX_PROGRESS = 100;
// const MAX_PROGRESS = 100;
Future main() async {
Future runErpScreenApp() async {
await FlutterDownloader.initialize(
debug: true, // optional: set false to disable printing logs to console
);
......@@ -161,6 +159,11 @@ class _WebErpScreenState extends State<WebErpScreen> {
thirdPartyCookiesEnabled: true,
blockNetworkImage: false,
supportMultipleWindows: true,
blockNetworkLoads: false,
networkAvailable: true,
useShouldInterceptRequest:true,
hardwareAcceleration: true
// Enable camera access
),
......@@ -255,8 +258,28 @@ class _WebErpScreenState extends State<WebErpScreen> {
allowsLinkPreview: true,
databaseEnabled: true, // Enables the WebView database
clearSessionCache: true,
mediaType: "image/*",
mediaType: "image/*,application/pdf",
useShouldInterceptRequest:true,
hardwareAcceleration: true
),
shouldInterceptRequest: (controller, request) async {
final url = request.url.toString();
print('Intercepting request: $url, Headers: ${request.headers}');
if (url.endsWith('.pdf')) {
final response = await http.get(Uri.parse(url), headers: {
'Accept': 'application/pdf',
});
if (response.statusCode == 200 && response.headers['content-type']?.contains('application/pdf') == true) {
return WebResourceResponse(
contentType: 'application/pdf',
data: response.bodyBytes,
);
} else {
print('Failed to load PDF: Status ${response.statusCode}, Content-Type: ${response.headers['content-type']}');
}
}
return null;
},
shouldOverrideUrlLoading: (
controller,
navigationAction,
......@@ -265,6 +288,14 @@ class _WebErpScreenState extends State<WebErpScreen> {
print("urib scgefes");
print(uri);
print(uri.scheme);
if (uri.toString().contains('file_viewer_n ame.php') && uri.toString().contains('.pdf')) {
final pdfPath = Uri.parse(uri.toString()).queryParameters['file_path'];
if (pdfPath != null) {
final pdfUrl = 'https://erp.gengroup.in/$pdfPath';
await controller.loadUrl(urlRequest: URLRequest(url: WebUri(pdfUrl)));
return NavigationActionPolicy.CANCEL;
}
}
if (uri.scheme == "tel") {
// Launch the phone dialer app with the specified phone number
if (await canLaunch(uri.toString())) {
......@@ -297,7 +328,37 @@ class _WebErpScreenState extends State<WebErpScreen> {
return NavigationActionPolicy.ALLOW;
},
onLoadStop: (controller, url) {
onLoadStop: (controller, url) async {
if (url.toString().contains('file_viewer_name.php') && url.toString().contains('.pdf')) {
final uri = Uri.parse(url.toString());
final pdfPath = uri.queryParameters['file_path'];
if (pdfPath != null) {
final pdfUrl = 'https://erp.gengroup.in/$pdfPath';
await controller.evaluateJavascript(source: '''
var pdfjsLib = window.pdfjsLib || document.createElement('script');
pdfjsLib.src = 'https://mozilla.github.io/pdf.js/build/pdf.js';
document.head.appendChild(pdfjsLib);
pdfjsLib.onload = function() {
pdfjsLib.getDocument('$pdfUrl').promise.then(function(pdf) {
pdf.getPage(1).then(function(page) {
var canvas = document.createElement('canvas');
document.body.appendChild(canvas);
var context = canvas.getContext('2d');
var viewport = page.getViewport({ scale: 1.0 });
canvas.height = viewport.height;
canvas.width = viewport.width;
page.render({
canvasContext: context,
viewport: viewport
});
});
}).catch(function(error) {
console.error('PDF.js error: ' + error);
});
};
''');
}
}
pullToRefreshController?.endRefreshing();
return setState(() {
isLoading = false;
......
......@@ -11,9 +11,9 @@ import 'package:permission_handler/permission_handler.dart';
import 'WebERPScreen.dart';
const MAX_PROGRESS = 100;
// const MAX_PROGRESS = 100;
Future main() async {
Future runErpScreenApp2() async {
await FlutterDownloader.initialize(
debug: true // optional: set false to disable printing logs to console
);
......
......@@ -194,6 +194,9 @@ class _AccountledgerState extends State<Accountledger> {
padding: const EdgeInsets.all(8.0),
child: Text("${provider.selectedAcVal??""}" +" "+ "Account Ledger List"),
),
if(provider.ledgerList.isEmpty)...[
Emptywidget(context),
]else...[
ListView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
......@@ -419,6 +422,8 @@ class _AccountledgerState extends State<Accountledger> {
},
),
],
],
),
),
),
......@@ -540,8 +545,8 @@ class _AccountledgerState extends State<Accountledger> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......
......@@ -52,7 +52,7 @@ class _AccountslistState extends State<Accountslist> {
),
),),
backgroundColor: AppColors.scaffold_bg_color,
body: Container(
body:accountList.isNotEmpty? Container(
child: SingleChildScrollView(
controller: scrollController,
child: Column(
......@@ -231,7 +231,7 @@ class _AccountslistState extends State<Accountslist> {
],
),
),
),
):Emptywidget(context),
),
onWillPop: () {
provider.pageNum = 1;
......
import 'package:dropdown_button2/dropdown_button2.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/commonWidgets.dart';
......@@ -109,8 +110,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down_sharp),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 14,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -227,8 +228,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -318,8 +319,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -405,8 +406,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/commonProvider/commonPagesProvider.dart';
import 'package:generp/screens/commom/accountLedger.dart';
import 'package:generp/screens/commom/accountsList.dart';
import 'package:generp/screens/commom/addCommonPayment.dart';
import 'package:generp/screens/screensExports.dart';
import 'package:provider/provider.dart';
import '../../Utils/app_colors.dart';
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
......@@ -101,7 +100,6 @@ class Commondaterangefilter {
day,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Colors.grey[700],
),
),
......@@ -155,7 +153,7 @@ class Commondaterangefilter {
});
},
child: Container(
margin: EdgeInsets.all(2),
margin: EdgeInsets.all(1),
decoration: BoxDecoration(
color: isSelected
? Colors.blue[600]
......@@ -241,7 +239,7 @@ class Commondaterangefilter {
height: 280,
child: GridView.count(
crossAxisCount: 7,
childAspectRatio: 1,
childAspectRatio: 1.2,
children: dayWidgets,
physics: NeverScrollableScrollPhysics(),
),
......@@ -435,7 +433,7 @@ class MyWidget extends StatelessWidget {
print("Bottom sheet closed without selection");
}
},
child: Icon(CupertinoIcons.color_filter),
child: SvgPicture.asset("assets/svg/filter_ic.svg", height: 25),
),
),
);
......
......@@ -107,8 +107,7 @@ class _AllpaymentrequesitionlistsbymodesState
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
))
: Container(
child: SingleChildScrollView(
: requestLists.isNotEmpty?SingleChildScrollView(
child: Column(
children: [
ListView.builder(
......@@ -204,6 +203,7 @@ class _AllpaymentrequesitionlistsbymodesState
child: Center(
child: Text(
requestLists[index].status!,
textAlign: TextAlign.center,
style: TextStyle(
fontFamily: "JakartaMedium",
fontSize: 14,
......@@ -357,8 +357,7 @@ class _AllpaymentrequesitionlistsbymodesState
),
],
),
),
),
):Emptywidget(context),
),
);
},
......
......@@ -5,6 +5,7 @@ import 'package:generp/Notifiers/financeProvider/RequesitionLidtDetailsProvider.
import 'package:generp/Notifiers/financeProvider/approveRejectPaymentRequestResponse.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:generp/screens/commom/accountsListDetails.dart';
import 'package:provider/provider.dart';
import 'FileViewer.dart';
......@@ -28,14 +29,11 @@ class Paymentrequestionlistdetails extends StatefulWidget {
class _PaymentrequestionlistdetailsState
extends State<Paymentrequestionlistdetails> {
TextEditingController approvedAmount = TextEditingController();
TextEditingController remarks = TextEditingController();
TextEditingController paymentReferenceNumber = TextEditingController();
FocusNode requestNode = FocusNode();
FocusNode approveNode = FocusNode();
FocusNode remarkNode = FocusNode();
......@@ -86,8 +84,7 @@ class _PaymentrequestionlistdetailsState
req_det.createdDatetime ?? "-",
req_det.updatedDatetime ?? "-",
];
},);
});
return WillPopScope(
child: Scaffold(
resizeToAvoidBottomInset: true,
......@@ -159,7 +156,7 @@ class _PaymentrequestionlistdetailsState
),
child: Center(
child: Text(
req_det.status??"-",
req_det.status ?? "-",
textAlign: TextAlign.center,
style: TextStyle(
fontFamily: "JakartaMedium",
......@@ -207,24 +204,47 @@ class _PaymentrequestionlistdetailsState
),
),
);
} else if (provider.Headings[j] ==
"Requested Account") {
Navigator.push(
context,
MaterialPageRoute(
builder:
(context) => Accountslistdetails(
accountID:
provider.requestsDetails.accountId,
),
),
);
}
},
child: Text(
provider.Headings[j] == "Attachment"
[
"Attachment",
].contains(provider.Headings[j])
? "View"
: "${provider.subHeadings[j]}",
style: TextStyle(
fontSize: 14,
color:
provider.Headings[j] == "Attachment"
[
"Attachment",
"Requested Account",
].contains(provider.Headings[j])
? AppColors.app_blue
: Color(0xFF818181),
decoration:
provider.Headings[j] == "Attachment"
[
"Attachment",
"Requested Account",
].contains(provider.Headings[j])
? TextDecoration.underline
: TextDecoration.none,
decorationColor:
provider.Headings[j] == "Attachment"
[
"Attachment",
"Requested Account",
].contains(provider.Headings[j])
? AppColors.app_blue
: AppColors.white,
),
......@@ -374,7 +394,6 @@ class _PaymentrequestionlistdetailsState
return SafeArea(
child: Consumer<Requesitionlidtdetailsprovider>(
builder: (context, provider, child) {
return Container(
margin: EdgeInsets.only(
bottom: 15,
......@@ -478,8 +497,8 @@ class _PaymentrequestionlistdetailsState
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -672,7 +691,6 @@ class _PaymentrequestionlistdetailsState
return SafeArea(
child: Consumer<Requesitionlidtdetailsprovider>(
builder: (context, provider, child) {
return Container(
margin: EdgeInsets.only(
bottom: 15,
......@@ -766,8 +784,8 @@ class _PaymentrequestionlistdetailsState
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -844,7 +862,28 @@ class _PaymentrequestionlistdetailsState
),
),
),
if(provider.imagePicked==1 && provider.imagePath!=null)...[
Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("${provider.imagePath}",style: TextStyle(
color: AppColors.semi_black,
fontSize: 11,
fontWeight: FontWeight.w600
),),
InkResponse(
onTap: () {
provider.imagePicked = 0;
provider.imagePath = null;
provider.imageFilePath = null;
},
child: SvgPicture.asset("assets/svg/ic_close.svg",width: 15,height: 15,))
],
),
)
],
textControllerReadonlyWidget(
context,
provider.accountName,
......@@ -921,16 +960,17 @@ class _PaymentrequestionlistdetailsState
(p0) {},
),
InkWell(
onTap: () {
provider.paymentrequisitionProcessSubmitAPIFunction(
context, widget.mode, provider.paymentsReqDetails.id,
provider
.paymentrequisitionProcessSubmitAPIFunction(
context,
widget.mode,
provider.paymentsReqDetails.id,
paymentReferenceNumber.text,
remarks.text,
provider.imagePath);
provider.imagePath,
);
},
child: Container(
alignment: Alignment.center,
......@@ -1076,7 +1116,10 @@ class _PaymentrequestionlistdetailsState
child: Text(hintText),
),
Container(
height: hintText == "Enter Description"||hintText=="Enter Remarks" ? 150 : 50,
height:
hintText == "Enter Description" || hintText == "Enter Remarks"
? 150
: 50,
alignment: Alignment.center,
decoration: BoxDecoration(
color: AppColors.text_field_color,
......@@ -1087,7 +1130,10 @@ class _PaymentrequestionlistdetailsState
child: TextFormField(
controller: controller,
keyboardType: TextInputType.text,
maxLines: hintText == "Enter Description"||hintText=="Enter Remarks" ? 60 : 1,
maxLines:
hintText == "Enter Description" || hintText == "Enter Remarks"
? 60
: 1,
onChanged: onChanged,
decoration: InputDecoration(
hintText: hintText,
......@@ -1135,12 +1181,8 @@ class _PaymentrequestionlistdetailsState
keyboardType: TextInputType.text,
maxLines: hintText == "Enter Description" ? 60 : 1,
onChanged: onChanged,
style: TextStyle(
color: Color(0xFF818181),
fontSize: 14,
),
style: TextStyle(color: Color(0xFF818181), fontSize: 14),
decoration: InputDecoration(
hintText: hintText,
hintStyle: TextStyle(
fontWeight: FontWeight.w400,
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Models/financeModels/addReceiptPaymentResponse.dart';
import 'package:provider/provider.dart';
......@@ -116,8 +117,8 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -211,8 +212,8 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -361,8 +362,8 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -485,6 +486,28 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
),
),
),
if(provider.imagePicked==1 && provider.imagePath!=null)...[
Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("${provider.imagePath}",style: TextStyle(
color: AppColors.semi_black,
fontSize: 11,
fontWeight: FontWeight.w600
),),
InkResponse(
onTap: () {
provider.imagePicked = 0;
provider.imagePath = null;
provider.imageFilePath = null;
},
child: SvgPicture.asset("assets/svg/ic_close.svg",width: 15,height: 15,))
],
),
)
],
],
),
),
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:generp/Notifiers/financeProvider/RequestionListProvider.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/financeProvider/RequestionListProvider.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import '../../Models/financeModels/addDirectPaymentResponse.dart';
import '../../Models/financeModels/addDirectPaymentResponse.dart';
class Directpaymentrequesitionlist extends StatefulWidget {
class Directpaymentrequesitionlist extends StatefulWidget {
final String pageTitleName;
const Directpaymentrequesitionlist({super.key, required this.pageTitleName});
......@@ -17,9 +18,9 @@
@override
State<Directpaymentrequesitionlist> createState() =>
_DirectpaymentrequesitionlistState();
}
}
class _DirectpaymentrequesitionlistState
class _DirectpaymentrequesitionlistState
extends State<Directpaymentrequesitionlist> {
@override
void initState() {
......@@ -120,8 +121,12 @@
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset(
"assets/svg/arrow_dropdown.svg",
height: 25,
width: 20,
),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -215,8 +220,12 @@
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset(
"assets/svg/arrow_dropdown.svg",
height: 25,
width: 20,
),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -245,7 +254,10 @@
],
),
),
ErrorWidget(context, provider.selectDirectPaymentAccountError),
ErrorWidget(
context,
provider.selectDirectPaymentAccountError,
),
textControllerWidget(
context,
provider.amountController,
......@@ -253,19 +265,18 @@
provider.updateAmount,
),
ErrorWidget(context, provider.amountError),
///payment date toBE
TextWidget(context, "Enter Date"),
GestureDetector(
onTap: () {
provider.showDatePickerDialog(context);
},
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
child: Container(
height: 50,
alignment: Alignment.center,
decoration: BoxDecoration(
......@@ -273,16 +284,19 @@
borderRadius: BorderRadius.circular(14),
),
child: Padding(
padding: const EdgeInsets.fromLTRB(10.0, 0.0, 10, 0),
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) {
},
onChanged: (value) {},
decoration: InputDecoration(
hintText: "Enter Date",
hintStyle: TextStyle(
......@@ -363,8 +377,12 @@
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset(
"assets/svg/arrow_dropdown.svg",
height: 25,
width: 20,
),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -399,8 +417,7 @@
"RTGS",
"IMPS",
"NEFT",
].contains(provider.directPaymentModesValues)) ...
[
].contains(provider.directPaymentModesValues)) ...[
textControllerWidget(
context,
provider.bankNameController,
......@@ -434,10 +451,9 @@
provider.bankAcHolderController,
"Enter Bank Account Holder Name",
provider.updateHolder,
),ErrorWidget(context, provider.bankHolderError),
]
else if (provider.directPaymentModesValues == "UPI") ...
[
),
ErrorWidget(context, provider.bankHolderError),
] else if (provider.directPaymentModesValues == "UPI") ...[
textControllerWidget(
context,
provider.amountController,
......@@ -487,6 +503,28 @@
),
),
),
if(provider.imagePicked==1 && provider.imagePath!=null)...[
Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("${provider.imagePath}",style: TextStyle(
color: AppColors.semi_black,
fontSize: 11,
fontWeight: FontWeight.w600
),),
InkResponse(
onTap: () {
provider.imagePicked = 0;
provider.imagePath = null;
provider.imageFilePath = null;
},
child: SvgPicture.asset("assets/svg/ic_close.svg",width: 15,height: 15,))
],
),
)
],
],
),
),
......@@ -496,12 +534,15 @@
bottomNavigationBar: InkResponse(
onTap: () {
// provider.submitClicked = true;
provider.addDirectPaymentRequestionSubmitAPI(context, provider.formattedDate);
provider.addDirectPaymentRequestionSubmitAPI(
context,
provider.formattedDate,
);
},
child: Container(
height: 45,
alignment: Alignment.center,
margin: EdgeInsets.symmetric(horizontal: 10,vertical: 15),
margin: EdgeInsets.symmetric(horizontal: 10, vertical: 15),
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 5),
decoration: BoxDecoration(
color: AppColors.app_blue,
......@@ -526,10 +567,12 @@
},
);
}
void _showDialog(Widget child) {
showCupertinoModalPopup<void>(
context: context,
builder: (BuildContext context) => Container(
builder:
(BuildContext context) => Container(
height: 216,
padding: const EdgeInsets.only(top: 6.0),
// The Bottom margin is provided to align the popup above the system
......@@ -563,8 +606,10 @@
),
// Add a Done button
CupertinoButton(
child: Text('Done',
style: TextStyle(fontFamily: "JakartaMedium")),
child: Text(
'Done',
style: TextStyle(fontFamily: "JakartaMedium"),
),
onPressed: () {
Navigator.pop(context); // Dismiss the dialog
},
......@@ -580,6 +625,7 @@
),
);
}
Widget TextWidget(context, text) {
return Padding(
padding: const EdgeInsets.only(bottom: 5.0, top: 8.0),
......@@ -720,4 +766,4 @@
},
);
}
}
}
......@@ -3,12 +3,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/financeProvider/DashboardProvider.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:generp/screens/finance/AllPaymentRequesitionListsByModes.dart';
import 'package:generp/screens/finance/addPaymentReceiptList.dart';
import 'package:generp/screens/finance/directPaymentRequesitionList.dart';
import 'package:generp/screens/finance/paymentListPaymentRequisition.dart';
import 'package:generp/screens/finance/paymentreceiptList.dart';
import 'package:generp/screens/finance/submitPaymentRequestionListsByMode.dart';
import 'package:generp/screens/screensExports.dart';
import 'package:provider/provider.dart';
class Financedashboard extends StatefulWidget {
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/financeProvider/RequesitionLidtDetailsProvider.dart';
import 'package:generp/Notifiers/financeProvider/approveRejectPaymentRequestResponse.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:provider/provider.dart';
......
......@@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/screens/finance/paymentDetailsPaymentRequisition.dart';
import 'package:provider/provider.dart';
import '../../Notifiers/financeProvider/paymentRequisitionPaymentsListProvider.dart';
import '../../Utils/app_colors.dart';
import '../../Utils/commonWidgets.dart';
......@@ -91,7 +90,8 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
? Center(child: CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
)):Container(
))
:requestLists.isNotEmpty?Container(
child: SingleChildScrollView(
child: Column(
children: [
......@@ -311,7 +311,7 @@ class _PaymentlistpaymentrequisitionState extends State<Paymentlistpaymentrequis
],
),
),
),
):Emptywidget(context),
),
);
},
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/financeProvider/RequesitionLidtDetailsProvider.dart';
import 'package:generp/Notifiers/financeProvider/approveRejectPaymentRequestResponse.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:provider/provider.dart';
import '../../Notifiers/financeProvider/paymentReceiptsProvider.dart';
import '../../Notifiers/financeProvider/paymentRequisitionPaymentsListProvider.dart';
import 'FileViewer.dart';
class Paymentreceiptdetails extends StatefulWidget {
......
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/screens/finance/paymentDetailsPaymentRequisition.dart';
import 'package:generp/screens/finance/paymentReceiptDetails.dart';
import 'package:provider/provider.dart';
......@@ -93,8 +92,7 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
? Center(child: CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
)):Container(
child: SingleChildScrollView(
)):requestLists.isNotEmpty?SingleChildScrollView(
child: Column(
children: [
ListView.builder(
......@@ -289,8 +287,7 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
),
],
),
),
),
):Emptywidget(context),
),
);
},
......
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/financeProvider/RequestionListProvider.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
......@@ -124,8 +125,8 @@ class _SubmitpaymentrequestionlistsbymodeState
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -209,8 +210,8 @@ class _SubmitpaymentrequestionlistsbymodeState
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -321,8 +322,8 @@ class _SubmitpaymentrequestionlistsbymodeState
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -380,6 +381,28 @@ class _SubmitpaymentrequestionlistsbymodeState
),
),
),
if(provider.imagePicked==1 && provider.imagePath!=null)...[
Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("${provider.imagePath}",style: TextStyle(
color: AppColors.semi_black,
fontSize: 11,
fontWeight: FontWeight.w600
),),
InkResponse(
onTap: () {
provider.imagePicked = 0;
provider.imagePath = null;
provider.imageFilePath = null;
},
child: SvgPicture.asset("assets/svg/ic_close.svg",width: 15,height: 15,))
],
),
)
],
ErrorWidget(context, provider.FileError),
if ([
......
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
import '../../Notifiers/GeneratorDetailsProvider.dart';
......
......@@ -86,7 +86,7 @@ class _GeneratordetailsState extends State<Generatordetails> {
// val intent = Intent(Intent.ACTION_VIEW, Uri.parse(uri))
}
},
child: Icon(Icons.directions),
child: SvgPicture.asset("assets/svg/directions_ic.svg"),
),
);
return WillPopScope(
......
......@@ -257,8 +257,8 @@ class _RegistercomplaintState extends State<Registercomplaint> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -363,8 +363,8 @@ class _RegistercomplaintState extends State<Registercomplaint> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......@@ -471,8 +471,8 @@ class _RegistercomplaintState extends State<Registercomplaint> {
color: AppColors.text_field_color,
),
),
iconStyleData: const IconStyleData(
icon: Icon(Icons.keyboard_arrow_down),
iconStyleData: IconStyleData(
icon: SvgPicture.asset("assets/svg/arrow_dropdown.svg",height: 25,width: 20,),
iconSize: 12,
iconEnabledColor: Color(0xFF2D2D2D),
iconDisabledColor: Colors.grey,
......
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