Commit 2ccf19cc authored by Sai Srinivas's avatar Sai Srinivas
Browse files

04-07-2025 By Sai Srinivas

Test cases and Order Module, Crm Module.
parent 4b790bef
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:generp/Models/crmModels/crmDashboardResponse.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Models/crmModels/AccessiblePagesResponse.dart'; import '../../Models/crmModels/AccessiblePagesResponse.dart';
import '../../Models/crmModels/crmPendingTasksResponse.dart';
import '../../Models/crmModels/crmUniversalSearchResponse.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class Crmdashboardprovider extends ChangeNotifier{ class Crmdashboardprovider extends ChangeNotifier{
TextEditingController searchController = TextEditingController();
List<PagesAccessible> _accessPages = []; List<PagesAccessible> _accessPages = [];
List<PagesAccessible> get accessPages => _accessPages; List<PagesAccessible> get accessPages => _accessPages;
List<PendingTasks> _pendingTasks = [];
List<PendingTasks> get pendingTasksLists => _pendingTasks;
List<Accounts> _accountsList = [];
List<Leads> _leadsList = [];
List<Enquires> _enquiresList = [];
Future<void> accessPagesAPIFunction(context) async { List<Accounts> get accountsList => _accountsList;
List<Leads> get leadsList => _leadsList;
List<Enquires> get enquiresList => _enquiresList;
Hotleads _hotleads = Hotleads();
Hotleads get hotleads => _hotleads;
Hotleads _coldleads = Hotleads();
Hotleads get coldleads => _coldleads;
Hotleads _warmleads = Hotleads();
Hotleads get warmleads => _warmleads;
Hotleads _totalleads = Hotleads();
Hotleads get totalleads => _totalleads;
Hotleads _orderlost = Hotleads();
Hotleads get orderlost => _orderlost;
Hotleads _norequirement = Hotleads();
Hotleads get norequirement => _norequirement;
Hotleads _openEnquiries = Hotleads();
Hotleads get openEnquiries => _openEnquiries;
List<Hotleads> _allLeads = [];
List<Hotleads> get allLeads => _allLeads;
Future<void>accessPagesAPIFunction(context) async {
try{ try{
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false);
final data = await ApiCalling.crmAccessiblePagesAPI(HomeProv.empId, HomeProv.session); final data = await ApiCalling.crmAccessiblePagesAPI(HomeProv.empId, HomeProv.session);
...@@ -26,4 +58,72 @@ class Crmdashboardprovider extends ChangeNotifier{ ...@@ -26,4 +58,72 @@ class Crmdashboardprovider extends ChangeNotifier{
} }
} }
Future<void> crmDashboardAPIFunction(context, mode,
from,to,teamemployee) async {
try{
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false);
final data = await ApiCalling.crmDashboardAPI(HomeProv.empId, HomeProv.session, mode,
from,to,teamemployee);
if(data!=null){
if(data.error=="0"){
_hotleads = data.hotleads!;
_coldleads = data.coldleads!;
_warmleads = data.warmleads!;
_totalleads = data.totalleads!;
_orderlost = data.orderlost!;
_norequirement = data.norequirement!;
_openEnquiries = data.openEnquiries!;
_allLeads = [
_hotleads,
_coldleads,
_warmleads,
_totalleads,
_orderlost,
_norequirement,
_openEnquiries,
];
notifyListeners();
}
}
}catch (e,s){
}
}
Future<void> crmPendingTasksAPIFunction(context) async {
try{
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false);
final data = await ApiCalling.crmPendingTasksAPI(HomeProv.empId, HomeProv.session);
if(data!=null){
if(data.error=="0"){
_pendingTasks = data.pendingTasks!;
notifyListeners();
}
}
}catch (e,s){
}
}
Future<void> crmUniversalSearchFunction(context) async {
try{
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false);
final data = await ApiCalling.crmUniversalSearchAPI(HomeProv.empId, HomeProv.session,searchController.text);
if(data!=null){
if(data.error=="0"){
_accountsList = data.accounts??[];
_leadsList = data.leads??[];
_enquiresList = data.enquires??[];
notifyListeners();
}
}
}catch (e,s){
}
}
} }
\ No newline at end of file
...@@ -238,12 +238,14 @@ class Crmgeneratequotationprovider extends ChangeNotifier { ...@@ -238,12 +238,14 @@ class Crmgeneratequotationprovider extends ChangeNotifier {
if(quotation_type=="genquotedown"){ if(quotation_type=="genquotedown"){
String suggestedFilename = getUniqueFilename('quotation', 'pdf'); String suggestedFilename = getUniqueFilename('quotation', 'pdf');
String contentDisposition = 'attachment; filename="$suggestedFilename"'; String contentDisposition = 'attachment; filename="$suggestedFilename"';
openWhatsApp(data.quoteFilepath!); // openWhatsApp(data.quoteFilepath!);
_handleDownload(context,data.quoteFilepath!,contentDisposition,'application/octet-stream',''); _handleDownload(context,data.quoteFilepath!,contentDisposition,'application/octet-stream','');
} }
else if(quotation_type=="genquotewhatsappbymynum"){ else if(quotation_type=="genquotewhatsappbymynum"){
openWhatsApp(data.quoteFilepath!); openWhatsApp(data.quoteFilepath!);
} }
Navigator.pop(context,true);
toast(context, data.message);
resetForm(); resetForm();
notifyListeners(); notifyListeners();
} else {} } else {}
...@@ -291,6 +293,8 @@ class Crmgeneratequotationprovider extends ChangeNotifier { ...@@ -291,6 +293,8 @@ class Crmgeneratequotationprovider extends ChangeNotifier {
'mimeType': mimeType, 'mimeType': mimeType,
'suggestedFilename': suggestedFilename, 'suggestedFilename': suggestedFilename,
}); });
await launchUrl(Uri.parse(url), mode: LaunchMode.externalApplication);
} else if (Platform.isIOS) { } else if (Platform.isIOS) {
_handleIOSDownload(context,url, suggestedFilename); _handleIOSDownload(context,url, suggestedFilename);
} }
......
...@@ -4,12 +4,14 @@ import 'package:intl/intl.dart'; ...@@ -4,12 +4,14 @@ 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';
import '../../Utils/app_colors.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class crmLeadDetailsProvider extends ChangeNotifier { class crmLeadDetailsProvider extends ChangeNotifier {
bool _isLoading = false; bool _isLoading = false;
bool _showMoreDetails = false;
TextEditingController nameController = TextEditingController(); TextEditingController nameController = TextEditingController();
TextEditingController designationController = TextEditingController(); TextEditingController designationController = TextEditingController();
...@@ -77,6 +79,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -77,6 +79,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
String? get dateError => _dateError; String? get dateError => _dateError;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
bool get showMoreDetails => _showMoreDetails;
List<String> get visitTypes => _visitTypes; List<String> get visitTypes => _visitTypes;
String? get selectedVisitType => _selectedVisitType; String? get selectedVisitType => _selectedVisitType;
...@@ -94,9 +97,9 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -94,9 +97,9 @@ class crmLeadDetailsProvider extends ChangeNotifier {
List<QuotationsDetails> get quotationsDetails => _quotationsDetails; List<QuotationsDetails> get quotationsDetails => _quotationsDetails;
List<String> get Headings => _headings; // List<String> get Headings => _headings;
//
List<String> get subHeadings => _subHeadings; // List<String> get subHeadings => _subHeadings;
String? get formattedDate => _formattedDate; String? get formattedDate => _formattedDate;
...@@ -167,6 +170,11 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -167,6 +170,11 @@ class crmLeadDetailsProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
set showMoreDetails(bool value){
_showMoreDetails = value;
notifyListeners();
}
set formattedDate(String? value) { set formattedDate(String? value) {
_formattedDate = value; _formattedDate = value;
dateController.text = _formattedDate!; dateController.text = _formattedDate!;
...@@ -206,34 +214,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -206,34 +214,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
_followupDetails = data.followupDetails!; _followupDetails = data.followupDetails!;
_appointmentDetails = data.appointmentDetails!; _appointmentDetails = data.appointmentDetails!;
_quotationsDetails = data.quotationsDetails!; _quotationsDetails = data.quotationsDetails!;
_headings = [
"Address",
"Account Manager Name",
"Account Created By",
"State",
"District",
"Sub Locality",
"Source",
"Reference",
"Team",
"Segment",
"Lead Status",
"Lead Age",
];
_subHeadings = [
data.leadDetails!.address??"-",
data.accountDetails!.accManager??"-",
data.accountDetails!.owner??"-",
data.accountDetails!.state??"-",
data.accountDetails!.district??"-",
data.accountDetails!.subLocality??"-",
data.accountDetails!.source??"-",
data.accountDetails!.reference??"-",
data.accountDetails!.team??"-",
data.accountDetails!.segment??"-",
data.leadDetails!.status??"-",
"${data.leadDetails!.lage??"-"} days",
];
_visitTypes = ["Phone","Visit"]; _visitTypes = ["Phone","Visit"];
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -358,7 +339,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -358,7 +339,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -367,7 +348,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -367,7 +348,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -380,6 +361,7 @@ class crmLeadDetailsProvider extends ChangeNotifier { ...@@ -380,6 +361,7 @@ class crmLeadDetailsProvider extends ChangeNotifier {
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
......
...@@ -155,6 +155,7 @@ class crmNearbyOpenLeadsProvider extends ChangeNotifier { ...@@ -155,6 +155,7 @@ class crmNearbyOpenLeadsProvider extends ChangeNotifier {
provider.empId, provider.empId,
provider.session, provider.session,
_latlongs, _latlongs,
_currentValue
); );
if (data != null) { if (data != null) {
......
...@@ -3,6 +3,7 @@ import 'package:flutter/foundation.dart'; ...@@ -3,6 +3,7 @@ import 'package:flutter/foundation.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Models/crmModels/crmProspectDetailsResponse.dart'; import '../../Models/crmModels/crmProspectDetailsResponse.dart';
import '../../Utils/app_colors.dart';
import '../../Utils/commonServices.dart'; import '../../Utils/commonServices.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
...@@ -315,7 +316,7 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -315,7 +316,7 @@ class crmProspectDetailsProvider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -324,7 +325,7 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -324,7 +325,7 @@ class crmProspectDetailsProvider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -337,6 +338,7 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -337,6 +338,7 @@ class crmProspectDetailsProvider extends ChangeNotifier {
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
......
...@@ -14,6 +14,7 @@ import 'approveRejectPaymentRequestResponse.dart'; ...@@ -14,6 +14,7 @@ import 'approveRejectPaymentRequestResponse.dart';
class Requesitionlidtdetailsprovider extends ChangeNotifier { class Requesitionlidtdetailsprovider extends ChangeNotifier {
TextEditingController requestedAmount = TextEditingController(); TextEditingController requestedAmount = TextEditingController();
TextEditingController approvedAmountReadonly = TextEditingController();
TextEditingController proposedPaymentAccount = TextEditingController(); TextEditingController proposedPaymentAccount = TextEditingController();
TextEditingController approvedAmount = TextEditingController(); TextEditingController approvedAmount = TextEditingController();
TextEditingController accountName = TextEditingController(); TextEditingController accountName = TextEditingController();
...@@ -30,7 +31,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -30,7 +31,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
TextEditingController bankHolderName = TextEditingController(); TextEditingController bankHolderName = TextEditingController();
TextEditingController paymentAccountSearchController = TextEditingController paymentAccountSearchController =
TextEditingController(); TextEditingController();
String? proposedAmountError;
PaymentDetails _paymentDetails = PaymentDetails(); PaymentDetails _paymentDetails = PaymentDetails();
RequestDetails _requestDetails = RequestDetails(); RequestDetails _requestDetails = RequestDetails();
PaymentRequestDetails _paymentRequestDetails = PaymentRequestDetails(); PaymentRequestDetails _paymentRequestDetails = PaymentRequestDetails();
...@@ -279,6 +280,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -279,6 +280,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
print("here 212ssass1"); print("here 212ssass1");
requestedAmount.text = _requestDetails.requestedAmount ?? "-"; requestedAmount.text = _requestDetails.requestedAmount ?? "-";
proposedPaymentAccount.text = _requestDetails.proposedAccount ?? "-"; proposedPaymentAccount.text = _requestDetails.proposedAccount ?? "-";
approvedAmountReadonly.text = _requestDetails.formattedAmount ?? "-";
approvedAmount.text = _requestDetails.amount ?? "-"; approvedAmount.text = _requestDetails.amount ?? "-";
accountName.text = _requestDetails.accountName ?? "-"; accountName.text = _requestDetails.accountName ?? "-";
branch.text = _requestDetails.branch ?? "-"; branch.text = _requestDetails.branch ?? "-";
...@@ -320,6 +322,10 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -320,6 +322,10 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
payment_request_id, payment_request_id,
approve_remarks,) async { approve_remarks,) async {
try { try {
if(approve_remarks.toString().trim().isEmpty) {
toast(context,"Enter Remarks");
return;
}
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.RejectPaymentRequestSubmitAPI( final data = await ApiCalling.RejectPaymentRequestSubmitAPI(
provider.empId, provider.empId,
...@@ -371,6 +377,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -371,6 +377,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
Future<void> paymentrequisitionProcessSubmitAPIFunction(context, Future<void> paymentrequisitionProcessSubmitAPIFunction(context,
mode, mode,
reference_num, reference_num,
payment_amount,
payment_request_id, payment_request_id,
payment_account_id, payment_account_id,
processing_remarks, processing_remarks,
...@@ -382,6 +389,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -382,6 +389,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
provider.session, provider.session,
mode, mode,
reference_num, reference_num,
payment_amount,
payment_request_id, payment_request_id,
payment_account_id, payment_account_id,
processing_remarks, processing_remarks,
...@@ -401,6 +409,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -401,6 +409,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
resetAll() { resetAll() {
requestedAmount.clear(); requestedAmount.clear();
proposedPaymentAccount.clear(); proposedPaymentAccount.clear();
approvedAmountReadonly.clear();
approvedAmount.clear(); approvedAmount.clear();
accountName.clear(); accountName.clear();
branch.clear(); branch.clear();
...@@ -418,6 +427,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier { ...@@ -418,6 +427,7 @@ class Requesitionlidtdetailsprovider extends ChangeNotifier {
_selectedPaymentAccounts = null; _selectedPaymentAccounts = null;
_selectedValue = ""; _selectedValue = "";
_selectedID = null; _selectedID = null;
proposedAmountError = null;
checkDropDownReset(); checkDropDownReset();
notifyListeners(); notifyListeners();
......
...@@ -28,6 +28,7 @@ import 'package:pdf/widgets.dart' as pw; ...@@ -28,6 +28,7 @@ import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart'; import 'package:printing/printing.dart';
import '../../Models/financeModels/paymentRequestionBankDetailsResponse.dart'; import '../../Models/financeModels/paymentRequestionBankDetailsResponse.dart';
import '../../Utils/app_colors.dart';
class Requestionlistprovider extends ChangeNotifier { class Requestionlistprovider extends ChangeNotifier {
TextEditingController reqPurposeController = TextEditingController(); TextEditingController reqPurposeController = TextEditingController();
...@@ -49,6 +50,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -49,6 +50,7 @@ class Requestionlistprovider extends ChangeNotifier {
String? _formattedDate; String? _formattedDate;
List<Accounts> _accounts = []; List<Accounts> _accounts = [];
List<PaymentModes> _paymentModes = []; List<PaymentModes> _paymentModes = [];
List<Employees> _approvalEmployee = [];
List<String> _requestingPurposes = []; List<String> _requestingPurposes = [];
List<RequistionList> _requisitionList = []; List<RequistionList> _requisitionList = [];
...@@ -58,6 +60,10 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -58,6 +60,10 @@ class Requestionlistprovider extends ChangeNotifier {
List<DirectPaymentModes> _directPaymentModes = []; List<DirectPaymentModes> _directPaymentModes = [];
Employees? _selectedApprovalEmployee;
String? _selectedApprovalEmployeeID;
String? _selectedApprovalEmployeeValue;
DirectAccounts? _selectedDirectAccounts; DirectAccounts? _selectedDirectAccounts;
DirectPaymentAccounts? _selectDirectPaymentAccounts; DirectPaymentAccounts? _selectDirectPaymentAccounts;
...@@ -73,6 +79,16 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -73,6 +79,16 @@ class Requestionlistprovider extends ChangeNotifier {
String _directPaymentModesID = ""; String _directPaymentModesID = "";
String _directPaymentModesValues = ""; String _directPaymentModesValues = "";
List<Employees> get approvalEmployee => _approvalEmployee;
Employees? get selectedApprovalEmployee => _selectedApprovalEmployee;
String? get selectedApprovalEmployeeID => _selectedApprovalEmployeeID;
String? get selectedApprovalEmployeeValue => _selectedApprovalEmployeeValue;
List<DirectAccounts> get directAccounts => _directAccounts; List<DirectAccounts> get directAccounts => _directAccounts;
List<DirectPaymentAccounts> get directPaymentAccounts => List<DirectPaymentAccounts> get directPaymentAccounts =>
...@@ -104,6 +120,22 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -104,6 +120,22 @@ class Requestionlistprovider extends ChangeNotifier {
// Date picker methods // Date picker methods
String? get formattedDate => _formattedDate; String? get formattedDate => _formattedDate;
set selectedApprovalEmployee(Employees? value){
_selectedApprovalEmployee = value;
_selectedApprovalEmployeeID = value!.id!;
_selectedApprovalEmployeeValue = value!.name!;
notifyListeners();
}
set selectedApprovalEmployeeValue(String? value){
_selectedApprovalEmployeeValue = value;
notifyListeners();
}
set selectedApprovalEmployeeID(String? value){
_selectedApprovalEmployeeID = value;
notifyListeners();
}
set formattedDate(String? value) { set formattedDate(String? value) {
_formattedDate = value; _formattedDate = value;
dateController.text = _formattedDate!; dateController.text = _formattedDate!;
...@@ -180,6 +212,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -180,6 +212,7 @@ class Requestionlistprovider extends ChangeNotifier {
String _paymentModeId = ""; String _paymentModeId = "";
String _paymentModeValue = ""; String _paymentModeValue = "";
String _accountId = ""; String _accountId = "";
String _accountValue = "";
String _reqPurpose = ""; String _reqPurpose = "";
String? selectAccountError; String? selectAccountError;
...@@ -226,6 +259,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -226,6 +259,7 @@ class Requestionlistprovider extends ChangeNotifier {
get imagePicked => _image_picked; get imagePicked => _image_picked;
String get accountId => _accountId; String get accountId => _accountId;
String get accountValue => _accountValue;
String get reqPurpose => _reqPurpose; String get reqPurpose => _reqPurpose;
...@@ -267,7 +301,9 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -267,7 +301,9 @@ class Requestionlistprovider extends ChangeNotifier {
set selectedAccount(Accounts? value) { set selectedAccount(Accounts? value) {
_selectedAccounts = value; _selectedAccounts = value;
_accountId = value!.id!; _accountId = value!.id!;
_accountValue = value!.name!;
selectAccountError = null; selectAccountError = null;
print("_accountId:$_accountId");
notifyListeners(); notifyListeners();
} }
...@@ -302,6 +338,10 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -302,6 +338,10 @@ class Requestionlistprovider extends ChangeNotifier {
_accountId = value; _accountId = value;
notifyListeners(); notifyListeners();
} }
set accountValue(String value) {
_accountValue = value;
notifyListeners();
}
set reqPurposeId(String value) { set reqPurposeId(String value) {
_reqPurpose = value; _reqPurpose = value;
...@@ -364,20 +404,19 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -364,20 +404,19 @@ class Requestionlistprovider extends ChangeNotifier {
_accounts.clear(); _accounts.clear();
_paymentModes.clear(); _paymentModes.clear();
_requestingPurposes.clear(); _requestingPurposes.clear();
_approvalEmployee.clear();
notifyListeners(); notifyListeners();
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_accounts = data.accounts??[]; _accounts = data.accounts??[];
if(mode=="self"&&data.accounts!.length==1){
print("1234234"); print("1234234");
if(mode=="self"&&data.accounts!.length==1){
paymentRequestionBankDetailsAPIFunction(context, data.accounts!.first.id); paymentRequestionBankDetailsAPIFunction(context, data.accounts!.first.id);
} }
_approvalEmployee = data.employees??[];
_paymentModes = data.paymentModes??[]; _paymentModes = data.paymentModes??[];
_requestingPurposes = data.requestingPurposes??[]; _requestingPurposes = data.requestingPurposes??[];
print('here');
print(data.requestingPurposes);
print(_accounts);
notifyListeners(); notifyListeners();
checkDropdownselected(); checkDropdownselected();
...@@ -416,7 +455,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -416,7 +455,7 @@ class Requestionlistprovider extends ChangeNotifier {
} catch (e, s) {} } catch (e, s) {}
} }
Future<void> addPaymentRequestionSubmitAPI(context, mode) async { Future<void> addPaymentRequestionSubmitAPI(context, mode,approvalEmployeeID) async {
try { try {
_submitClicked = true; _submitClicked = true;
notifyListeners(); notifyListeners();
...@@ -447,6 +486,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -447,6 +486,7 @@ class Requestionlistprovider extends ChangeNotifier {
bankAcHolderController.text, bankAcHolderController.text,
bankUpiController.text, bankUpiController.text,
_image, _image,
approvalEmployeeID
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
...@@ -606,7 +646,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -606,7 +646,7 @@ class Requestionlistprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -615,7 +655,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -615,7 +655,7 @@ class Requestionlistprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -628,10 +668,12 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -628,10 +668,12 @@ class Requestionlistprovider extends ChangeNotifier {
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
showDayOfWeek: true, showDayOfWeek: true,
onDateTimeChanged: (DateTime newDate) { onDateTimeChanged: (DateTime newDate) {
setDate(newDate); setDate(newDate);
}, },
...@@ -910,6 +952,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -910,6 +952,7 @@ class Requestionlistprovider extends ChangeNotifier {
_paymentModeId = ""; _paymentModeId = "";
_paymentModeValue = ""; _paymentModeValue = "";
_accountId = ""; _accountId = "";
_accountValue = "";
_reqPurpose = ""; _reqPurpose = "";
_image = null; _image = null;
...@@ -966,6 +1009,7 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -966,6 +1009,7 @@ class Requestionlistprovider extends ChangeNotifier {
!_accounts.contains(_selectedAccounts)) { !_accounts.contains(_selectedAccounts)) {
_selectedAccounts = null; _selectedAccounts = null;
_accountId = ""; _accountId = "";
_accountValue = "";
} }
if (_selectedPayment != null && if (_selectedPayment != null &&
!_paymentModes.contains(_selectedPayment)) { !_paymentModes.contains(_selectedPayment)) {
...@@ -1131,6 +1175,10 @@ class Requestionlistprovider extends ChangeNotifier { ...@@ -1131,6 +1175,10 @@ class Requestionlistprovider extends ChangeNotifier {
} }
if (_paymentModeValue == "UPI") { if (_paymentModeValue == "UPI") {
if (bankAcHolderController.text.trim().isEmpty) {
bankHolderError = "Please enter account holder name";
isValid = false;
}
if (bankUpiController.text.trim().isEmpty) { if (bankUpiController.text.trim().isEmpty) {
UPIError = "Please enter UPI ID"; UPIError = "Please enter UPI ID";
isValid = false; isValid = false;
......
...@@ -8,6 +8,7 @@ import 'package:excel/excel.dart'; ...@@ -8,6 +8,7 @@ import 'package:excel/excel.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:generp/Notifiers/HomeScreenNotifier.dart'; import 'package:generp/Notifiers/HomeScreenNotifier.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/services/api_calling.dart'; import 'package:generp/services/api_calling.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
...@@ -931,7 +932,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -931,7 +932,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -940,7 +941,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -940,7 +941,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -953,6 +954,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -953,6 +954,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
......
...@@ -41,6 +41,11 @@ class Loginnotifier extends ChangeNotifier { ...@@ -41,6 +41,11 @@ class Loginnotifier extends ChangeNotifier {
String get AndroidDevId => _androidId; String get AndroidDevId => _androidId;
int get loginStatus => _loginStatus; int get loginStatus => _loginStatus;
set isLoading(bool value){
_isLoading = value;
notifyListeners();
}
Future<void> initAndroidId() async { Future<void> initAndroidId() async {
String androidId; String androidId;
...@@ -157,6 +162,7 @@ int get loginStatus => _loginStatus; ...@@ -157,6 +162,7 @@ int get loginStatus => _loginStatus;
password, password,
) async { ) async {
try { try {
if (!_validate(email, password)) return; if (!_validate(email, password)) return;
_isLoading = true; _isLoading = true;
......
...@@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart'; ...@@ -5,6 +5,7 @@ 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';
import 'package:generp/Models/ordersModels/addOrderAccontDetailsResponse.dart'; import 'package:generp/Models/ordersModels/addOrderAccontDetailsResponse.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonServices.dart'; import 'package:generp/Utils/commonServices.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:geolocator/geolocator.dart' as geo_location; import 'package:geolocator/geolocator.dart' as geo_location;
...@@ -385,7 +386,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -385,7 +386,7 @@ class Addorderprovider extends ChangeNotifier {
set selecetdDispatchStates(States? value) { set selecetdDispatchStates(States? value) {
_selectedDispatchStates = value; _selectedDispatchStates = value;
_selectedDispatchStateID = value!.id; _selectedDispatchStateID = value?.id;
_selectedDispatchStateName = value!.name!; _selectedDispatchStateName = value!.name!;
selectedDispatchStateError = ""; selectedDispatchStateError = "";
notifyListeners(); notifyListeners();
...@@ -403,7 +404,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -403,7 +404,7 @@ class Addorderprovider extends ChangeNotifier {
set selectedDispatchDistricts(Districts? value) { set selectedDispatchDistricts(Districts? value) {
_selectedDispatchDistricts = value; _selectedDispatchDistricts = value;
_selectedDispatchDistrictID = value!.id; _selectedDispatchDistrictID = value?.id;
_selectedDispatchDistrictValue = value!.district; _selectedDispatchDistrictValue = value!.district;
selectedDispatchDistrictError = ""; selectedDispatchDistrictError = "";
// districtError = null; // districtError = null;
...@@ -412,7 +413,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -412,7 +413,7 @@ class Addorderprovider extends ChangeNotifier {
set selectedDispatchSubLocations(SubLocations? value) { set selectedDispatchSubLocations(SubLocations? value) {
_selectedDispatchSubLocations = value; _selectedDispatchSubLocations = value;
_selectedDispatchSubLocID = value!.id; _selectedDispatchSubLocID = value?.id;
_selectedDispatchSubLocValue = value!.subLocality!; _selectedDispatchSubLocValue = value!.subLocality!;
selectedDispatchSubLocError = ""; selectedDispatchSubLocError = "";
// localityError = null; // localityError = null;
...@@ -1573,7 +1574,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -1573,7 +1574,7 @@ class Addorderprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -1582,7 +1583,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -1582,7 +1583,7 @@ class Addorderprovider extends ChangeNotifier {
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -1595,6 +1596,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -1595,6 +1596,7 @@ class Addorderprovider extends ChangeNotifier {
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
......
...@@ -14,6 +14,7 @@ import 'package:provider/provider.dart'; ...@@ -14,6 +14,7 @@ import 'package:provider/provider.dart';
import '../../Models/ordersModels/AddOrderPaymentSelectAccountResponse.dart'; import '../../Models/ordersModels/AddOrderPaymentSelectAccountResponse.dart';
import '../../Models/ordersModels/AddOrderPaymentSelectOrderResponse.dart'; import '../../Models/ordersModels/AddOrderPaymentSelectOrderResponse.dart';
import '../../Utils/app_colors.dart';
class Addpaymentprovider extends ChangeNotifier{ class Addpaymentprovider extends ChangeNotifier{
...@@ -115,6 +116,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -115,6 +116,7 @@ class Addpaymentprovider extends ChangeNotifier{
} }
set selectedDescription(String? value){ set selectedDescription(String? value){
_selectedDescription = value; _selectedDescription = value;
descriptionError = "";
notifyListeners(); notifyListeners();
} }
set selectedAccountList(AccountList? value){ set selectedAccountList(AccountList? value){
...@@ -496,22 +498,18 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -496,22 +498,18 @@ class Addpaymentprovider extends ChangeNotifier{
if(amountController.text.trim().isEmpty){ if(amountController.text.trim().isEmpty){
isValid = false; isValid = false;
amountError = "Please Enter the Amount"; amountError = "Please Enter the Amount";
notifyListeners();
} }
if(orderAdjustedAmountController.text.trim().isEmpty){ if(orderAdjustedAmountController.text.trim().isEmpty){
isValid = false; isValid = false;
orderAdjustedAmountError = "Please Enter the Amount"; orderAdjustedAmountError = "Please Enter the Amount";
notifyListeners();
} }
if(descriptionController.text.trim().isEmpty){ if (_description == null || _selectedDescription==null) {
descriptionError = "Please select";
isValid = false; isValid = false;
descriptionError = "Please Enter the Description";
notifyListeners();
} }
if(paymentReceivedDateController.text.trim().isEmpty){ if(paymentReceivedDateController.text.trim().isEmpty){
isValid = false; isValid = false;
paymentModeError = "Please Enter the Amount"; paymentModeError = "Please Enter the Amount";
notifyListeners();
} }
if (_paymentMode == null || _selectedPaymentMode==null) { if (_paymentMode == null || _selectedPaymentMode==null) {
paymentModeError = "Please select an Account"; paymentModeError = "Please select an Account";
...@@ -521,8 +519,8 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -521,8 +519,8 @@ class Addpaymentprovider extends ChangeNotifier{
if(paymentRefController.text.trim().isEmpty){ if(paymentRefController.text.trim().isEmpty){
isValid = false; isValid = false;
paymentRefError = "Please Enter the Payment reference"; paymentRefError = "Please Enter the Payment reference";
notifyListeners();
} }
_submitClicked = false;
notifyListeners(); notifyListeners();
return isValid; return isValid;
} }
...@@ -614,7 +612,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -614,7 +612,7 @@ class Addpaymentprovider extends ChangeNotifier{
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -623,7 +621,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -623,7 +621,7 @@ class Addpaymentprovider extends ChangeNotifier{
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium"), style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -636,6 +634,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -636,6 +634,7 @@ class Addpaymentprovider extends ChangeNotifier{
Expanded( Expanded(
flex: 3, flex: 3,
child: CupertinoDatePicker( child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _date ?? DateTime.now(), initialDateTime: _date ?? DateTime.now(),
mode: CupertinoDatePickerMode.date, mode: CupertinoDatePickerMode.date,
use24hFormat: true, use24hFormat: true,
......
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:generp/Notifiers/ordersProvider/pagesDashboardProvider.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Utils/commonServices.dart'; import '../../Utils/commonServices.dart';
...@@ -112,6 +113,24 @@ String? driverMobileNumberError; ...@@ -112,6 +113,24 @@ String? driverMobileNumberError;
} }
Future<void> ordersPDIIDByEngineNumberFunction(context,index) async {
try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.ordersPdiIdByEngNumberUrlAPI(
provider.empId,
provider.session,
engineNumberControllers[index].text,
);
if (data != null) {
if (data.error == "0") {
pdiIDControllers[index].text = data.pdiId!;
updateTotalAmount(index);
notifyListeners();
} else {}
} else {}
} catch (e, s) {}
}
Future<void> ordersDetailsDispatchOrderViewFunction(context, orderID) async { Future<void> ordersDetailsDispatchOrderViewFunction(context, orderID) async {
try { try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -140,6 +159,7 @@ String? driverMobileNumberError; ...@@ -140,6 +159,7 @@ String? driverMobileNumberError;
sale_order_number, sale_order_number,
edit_company_name, edit_company_name,
crm_order_p_id, crm_order_p_id,
mode
) async { ) async {
try { try {
if (!validateApproveRejectForm()) { if (!validateApproveRejectForm()) {
...@@ -149,6 +169,7 @@ String? driverMobileNumberError; ...@@ -149,6 +169,7 @@ String? driverMobileNumberError;
_submitClicked = true; _submitClicked = true;
notifyListeners(); notifyListeners();
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
final detProvider = Provider.of<Pagesdashboardprovider>(context,listen: false);
final data = await ApiCalling.ordersDetailsApproveRejectAPI( final data = await ApiCalling.ordersDetailsApproveRejectAPI(
provider.empId, provider.empId,
provider.session, provider.session,
...@@ -171,6 +192,11 @@ String? driverMobileNumberError; ...@@ -171,6 +192,11 @@ String? driverMobileNumberError;
_submitClicked = false; _submitClicked = false;
toast(context, "${data.message}"); toast(context, "${data.message}");
resetForm(); resetForm();
detProvider.ordersDetailsByModeAPIFunction(
context,
orderId,
mode,
);
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
} else { } else {
......
...@@ -39,7 +39,6 @@ class Editorderprovider extends ChangeNotifier { ...@@ -39,7 +39,6 @@ class Editorderprovider extends ChangeNotifier {
String? _selectedDispatchSubLocID; String? _selectedDispatchSubLocID;
String? _selectedDispatchSubLocValue; String? _selectedDispatchSubLocValue;
String? _selectedUnloadingScope; String? _selectedUnloadingScope;
String? _selectedFreightScope; String? _selectedFreightScope;
String? _selectedErectionScope; String? _selectedErectionScope;
...@@ -59,7 +58,6 @@ class Editorderprovider extends ChangeNotifier { ...@@ -59,7 +58,6 @@ class Editorderprovider extends ChangeNotifier {
int get imagePicked => _imagePicked; int get imagePicked => _imagePicked;
List<String> get unloadingScope => _unloadingScope; List<String> get unloadingScope => _unloadingScope;
List<String> get freightScope => _freightScope; List<String> get freightScope => _freightScope;
...@@ -99,9 +97,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -99,9 +97,7 @@ class Editorderprovider extends ChangeNotifier {
String? get selectedDispatchSubLocValue => _selectedDispatchSubLocValue; String? get selectedDispatchSubLocValue => _selectedDispatchSubLocValue;
OrderDetails get orderDetails => _orderDetails;
OrderDetails get orderDetails =>_orderDetails;
set imagePath(File? value) { set imagePath(File? value) {
_imageName = value; _imageName = value;
...@@ -117,6 +113,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -117,6 +113,7 @@ class Editorderprovider extends ChangeNotifier {
_imagePicked = value; _imagePicked = value;
notifyListeners(); notifyListeners();
} }
set selecetdDispatchStates(States? value) { set selecetdDispatchStates(States? value) {
_selectedDispatchStates = value; _selectedDispatchStates = value;
_selectedDispatchStateID = value!.id; _selectedDispatchStateID = value!.id;
...@@ -169,10 +166,12 @@ class Editorderprovider extends ChangeNotifier { ...@@ -169,10 +166,12 @@ class Editorderprovider extends ChangeNotifier {
_selectedDispatchSubLocValue = value; _selectedDispatchSubLocValue = value;
notifyListeners(); notifyListeners();
} }
set submitClicked(bool value){
set submitClicked(bool value) {
_submitClicked = value; _submitClicked = value;
notifyListeners(); notifyListeners();
} }
set selectedUnloadingScope(String? value) { set selectedUnloadingScope(String? value) {
_selectedUnloadingScope = value; _selectedUnloadingScope = value;
notifyListeners(); notifyListeners();
...@@ -200,15 +199,16 @@ class Editorderprovider extends ChangeNotifier { ...@@ -200,15 +199,16 @@ class Editorderprovider extends ChangeNotifier {
if (data.error == "0") { if (data.error == "0") {
_dispatchStates = data.states!; _dispatchStates = data.states!;
_orderDetails = data.orderDetails!; _orderDetails = data.orderDetails!;
_erectionScope = ["Excluded","Included","Excluded"]; _erectionScope = ["Included", "Excluded"];
_unloadingScope = ["Excluded","Included","Excluded"]; _unloadingScope = ["Included", "Excluded"];
_freightScope = ["Included","Included","Excluded"]; _freightScope = ["Included", "Excluded"];
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e, s) {}
} }
Future<void> getDispatchDistrictAPI(context, stateID) async { Future<void> getDispatchDistrictAPI(context, stateID) async {
try { try {
var homeProv = Provider.of<HomescreenNotifier>(context, listen: false); var homeProv = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -249,18 +249,39 @@ class Editorderprovider extends ChangeNotifier { ...@@ -249,18 +249,39 @@ class Editorderprovider extends ChangeNotifier {
} catch (e, s) {} } catch (e, s) {}
} }
Future<void> ordersEditOrderAPISubmitFunction(
Future<void> ordersEditOrderAPISubmitFunction(context, orderID, stateID, districtID, subLocID,unloading, freight, erection) async { context,
orderID,
stateID,
districtID,
subLocID,
unloading,
freight,
erection,
) async {
try { try {
_submitClicked = true; _submitClicked = true;
notifyListeners(); notifyListeners();
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.ordersDetailsEditOrderSubmitAPI(provider.empId, provider.session, orderID, _image, stateID, districtID, subLocID, final data = await ApiCalling.ordersDetailsEditOrderSubmitAPI(
dispatchPincodeController.text, dispatchAddressController.text, unloading, freight, erection, noteController.text); provider.empId,
provider.session,
orderID,
_image,
stateID,
districtID,
subLocID,
dispatchPincodeController.text,
dispatchAddressController.text,
unloading,
freight,
erection,
noteController.text,
);
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitClicked = false; _submitClicked = false;
Navigator.pop(context,true); Navigator.pop(context, true);
toast(context, data.message); toast(context, data.message);
notifyListeners(); notifyListeners();
} else { } else {
...@@ -277,7 +298,6 @@ class Editorderprovider extends ChangeNotifier { ...@@ -277,7 +298,6 @@ class Editorderprovider extends ChangeNotifier {
} }
} }
imgFromCamera(context) async { imgFromCamera(context) async {
// Capture a photo // Capture a photo
try { try {
...@@ -320,20 +340,66 @@ class Editorderprovider extends ChangeNotifier { ...@@ -320,20 +340,66 @@ class Editorderprovider extends ChangeNotifier {
} }
} }
void onChangedDispatchAddress(value){ void onChangedDispatchAddress(value) {
dispatchAddressError = ""; dispatchAddressError = "";
notifyListeners(); notifyListeners();
} }
void onChangedDispatchPincode(value){
void onChangedDispatchPincode(value) {
dispatchPincodeError = ""; dispatchPincodeError = "";
notifyListeners(); notifyListeners();
} }
void onChangedNote(value){
void onChangedNote(value) {
noteError = ""; noteError = "";
notifyListeners(); notifyListeners();
} }
void resetForm(){
void resetForm() {
dispatchPincodeController.clear();
dispatchAddressController.clear();
noteController.clear();
_selectedUnloadingScope = null;
_selectedFreightScope = null;
_selectedErectionScope = null;
_selectedDispatchStates = null;
_selectedDispatchStateID = null;
_selectedDispatchStateName = null;
_selectedDispatchDistricts = null;
_selectedDispatchDistrictID = null;
_selectedDispatchDistrictValue = null;
_selectedDispatchSubLocations = null;
_selectedDispatchSubLocID = null;
_selectedDispatchSubLocValue = null;
if (!_dispatchStates.contains(_selectedDispatchStates) &&
_selectedDispatchStates != null) {
_selectedDispatchStateID = null;
_selectedDispatchStateName = null;
}
if (!_dispatchDistricts.contains(_selectedDispatchDistricts) &&
_selectedDispatchDistricts != null) {
_selectedDispatchDistrictID = null;
_selectedDispatchDistrictValue = null;
}
if (!_dispatchSubLocations.contains(_selectedDispatchSubLocations) &&
_selectedDispatchSubLocations != null) {
_selectedDispatchSubLocID = null;
_selectedDispatchSubLocValue = null;
}
if (!_unloadingScope.contains(_selectedUnloadingScope) &&
_selectedUnloadingScope != null) {
_selectedUnloadingScope = null;
}
if (!_freightScope.contains(_selectedFreightScope) &&
_selectedFreightScope != null) {
_selectedFreightScope = null;
}
if (!_erectionScope.contains(_selectedErectionScope) &&
_selectedErectionScope != null) {
_selectedErectionScope = null;
}
notifyListeners();
} }
} }
...@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; ...@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Models/ordersModels/orderDashboardResponse.dart';
import '../../Models/ordersModels/ordersAccessiblePagesResponse.dart'; import '../../Models/ordersModels/ordersAccessiblePagesResponse.dart';
import '../../Models/ordersModels/ordersDetailsByModeResponse.dart'; import '../../Models/ordersModels/ordersDetailsByModeResponse.dart';
import '../../Models/ordersModels/ordersListByModeFilterResponse.dart'; import '../../Models/ordersModels/ordersListByModeFilterResponse.dart';
...@@ -15,6 +16,8 @@ import '../HomeScreenNotifier.dart'; ...@@ -15,6 +16,8 @@ import '../HomeScreenNotifier.dart';
class Pagesdashboardprovider extends ChangeNotifier { class Pagesdashboardprovider extends ChangeNotifier {
bool _submitClicked = false; bool _submitClicked = false;
bool _showMoreDetails = false;
TextEditingController feedbackController = TextEditingController(); TextEditingController feedbackController = TextEditingController();
TextEditingController approveRejectFeedbackController = TextEditingController approveRejectFeedbackController =
TextEditingController(); TextEditingController();
...@@ -47,6 +50,21 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -47,6 +50,21 @@ class Pagesdashboardprovider extends ChangeNotifier {
var _image_picked = 0; var _image_picked = 0;
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
Ordergain _ordergain = Ordergain();
Ordergain get ordergain => _ordergain;
Ordergain _dispatches = Ordergain();
Ordergain get dispatches => _dispatches;
Ordergain _pendingTasks = Ordergain();
Ordergain get pendingTasks => _pendingTasks;
Ordergain _quote = Ordergain();
Ordergain get quote => _quote;
List<Ordergain> _ordersgain = [];
List<Ordergain> get ordersgain => _ordersgain;
bool get showMoreDetails => _showMoreDetails;
set showMoreDetails(bool value){
_showMoreDetails = value;
notifyListeners();
}
File? _image; File? _image;
File? _imageName; File? _imageName;
...@@ -112,9 +130,9 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -112,9 +130,9 @@ class Pagesdashboardprovider extends ChangeNotifier {
String? get selectedLeadType => _selectedLeadType; String? get selectedLeadType => _selectedLeadType;
List<String> get Headings => _headings; // List<String> get Headings => _headings;
//
List<String> get subHeadings => _subHeadings; // List<String> get subHeadings => _subHeadings;
set imagePath(File? value) { set imagePath(File? value) {
_imageName = value; _imageName = value;
...@@ -214,10 +232,38 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -214,10 +232,38 @@ class Pagesdashboardprovider extends ChangeNotifier {
} }
} }
Future<void> orderDashboardAPIFunction(context, mode,
from,to,teamemployee) async {
try{
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false);
final data = await ApiCalling.ordersDashboardAPI(HomeProv.empId, HomeProv.session, mode,
from,to,teamemployee);
if(data!=null){
if(data.error=="0"){
_ordergain = data.ordergain!;
_dispatches = data.dispatches!;
_pendingTasks = data.pendingTasks!;
_quote = data.quote!;
_ordersgain = [
_ordergain,
_dispatches,
_pendingTasks,
_quote,
];
notifyListeners();
}
}
}catch (e,s){
}
}
Future<void> ordersAccessiblePagesAPIFunction(context) async { Future<void> ordersAccessiblePagesAPIFunction(context) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.ordersDashboardAPI( final data = await ApiCalling.ordersAccesiblePagesAPI(
provider.empId, provider.empId,
provider.session, provider.session,
); );
...@@ -303,7 +349,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -303,7 +349,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
_paymentHistory = data.paymentHistory!; _paymentHistory = data.paymentHistory!;
editCompanyController.text = data.orderDetails!.accountName ?? ""; editCompanyController.text = data.orderDetails!.accountName ?? "";
_headings = [ _headings = [
"Order No", "Order Number",
"Account Name", "Account Name",
"Billing State", "Billing State",
......
...@@ -108,8 +108,6 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -108,8 +108,6 @@ class Tpcagentsprovider extends ChangeNotifier{
if (data.error == "0") { if (data.error == "0") {
_tpcAgentsList = data.tpcAgentList!; _tpcAgentsList = data.tpcAgentList!;
_isLoading = false; _isLoading = false;
notifyListeners();
} else { } else {
_isLoading = false; _isLoading = false;
} }
......
...@@ -84,11 +84,13 @@ class Scanloginprovider extends ChangeNotifier{ ...@@ -84,11 +84,13 @@ class Scanloginprovider extends ChangeNotifier{
if (data.sessionExists == 1) { if (data.sessionExists == 1) {
if (data.error == 0) { if (data.error == 0) {
Navigator.pop(context); Navigator.pop(context);
toast(context, data.message); toast(context, "Login Successful!!");
} else if (data.error == 1) { } else if (data.error == 1) {
toast(context, data.message); toast(context, data.message);
toast(context, "Session Expired, Please Try Again!!");
} else if (data.error == 2) { } else if (data.error == 2) {
toast(context, data.message); toast(context, data.message);
toast(context, "Something Went wrong, Please Try Again!!");
} else { } else {
toast(context, toast(context,
"Something Went wrong, Please Try Again!"); "Something Went wrong, Please Try Again!");
......
...@@ -118,6 +118,7 @@ Widget errorWidget(context, text) { ...@@ -118,6 +118,7 @@ Widget errorWidget(context, text) {
Widget textControllerWidget( Widget textControllerWidget(
context, context,
controller, controller,
textHead,
hintText, hintText,
Function(String)? onChanged, Function(String)? onChanged,
inputtype, inputtype,
...@@ -133,7 +134,7 @@ Widget textControllerWidget( ...@@ -133,7 +134,7 @@ Widget textControllerWidget(
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.only(bottom: 5.0, top: 8.0), padding: const EdgeInsets.only(bottom: 5.0, top: 8.0),
child: Text(hintText), child: Text(textHead),
), ),
Container( Container(
height: hintText == "Enter Description" ? 150 : 50, height: hintText == "Enter Description" ? 150 : 50,
......
...@@ -242,6 +242,11 @@ class MyApp extends StatelessWidget { ...@@ -242,6 +242,11 @@ class MyApp extends StatelessWidget {
shadowColor: Colors.white54, shadowColor: Colors.white54,
searchBarTheme: const SearchBarThemeData(), searchBarTheme: const SearchBarThemeData(),
tabBarTheme: const TabBarThemeData(), tabBarTheme: const TabBarThemeData(),
textSelectionTheme: TextSelectionThemeData(
cursorColor: AppColors.app_blue
),
dialogTheme: const DialogThemeData( dialogTheme: const DialogThemeData(
shadowColor: Colors.white, shadowColor: Colors.white,
surfaceTintColor: Colors.white, surfaceTintColor: Colors.white,
...@@ -264,6 +269,7 @@ class MyApp extends StatelessWidget { ...@@ -264,6 +269,7 @@ class MyApp extends StatelessWidget {
color: Colors.white, color: Colors.white,
//), //),
), ),
textButtonTheme: TextButtonThemeData( textButtonTheme: TextButtonThemeData(
style: ButtonStyle( style: ButtonStyle(
// overlayColor: MaterialStateProperty.all(Colors.white), // overlayColor: MaterialStateProperty.all(Colors.white),
...@@ -287,6 +293,16 @@ class MyApp extends StatelessWidget { ...@@ -287,6 +293,16 @@ class MyApp extends StatelessWidget {
AppColors.grey_semi.withOpacity(0.6), AppColors.grey_semi.withOpacity(0.6),
), ),
), ),
inputDecorationTheme: InputDecorationTheme(
hintStyle: TextStyle(
fontWeight: FontWeight.w400,
color: Color(0xFFB4BEC0),
fontSize: 14,
),
enabledBorder: InputBorder.none,
focusedBorder: InputBorder.none,
),
), ),
home: const Splash(), home: const Splash(),
); );
......
...@@ -85,10 +85,11 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -85,10 +85,11 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
).format(DateTime(attendance.month.year, attendance.month.month - 1)); ).format(DateTime(attendance.month.year, attendance.month.month - 1));
final currentMonthName = DateFormat('MMM').format(attendance.month); final currentMonthName = DateFormat('MMM').format(attendance.month);
final year = DateFormat('yyyy').format(attendance.month); final year = DateFormat('yyyy').format(attendance.month);
final monthLabel = // final monthLabel =
prevMonthName == currentMonthName // prevMonthName == currentMonthName
? '$currentMonthName $year' // ? '$currentMonthName $year'
: '$prevMonthName - $currentMonthName $year'; // : '$prevMonthName - $currentMonthName $year';
final monthLabel ='$currentMonthName $year';
return RefreshIndicator.adaptive( return RefreshIndicator.adaptive(
color: AppColors.app_blue, color: AppColors.app_blue,
...@@ -147,8 +148,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -147,8 +148,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
vertical: 15, vertical: 15,
), ),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFFFEFEF), color: Color(0xFFF3EDFF),
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(
16,
),
), ),
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment:
...@@ -160,7 +163,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -160,7 +163,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
TextSpan( TextSpan(
text: formattedTime, text: formattedTime,
style: TextStyle( style: TextStyle(
color: Color(0xFFED3424), color:formattedTime!="-"?Color(0xFF493272): Color(0xFFED3424),
fontFamily: fontFamily:
"JakartaRegular", "JakartaRegular",
fontSize: 30, fontSize: 30,
...@@ -169,7 +172,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -169,7 +172,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
TextSpan( TextSpan(
text: period, text: period,
style: TextStyle( style: TextStyle(
color: Color(0xFFED3424), color:period!="-"?Color(0xFF493272): Color(0xFFED3424),
fontFamily: fontFamily:
"JakartaRegular", "JakartaRegular",
), ),
...@@ -198,8 +201,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -198,8 +201,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
vertical: 15, vertical: 15,
), ),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFFFEFEF), color: Color(0xFFF3EDFF),
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(
16,
),
), ),
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment:
...@@ -211,7 +216,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -211,7 +216,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
TextSpan( TextSpan(
text: formattedTime2, text: formattedTime2,
style: TextStyle( style: TextStyle(
color: Color(0xFFED3424), color:formattedTime2!="-"?Color(0xFF493272): Color(0xFFED3424),
fontFamily: fontFamily:
"JakartaRegular", "JakartaRegular",
fontSize: 30, fontSize: 30,
...@@ -220,7 +225,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -220,7 +225,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
TextSpan( TextSpan(
text: period2, text: period2,
style: TextStyle( style: TextStyle(
color: Color(0xFFED3424), color:period2!="-"?Color(0xFF493272): Color(0xFFED3424),
fontFamily: fontFamily:
"JakartaRegular", "JakartaRegular",
), ),
...@@ -323,7 +328,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -323,7 +328,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
), ),
Text( Text(
names[index], names[index],
style: TextStyle(color: Color(0xFF818181)), style: TextStyle(
color: Color(0xFF818181),
),
), ),
], ],
), ),
...@@ -346,7 +353,12 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -346,7 +353,12 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
child: Column( child: Column(
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.fromLTRB(30, 10, 30, 0), padding: const EdgeInsets.fromLTRB(
30,
10,
30,
0,
),
child: Container( child: Container(
child: Row( child: Row(
mainAxisAlignment: mainAxisAlignment:
...@@ -482,7 +494,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -482,7 +494,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
final currentDateInPeriod = startDate.add( final currentDateInPeriod = startDate.add(
Duration(days: dayIndex), Duration(days: dayIndex),
); );
final currentDay = currentDateInPeriod.day; final currentDay =
currentDateInPeriod.day;
final isFutureDate = currentDateInPeriod final isFutureDate = currentDateInPeriod
.isAfter(currentDate); .isAfter(currentDate);
...@@ -497,7 +510,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -497,7 +510,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
// Find matching penalty // Find matching penalty
Map<String, dynamic>? penaltyMap; Map<String, dynamic>? penaltyMap;
try { try {
penaltyMap = penalityArrayList[dayIndex]; penaltyMap =
penalityArrayList[dayIndex];
} catch (e) { } catch (e) {
penaltyMap = {}; penaltyMap = {};
} }
...@@ -531,7 +545,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -531,7 +545,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
: () { : () {
selectedIndex = index; selectedIndex = index;
if (penaltyKey != null) { if (penaltyKey != null) {
attendance.dateWiseAttendance( attendance
.dateWiseAttendance(
homeProvider, homeProvider,
penaltyKey, penaltyKey,
context, context,
...@@ -570,7 +585,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -570,7 +585,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
(isCurrentDay || (isCurrentDay ||
(selectedIndex == (selectedIndex ==
index)) index))
? Color(0xFF1487C9) ? Color(
0xFF1487C9,
)
: Colors : Colors
.transparent, .transparent,
), ),
...@@ -582,16 +599,23 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -582,16 +599,23 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
index)) index))
? Color(0xFFFFFFFF) ? Color(0xFFFFFFFF)
: dateColor == 'g' : dateColor == 'g'
? Color(0xFFE8FFE6) ? Color(
0xFF6B3A02,
).withAlpha(50)
: dateColor == 'r' : dateColor == 'r'
? Color(0xFFFFEFEF) ? Color(
0xFFFF0000,
).withAlpha(50)
: dateColor == 'b' : dateColor == 'b'
? Color(0xFFFFE8D0) ? Color(
0xFF493272,
).withAlpha(50)
: dateColor == 'br' : dateColor == 'br'
? Color(0xFFFFE8D0) ? Color(0xFFFFE8D0)
: dateColor == 'y' : dateColor == 'y'
? Color(0xFFFFF9B2) ? Color(0xFFFFF9B2)
: Colors.transparent, : Colors
.transparent,
), ),
child: Center( child: Center(
child: Text( child: Text(
...@@ -610,15 +634,18 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -610,15 +634,18 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
? Color( ? Color(
0xFF2D2D2D, 0xFF2D2D2D,
) )
: dateColor == 'g' : dateColor ==
'g'
? Color( ? Color(
0xFF6B3A02, 0xFF6B3A02,
) )
: dateColor == 'r' : dateColor ==
'r'
? Color( ? Color(
0xFFFF0000, 0xFFFF0000,
) )
: dateColor == 'b' : dateColor ==
'b'
? Color( ? Color(
0xFF493272, 0xFF493272,
) )
...@@ -627,7 +654,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -627,7 +654,8 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
? Color( ? Color(
0xFF6B3A02, 0xFF6B3A02,
) )
: dateColor == 'y' : dateColor ==
'y'
? Color( ? Color(
0xFF605C00, 0xFF605C00,
) )
...@@ -671,6 +699,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -671,6 +699,7 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
attendance.attendanceStatus, attendance.attendanceStatus,
), ),
), ),
); );
if (res == true) { if (res == true) {
attendance.getAttendanceList( attendance.getAttendanceList(
...@@ -744,7 +773,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -744,7 +773,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
right: 15, right: 15,
top: 15, top: 15,
), ),
padding: EdgeInsets.only( bottom: MediaQuery.of(context).viewInsets.bottom,), padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom,
),
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
...@@ -766,7 +797,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -766,7 +797,10 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
gridDelegate: gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount( SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, crossAxisCount: 3,
childAspectRatio: 5 / 1, crossAxisSpacing: 0,
mainAxisExtent: 40,
mainAxisSpacing: 10,
childAspectRatio: 6 / 1,
), ),
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
...@@ -774,12 +808,20 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -774,12 +808,20 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
itemBuilder: (context, index) { itemBuilder: (context, index) {
final colors = [ final colors = [
0xFF493272, Color(0xFF493272).withAlpha(50),
0xFF0D9C00, Color(0xFF6B3A02).withAlpha(50),
0xFFFF0000, Color(0xFFFF0000).withAlpha(50),
0xFF6B3A02, Color(0xFFFFE8D0),
0xFFFFEC1C, Color(0xFFFFF9B2),
]; ];
final text_colors = [
Color(0xFF493272),
Color(0xFF6B3A02),
Color(0xFFFF0000),
Color(0xFF6B3A02),
Color(0xFF605C00),
];
final text_subs = ["24", "7", "13", "17", "2"];
final text = [ final text = [
"Holiday", "Holiday",
"Present", "Present",
...@@ -788,20 +830,35 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -788,20 +830,35 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
"Not Checked Out", "Not Checked Out",
]; ];
return Row( return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Expanded(
width: 13, flex:1,
height: 13, child: Container(
width: 18,
height: 18,
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.circle, shape: BoxShape.circle,
color: Color(colors[index]), color: colors[index],
),
child: Center(
child: Text(
text_subs[index],
style: TextStyle(
color: text_colors[index],
fontSize: 10,
),
),
),
), ),
), ),
SizedBox(width: 5), SizedBox(width: 5),
Expanded( Expanded(
flex:4,
child: Text( child: Text(
text[index], text[index],
maxLines: 2, maxLines: 2,
overflow:TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Colors.black, color: Colors.black,
...@@ -847,7 +904,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -847,7 +904,9 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
right: 15, right: 15,
top: 15, top: 15,
), ),
padding: EdgeInsets.only( bottom: MediaQuery.of(context).viewInsets.bottom,), padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom,
),
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
...@@ -887,9 +946,12 @@ class _AttendanceScreenState extends State<AttendanceScreen> { ...@@ -887,9 +946,12 @@ class _AttendanceScreenState extends State<AttendanceScreen> {
), ),
child: Row( child: Row(
children: [ children: [
Text("Late Points ",style: TextStyle( Text(
"Late Points ",
style: TextStyle(
fontFamily: "JakartaMedium", fontFamily: "JakartaMedium",
),), ),
),
Text( Text(
provider.penalties, provider.penalties,
style: TextStyle( style: TextStyle(
......
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_image_compress/flutter_image_compress.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: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:provider/provider.dart'; import 'package:provider/provider.dart';
import '../Notifiers/CheckInProvider.dart'; import '../Notifiers/CheckInProvider.dart';
import 'FrontCameraCapture.dart';
class CheckInOutScreen extends StatefulWidget { class CheckInOutScreen extends StatefulWidget {
final int getAttendanceStatus; final int getAttendanceStatus;
...@@ -26,6 +31,13 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> { ...@@ -26,6 +31,13 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
}); });
} }
@override
void dispose() {
// TODO: implement dispose
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
...@@ -35,10 +47,12 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> { ...@@ -35,10 +47,12 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
return Consumer<CheckInOutProvider>( return Consumer<CheckInOutProvider>(
builder: (context, provider, child) { builder: (context, provider, child) {
return WillPopScope( return WillPopScope(
onWillPop: () => onBackPressed(context), onWillPop: () {
provider.dispose();
return onBackPressed(context);},
child: Scaffold( child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar(context, widget.getAttendanceStatus==0? "Check In":"Check Out"), appBar: appbar2(context, widget.getAttendanceStatus==0? "Check In":"Check Out", provider.dispose,SizedBox(width: 0,)),
body:SafeArea( body:SafeArea(
child: Container( child: Container(
child: SafeArea( child: SafeArea(
...@@ -133,6 +147,10 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> { ...@@ -133,6 +147,10 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
provider.locationController, provider.locationController,
keyboardType: keyboardType:
TextInputType.text, TextInputType.text,
onChanged: (value) {
provider.validateLocation = "";
provider.notifyListeners();
},
decoration: InputDecoration( decoration: InputDecoration(
hintText: hintText:
...@@ -189,9 +207,38 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> { ...@@ -189,9 +207,38 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
provider.notifyListeners(); provider.notifyListeners();
} else { } else {
provider.validateLocation = ""; provider.validateLocation = "";
if (Platform.isAndroid) {
provider.image = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
FrontCameraCapture()));
print("${provider.image}");
if(provider.image!=null){
provider.imagePicked = 1;
}
var file = await FlutterImageCompress.compressWithFile(
provider.image!.path,
);
if (file != null) {
if (widget.getAttendanceStatus == 0) {
provider.checkIn(context);
} else if (widget.getAttendanceStatus == 1) {
provider.checkOut(context);
}
}
} else if (Platform.isIOS) {
// BackgroundLocation.stopLocationService();
provider.imgFromCamera( provider.imgFromCamera(
context,widget.getAttendanceStatus); context,widget.getAttendanceStatus);
// setState(() {
// isLoading = true;
// image_picked = 0;
// CheckIn();
// });
}
} }
}, },
......
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