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
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<uses-permission android:name="com.google.android.gms.permission.AD_ID" /> <uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application <application
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:taskAffinity="" android:taskAffinity=""
android:theme="@style/LaunchTheme" android:theme="@style/LaunchTheme"
android:screenOrientation="PORTRAIT" android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as <!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user the Android process has started. This theme is visible to the user
......
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" id="down-drop-arrow">
<path fill="none" d="M0 0h24v24H0V0z"></path>
<path d="M8.71 11.71l2.59 2.59c.39.39 1.02.39 1.41 0l2.59-2.59c.63-.63.18-1.71-.71-1.71H9.41c-.89 0-1.33 1.08-.7 1.71z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" viewBox="0 0 24 24" id="turn-right">
<path d="M15.8530273,11.6460571l-1.9995117-1.9995117c-0.1937866-0.1871338-0.5009155-0.1871338-0.6947021,0c-0.1986084,0.1918335-0.2041626,0.5083618-0.0123291,0.7069702L14.2930298,11.5H9.5c-0.0001831,0-0.0003662,0-0.0005493,0C9.2234497,11.5001831,8.9998169,11.723999,9,12v2c0,0.0001831,0,0.0003662,0,0.0005493C9.0001831,14.2765503,9.223999,14.5001831,9.5,14.5c0.0001831,0,0.0003662,0,0.0006104,0C9.7765503,14.4998169,10.0001831,14.276001,10,14v-1.5h4.2930298l-1.1465454,1.1464844c-0.09375,0.09375-0.1464233,0.2208862-0.1464233,0.3534546C13,14.276062,13.223877,14.499939,13.5,14.5c0.1326294,0.0001831,0.2598267-0.0525513,0.3535156-0.1464844l1.9998779-1.9998779c0.0461426-0.0461426,0.0827026-0.1013184,0.1080322-0.1625977c0.0250244-0.0606079,0.0380859-0.1248779,0.038269-0.1894531C15.9996948,12.0010376,16,12.0005493,16,12c0-0.0651245-0.0132446-0.1300659-0.0385742-0.1911621C15.9360352,11.7475586,15.899292,11.6921997,15.8530273,11.6460571z M21.2978516,10.2324219l-7.5302734-7.5302734c-0.9770508-0.9741211-2.5581055-0.9741211-3.5351562,0l-7.5302734,7.5302734c-0.9736328,0.9772949-0.9736328,2.5578613,0,3.5351562l7.5302734,7.5302734C10.7009277,21.7668457,11.3370972,22.0297852,12,22.0283203c0.6627808,0.0007935,1.2987061-0.2619629,1.7675781-0.7304688l7.5302734-7.5302734C22.2714844,12.7902832,22.2714844,11.2097168,21.2978516,10.2324219z M20.5908203,13.0605469l-7.5302734,7.5302734c-0.5864258,0.5839844-1.534668,0.5839844-2.1210938,0l-7.5302734-7.5302734c-0.5839844-0.5864258-0.5839844-1.534668,0-2.1210938l7.5302734-7.5302734c0.5864258-0.5839844,1.534668-0.5839844,2.1210938,0l7.5302734,7.5302734C21.1748047,11.5258789,21.1748047,12.4741211,20.5908203,13.0605469z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="close">
<path d="M13.41,12l6.3-6.29a1,1,0,1,0-1.42-1.42L12,10.59,5.71,4.29A1,1,0,0,0,4.29,5.71L10.59,12l-6.3,6.29a1,1,0,0,0,0,1.42,1,1,0,0,0,1.42,0L12,13.41l6.29,6.3a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" viewBox="0 0 50 50" id="eye-closed">
<path fill="#000" fill-rule="evenodd" d="M42.7714 9.43835C43.3816 8.82816 43.3816 7.83884 42.7714 7.22864C42.1612 6.61845 41.1719 6.61845 40.5617 7.22864L7.2284 40.562C6.6182 41.1722 6.6182 42.1615 7.2284 42.7717C7.83859 43.3819 8.82791 43.3819 9.43811 42.7717L15.7611 36.4487C18.5065 37.7152 21.6496 38.5418 24.9999 38.5418C30.4536 38.5418 35.3582 36.3514 38.8924 33.639C40.6618 32.281 42.1136 30.7728 43.1322 29.305C44.1315 27.8651 44.7916 26.3511 44.7916 25.0002C44.7916 23.6492 44.1315 22.1352 43.1322 20.6953C42.1136 19.2275 40.6618 17.7193 38.8924 16.3613C38.3286 15.9286 37.73 15.5093 37.0999 15.1099L42.7714 9.43835ZM31.518 20.6917L29.2306 22.9792C29.5234 23.5911 29.6874 24.2765 29.6874 25.0002C29.6874 27.589 27.5888 29.6877 24.9999 29.6877C24.2763 29.6877 23.5909 29.5237 22.979 29.2308L20.6915 31.5183C21.9265 32.3363 23.4076 32.8127 24.9999 32.8127C29.3146 32.8127 32.8124 29.3149 32.8124 25.0002C32.8124 23.4078 32.336 21.9268 31.518 20.6917Z" clip-rule="evenodd"></path>
<path fill="#000" d="M26.5394 17.3393C26.6229 17.356 26.7095 17.3309 26.7697 17.2707L31.25 12.7904C31.3824 12.658 31.3276 12.4328 31.1483 12.379C29.218 11.7995 27.1517 11.4585 24.9999 11.4585C19.5462 11.4585 14.6416 13.6489 11.1075 16.3613C9.33808 17.7193 7.88624 19.2275 6.86761 20.6953C5.86838 22.1352 5.20825 23.6492 5.20825 25.0002C5.20825 26.3511 5.86838 27.8651 6.86761 29.305C7.77467 30.612 9.02523 31.9511 10.5376 33.1876C10.6363 33.2683 10.78 33.2604 10.8702 33.1702L17.2704 26.77C17.3306 26.7098 17.3557 26.6231 17.3391 26.5397C17.2396 26.0419 17.1874 25.5271 17.1874 25.0002C17.1874 20.6854 20.6852 17.1877 24.9999 17.1877C25.5269 17.1877 26.0417 17.2398 26.5394 17.3393Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="eye">
<path d="m14.25,12c0,1.24-1.009,2.25-2.25,2.25s-2.25-1.01-2.25-2.25,1.009-2.25,2.25-2.25,2.25,1.01,2.25,2.25Zm7.229,1.2c-1.211,2.557-3.646,4.455-6.681,5.208-.917.228-1.858.342-2.799.342s-1.88-.113-2.794-.341c-3.038-.754-5.473-2.652-6.685-5.209-.361-.763-.361-1.638,0-2.4,1.211-2.557,3.646-4.455,6.681-5.208,1.833-.455,3.766-.456,5.593,0,3.038.754,5.473,2.652,6.685,5.209.361.763.361,1.638,0,2.4Zm-5.729-1.2c0-2.067-1.682-3.75-3.75-3.75s-3.75,1.683-3.75,3.75,1.682,3.75,3.75,3.75,3.75-1.683,3.75-3.75Z"></path>
</svg>
...@@ -31,27 +31,27 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -31,27 +31,27 @@ class Generatordetailsprovider extends ChangeNotifier {
TextEditingController engNoController = TextEditingController(); TextEditingController engNoController = TextEditingController();
FocusNode engineNoFocusNode = FocusNode(); FocusNode engineNoFocusNode = FocusNode();
List<C_List> _complaintList = []; List<C_List> _complaintList = [];
String? _genID = ""; String? _genID = "-";
String? _aname = ""; String? _aname = "-";
String? _emodel = ""; String? _emodel = "-";
String? _spname = ""; String? _spname = "-";
String? _mob1 = ""; String? _mob1 = "-";
String? _mob2 = ""; String? _mob2 = "-";
String? _mail = ""; String? _mail = "-";
String? _cname = ""; String? _cname = "-";
String? _engineNo = ""; String? _engineNo = "-";
String? _dateOfEngineSale = ""; String? _dateOfEngineSale = "-";
String? _altNo = ""; String? _altNo = "-";
String? _btryNo = ""; String? _btryNo = "-";
String? _dgSetNo = ""; String? _dgSetNo = "-";
String? _state = ""; String? _state = "-";
String? _district = ""; String? _district = "-";
String? _address = ""; String? _address = "-";
String? _dispDate = ""; String? _dispDate = "-";
String? _cmsngDate = ""; String? _cmsngDate = "-";
String? _status = ""; String? _status = "-";
String _title = ""; String _title = "-";
String _subTitle = ""; String _subTitle = "-";
bool _isLoading = false; bool _isLoading = false;
String? _scannedGenID; String? _scannedGenID;
...@@ -439,9 +439,9 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -439,9 +439,9 @@ class Generatordetailsprovider extends ChangeNotifier {
_dispDate = data.dispDate; _dispDate = data.dispDate;
_cmsngDate = data.cmsngDate; _cmsngDate = data.cmsngDate;
_status = data.status; _status = data.status;
_complaintTypeDropdown = data.complaintTypeList!; _complaintTypeDropdown = data.complaintTypeList??[];
_complaintCategorydropdown = data.complaintCategoryList!; _complaintCategorydropdown = data.complaintCategoryList??[];
_complaintDescriptionDropdown = data.complaintDescriptionList!; _complaintDescriptionDropdown = data.complaintDescriptionList??[];
if (_selectedComplaintType != null && if (_selectedComplaintType != null &&
!_complaintTypeDropdown.contains(_selectedComplaintType)) { !_complaintTypeDropdown.contains(_selectedComplaintType)) {
_selectedComplaintType = null; _selectedComplaintType = null;
...@@ -464,6 +464,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -464,6 +464,7 @@ class Generatordetailsprovider extends ChangeNotifier {
_selectedDescription = ""; _selectedDescription = "";
_selectedDescriptionId = ""; _selectedDescriptionId = "";
} }
notifyListeners();
if (from == "Generator Details") { if (from == "Generator Details") {
this._qrViewController!.pauseCamera(); this._qrViewController!.pauseCamera();
Navigator.push( Navigator.push(
...@@ -483,7 +484,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -483,7 +484,7 @@ class Generatordetailsprovider extends ChangeNotifier {
toast(context, "Enter Correct ID"); toast(context, "Enter Correct ID");
} else {} } else {}
notifyListeners();
} }
} on Error catch (e) { } on Error catch (e) {
print(e.toString()); print(e.toString());
...@@ -524,9 +525,9 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -524,9 +525,9 @@ class Generatordetailsprovider extends ChangeNotifier {
_dispDate = data.dispDate; _dispDate = data.dispDate;
_cmsngDate = data.cmsngDate; _cmsngDate = data.cmsngDate;
_status = data.status; _status = data.status;
_complaintTypeDropdown = data.complaintTypeList!; _complaintTypeDropdown = data.complaintTypeList??[];
_complaintCategorydropdown = data.complaintCategoryList!; _complaintCategorydropdown = data.complaintCategoryList??[];
_complaintDescriptionDropdown = data.complaintDescriptionList!; _complaintDescriptionDropdown = data.complaintDescriptionList??[];
if (_selectedComplaintType != null && if (_selectedComplaintType != null &&
!_complaintTypeDropdown.contains(_selectedComplaintType)) { !_complaintTypeDropdown.contains(_selectedComplaintType)) {
_selectedComplaintType = null; _selectedComplaintType = null;
...@@ -549,7 +550,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -549,7 +550,7 @@ class Generatordetailsprovider extends ChangeNotifier {
_selectedDescription = ""; _selectedDescription = "";
_selectedDescriptionId = ""; _selectedDescriptionId = "";
} }
notifyListeners();
if (from == "Generator Details") { if (from == "Generator Details") {
this._qrViewController!.pauseCamera(); this._qrViewController!.pauseCamera();
Navigator.push( Navigator.push(
...@@ -569,7 +570,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -569,7 +570,7 @@ class Generatordetailsprovider extends ChangeNotifier {
else if (data.error == 1) { else if (data.error == 1) {
toast(context, "Enter Correct ID"); toast(context, "Enter Correct ID");
} else {} } else {}
notifyListeners();
} }
} on Error catch (e) { } on Error catch (e) {
print(e.toString()); print(e.toString());
......
...@@ -228,31 +228,55 @@ set markers(List<Marker> value){ ...@@ -228,31 +228,55 @@ set markers(List<Marker> value){
snippet: "Product Name: ${generator.productName}", snippet: "Product Name: ${generator.productName}",
), ),
zIndex: 100,
onTap: () { onTap: () {
int index = generatorslist.indexWhere( int index = generatorslist.indexWhere(
(techResponse) => (techResponse) =>
techResponse.generatorId == generator.generatorId, techResponse.generatorId == generator.generatorId,
); );
print("index:${index}"); onMarkerTap(
if (index != -1) { context,
Navigator.push( "NearByGenerators",
context, generator.loc,
MaterialPageRoute( generator.generatorId,
builder: );
(context) => Generatordetails( // print("index:${index}");
activityName: "NearByGenerators", // Navigator.push(
genLocation: generator.loc, // context,
generatorId: generator.generatorId, // MaterialPageRoute(
), // builder:
), // (context) => Generatordetails(
); // activityName: "NearByGenerators",
} // genLocation: generator.loc,
// generatorId: generator.generatorId,
// ),
// ),
// );
}, },
), ),
); );
}); });
return markers; return markers;
} }
Future<void> onMarkerTap(context,activityName, genLocation, generatorId) async {
Navigator.push(
context, // Use the widget's BuildContext, which is valid here
MaterialPageRoute(
builder: (context) => Generatordetails(
activityName: activityName,
genLocation: genLocation,
generatorId: generatorId,
),
),
);
_markers = markers;
notifyListeners();
}
LatLng _parseLatLng(String? location) { LatLng _parseLatLng(String? location) {
if (location != null) { if (location != null) {
......
...@@ -36,6 +36,7 @@ class Paymentdetailsprovider extends ChangeNotifier { ...@@ -36,6 +36,7 @@ class Paymentdetailsprovider extends ChangeNotifier {
var _image_picked = 0; var _image_picked = 0;
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
File? _image; File? _image;
File? _imageName;
bool _isLoading = true; bool _isLoading = true;
List<PaymentModeList> get paymentModeDropDown => _payment_mode_drop_down; List<PaymentModeList> get paymentModeDropDown => _payment_mode_drop_down;
...@@ -54,6 +55,24 @@ class Paymentdetailsprovider extends ChangeNotifier { ...@@ -54,6 +55,24 @@ class Paymentdetailsprovider extends ChangeNotifier {
get CollectionId => _CollectionId; get CollectionId => _CollectionId;
get image_picked => _image_picked; get image_picked => _image_picked;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
File? get imagePath => _imageName;
File? get imageFilePath => _image;
get imagePicked => _image_picked;
set imagePath(File? value) {
_imageName = value;
notifyListeners();
}
set imageFilePath(File? value) {
_image = value;
notifyListeners();
}
set imagePicked(value) {
_image_picked = value;
notifyListeners();
}
set enteredOtp(String value){ set enteredOtp(String value){
_enteredOtp = value; _enteredOtp = value;
...@@ -245,6 +264,7 @@ class Paymentdetailsprovider extends ChangeNotifier { ...@@ -245,6 +264,7 @@ class Paymentdetailsprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
if (_image != null) { if (_image != null) {
var file = FlutterImageCompress.compressWithFile(galleryImage!.path); var file = FlutterImageCompress.compressWithFile(galleryImage!.path);
...@@ -272,6 +292,8 @@ class Paymentdetailsprovider extends ChangeNotifier { ...@@ -272,6 +292,8 @@ class Paymentdetailsprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
if (_image != null) { if (_image != null) {
var file = FlutterImageCompress.compressWithFile(galleryImage!.path); var file = FlutterImageCompress.compressWithFile(galleryImage!.path);
......
...@@ -28,21 +28,46 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -28,21 +28,46 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
String _formattedTime = ""; String _formattedTime = "";
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
File? _image; File? _image;
File? _imageName;
var _image_picked = 0; var _image_picked = 0;
bool _submitLoading = false;
List<TP_List> get technician_complaint_list => _technician_complaint_list; List<TP_List> get technician_complaint_list => _technician_complaint_list;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
bool get submitLoading => _submitLoading;
String? get statusID => _statusId; String? get statusID => _statusId;
String? get selectedValue => _selectedValue; String? get selectedValue => _selectedValue;
TimeOfDay get selectedTime => _selectedTime; TimeOfDay get selectedTime => _selectedTime;
String get formattedTime => _formattedTime; String get formattedTime => _formattedTime;
int get imagePicked => _image_picked; int get imagePicked => _image_picked;
File? get imagePath => _imageName;
File? get imageFilePath => _image;
set imagePicked(int value){
_image_picked = value;
notifyListeners();
}
set imagePath(File? value){
_imageName = value;
notifyListeners();
}
set imageFilePath(File? value){
_image = value;
notifyListeners();
}
set statusID(String? value){ set statusID(String? value){
_statusId = value; _statusId = value;
notifyListeners(); notifyListeners();
} }
set submitLoading(bool value){
_submitLoading = value;
notifyListeners();
}
Future<void> TechnicianPendingComplaints(BuildContext context) async { Future<void> TechnicianPendingComplaints(BuildContext context) async {
var HomeProvider = Provider.of<HomescreenNotifier>(context, listen: false); var HomeProvider = Provider.of<HomescreenNotifier>(context, listen: false);
try { try {
...@@ -120,6 +145,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -120,6 +145,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
runningHr, runningHr,
statusId, statusId,
) async { ) async {
var HomeProvider = Provider.of<HomescreenNotifier>(context,listen: false); var HomeProvider = Provider.of<HomescreenNotifier>(context,listen: false);
try { try {
final data = await ApiCalling.UpdateComplaintAPI( final data = await ApiCalling.UpdateComplaintAPI(
...@@ -134,9 +160,12 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -134,9 +160,12 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
_image, _image,
); );
if (data != null) { if (data != null) {
_submitLoading = false;
notifyListeners();
if (data.sessionExists == 1) { if (data.sessionExists == 1) {
if (data.error == 0) { if (data.error == 0) {
toast(context, "Complaint Status Updated!"); toast(context, "Complaint Status Updated!");
Navigator.pop(context); Navigator.pop(context);
...@@ -156,8 +185,13 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -156,8 +185,13 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
// MaterialPageRoute(builder: (context) => Splash()), // MaterialPageRoute(builder: (context) => Splash()),
// ); // );
} }
}else{
_submitLoading = false;
notifyListeners();
} }
} on Error catch (e) { } on Error catch (e) {
_submitLoading = false;
notifyListeners();
print(e.toString()); print(e.toString());
} }
} }
...@@ -230,6 +264,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -230,6 +264,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
); );
print("added"); print("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
notifyListeners(); notifyListeners();
...@@ -254,6 +289,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier { ...@@ -254,6 +289,7 @@ class Pendingcomplaintsprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
notifyListeners(); notifyListeners();
} catch (e) { } catch (e) {
......
...@@ -12,12 +12,28 @@ import '../Utils/commonServices.dart'; ...@@ -12,12 +12,28 @@ import '../Utils/commonServices.dart';
class UpdatePasswordProvider with ChangeNotifier { class UpdatePasswordProvider with ChangeNotifier {
TextEditingController password = TextEditingController(); TextEditingController password = TextEditingController();
TextEditingController confPassword = TextEditingController(); TextEditingController confPassword = TextEditingController();
String? passwordError; String? passwordError;
String? confirmPasswordError; String? confirmPasswordError;
bool _pwdVisible = false;
bool _confPwdVisible = false;
bool isLoading = false; bool isLoading = false;
bool get pwdVisible => _pwdVisible;
bool get confPwdVisible => _confPwdVisible;
bool pwdVisibility(){
_pwdVisible = !_pwdVisible;
print(_pwdVisible);
notifyListeners();
return _pwdVisible;
}
bool confPwdVisibility(){
_confPwdVisible = !_confPwdVisible;
print(_confPwdVisible);
notifyListeners();
return _confPwdVisible;
}
Future<void> updatePassword(BuildContext context) async { Future<void> updatePassword(BuildContext context) async {
passwordError = null; passwordError = null;
confirmPasswordError = null; confirmPasswordError = null;
...@@ -50,18 +66,20 @@ class UpdatePasswordProvider with ChangeNotifier { ...@@ -50,18 +66,20 @@ class UpdatePasswordProvider with ChangeNotifier {
notifyListeners(); notifyListeners();
try { try {
var homeProvider = Provider.of<HomescreenNotifier>(
context, var session = await SharedpreferencesService().getString("Session_id");
listen: false, var empId = await SharedpreferencesService().getString("UserId");
); print("Okay ${password.text}");
print("Okay ${confPassword.text}");
final data = await ApiCalling.UpdatePasswordApi( final data = await ApiCalling.UpdatePasswordApi(
homeProvider.empId, empId,
homeProvider.session, session,
pass, pass,
confPass, confPass,
); );
var loginStatus = await SharedpreferencesService().getInt("loginStatus");
if (data != null) { if (data != null) {
if (data.sessionExists == 1) { if (loginStatus == 1) {
if (data.error == 0) { if (data.error == 0) {
toast(context, data.message); toast(context, data.message);
Navigator.push( Navigator.push(
...@@ -72,6 +90,7 @@ class UpdatePasswordProvider with ChangeNotifier { ...@@ -72,6 +90,7 @@ class UpdatePasswordProvider with ChangeNotifier {
toast(context, data.message); toast(context, data.message);
} }
} else { } else {
print("else case");
SharedpreferencesService().clearPreferences(); SharedpreferencesService().clearPreferences();
Navigator.push( Navigator.push(
context, context,
...@@ -86,4 +105,13 @@ class UpdatePasswordProvider with ChangeNotifier { ...@@ -86,4 +105,13 @@ class UpdatePasswordProvider with ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
void onChangePassword(String value) {
passwordError = null;
notifyListeners();
}
void onChangeConfPassword(String value) {
confirmPasswordError = null;
notifyListeners();
}
} }
...@@ -49,10 +49,28 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -49,10 +49,28 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
File? _image; File? _image;
File? _imageName;
get image_picked => _image_picked; get image_picked => _image_picked;
File? get imagePath => _image; int get imagePicked => _image_picked;
File? get imagePath => _imageName;
File? get imageFilePath => _image;
set imagePicked(int value){
_image_picked = value;
notifyListeners();
}
set imagePath(File? value){
_imageName = value;
notifyListeners();
}
set imageFilePath(File? value){
_image = value;
notifyListeners();
}
PaymentDetails get paymentsDetails => _paymentDetails; PaymentDetails get paymentsDetails => _paymentDetails;
...@@ -106,6 +124,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -106,6 +124,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -127,6 +146,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -127,6 +146,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
......
...@@ -39,7 +39,8 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -39,7 +39,8 @@ class Requestionlistprovider extends ChangeNotifier {
TextEditingController bankUpiController = TextEditingController(); TextEditingController bankUpiController = TextEditingController();
TextEditingController paymentReferenceController = TextEditingController(); TextEditingController paymentReferenceController = TextEditingController();
TextEditingController dateController = TextEditingController(); TextEditingController dateController = TextEditingController();
// Date picker state
// Date picker state
DateTime? _date; DateTime? _date;
String? _formattedDate; String? _formattedDate;
List<Accounts> _accounts = []; List<Accounts> _accounts = [];
...@@ -91,14 +92,17 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -91,14 +92,17 @@ class Requestionlistprovider extends ChangeNotifier {
String get directPaymentModesID => _directPaymentModesID; String get directPaymentModesID => _directPaymentModesID;
String get directPaymentModesValues => _directPaymentModesValues; String get directPaymentModesValues => _directPaymentModesValues;
// Date picker methods
// Date picker methods
String? get formattedDate => _formattedDate; String? get formattedDate => _formattedDate;
set formattedDate(String? value){
set formattedDate(String? value) {
_formattedDate = value; _formattedDate = value;
dateController.text = _formattedDate!; dateController.text = _formattedDate!;
dateError = null; dateError = null;
notifyListeners(); notifyListeners();
} }
void setDate(DateTime newDate) { void setDate(DateTime newDate) {
_date = newDate; _date = newDate;
_formattedDate = DateFormat('yyyy-MM-dd').format(newDate); _formattedDate = DateFormat('yyyy-MM-dd').format(newDate);
...@@ -106,6 +110,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -106,6 +110,7 @@ class Requestionlistprovider extends ChangeNotifier {
dateError = null; dateError = null;
notifyListeners(); notifyListeners();
} }
set selectDirectAccounts(DirectAccounts? value) { set selectDirectAccounts(DirectAccounts? value) {
_selectedDirectAccounts = value; _selectedDirectAccounts = value;
_directAccountID = value!.id!; _directAccountID = value!.id!;
...@@ -196,15 +201,21 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -196,15 +201,21 @@ class Requestionlistprovider extends ChangeNotifier {
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
File? _image; File? _image;
File? _imageName;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
String get paymentModeId => _paymentModeId; String get paymentModeId => _paymentModeId;
String get paymentModeValue => _paymentModeValue; String get paymentModeValue => _paymentModeValue;
get image_picked => _image_picked; get image_picked => _image_picked;
File? get imagePath => _image; File? get imagePath => _imageName;
File? get imageFilePath => _image;
get imagePicked => _image_picked;
String get accountId => _accountId; String get accountId => _accountId;
...@@ -230,6 +241,21 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -230,6 +241,21 @@ class Requestionlistprovider extends ChangeNotifier {
// _submitClicked = value; // _submitClicked = value;
// notifyListeners(); // notifyListeners();
// } // }
set imagePath(File? value) {
_imageName = value;
notifyListeners();
}
set imageFilePath(File? value) {
_image = value;
notifyListeners();
}
set imagePicked(value) {
_image_picked = value;
notifyListeners();
}
set selectedAccount(Accounts? value) { set selectedAccount(Accounts? value) {
_selectedAccounts = value; _selectedAccounts = value;
_accountId = value!.id!; _accountId = value!.id!;
...@@ -284,6 +310,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -284,6 +310,7 @@ class Requestionlistprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -305,6 +332,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -305,6 +332,7 @@ class Requestionlistprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -432,7 +460,10 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -432,7 +460,10 @@ class Requestionlistprovider extends ChangeNotifier {
} catch (e, s) {} } catch (e, s) {}
} }
Future<void> addDirectPaymentRequestionSubmitAPI(context,payment_date) async { Future<void> addDirectPaymentRequestionSubmitAPI(
context,
payment_date,
) async {
try { try {
// _submitClicked = true; // _submitClicked = true;
if (!validateDirectForm(context)) { if (!validateDirectForm(context)) {
...@@ -444,40 +475,42 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -444,40 +475,42 @@ class Requestionlistprovider extends ChangeNotifier {
var homeProvider = Provider.of<HomescreenNotifier>( var homeProvider = Provider.of<HomescreenNotifier>(
context, context,
listen: false, listen: false,
); );
final data = await ApiCalling.addDirectPaymentRequestionSubmitAPI( final data = await ApiCalling.addDirectPaymentRequestionSubmitAPI(
homeProvider.empId, homeProvider.empId,
homeProvider.session, homeProvider.session,
_directAccountID, _directAccountID,
_directPaymentAccountsID, _directPaymentAccountsID,
descController.text, descController.text,
_directPaymentModesID, _directPaymentModesID,
amountController.text, amountController.text,
payment_date, payment_date,
paymentReferenceController.text, paymentReferenceController.text,
bankNameController.text, bankNameController.text,
bankBranchController.text, bankBranchController.text,
bankAccNumberController.text, bankAccNumberController.text,
bankIfscController.text, bankIfscController.text,
bankAcHolderController.text, bankAcHolderController.text,
bankUpiController.text, bankUpiController.text,
_image); _image,
);
if (data != null) { if (data != null) {
if (data.error == "0") {
if(data.error=="0"){ toast(context, "Added Successfully");
toast(context, "Added Successfully"); resetForm();
resetForm(); Navigator.pop(context, true);
Navigator.pop(context, true); notifyListeners();
notifyListeners(); }
}
} }
} catch (e, s) {} } catch (e, s) {}
} }
Future<void> paymentRequestionListsAPIFunction(context, mode,from,to) async { Future<void> paymentRequestionListsAPIFunction(
context,
mode,
from,
to,
) async {
try { try {
var homeProvider = Provider.of<HomescreenNotifier>( var homeProvider = Provider.of<HomescreenNotifier>(
context, context,
...@@ -490,15 +523,14 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -490,15 +523,14 @@ class Requestionlistprovider extends ChangeNotifier {
homeProvider.empId, homeProvider.empId,
homeProvider.session, homeProvider.session,
mode, mode,
from,to from,
to,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_isLoading = false; _isLoading = false;
_requisitionList = data.requistionList!; _requisitionList = data.requistionList!;
} else if (data.error == "1") {
} else if(data.error=="1"){
_isLoading = false; _isLoading = false;
} }
notifyListeners(); notifyListeners();
...@@ -509,62 +541,63 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -509,62 +541,63 @@ class Requestionlistprovider extends ChangeNotifier {
void showDatePickerDialog(BuildContext context) { void showDatePickerDialog(BuildContext context) {
showCupertinoModalPopup<void>( showCupertinoModalPopup<void>(
context: context, context: context,
builder: (BuildContext context) => Container( builder:
height: 216, (BuildContext context) => Container(
padding: const EdgeInsets.only(top: 6.0), height: 216,
margin: EdgeInsets.only( padding: const EdgeInsets.only(top: 6.0),
bottom: MediaQuery.of(context).viewInsets.bottom, margin: EdgeInsets.only(
), bottom: MediaQuery.of(context).viewInsets.bottom,
color: CupertinoColors.systemBackground.resolveFrom(context), ),
child: SafeArea( color: CupertinoColors.systemBackground.resolveFrom(context),
top: false, child: SafeArea(
child: Column( top: false,
children: [ child: Column(
Expanded( children: [
flex: 1, Expanded(
child: SizedBox( flex: 1,
height: 40, child: SizedBox(
child: Row( height: 40,
mainAxisAlignment: MainAxisAlignment.spaceBetween, child: Row(
children: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
CupertinoButton( children: [
child: Text( CupertinoButton(
'Cancel', child: Text(
style: TextStyle(fontFamily: "JakartaMedium"), 'Cancel',
), style: TextStyle(fontFamily: "JakartaMedium"),
onPressed: () { ),
Navigator.pop(context); onPressed: () {
}, Navigator.pop(context);
), },
CupertinoButton( ),
child: Text( CupertinoButton(
'Done', child: Text(
style: TextStyle(fontFamily: "JakartaMedium"), 'Done',
), style: TextStyle(fontFamily: "JakartaMedium"),
onPressed: () { ),
Navigator.pop(context); onPressed: () {
}, Navigator.pop(context);
},
),
],
), ),
], ),
), ),
), Expanded(
), flex: 3,
Expanded( child: CupertinoDatePicker(
flex: 3, initialDateTime: _date ?? DateTime.now(),
child: CupertinoDatePicker( mode: CupertinoDatePickerMode.date,
initialDateTime: _date ?? DateTime.now(), use24hFormat: true,
mode: CupertinoDatePickerMode.date, showDayOfWeek: true,
use24hFormat: true, onDateTimeChanged: (DateTime newDate) {
showDayOfWeek: true, setDate(newDate);
onDateTimeChanged: (DateTime newDate) { },
setDate(newDate); ),
}, ),
), ],
), ),
], ),
), ),
),
),
); );
} }
...@@ -582,22 +615,21 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -582,22 +615,21 @@ class Requestionlistprovider extends ChangeNotifier {
]; ];
final rows = final rows =
requisitionList requisitionList
.map( .map(
(item) => (item) => [
[ item.id ?? '',
item.id ?? '', item.accountName ?? '',
item.accountName ?? '', item.branch ?? '',
item.branch ?? '', item.requestingPurpose ?? '',
item.requestingPurpose ?? '', item.description ?? '',
item.description ?? '', item.amount ?? '',
item.amount ?? '', item.requestMode ?? '',
item.requestMode ?? '', item.status ?? '',
item.status ?? '', item.date ?? '',
item.date ?? '', ],
], )
) .toList();
.toList();
return [headers, ...rows]; return [headers, ...rows];
} }
...@@ -625,12 +657,8 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -625,12 +657,8 @@ class Requestionlistprovider extends ChangeNotifier {
try { try {
if (Platform.isAndroid) { if (Platform.isAndroid) {
// Request storage permission for Android // Request storage permission for Android
if (await Permission.storage if (await Permission.storage.request().isGranted ||
.request() await Permission.manageExternalStorage.request().isGranted) {
.isGranted ||
await Permission.manageExternalStorage
.request()
.isGranted) {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
if (dir != null) { if (dir != null) {
print('Using Downloads directory: ${dir.path}'); print('Using Downloads directory: ${dir.path}');
...@@ -839,6 +867,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -839,6 +867,7 @@ class Requestionlistprovider extends ChangeNotifier {
_reqPurpose = ""; _reqPurpose = "";
_image = null; _image = null;
_imageName = null;
_image_picked = 0; _image_picked = 0;
// _submitClicked = false; // _submitClicked = false;
...@@ -893,24 +922,18 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -893,24 +922,18 @@ class Requestionlistprovider extends ChangeNotifier {
isValid = false; isValid = false;
} }
} else { } else {
if (reqPurposeController.text if (reqPurposeController.text.trim().isEmpty) {
.trim()
.isEmpty) {
reqPurposeError = "Please enter a requisition purpose"; reqPurposeError = "Please enter a requisition purpose";
isValid = false; isValid = false;
} }
} }
if (descController.text if (descController.text.trim().isEmpty) {
.trim()
.isEmpty) {
descriptionError = "Please enter a description"; descriptionError = "Please enter a description";
isValid = false; isValid = false;
} }
if (amountController.text if (amountController.text.trim().isEmpty) {
.trim()
.isEmpty) {
amountError = "Please enter an amount"; amountError = "Please enter an amount";
isValid = false; isValid = false;
} }
...@@ -921,42 +944,30 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -921,42 +944,30 @@ class Requestionlistprovider extends ChangeNotifier {
} }
if (["Cheque", "RTGS", "IMPS", "NEFT"].contains(_paymentModeValue)) { if (["Cheque", "RTGS", "IMPS", "NEFT"].contains(_paymentModeValue)) {
if (bankNameController.text if (bankNameController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankNameError = "Please enter bank name"; bankNameError = "Please enter bank name";
isValid = false; isValid = false;
} }
if (bankBranchController.text if (bankBranchController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankBranchError = "Please enter bank branch"; bankBranchError = "Please enter bank branch";
isValid = false; isValid = false;
} }
if (bankAccNumberController.text if (bankAccNumberController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankNumberError = "Please enter account number"; bankNumberError = "Please enter account number";
isValid = false; isValid = false;
} }
if (bankIfscController.text if (bankIfscController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankIFSCError = "Please enter IFSC code"; bankIFSCError = "Please enter IFSC code";
isValid = false; isValid = false;
} }
if (bankAcHolderController.text if (bankAcHolderController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankHolderError = "Please enter account holder name"; bankHolderError = "Please enter account holder name";
isValid = false; isValid = false;
} }
} }
if (_paymentModeValue == "UPI") { if (_paymentModeValue == "UPI") {
if (bankUpiController.text if (bankUpiController.text.trim().isEmpty) {
.trim()
.isEmpty) {
UPIError = "Please enter UPI ID"; UPIError = "Please enter UPI ID";
isValid = false; isValid = false;
} }
...@@ -988,21 +999,22 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -988,21 +999,22 @@ class Requestionlistprovider extends ChangeNotifier {
selectDirectPaymentError = null; selectDirectPaymentError = null;
UPIError = null; UPIError = null;
bool isValid = true; bool isValid = true;
if(_selectedDirectAccounts==null || _directAccountID.isEmpty){ if (_selectedDirectAccounts == null || _directAccountID.isEmpty) {
selectDirectAccountError = "Please select an Account"; selectDirectAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if(_selectDirectPaymentAccounts==null || _directPaymentAccountsID.isEmpty){ if (_selectDirectPaymentAccounts == null ||
_directPaymentAccountsID.isEmpty) {
selectDirectPaymentAccountError = "Please select an Account"; selectDirectPaymentAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if(amountController.text.trim().isEmpty){ if (amountController.text.trim().isEmpty) {
amountError = "Please enter an amount"; amountError = "Please enter an amount";
isValid = false; isValid = false;
} }
if(dateController.text.trim().isEmpty || _formattedDate!.isEmpty){ if (dateController.text.trim().isEmpty || _formattedDate!.isEmpty) {
dateError = "Please select Date"; dateError = "Please select Date";
isValid = false; isValid = false;
} }
...@@ -1011,51 +1023,39 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -1011,51 +1023,39 @@ class Requestionlistprovider extends ChangeNotifier {
isValid = false; isValid = false;
} }
if (["Cheque", "RTGS", "IMPS", "NEFT"].contains(_paymentModeValue)) { if (["Cheque", "RTGS", "IMPS", "NEFT"].contains(_paymentModeValue)) {
if (bankNameController.text if (bankNameController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankNameError = "Please enter bank name"; bankNameError = "Please enter bank name";
isValid = false; isValid = false;
} }
if (bankBranchController.text if (bankBranchController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankBranchError = "Please enter bank branch"; bankBranchError = "Please enter bank branch";
isValid = false; isValid = false;
} }
if (bankAccNumberController.text if (bankAccNumberController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankNumberError = "Please enter account number"; bankNumberError = "Please enter account number";
isValid = false; isValid = false;
} }
if (bankIfscController.text if (bankIfscController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankIFSCError = "Please enter IFSC code"; bankIFSCError = "Please enter IFSC code";
isValid = false; isValid = false;
} }
if (bankAcHolderController.text if (bankAcHolderController.text.trim().isEmpty) {
.trim()
.isEmpty) {
bankHolderError = "Please enter account holder name"; bankHolderError = "Please enter account holder name";
isValid = false; isValid = false;
} }
} }
if (_paymentModeValue == "UPI") { if (_paymentModeValue == "UPI") {
if (bankUpiController.text if (bankUpiController.text.trim().isEmpty) {
.trim()
.isEmpty) {
UPIError = "Please enter UPI ID"; UPIError = "Please enter UPI ID";
isValid = false; isValid = false;
} }
} }
if(paymentReferenceController.text.trim().isEmpty){ if (paymentReferenceController.text.trim().isEmpty) {
paymentreferenceerror = "please enter refernce number"; paymentreferenceerror = "please enter refernce number";
isValid = false; isValid = false;
} }
if(descController.text.trim().isEmpty){ if (descController.text.trim().isEmpty) {
descriptionError = "Please Enter Description"; descriptionError = "Please Enter Description";
isValid = false; isValid = false;
} }
...@@ -1076,6 +1076,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -1076,6 +1076,7 @@ class Requestionlistprovider extends ChangeNotifier {
descriptionError = null; descriptionError = null;
notifyListeners(); notifyListeners();
} }
void updateReference(String value) { void updateReference(String value) {
paymentreferenceerror = null; paymentreferenceerror = null;
notifyListeners(); notifyListeners();
......
...@@ -6,40 +6,10 @@ import 'package:flutter/foundation.dart'; ...@@ -6,40 +6,10 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:flutter_ringtone_player/flutter_ringtone_player.dart'; import 'package:flutter_ringtone_player/flutter_ringtone_player.dart';
import 'package:generp/Notifiers/AttendanceNotifier.dart'; import 'screens/notifierExports.dart';
import 'package:generp/Notifiers/CheckInProvider.dart';
import 'package:generp/Notifiers/Counter.dart';
import 'package:generp/Notifiers/GeneratorDetailsProvider.dart';
import 'package:generp/Notifiers/HomeScreenNotifier.dart';
import 'package:generp/Notifiers/InventoryProvider.dart';
import 'package:generp/Notifiers/LogoutNotifier.dart';
import 'package:generp/Notifiers/NearByGeneratorsProvider.dart';
import 'package:generp/Notifiers/PCWalletProvider.dart';
import 'package:generp/Notifiers/PaymentCollectionProvider.dart';
import 'package:generp/Notifiers/PaymentDetailsProvider.dart';
import 'package:generp/Notifiers/PendingComplaintsProvider.dart';
import 'package:generp/Notifiers/ProfileNotifier.dart';
import 'package:generp/Notifiers/ServiceEngineerDashboardProvider.dart';
import 'package:generp/Notifiers/TodayMontlyVisitsProvider.dart';
import 'package:generp/Notifiers/UpdatePasswordProvider.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/commonPagesProvider.dart';
import 'package:generp/Notifiers/financeProvider/DashboardProvider.dart';
import 'package:generp/Notifiers/financeProvider/RequestionListProvider.dart';
import 'package:generp/Notifiers/financeProvider/paymentReceiptsProvider.dart';
import 'package:generp/Notifiers/financeProvider/paymentRequisitionPaymentsListProvider.dart';
import 'package:generp/Notifiers/loginNotifier.dart';
import 'package:generp/Notifiers/scanLoginProvider.dart';
import 'package:generp/Notifiers/splashVersionNotifier.dart';
import 'package:generp/Utils/SharedpreferencesService.dart'; import 'package:generp/Utils/SharedpreferencesService.dart';
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 'Utils/commonWidgets.dart'; import 'Utils/commonWidgets.dart';
const AndroidNotificationChannel channel = AndroidNotificationChannel( const AndroidNotificationChannel channel = AndroidNotificationChannel(
......
import 'dart:async';
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_image_compress/flutter_image_compress.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:generp/Utils/SharedpreferencesService.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/services/api_calling.dart';
import 'package:geolocator/geolocator.dart';
import 'package:geolocator_platform_interface/src/enums/location_accuracy.dart' as geo_location;
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:image_picker/image_picker.dart';
import 'package:location/location.dart' as Location;
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../Notifiers/CheckInProvider.dart'; import '../Notifiers/CheckInProvider.dart';
import '../Utils/background_service.dart';
import '../Utils/commonServices.dart';
import 'FrontCameraCapture.dart';
class CheckInOutScreen extends StatefulWidget { class CheckInOutScreen extends StatefulWidget {
final int getAttendanceStatus; final int getAttendanceStatus;
......
...@@ -5,21 +5,8 @@ import 'package:flutter/cupertino.dart'; ...@@ -5,21 +5,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:generp/Notifiers/Counter.dart'; import 'notifierExports.dart';
import 'package:generp/Notifiers/HomeScreenNotifier.dart'; import 'screensExports.dart';
import 'package:generp/Notifiers/LogoutNotifier.dart';
import 'package:generp/Notifiers/ProfileNotifier.dart';
import 'package:generp/screens/LoginScreen.dart';
import 'package:generp/screens/ScannerLogin.dart';
import 'package:generp/screens/WebERPIOS.dart';
import 'package:generp/screens/WebERPScreen.dart';
import 'package:generp/screens/WebWhizzdomScreen.dart';
import 'package:generp/screens/commom/commonDashboard.dart';
import 'package:generp/screens/finance/financeDashboard.dart';
import 'package:generp/screens/genTracker/GenTrackerDashboard.dart';
import 'package:generp/screens/serviceEngineer/NearbyGenerators.dart';
import 'package:generp/screens/serviceEngineer/serviceEngineerDashboard.dart';
import 'package:generp/screens/webtest.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
......
This diff is collapsed.
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/UpdatePasswordProvider.dart'; import 'package:generp/Notifiers/UpdatePasswordProvider.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';
...@@ -48,9 +50,29 @@ class UpdatePassword extends StatelessWidget { ...@@ -48,9 +50,29 @@ class UpdatePassword extends StatelessWidget {
),)), ),)),
SizedBox(height: 5), SizedBox(height: 5),
_buildTextField( _buildTextField(
controller: provider.password, controller: provider.password,
hintText: "New Password*", hintText: "New Password*",
errorText: provider.passwordError, errorText: provider.passwordError,
obscureText: !provider.pwdVisible,
suffixIcon: IconButton(
icon:
provider.pwdVisible
?SvgPicture.asset(
width: 35,
height: 35,
"assets/svg/password_visible.svg",
)
: SvgPicture.asset(
width: 35,
height: 35,
"assets/svg/password_invisible.svg",
),
onPressed: () {
provider.pwdVisibility();
},
),
onChanged: provider.onChangePassword
), ),
SizedBox(height: 10), SizedBox(height: 10),
Container( Container(
...@@ -64,6 +86,24 @@ class UpdatePassword extends StatelessWidget { ...@@ -64,6 +86,24 @@ class UpdatePassword extends StatelessWidget {
controller: provider.confPassword, controller: provider.confPassword,
hintText: "Confirm New Password*", hintText: "Confirm New Password*",
errorText: provider.confirmPasswordError, errorText: provider.confirmPasswordError,
obscureText: !provider.confPwdVisible,
suffixIcon: IconButton(
iconSize: 30,
icon: provider.confPwdVisible?SvgPicture.asset(
width: 35,
height: 35,
"assets/svg/password_visible.svg",
)
: SvgPicture.asset(
width: 35,
height: 35,
"assets/svg/password_invisible.svg",
),
onPressed: () {
provider.confPwdVisibility();
},
),
onChanged: provider.onChangeConfPassword
), ),
Spacer(), Spacer(),
InkWell( InkWell(
...@@ -79,6 +119,7 @@ class UpdatePassword extends StatelessWidget { ...@@ -79,6 +119,7 @@ class UpdatePassword extends StatelessWidget {
child:provider.isLoading child:provider.isLoading
? CircularProgressIndicator( ? CircularProgressIndicator(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.all(7.5),
) )
: Text( : Text(
...@@ -105,6 +146,9 @@ class UpdatePassword extends StatelessWidget { ...@@ -105,6 +146,9 @@ class UpdatePassword extends StatelessWidget {
Widget _buildTextField({ Widget _buildTextField({
required TextEditingController controller, required TextEditingController controller,
required String hintText, required String hintText,
Function(String)? onChanged,
required bool obscureText,
required suffixIcon,
String? errorText, String? errorText,
}) { }) {
return Column( return Column(
...@@ -120,14 +164,17 @@ class UpdatePassword extends StatelessWidget { ...@@ -120,14 +164,17 @@ class UpdatePassword extends StatelessWidget {
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 10), padding: const EdgeInsets.symmetric(horizontal: 10),
child: TextField( child: TextField(
onChanged: onChanged,
controller: controller, controller: controller,
obscureText: true, obscureText: obscureText,
decoration: InputDecoration( decoration: InputDecoration(
hintText: hintText, hintText: hintText,
hintStyle: TextStyle(color: Color(0xFF818181), hintStyle: TextStyle(color: Color(0xFF818181),
fontSize: 14), fontSize: 14),
border: InputBorder.none, border: InputBorder.none,
suffixIcon: suffixIcon,
), ),
), ),
), ),
), ),
......
import 'dart:async'; import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -8,7 +7,6 @@ import 'package:flutter_downloader/flutter_downloader.dart'; ...@@ -8,7 +7,6 @@ import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_download_manager/flutter_download_manager.dart'; import 'package:flutter_download_manager/flutter_download_manager.dart';
import 'package:flutter_svg/svg.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/WebERPScreen.dart'; import 'package:generp/screens/WebERPScreen.dart';
......
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