parent
							
								
									45ed63be9c
								
							
						
					
					
						commit
						35c4ea57aa
					
				| @ -0,0 +1,25 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:watermanagement/settings.dart'; | ||||
| 
 | ||||
| 
 | ||||
| class PendingSuppliersModel { | ||||
|   String customer_name = ''; | ||||
|   String customer_phone_number=''; | ||||
|   String customer_address=''; | ||||
|   String customer_id=''; | ||||
|   Color text_color=Colors.black; | ||||
| 
 | ||||
| 
 | ||||
|   PendingSuppliersModel(); | ||||
| 
 | ||||
|   factory PendingSuppliersModel.fromJson(Map<String, dynamic> json){ | ||||
|     PendingSuppliersModel rtvm = new PendingSuppliersModel(); | ||||
| 
 | ||||
|     rtvm.customer_name = json['username'] ?? ''; | ||||
|     rtvm.customer_phone_number = json['contactNumber'] ?? ''; | ||||
|     rtvm.customer_address = json['profile']['address1'] ?? ''; | ||||
|     rtvm.customer_id = json['customerId'] ?? ''; | ||||
|     return rtvm; | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,237 @@ | ||||
| import 'dart:convert'; | ||||
| 
 | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter/services.dart'; | ||||
| import 'package:watermanagement/addtankers.dart'; | ||||
| import 'package:watermanagement/models/pending_suppliers_model.dart'; | ||||
| 
 | ||||
| import 'package:watermanagement/settings.dart'; | ||||
| 
 | ||||
| import 'models/tankersview_model.dart'; | ||||
| 
 | ||||
| class PendingCustomers extends StatefulWidget { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   @override | ||||
|   State<PendingCustomers> createState() => _PendingCustomersState(); | ||||
| } | ||||
| 
 | ||||
| class _PendingCustomersState extends State<PendingCustomers> { | ||||
| 
 | ||||
|   TextEditingController tankerNameController = TextEditingController(); | ||||
|   TextEditingController tankerPhoneController = TextEditingController(); | ||||
|   TextEditingController tankerAlterPhoneController = TextEditingController(); | ||||
| 
 | ||||
|   bool isPendingDataLoading=false; | ||||
|   List<PendingSuppliersModel> pendingSuppliersList = []; | ||||
|   bool isSereverIssuePending = false; | ||||
|   bool isLoading=false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   Future<void> getPendingSuppliersData() async { | ||||
|     isPendingDataLoading = true; | ||||
| 
 | ||||
|     try { | ||||
|       var response = await AppSettings.getPendingSuppliers(); | ||||
| 
 | ||||
|       setState(() { | ||||
|         pendingSuppliersList = | ||||
|             ((jsonDecode(response)['data']) as List).map((dynamic model) { | ||||
|               return PendingSuppliersModel.fromJson(model); | ||||
|             }).toList(); | ||||
|         isPendingDataLoading = false; | ||||
|       }); | ||||
| 
 | ||||
| 
 | ||||
|     } catch (e) { | ||||
|       setState(() { | ||||
|         isPendingDataLoading = false; | ||||
|         isSereverIssuePending = true; | ||||
|       }); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   @override | ||||
|   void initState() { | ||||
|     isLoading=true; | ||||
|     getPendingSuppliersData(); | ||||
|     super.initState(); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   Widget renderzUi(){ | ||||
|     if(pendingSuppliersList.length!=0){ | ||||
| 
 | ||||
|       return  Column( | ||||
|           crossAxisAlignment: CrossAxisAlignment.end, | ||||
|           children: [ | ||||
|             Expanded(child:ListView.builder( | ||||
|                 padding:  EdgeInsets.all(0), | ||||
|                 itemCount: pendingSuppliersList.length, | ||||
|                 itemBuilder: (BuildContext context, int index) { | ||||
|                   return Card( | ||||
|                     child: Padding( | ||||
|                       padding:EdgeInsets.all(8) , | ||||
|                       child: Row( | ||||
|                         mainAxisAlignment: MainAxisAlignment.spaceBetween, | ||||
|                         crossAxisAlignment: CrossAxisAlignment.center, | ||||
|                         children: [ | ||||
|                           Container( | ||||
|                               width: MediaQuery.of(context).size.width * .50, | ||||
|                               child: Row( | ||||
|                                 children: [ | ||||
|                                   Column( | ||||
|                                     mainAxisAlignment: | ||||
|                                     MainAxisAlignment.spaceBetween, | ||||
|                                     crossAxisAlignment: CrossAxisAlignment.start, | ||||
|                                     children: [ | ||||
|                                       Text('username :', | ||||
|                                           style: labelTextStyle()), | ||||
| 
 | ||||
|                                       SizedBox(height: 10,), | ||||
|                                       Text('contactNumber:', | ||||
|                                           style: labelTextStyle()), | ||||
|                                       SizedBox(height: 10,), | ||||
|                                       Text('address1:', | ||||
|                                           style: labelTextStyle()), | ||||
|                                     ], | ||||
|                                   ), | ||||
|                                   SizedBox(width: 10,), | ||||
|                                   Expanded(child:Column( | ||||
|                                     mainAxisAlignment: | ||||
|                                     MainAxisAlignment.spaceBetween, | ||||
|                                     crossAxisAlignment: CrossAxisAlignment.start, | ||||
|                                     children: [ | ||||
|                                       Text( | ||||
|                                           pendingSuppliersList[index] | ||||
|                                               .customer_name | ||||
|                                               .toUpperCase(), | ||||
|                                           style: valuesTextStyle()), | ||||
|                                       SizedBox(height: 10,), | ||||
|                                       Text( | ||||
|                                           pendingSuppliersList[index] | ||||
|                                               .customer_phone_number | ||||
|                                               .toUpperCase(), | ||||
|                                           style: valuesTextStyle()), | ||||
|                                       SizedBox(height: 10,), | ||||
|                                       Text( | ||||
|                                           pendingSuppliersList[index] | ||||
|                                               .customer_address | ||||
|                                               .toUpperCase(), | ||||
|                                           style: valuesTextStyle()) | ||||
|                                     ], | ||||
|                                   ),) | ||||
|                                 ], | ||||
|                               ) | ||||
|                           ), | ||||
| 
 | ||||
| 
 | ||||
|                          TextButton( | ||||
|                                 child:  Text( | ||||
|                                   'Connect', | ||||
|                                   style: TextStyle(fontSize: 15, | ||||
|                                     color:primaryColor/*FilteredList[index].text_color*/ ), | ||||
|                                 ), | ||||
|                                 onPressed: () async{ | ||||
|                                 /*  var payload = new Map<String, dynamic>(); | ||||
|                                   payload["customerId"] =AppSettings.customerId; | ||||
|                                   payload["supplierId"] = FilteredList[index].supplier_id; | ||||
| 
 | ||||
|                                   bool requestStatus = await AppSettings.connectRequest(payload); | ||||
| 
 | ||||
|                                   if(requestStatus){ | ||||
|                                     AppSettings.longSuccessToast("Request Sent Successfully"); | ||||
|                                     await getAllSuppliersData(); | ||||
|                                     await getConnectedSuppliersData(); | ||||
|                                     await getPendingSuppliersData(); | ||||
| 
 | ||||
|                                   } | ||||
|                                   else{ | ||||
| 
 | ||||
|                                   }*/ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                 }, | ||||
|                               ), | ||||
| 
 | ||||
|                           TextButton( | ||||
|                             child:  Text( | ||||
|                               'Reject', | ||||
|                               style: TextStyle(fontSize: 15, | ||||
|                                   color:primaryColor/*FilteredList[index].text_color*/ ), | ||||
|                             ), | ||||
|                             onPressed: () async{ | ||||
|                               /*  var payload = new Map<String, dynamic>(); | ||||
|                                   payload["customerId"] =AppSettings.customerId; | ||||
|                                   payload["supplierId"] = FilteredList[index].supplier_id; | ||||
| 
 | ||||
|                                   bool requestStatus = await AppSettings.connectRequest(payload); | ||||
| 
 | ||||
|                                   if(requestStatus){ | ||||
|                                     AppSettings.longSuccessToast("Request Sent Successfully"); | ||||
|                                     await getAllSuppliersData(); | ||||
|                                     await getConnectedSuppliersData(); | ||||
|                                     await getPendingSuppliersData(); | ||||
| 
 | ||||
|                                   } | ||||
|                                   else{ | ||||
| 
 | ||||
|                                   }*/ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                             }, | ||||
|                           ), | ||||
|                         ], | ||||
| 
 | ||||
|                       ), | ||||
|                     ), | ||||
|                   ); | ||||
|                 }) ), | ||||
|           ]); | ||||
|     } | ||||
|     else{ | ||||
|       return  Center( | ||||
|           child: Padding( | ||||
|             padding: EdgeInsets.fromLTRB(0, 40, 0, 0), | ||||
|             child: Column( | ||||
|               crossAxisAlignment: CrossAxisAlignment.center, | ||||
|               children: [ | ||||
|                 SizedBox(height: MediaQuery.of(context).size.height * .25,), | ||||
|                 Text('No Data Found'), | ||||
|                 SizedBox( | ||||
|                   height: 20, | ||||
|                 ), | ||||
| 
 | ||||
|               ], | ||||
|             ), | ||||
|           ) | ||||
|       ); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return SafeArea( | ||||
|         child: Scaffold( | ||||
|           appBar: AppSettings.appBar('Pending Customers'), | ||||
|           body: isLoading?Center( | ||||
|             child: CircularProgressIndicator( | ||||
|               color: primaryColor, | ||||
|               strokeWidth: 5.0, | ||||
|             ), | ||||
|           ):renderzUi(), | ||||
|         )); | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue