Commit 12aa06e4 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

13-08-2025 By Sai Srinivas

Test Cases
parent 2a5b9635
...@@ -127,7 +127,7 @@ class OrderDetails { ...@@ -127,7 +127,7 @@ class OrderDetails {
String? tpcaAgentName; String? tpcaAgentName;
OrderDetails( OrderDetails(
{this.id, { this.id,
this.orderNumber, this.orderNumber,
this.orderNumberHash, this.orderNumberHash,
this.balanceAmount, this.balanceAmount,
......
...@@ -844,10 +844,10 @@ class Addnewleadsandprospectsprovider extends ChangeNotifier { ...@@ -844,10 +844,10 @@ class Addnewleadsandprospectsprovider extends ChangeNotifier {
nameError = "Please Enter Name"; nameError = "Please Enter Name";
isValid = false; isValid = false;
} }
// if(customerMailIdController.text.trim().isEmpty){ if(customerMailIdController.text.trim().isNotEmpty && !RegExp(r'\S+@\S+\.\S+').hasMatch(customerMailIdController.text)){
// mailIdError = "Please enter Email Id"; mailIdError = "Please enter a proper Email ID";
// isValid = false; isValid = false;
// } }
if(mobileController.text.trim().isEmpty){ if(mobileController.text.trim().isEmpty){
mobileError = "Please enter Mobile Number"; mobileError = "Please enter Mobile Number";
isValid = false; isValid = false;
......
...@@ -566,66 +566,63 @@ String? productsEmptyError ; ...@@ -566,66 +566,63 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
dynamic get basicAmount { // dynamic get basicAmount {
double total = 0; // double total = 0;
for (var controller in TaxableValueControllers) { // total += double.tryParse(TaxableValueController.text)?.round() ?? 0.0;
total += double.tryParse(controller.text)?.round() ?? 0.0; // basicAmountReadOnlyController.text = total.toStringAsFixed(2);
} // return total;
basicAmountReadOnlyController.text = total.toStringAsFixed(2); // }
return total; //
} // dynamic get cgstAmount {
// double total = 0;
dynamic get cgstAmount { //
double total = 0; // final taxableValue =
for (int i = 0; i < ProductControllers.length; i++) { // double.tryParse(TaxableValueController.text) ?? 0.0;
final taxableValue = // final cgst = double.tryParse(CGSTController.text) ?? 0.0;
double.tryParse(TaxableValueControllers[i].text) ?? 0.0; // total += (taxableValue * cgst) / 100;
final cgst = double.tryParse(CGSTControllers[i].text) ?? 0.0; //
total += (taxableValue * cgst) / 100; // cgstReadOnlyController.text = total.toStringAsFixed(2);
} // return total;
cgstReadOnlyController.text = total.toStringAsFixed(2); // }
return total; //
} // dynamic get sgstAmount {
// double total = 0;
dynamic get sgstAmount { //
double total = 0; // final taxableValue =
for (int i = 0; i < ProductControllers.length; i++) { // double.tryParse(TaxableValueController.text) ?? 0.0;
final taxableValue = // final sgst = double.tryParse(SGSTController.text) ?? 0.0;
double.tryParse(TaxableValueControllers[i].text) ?? 0.0; // total += (taxableValue * sgst).round() / 100;
final sgst = double.tryParse(SGSTControllers[i].text) ?? 0.0; //
total += (taxableValue * sgst).round() / 100; // sgstReadOnlyController.text = total.toStringAsFixed(2);
} // return total;
sgstReadOnlyController.text = total.toStringAsFixed(2); // }
return total; //
} // dynamic get igstAmount {
// double total = 0;
dynamic get igstAmount { //
double total = 0; // final taxableValue =
for (int i = 0; i < ProductControllers.length; i++) { // double.tryParse(TaxableValueController.text) ?? 0.0;
final taxableValue = // final igst = double.tryParse(IGSTController.text) ?? 0.0;
double.tryParse(TaxableValueControllers[i].text) ?? 0.0; // total += (taxableValue * igst).round() / 100;
final igst = double.tryParse(IGSTControllers[i].text) ?? 0.0; //
total += (taxableValue * igst).round() / 100; // igstReadOnlyController.text = total.toStringAsFixed(2);
} // return total;
igstReadOnlyController.text = total.toStringAsFixed(2); // }
return total; //
} // dynamic get totalAmount {
// double total = basicAmount + cgstAmount + sgstAmount + igstAmount;
dynamic get totalAmount { // totalReadOnlyAmountController.text = total.round().toStringAsFixed(2);
double total = basicAmount + cgstAmount + sgstAmount + igstAmount; // return total!;
totalReadOnlyAmountController.text = total.round().toStringAsFixed(2); // }
return total!;
}
void addProduct(Map<String, dynamic> product) { void addProduct(Map<String, dynamic> product) {
productRows.add(product); productRows.add(product);
updateSummaryCalculations();
notifyListeners(); notifyListeners();
} }
void updateProduct(int index, Map<String, dynamic> updatedProduct) { void updateProduct(int index, Map<String, dynamic> updatedProduct) {
productRows[index] = updatedProduct; productRows[index] = updatedProduct;
updateSummaryCalculations();
notifyListeners(); notifyListeners();
} }
...@@ -649,6 +646,61 @@ String? productsEmptyError ; ...@@ -649,6 +646,61 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
void updateSummaryCalculations() {
double basicAmount = 0.0;
double cgstAmount = 0.0;
double sgstAmount = 0.0;
double igstAmount = 0.0;
for (var product in productRows) {
final price = double.tryParse(product['price']?.toString() ?? '0') ?? 0.0;
final qty = double.tryParse(product['qty']?.toString() ?? '0') ?? 0.0;
final cgst = double.tryParse(product['cgst_p']?.toString() ?? '0') ?? 0.0;
final sgst = double.tryParse(product['sgst_p']?.toString() ?? '0') ?? 0.0;
final igst = double.tryParse(product['igst_p']?.toString() ?? '0') ?? 0.0;
final taxableValue = price * qty;
basicAmount += taxableValue;
cgstAmount += (taxableValue * cgst) / 100;
sgstAmount += (taxableValue * sgst) / 100;
igstAmount += (taxableValue * igst) / 100;
}
final totalAmount = basicAmount + cgstAmount + sgstAmount + igstAmount;
basicAmountReadOnlyController.text = basicAmount.toStringAsFixed(2);
cgstReadOnlyController.text = cgstAmount.toStringAsFixed(2);
sgstReadOnlyController.text = sgstAmount.toStringAsFixed(2);
igstReadOnlyController.text = igstAmount.toStringAsFixed(2);
totalReadOnlyAmountController.text = totalAmount.toStringAsFixed(2);
notifyListeners();
}
String getJsonEncodedProducts() {
return jsonEncode(productRows);
}
dynamic get basicAmount {
return double.tryParse(basicAmountReadOnlyController.text) ?? 0.0;
}
dynamic get cgstAmount {
return double.tryParse(cgstReadOnlyController.text) ?? 0.0;
}
dynamic get sgstAmount {
return double.tryParse(sgstReadOnlyController.text) ?? 0.0;
}
dynamic get igstAmount {
return double.tryParse(igstReadOnlyController.text) ?? 0.0;
}
dynamic get totalAmount {
return double.tryParse(totalReadOnlyAmountController.text) ?? 0.0;
}
void updateSelectedSingleProduct(SaleProducts? product) { void updateSelectedSingleProduct(SaleProducts? product) {
_selectedSaleProducts = product; _selectedSaleProducts = product;
_selectedSingleSaleProductID= product!.id; _selectedSingleSaleProductID= product!.id;
...@@ -675,99 +727,99 @@ String? productsEmptyError ; ...@@ -675,99 +727,99 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
String getJsonEncodedProducts() {
return jsonEncode(productRows);
}
void addNewRow() {
ProductControllers.add(TextEditingController());
PriceControllers.add(TextEditingController());
QuantityControllers.add(TextEditingController(text: '1'));
CGSTControllers.add(TextEditingController(text: '9'));
SGSTControllers.add(TextEditingController(text: '9'));
IGSTControllers.add(TextEditingController(text: '0'));
TaxableValueControllers.add(TextEditingController());
TotalPriceControllers.add(TextEditingController());
selectedSaleProductID.add(null);
notifyListeners();
}
void removeRow(int index) {
if (index >= 0 && index < ProductControllers.length) {
ProductControllers[index].dispose();
PriceControllers[index].dispose();
QuantityControllers[index].dispose();
CGSTControllers[index].dispose();
SGSTControllers[index].dispose();
IGSTControllers[index].dispose();
TaxableValueControllers[index].dispose();
TotalPriceControllers[index].dispose();
ProductControllers.removeAt(index);
PriceControllers.removeAt(index);
QuantityControllers.removeAt(index);
CGSTControllers.removeAt(index);
SGSTControllers.removeAt(index);
IGSTControllers.removeAt(index);
TaxableValueControllers.removeAt(index);
TotalPriceControllers.removeAt(index);
selectedSaleProductID.removeAt(index);
notifyListeners();
}
}
void updateSelectedProduct(int index, SaleProducts? product) {
if (index >= 0 && index < _saleProducts.length) {
_selectedSaleProducts = product;
_selectedSaleProductID[index] = product!.id;
PriceControllers[index].text = product!.price!;
updateRowCalculations(index);
notifyListeners();
}
}
void updateRowCalculations(int index) {
if (index >= 0 && index < PriceControllers.length) {
final inclusivePrice =
double.tryParse(PriceControllers[index].text) ?? 0.0;
final quantity = double.tryParse(QuantityControllers[index].text) ?? 1.0;
final cgst = double.tryParse(CGSTControllers[index].text) ?? 0.0;
final sgst = double.tryParse(SGSTControllers[index].text) ?? 0.0;
final igst = double.tryParse(IGSTControllers[index].text) ?? 0.0;
final totalTaxRate = (cgst + sgst + igst) / 100;
// Calculate taxable value per unit
final taxableValuePerUnit = inclusivePrice / (1 + totalTaxRate);
// Total taxable value = taxable value per unit * quantity
final totalTaxableValue = taxableValuePerUnit * quantity;
TaxableValueControllers[index].text = totalTaxableValue.toStringAsFixed(
0,
);
notifyListeners();
}
}
Map<String, dynamic> getFormData() {
final List<Map<String, dynamic>> orders = []; // void addNewRow() {
for (int i = 0; i < ProductControllers.length; i++) { // ProductControllers.add(TextEditingController());
orders.add({ // PriceControllers.add(TextEditingController());
'product_id': selectedSaleProductID[i], // QuantityControllers.add(TextEditingController(text: '1'));
'qty': QuantityControllers[i].text, // CGSTControllers.add(TextEditingController(text: '9'));
'price': PriceControllers[i].text, // SGSTControllers.add(TextEditingController(text: '9'));
'cgst_p': CGSTControllers[i].text, // IGSTControllers.add(TextEditingController(text: '0'));
'sgst_p': SGSTControllers[i].text, // TaxableValueControllers.add(TextEditingController());
'igst_p': IGSTControllers[i].text, // TotalPriceControllers.add(TextEditingController());
'total_price': TaxableValueControllers[i].text, //
}); // selectedSaleProductID.add(null);
} // notifyListeners();
return { // }
'orders': orders, //
'basic_amount': basicAmount.toStringAsFixed(2), // void removeRow(int index) {
'cgst_amount': cgstAmount.toStringAsFixed(2), // if (index >= 0 && index < ProductControllers.length) {
'sgst_amount': sgstAmount.toStringAsFixed(2), // ProductControllers[index].dispose();
'igst_amount': igstAmount.toStringAsFixed(2), // PriceControllers[index].dispose();
'total_amount': totalAmount.toStringAsFixed(2), // QuantityControllers[index].dispose();
'note': noteController.text, // CGSTControllers[index].dispose();
}; // SGSTControllers[index].dispose();
} // IGSTControllers[index].dispose();
// TaxableValueControllers[index].dispose();
// TotalPriceControllers[index].dispose();
// ProductControllers.removeAt(index);
// PriceControllers.removeAt(index);
// QuantityControllers.removeAt(index);
// CGSTControllers.removeAt(index);
// SGSTControllers.removeAt(index);
// IGSTControllers.removeAt(index);
// TaxableValueControllers.removeAt(index);
// TotalPriceControllers.removeAt(index);
// selectedSaleProductID.removeAt(index);
// notifyListeners();
// }
// }
//
// void updateSelectedProduct(int index, SaleProducts? product) {
// if (index >= 0 && index < _saleProducts.length) {
// _selectedSaleProducts = product;
// _selectedSaleProductID[index] = product!.id;
// PriceControllers[index].text = product!.price!;
// updateRowCalculations(index);
// notifyListeners();
// }
// }
//
// void updateRowCalculations(int index) {
// if (index >= 0 && index < PriceControllers.length) {
// final inclusivePrice =
// double.tryParse(PriceControllers[index].text) ?? 0.0;
// final quantity = double.tryParse(QuantityControllers[index].text) ?? 1.0;
// final cgst = double.tryParse(CGSTControllers[index].text) ?? 0.0;
// final sgst = double.tryParse(SGSTControllers[index].text) ?? 0.0;
// final igst = double.tryParse(IGSTControllers[index].text) ?? 0.0;
// final totalTaxRate = (cgst + sgst + igst) / 100;
// // Calculate taxable value per unit
// final taxableValuePerUnit = inclusivePrice / (1 + totalTaxRate);
// // Total taxable value = taxable value per unit * quantity
// final totalTaxableValue = taxableValuePerUnit * quantity;
// TaxableValueControllers[index].text = totalTaxableValue.toStringAsFixed(
// 0,
// );
// notifyListeners();
// }
// }
//
// Map<String, dynamic> getFormData() {
// final List<Map<String, dynamic>> orders = [];
// for (int i = 0; i < ProductControllers.length; i++) {
// orders.add({
// 'product_id': selectedSaleProductID[i],
// 'qty': QuantityControllers[i].text,
// 'price': PriceControllers[i].text,
// 'cgst_p': CGSTControllers[i].text,
// 'sgst_p': SGSTControllers[i].text,
// 'igst_p': IGSTControllers[i].text,
// 'total_price': TaxableValueControllers[i].text,
// });
// }
// return {
// 'orders': orders,
// 'basic_amount': basicAmount.toStringAsFixed(2),
// 'cgst_amount': cgstAmount.toStringAsFixed(2),
// 'sgst_amount': sgstAmount.toStringAsFixed(2),
// 'igst_amount': igstAmount.toStringAsFixed(2),
// 'total_amount': totalAmount.toStringAsFixed(2),
// 'note': noteController.text,
// };
// }
Future<void> ordersAddOrderAPIViewFunction(context, mode) async { Future<void> ordersAddOrderAPIViewFunction(context, mode) async {
try { try {
...@@ -878,14 +930,21 @@ String? productsEmptyError ; ...@@ -878,14 +930,21 @@ String? productsEmptyError ;
_accountDetails = data.accountDetails!; _accountDetails = data.accountDetails!;
data.accountDetails!.accManagerId!; data.accountDetails!.accManagerId!;
billingNameController.text = data.accountDetails!.name!; billingNameController.text = data.accountDetails!.name!;
_selectedBillingStateID = data.accountDetails!.state!;
print("data.accountDetails!.state ${data.accountDetails!.state}");
if(_selectedBillingStateID!=null){ if(_selectedBillingStateID!=null){
getDistrictAPI(context,_selectedBillingStateID); getDistrictAPI(context,_selectedBillingStateID);
} }
_selectedBillingDistrictID = data.accountDetails!.district!;
if(_selectedBillingDistrictID!=null){ if(_selectedBillingDistrictID!=null){
getSubLocationAPI(context,_selectedBillingDistrictID); getSubLocationAPI(context,_selectedBillingDistrictID);
} }
_selectedBillingStates = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!);
_selectedBillingStateID = data.accountDetails!.state!;
_selectedBillingStateName = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!).name;
_selectedBillingDistrictID = data.accountDetails!.district!;
_selectedBillingSubLocID = data.accountDetails!.subLocality!; _selectedBillingSubLocID = data.accountDetails!.subLocality!;
billingPincodeController.text = data.accountDetails!.pincode!; billingPincodeController.text = data.accountDetails!.pincode!;
...@@ -918,6 +977,9 @@ String? productsEmptyError ; ...@@ -918,6 +977,9 @@ String? productsEmptyError ;
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_billingDistricts = data.districts!; _billingDistricts = data.districts!;
_selectedBillingDistricts = data.districts!.firstWhere((e) => e.id == accountDetails!.district!);
_selectedBillingDistrictValue = data.districts!.firstWhere((e) => e.id == accountDetails!.district!).district;
notifyListeners(); notifyListeners();
} }
...@@ -958,6 +1020,9 @@ String? productsEmptyError ; ...@@ -958,6 +1020,9 @@ String? productsEmptyError ;
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_billingSubLocations = data.subLocations!; _billingSubLocations = data.subLocations!;
_selectedBillingSubLocations = data.subLocations!.firstWhere((e) => e.id == accountDetails!.subLocality!);
_selectedBillingSubLocValue = data.subLocations!.firstWhere((e) => e.id == accountDetails!.subLocality!).subLocality;
notifyListeners(); notifyListeners();
} }
...@@ -1003,6 +1068,31 @@ String? productsEmptyError ; ...@@ -1003,6 +1068,31 @@ String? productsEmptyError ;
} catch (e, s) {} } catch (e, s) {}
} }
Future<List<TpcList>> fetchTPCAccountsfromAPI(context, mode, text) async {
try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.addOrderTPCAgentListAPI(
provider.empId,
provider.session,
mode,
text,
);
if (data != null) {
if (data.error == "0") {
_tpcAgent = data.tpcList!;
notifyListeners();
return _tpcAgent;
} else {
return [];
}
} else {
return [];
}
} catch (e, s) {
return [];
}
}
Future<void> ordersAddOrderAPISubmitFunction( Future<void> ordersAddOrderAPISubmitFunction(
context, context,
mode, mode,
...@@ -1178,7 +1268,7 @@ String? productsEmptyError ; ...@@ -1178,7 +1268,7 @@ String? productsEmptyError ;
) async { ) async {
print(search); print(search);
try { try {
if (search.isEmpty) { if (search==null) {
_accountList = []; _accountList = [];
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -1222,6 +1312,65 @@ String? productsEmptyError ; ...@@ -1222,6 +1312,65 @@ String? productsEmptyError ;
} }
} }
Future<List<AccountList>> fetchAccountsFromApi(
context,
mode,
accountId,
search,
) async {
print(search);
try {
if (search==null) {
_accountList = [];
_isLoading = false;
notifyListeners();
return _accountList;
}
_isLoading = true;
notifyListeners();
final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.AddOrderPaymentSelectAccountAPI(
provider.empId,
provider.session,
mode,
search,
);
if (data != null) {
if (data.error == "0") {
_accountList = data.accountList!;
if (_selectedAccountList != null &&
!_accountList.contains(_selectedAccountList)) {
_selectedAccountList = null;
_selectedAccountID = null;
_selectedAccountName = null;
}
_isLoading = false;
notifyListeners();
return _accountList;
} else {
selectAccountError = data?.message ?? "Failed to load accounts";
_isLoading = false;
notifyListeners();
return [];
}
} else {
selectAccountError = "No data received from server";
_isLoading = false;
notifyListeners();
return [];
}
} catch (e, s) {
selectAccountError = "An error occurred while fetching accounts";
_isLoading = false;
notifyListeners();
return [];
}
}
imgFromCamera(context) async { imgFromCamera(context) async {
// Capture a photo // Capture a photo
try { try {
......
...@@ -202,6 +202,24 @@ class Editorderprovider extends ChangeNotifier { ...@@ -202,6 +202,24 @@ class Editorderprovider extends ChangeNotifier {
_erectionScope = ["Included", "Excluded"]; _erectionScope = ["Included", "Excluded"];
_unloadingScope = ["Included", "Excluded"]; _unloadingScope = ["Included", "Excluded"];
_freightScope = ["Included", "Excluded"]; _freightScope = ["Included", "Excluded"];
if(data.orderDetails!.dispatchStateId!=null){
getDispatchDistrictAPI(context,data.orderDetails!.dispatchStateId!);
}
if(data.orderDetails!.dispatchDistrictId!=null){
getDispatchSubLocationAPI(context,data.orderDetails!.dispatchDistrictId!);
}
_selectedDispatchStates = data.states!.firstWhere((e) => e.id == data.orderDetails!.dispatchStateId!);
_selectedDispatchStateID = data.orderDetails!.dispatchStateId!;
_selectedDispatchStateName = data.states!.firstWhere((e) => e.id == data.orderDetails!.dispatchStateId!).name;
_selectedDispatchDistrictID = data.orderDetails!.dispatchDistrictId!;
_selectedDispatchSubLocID = data.orderDetails!.dispatchSubLocationId!;
dispatchAddressController.text = data.orderDetails!.dispatchAddress!;
dispatchPincodeController.text = data.orderDetails!.dispatchPincode!;
noteController.text = data.orderDetails!.note!;
_selectedUnloadingScope = data.orderDetails!.unloadingScope!;
_selectedErectionScope = data.orderDetails!.erectionScope!;
_selectedFreightScope = data.orderDetails!.freightScope!;
notifyListeners(); notifyListeners();
} else {} } else {}
...@@ -222,7 +240,8 @@ class Editorderprovider extends ChangeNotifier { ...@@ -222,7 +240,8 @@ class Editorderprovider extends ChangeNotifier {
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_dispatchDistricts = data.districts!; _dispatchDistricts = data.districts!;
_selectedDispatchDistricts = data.districts!.firstWhere((e) => e.id == orderDetails!.dispatchDistrictId!);
_selectedDispatchDistrictValue = data.districts!.firstWhere((e) => e.id == orderDetails!.dispatchDistrictId!).district;
notifyListeners(); notifyListeners();
} }
} }
...@@ -242,6 +261,8 @@ class Editorderprovider extends ChangeNotifier { ...@@ -242,6 +261,8 @@ class Editorderprovider extends ChangeNotifier {
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_dispatchSubLocations = data.subLocations!; _dispatchSubLocations = data.subLocations!;
_selectedDispatchSubLocations = data.subLocations!.firstWhere((e) => e.id == orderDetails!.dispatchSubLocationId!);
_selectedDispatchSubLocValue = data.subLocations!.firstWhere((e) => e.id == orderDetails!.dispatchSubLocationId!).subLocality;
notifyListeners(); notifyListeners();
} }
......
...@@ -362,10 +362,73 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -362,10 +362,73 @@ class Pagesdashboardprovider extends ChangeNotifier {
orderId, orderId,
); );
if (data != null) { if (data != null) {
_isLoading = true; // _isLoading = true;
notifyListeners(); notifyListeners();
if (data.error == "0") { if (data.error == "0") {
_orderDetails = data.orderDetails!; _orderDetails = data.orderDetails??OrderDetails(
id:"",
orderNumber:"",
orderNumberHash:"",
balanceAmount:"",
accId:"",
refType:"",
refId:"",
salesPersonEmpId:"",
enteredEmpId:"",
dispatchStateId:"",
dispatchDistrictId:"",
dispatchSubLocationId:"",
dispatchPincode:"",
dispatchAddress:"",
basicAmount:"",
cgstAmount:"",
sgstAmount:"",
igstAmount:"",
paidAmount:"",
totalAmount:"",
status:"",
orderReceivedDate:"",
scheduledDispatchDate:"",
otp:"",
note:"",
poViewFileName:"",
poDirFilePath:"",
unloadingScope:"",
freightScope:"",
erectionScope:"",
saleOrderNumber:"",
invoiceNumber:"",
vehicleNumber:"",
driverName:"",
driverMobileNumber:"",
tpcApplicable:"",
requestedTpcAmount:"",
level1TpcApprovedAmount:"",
level2TpcApprovedAmount:"",
tpcPaymentMode:"",
tpcPaymentReferenceNo:"",
tpcPaymentAttachmentDirFilePath:"",
tpcPaymentAttachementViewFileName:"",
tpcStatus:"",
tpcAgentId:"",
isExist:"",
createdDatetime:"",
updatedDatetime:"",
accountName:"",
gstNumber:"",
billingAddress:"",
billingDistrict:"",
billingState:"",
billingSubLocality:"",
billingPincode:"",
stateName:"",
districtName:"",
subLocationName:"",
adjustedAmount:"",
enteredEmpName:"",
salesPersonEmpName:"",
tpcaAgentName: ""
);
_productsHistory = data.products!; _productsHistory = data.products!;
_feedbackHistory = data.feedbackHistory!; _feedbackHistory = data.feedbackHistory!;
_paymentHistory = data.paymentHistory!; _paymentHistory = data.paymentHistory!;
......
...@@ -4,6 +4,7 @@ import 'package:camera/camera.dart'; ...@@ -4,6 +4,7 @@ import 'package:camera/camera.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:generp/Models/ordersModels/TPCListResponse.dart'; import 'package:generp/Models/ordersModels/TPCListResponse.dart';
import 'package:get/get.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';
...@@ -303,6 +304,10 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -303,6 +304,10 @@ class Tpcagentsprovider extends ChangeNotifier{
tpcMobileNumberError = "PLease Enter Your Mobile Number"; tpcMobileNumberError = "PLease Enter Your Mobile Number";
isValid = false; isValid = false;
} }
if(tpcMobileNumberController.text.trim().isNotEmpty && tpcMobileNumberController.text.length<10){
tpcMobileNumberError = "Please Enter a Valid Mobile Number";
isValid = false;
}
if(_image_picked==0){ if(_image_picked==0){
imageError = "Please select ID Proof"; imageError = "Please select ID Proof";
......
...@@ -899,9 +899,11 @@ class _AddleadsprospectsscreenState extends State<Addleadsprospectsscreen> { ...@@ -899,9 +899,11 @@ class _AddleadsprospectsscreenState extends State<Addleadsprospectsscreen> {
), ),
], ],
if(provider.productsEmptyError!.trim().isNotEmpty)...[ if(provider.productRows.isEmpty)...[
if(provider.productsEmptyError!=null)...[
errorWidget(context, provider.productsEmptyError) errorWidget(context, provider.productsEmptyError)
] ]
]
], ],
), ),
), ),
......
This diff is collapsed.
...@@ -123,7 +123,9 @@ class _AddtpcagentScreenState extends State<AddtpcagentScreen> { ...@@ -123,7 +123,9 @@ class _AddtpcagentScreenState extends State<AddtpcagentScreen> {
false, false,
FilteringTextInputFormatter.digitsOnly, FilteringTextInputFormatter.digitsOnly,
focusNodes[1], focusNodes[1],
focusNodes[2],TextInputAction.next,10 focusNodes[2],
TextInputAction.next,
10
), ),
if (provider.tpcMobileNumberError != null) ...[ if (provider.tpcMobileNumberError != null) ...[
errorWidget(context, provider.tpcMobileNumberError), errorWidget(context, provider.tpcMobileNumberError),
......
...@@ -63,11 +63,12 @@ class _EditorderaccountdetailsState extends State<Editorderaccountdetails> { ...@@ -63,11 +63,12 @@ class _EditorderaccountdetailsState extends State<Editorderaccountdetails> {
child: Scaffold( child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
backgroundColor: AppColors.white, backgroundColor: AppColors.white,
appBar: appbar2( appBar: appbar2New(
context, context,
"${widget.pageTitleName}", "${widget.pageTitleName}",
provider.resetForm, provider.resetForm,
SizedBox(width: 0), SizedBox(width: 0),
0xFFFFFFFF
), ),
body: Container( body: Container(
padding: EdgeInsets.symmetric(horizontal: 10), padding: EdgeInsets.symmetric(horizontal: 10),
...@@ -538,7 +539,7 @@ class _EditorderaccountdetailsState extends State<Editorderaccountdetails> { ...@@ -538,7 +539,7 @@ class _EditorderaccountdetailsState extends State<Editorderaccountdetails> {
), ),
), ),
onWillPop: () async { onWillPop: () async {
provider.resetForm();
return _onBackPressed(context); return _onBackPressed(context);
}, },
); );
......
...@@ -146,7 +146,7 @@ class _OrdermoduledashboardState extends State<Ordermoduledashboard> { ...@@ -146,7 +146,7 @@ class _OrdermoduledashboardState extends State<Ordermoduledashboard> {
image: AssetImage( image: AssetImage(
"assets/svg/order/main_dashboard.png", "assets/svg/order/main_dashboard.png",
), ),
fit: BoxFit.contain, fit: BoxFit.fitWidth,
), ),
gradient: LinearGradient( gradient: LinearGradient(
colors: [ colors: [
...@@ -158,117 +158,117 @@ class _OrdermoduledashboardState extends State<Ordermoduledashboard> { ...@@ -158,117 +158,117 @@ class _OrdermoduledashboardState extends State<Ordermoduledashboard> {
), ),
), ),
), ),
if (provider.ordersgain.length > 0) ...[ // if (provider.ordersgain.length > 0) ...[
Container( // Container(
padding: EdgeInsets.symmetric( // padding: EdgeInsets.symmetric(
horizontal: 10, // horizontal: 10,
vertical: 5, // vertical: 5,
), // ),
margin: EdgeInsets.only(bottom: 10), // margin: EdgeInsets.only(bottom: 10),
decoration: BoxDecoration( // decoration: BoxDecoration(
color: Colors.white, // color: Colors.white,
borderRadius: BorderRadius.vertical( // borderRadius: BorderRadius.vertical(
bottom: Radius.circular(16), // bottom: Radius.circular(16),
), // ),
), // ),
height: MediaQuery.of(context).size.height * 0.25, // height: MediaQuery.of(context).size.height * 0.25,
child: GridView.builder( // child: GridView.builder(
padding: EdgeInsets.symmetric( // padding: EdgeInsets.symmetric(
horizontal: 0, // horizontal: 0,
vertical: 5, // vertical: 5,
), // ),
itemCount: provider.ordersgain.length, // itemCount: provider.ordersgain.length,
shrinkWrap: true, // shrinkWrap: true,
scrollDirection: Axis.horizontal, // scrollDirection: Axis.horizontal,
physics: AlwaysScrollableScrollPhysics(), // physics: AlwaysScrollableScrollPhysics(),
gridDelegate: // gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount( // SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, // crossAxisCount: 2,
crossAxisSpacing: 10, // crossAxisSpacing: 10,
mainAxisSpacing: 10, // mainAxisSpacing: 10,
childAspectRatio: 55 / 100, // childAspectRatio: 55 / 100,
), // ),
itemBuilder: (context, jndex) { // itemBuilder: (context, jndex) {
final icons = ["comm_ic_1", "comm_ic_2"]; // final icons = ["comm_ic_1", "comm_ic_2"];
final leadTitles = [ // final leadTitles = [
'Order Gain', // 'Order Gain',
'Dispatched', // 'Dispatched',
'Pending Tasks', // 'Pending Tasks',
'Quotation Generated', // 'Quotation Generated',
]; // ];
final assetNames = [ // final assetNames = [
"assets/svg/crm/open_leads_ic.svg", // "assets/svg/crm/open_leads_ic.svg",
"assets/svg/crm/today_visits_ic.svg", // "assets/svg/crm/today_visits_ic.svg",
"assets/svg/crm/pending_tasks_ic.svg", // "assets/svg/crm/pending_tasks_ic.svg",
"assets/svg/crm/quotes_generated_ic.svg", // "assets/svg/crm/quotes_generated_ic.svg",
]; // ];
//
final colors = [ // final colors = [
0xFFE7FFE5, // 0xFFE7FFE5,
0xFFFFFCD5, // 0xFFFFFCD5,
0xFFEEF1FF, // 0xFFEEF1FF,
0xFFF3EDFF, // 0xFFF3EDFF,
]; // ];
final textcolors = [ // final textcolors = [
0xFF0D9C00, // 0xFF0D9C00,
0xFF605C00, // 0xFF605C00,
0xFF6563FF, // 0xFF6563FF,
0xFF493272, // 0xFF493272,
]; // ];
//
return InkResponse( // return InkResponse(
child: Container( // child: Container(
padding: EdgeInsets.symmetric( // padding: EdgeInsets.symmetric(
horizontal: 13, // horizontal: 13,
), // ),
decoration: BoxDecoration( // decoration: BoxDecoration(
color: Color(colors[jndex]), // color: Color(colors[jndex]),
borderRadius: BorderRadius.circular(20), // borderRadius: BorderRadius.circular(20),
), // ),
child: Column( // child: Column(
crossAxisAlignment: // crossAxisAlignment:
CrossAxisAlignment.start, // CrossAxisAlignment.start,
mainAxisAlignment: // mainAxisAlignment:
MainAxisAlignment.center, // MainAxisAlignment.center,
children: [ // children: [
Text( // Text(
provider.ordersgain[jndex].count // provider.ordersgain[jndex].count
.toString(), // .toString(),
style: TextStyle( // style: TextStyle(
fontSize: 20, // fontSize: 20,
fontFamily: "JakartaMedium", // fontFamily: "JakartaMedium",
color: Color(textcolors[jndex]), // color: Color(textcolors[jndex]),
), // ),
), // ),
Row( // Row(
children: [ // children: [
Expanded( // Expanded(
flex: 3, // flex: 3,
child: Text( // child: Text(
leadTitles[jndex], // leadTitles[jndex],
style: TextStyle( // style: TextStyle(
fontSize: 14, // fontSize: 14,
fontFamily: "JakartaRegular", // fontFamily: "JakartaRegular",
color: AppColors.semi_black, // color: AppColors.semi_black,
), // ),
), // ),
), // ),
Expanded( // Expanded(
flex: 1, // flex: 1,
child: SvgPicture.asset( // child: SvgPicture.asset(
assetNames[jndex], // assetNames[jndex],
), // ),
), // ),
], // ],
), // ),
], // ],
), // ),
), // ),
); // );
}, // },
), // ),
), // ),
], // ],
], ],
), ),
), ),
......
...@@ -7,6 +7,7 @@ import 'package:flutter/services.dart'; ...@@ -7,6 +7,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:generp/Notifiers/ordersProvider/dispatchOrderProvider.dart'; import 'package:generp/Notifiers/ordersProvider/dispatchOrderProvider.dart';
import 'package:generp/Notifiers/ordersProvider/pagesDashboardProvider.dart'; import 'package:generp/Notifiers/ordersProvider/pagesDashboardProvider.dart';
import 'package:generp/Utils/GlobalConstants.dart';
import 'package:generp/Utils/dropdownTheme.dart'; import 'package:generp/Utils/dropdownTheme.dart';
import 'package:generp/screens/screensExports.dart'; import 'package:generp/screens/screensExports.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -344,14 +345,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -344,14 +345,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
"Account Name", "Account Name",
"Sales Person Name", "Sales Person Name",
"Order Received Date", "Order Received Date",
"OTP", // "OTP",
]; ];
final subHeadings2 = [ final subHeadings2 = [
provider.orderDetails.orderNumber ?? "-", provider.orderDetails.orderNumber ?? "-",
provider.orderDetails.accountName ?? "-", provider.orderDetails.accountName ?? "-",
provider.orderDetails.salesPersonEmpName ?? "-", provider.orderDetails.salesPersonEmpName ?? "-",
provider.orderDetails.orderReceivedDate ?? "-", provider.orderDetails.orderReceivedDate ?? "-",
provider.orderDetails.otp ?? "-", // provider.orderDetails.otp ?? "-",
]; ];
final headings3 = [ final headings3 = [
...@@ -503,17 +504,11 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -503,17 +504,11 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
], ],
]; ];
return WillPopScope( return Scaffold(
child: SafeArea(
top: false,
bottom: Platform.isIOS ? false : true,
child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2New( appBar: appbar2New(
context, context,
widget.mode == "" "Order Details",
? "Order Details"
: "Order Details (${widget.mode})",
provider.resetAll, provider.resetAll,
SizedBox.shrink(), SizedBox.shrink(),
0xFFFFFFFF, 0xFFFFFFFF,
...@@ -601,7 +596,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -601,7 +596,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
Text( Text(
orderDetails.balanceAmount == "" orderDetails.balanceAmount == ""
? "-" ? "-"
: "${orderDetails.balanceAmount}", : "${orderDetails.balanceAmount}",
style: TextStyle( style: TextStyle(
fontFamily: "JakartaRegular", fontFamily: "JakartaRegular",
fontSize: 14, fontSize: 14,
...@@ -654,16 +649,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -654,16 +649,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
mode: widget.mode, mode: widget.mode,
pageTitleName: "Edit Order", pageTitleName: "Edit Order",
orderID: orderID:
provider widget.orderId,
.orderDetails
.id,
), ),
settings: RouteSettings( settings: RouteSettings(
name: 'Editorderaccountdetails', name: 'Editorderaccountdetails',
), ),
), ),
); );
if (res == true) { if (routeSettingName == 'Editorderaccountdetails') {
provider.ordersDetailsByModeAPIFunction( provider.ordersDetailsByModeAPIFunction(
context, context,
widget.orderId, widget.orderId,
...@@ -1948,7 +1941,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -1948,7 +1941,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
SizedBox(width: 10), SizedBox(width: 10),
], ],
if (["admin"].contains(widget.mode)) ...[ if (widget.mode=="admin") ...[
SvgPicture.asset( SvgPicture.asset(
"assets/svg/crm/vertical_line_ic.svg", "assets/svg/crm/vertical_line_ic.svg",
), ),
...@@ -2035,12 +2028,6 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -2035,12 +2028,6 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
), ),
), ),
), ),
),
),
onWillPop: () {
return onBackPressed(context);
},
); );
}, },
); );
......
...@@ -3,6 +3,7 @@ import 'dart:io'; ...@@ -3,6 +3,7 @@ import 'dart:io';
import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:generp/Utils/GlobalConstants.dart';
import 'package:generp/screens/order/ordersDetailsByModes.dart'; import 'package:generp/screens/order/ordersDetailsByModes.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -228,7 +229,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -228,7 +229,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
itemCount: ordersList.length, itemCount: ordersList.length,
shrinkWrap: true, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, ol) {
if (ordersList.isEmpty) { if (ordersList.isEmpty) {
return SizedBox( return SizedBox(
child: Center(child: Text("No Data Available")), child: Center(child: Text("No Data Available")),
...@@ -243,12 +244,13 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -243,12 +244,13 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
builder: builder:
(context) => Ordersdetailsbymodes( (context) => Ordersdetailsbymodes(
pageTitleName: widget.pageTitleName, pageTitleName: widget.pageTitleName,
orderId: ordersList[index].orderId, orderId: ordersList[ol].orderId,
mode: widget.mode, mode: widget.mode,
), ),
settings: RouteSettings(name: "Ordersdetailsbymodes")
), ),
); );
if (res == true) { if (routeSettingName == "Ordersdetailsbymodes") {
provider.ordersListByModeFilterAPIFunction( provider.ordersListByModeFilterAPIFunction(
context, context,
widget.mode, widget.mode,
...@@ -303,21 +305,21 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -303,21 +305,21 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
decoration: BoxDecoration( decoration: BoxDecoration(
color: getDecorationColor( color: getDecorationColor(
ordersList[index].status, ordersList[ol].status,
), ),
shape: BoxShape.circle, shape: BoxShape.circle,
), ),
child: Center( child: Center(
child: Text( child: Text(
getText( getText(
ordersList[index].status, ordersList[ol].status,
), ),
style: TextStyle( style: TextStyle(
color: getTextColor( color: getTextColor(
ordersList[index].status, ordersList[ol].status,
), ),
fontSize: getSize( fontSize: getSize(
ordersList[index].status, ordersList[ol].status,
), ),
fontFamily: "JakartaBold", fontFamily: "JakartaBold",
), ),
...@@ -334,7 +336,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -334,7 +336,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
CrossAxisAlignment.start, CrossAxisAlignment.start,
children: [ children: [
Text( Text(
ordersList[index] ordersList[ol]
.accountName!, .accountName!,
maxLines: 1, maxLines: 1,
overflow: overflow:
...@@ -347,7 +349,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -347,7 +349,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
), ),
), ),
Text( Text(
ordersList[index] ordersList[ol]
.orderNumber!, .orderNumber!,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
...@@ -370,7 +372,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> { ...@@ -370,7 +372,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
child: Container( child: Container(
child: Text( child: Text(
"₹" "₹"
"${ordersList[index].balanceAmount}", "${ordersList[ol].balanceAmount}",
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontFamily: "JakartaMedium", fontFamily: "JakartaMedium",
......
...@@ -46,6 +46,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -46,6 +46,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
var provider = Provider.of<Tpcagentsprovider>(context, listen: false); var provider = Provider.of<Tpcagentsprovider>(context, listen: false);
provider.TPCAgentsDetailsAPIFunction(context, widget.tpcAgentId); provider.TPCAgentsDetailsAPIFunction(context, widget.tpcAgentId);
provider.showMoreDetails = false;
}); });
} }
...@@ -128,11 +129,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -128,11 +129,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
"subHeadings": subHeadings2, "subHeadings": subHeadings2,
}, },
]; ];
return WillPopScope( return Scaffold(
child: SafeArea(
top: false,
bottom: Platform.isIOS ? false : true,
child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2New( appBar: appbar2New(
context, context,
...@@ -298,9 +295,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -298,9 +295,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
) { ) {
if (headings[j] == "ID Proof" && if (headings[j] == "ID Proof" &&
tpcAgentDetails tpcAgentDetails
.idProofDirFilePath! .idProofDirFilePath=="") {
.trim()
.isEmpty) {
return SizedBox.shrink(); return SizedBox.shrink();
} }
return Container( return Container(
...@@ -500,6 +495,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -500,6 +495,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
), ),
margin: EdgeInsets.symmetric( margin: EdgeInsets.symmetric(
horizontal: 5, horizontal: 5,
vertical: 5
), ),
child: Column( child: Column(
...@@ -728,12 +724,6 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -728,12 +724,6 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
], ],
), ),
), ),
),
),
onWillPop: () {
return onBackPressed(context);
},
); );
}, },
); );
...@@ -825,6 +815,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> { ...@@ -825,6 +815,7 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
), ),
Divider(thickness: 0.5, color: Color(0xFFD7D7D7)), Divider(thickness: 0.5, color: Color(0xFFD7D7D7)),
...List.generate(provider.subHeadings.length, (j) { ...List.generate(provider.subHeadings.length, (j) {
return Container( return Container(
padding: EdgeInsets.symmetric(vertical: 7), padding: EdgeInsets.symmetric(vertical: 7),
child: Row( child: Row(
......
...@@ -69,7 +69,7 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> { ...@@ -69,7 +69,7 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> {
? Platform.isAndroid ? Platform.isAndroid
? WillPopScope( ? WillPopScope(
onWillPop: () { onWillPop: () {
Provider.of<Tpcagentsprovider>(context).resetAll(); Provider.of<Tpcagentsprovider>(context,listen: false).resetAll();
return onBackPressed(context); return onBackPressed(context);
}, },
child: SafeArea( child: SafeArea(
...@@ -87,15 +87,7 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> { ...@@ -87,15 +87,7 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> {
return Consumer<Tpcagentsprovider>( return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
final tpcAgentsIssueList = provider.tpcAgentsIssueList; final tpcAgentsIssueList = provider.tpcAgentsIssueList;
return WillPopScope( return Scaffold(
onWillPop: () {
provider.resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2New( appBar: appbar2New(
context, context,
...@@ -244,8 +236,6 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> { ...@@ -244,8 +236,6 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> {
], ],
), ),
) : Emptywidget(context), ) : Emptywidget(context),
),
),
); );
}, },
); );
......
...@@ -351,11 +351,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -351,11 +351,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
], ],
]; ];
return WillPopScope( return Scaffold(
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2New(context, widget.pageTitleName, provider.resetAll, appBar: appbar2New(context, widget.pageTitleName, provider.resetAll,
SizedBox.shrink(), SizedBox.shrink(),
...@@ -672,7 +668,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -672,7 +668,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
SizedBox( SizedBox(
width: double.infinity, width: double.infinity,
height: 300, height: 260,
child: ListView.builder( child: ListView.builder(
physics: AlwaysScrollableScrollPhysics(), physics: AlwaysScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
...@@ -684,7 +680,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -684,7 +680,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
itemCount: productsHistory.length, itemCount: productsHistory.length,
itemBuilder: (context, lp) { itemBuilder: (context, lp) {
return Container( return Container(
height: 300, height: 260,
width: width:
MediaQuery.of(context).size.width * 0.9, MediaQuery.of(context).size.width * 0.9,
decoration: BoxDecoration( decoration: BoxDecoration(
...@@ -747,11 +743,11 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -747,11 +743,11 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
), ),
), ),
Expanded( Expanded(
flex: 2, flex: 3,
child: Text( child: Text(
textAlign: textAlign:
TextAlign.right, TextAlign.right,
"₹${productsHistory[lp].unitPrice ?? "-"}", "₹${productsHistory[lp].totalPrice ?? "-"}",
style: TextStyle( style: TextStyle(
fontFamily: fontFamily:
"JakartaMedium", "JakartaMedium",
...@@ -772,7 +768,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -772,7 +768,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
color: AppColors.grey_semi, color: AppColors.grey_semi,
), ),
), ),
SizedBox(height: 5),
// DottedLine( // DottedLine(
// dashGapLength: 4, // dashGapLength: 4,
// dashGapColor: Colors.white, // dashGapColor: Colors.white,
...@@ -941,13 +937,13 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -941,13 +937,13 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
], ],
), ),
), ),
...List.generate(2, (j) { ...List.generate(1, (j) {
final heads = [ final heads = [
"Unit Price", // "Unit Price",
"Total Price" "Total Price"
]; ];
final subHeads = [ final subHeads = [
"₹ ${productsHistory[lp].unitPrice ?? "-"}", // "₹ ${productsHistory[lp].unitPrice ?? "-"}",
"₹ ${productsHistory[lp].totalPrice ?? "-"}", "₹ ${productsHistory[lp].totalPrice ?? "-"}",
]; ];
return Container( return Container(
...@@ -1107,6 +1103,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -1107,6 +1103,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
margin: EdgeInsets.symmetric(horizontal: 5), margin: EdgeInsets.symmetric(horizontal: 5),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
mainAxisAlignment: mainAxisAlignment:
...@@ -1144,6 +1141,8 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -1144,6 +1141,8 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
feedbackHistory[lp] feedbackHistory[lp]
.employeNaem ?? .employeNaem ??
"-", "-",
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontFamily: fontFamily:
"JakartaMedium", "JakartaMedium",
...@@ -1170,7 +1169,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -1170,7 +1169,7 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
), ),
), ),
Expanded( Expanded(
flex: 2, flex: 4,
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: borderRadius:
...@@ -1694,12 +1693,6 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> { ...@@ -1694,12 +1693,6 @@ class _TpcagentissuelistdetailsState extends State<Tpcagentissuelistdetails> {
), ),
), ),
),
),
onWillPop: () {
return onBackPressed(context);
},
); );
}, },
); );
......
...@@ -71,7 +71,7 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -71,7 +71,7 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
? Platform.isAndroid ? Platform.isAndroid
? WillPopScope( ? WillPopScope(
onWillPop: () { onWillPop: () {
Provider.of<Tpcagentsprovider>(context).resetAll(); Provider.of<Tpcagentsprovider>(context,listen: false).resetAll();
return onBackPressed(context); return onBackPressed(context);
}, },
child: SafeArea( child: SafeArea(
...@@ -89,15 +89,7 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -89,15 +89,7 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
return Consumer<Tpcagentsprovider>( return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
final tpcAgentsLists = provider.tpcAgentsList; final tpcAgentsLists = provider.tpcAgentsList;
return WillPopScope( return Scaffold(
onWillPop: () {
provider.resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2New( appBar: appbar2New(
context, context,
...@@ -250,8 +242,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -250,8 +242,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
], ],
), ),
) : Emptywidget(context), ) : Emptywidget(context),
),
),
); );
}, },
); );
......
...@@ -2463,7 +2463,7 @@ class ApiCalling { ...@@ -2463,7 +2463,7 @@ class ApiCalling {
'billing_state': billing_state.toString(), 'billing_state': billing_state.toString(),
'billing_district': billing_district.toString(), 'billing_district': billing_district.toString(),
'billing_sub_locality': billing_sub_locality.toString(), 'billing_sub_locality': billing_sub_locality.toString(),
'order_products': jsonEncode(order_products).toString(), 'order_products': (order_products).toString(),
'lead_id': lead_id.toString(), 'lead_id': lead_id.toString(),
'feedback': feedback.toString(), 'feedback': feedback.toString(),
'in_time': in_time.toString(), 'in_time': in_time.toString(),
......
...@@ -289,6 +289,14 @@ packages: ...@@ -289,6 +289,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.9" version: "2.3.9"
dropdown_search:
dependency: "direct main"
description:
name: dropdown_search
sha256: c29b3e5147a82a06a4a08b3b574c51cb48cc17ad89893d53ee72a6f86643622e
url: "https://pub.dev"
source: hosted
version: "6.0.2"
equatable: equatable:
dependency: transitive dependency: transitive
description: description:
......
...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev ...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.0.97+105 version: 1.0.97+106
environment: environment:
sdk: ^3.7.2 sdk: ^3.7.2
...@@ -85,6 +85,7 @@ dependencies: ...@@ -85,6 +85,7 @@ dependencies:
flutter_staggered_grid_view: ^0.7.0 flutter_staggered_grid_view: ^0.7.0
dotted_line: ^3.2.3 dotted_line: ^3.2.3
flutter_slidable: ^4.0.0 flutter_slidable: ^4.0.0
dropdown_search: ^6.0.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
......
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