293 lines
15 KiB
Dart
293 lines
15 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
import '../../Controller/Tenantlocation/Tenantlocationcontroller.dart';
|
|
import '../../Helper/Constants/Colorconstants.dart';
|
|
import '../../Helper/custombutton.dart';
|
|
import '../../Helper/toast.dart';
|
|
import '../../Helper/utility.dart';
|
|
import '../../Model/Response/Customers/GetCustomerById/GetCustomerByTenantId.dart';
|
|
import '../Createorder/Createorderview.dart';
|
|
|
|
class TenantLocations extends StatelessWidget {
|
|
final GetCustomerByTenantIdDetails data;
|
|
|
|
TenantLocations({super.key, required this.data});
|
|
|
|
TenantLocationController tenantLocationController = Get.put(TenantLocationController());
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
backgroundColor: ColorConstants.primaryColor,
|
|
elevation: 0.3,
|
|
leading: Padding(
|
|
padding: const EdgeInsets.all(5.0),
|
|
child:InkWell(
|
|
onTap: (){
|
|
Get.back();
|
|
},
|
|
child: Icon(Icons.reply,size: 30,color: ColorConstants.secondaryColor,)),
|
|
),
|
|
title: Text('Locations'),
|
|
titleSpacing: 0,
|
|
),
|
|
backgroundColor: Colors.grey[100],
|
|
body: GetBuilder<TenantLocationController>(
|
|
initState: (_){
|
|
tenantLocationController.getTenantLocation();
|
|
},
|
|
builder: (controller) {
|
|
return Column(
|
|
children: [
|
|
Container(
|
|
height: Get.height*0.8,
|
|
child: ListView.builder(
|
|
padding: EdgeInsets.only(bottom: 70),
|
|
itemCount: controller.getLocations.length,
|
|
itemBuilder: (BuildContext context, int index) {
|
|
return Padding(
|
|
padding: const EdgeInsets.only(top: 8,left: 10,right: 10),
|
|
child: InkWell(
|
|
onTap: (){
|
|
controller.selectedAddressIndex = index;
|
|
controller.locationId = controller.getLocations[index].locationid!;
|
|
controller.latitude = controller.getLocations[index].locationlatitude!;
|
|
controller.longitude = controller.getLocations[index].locationlong!;
|
|
controller.address = controller.getLocations[index].locationaddress!;
|
|
print('tenatlocationid${controller.locationId}');
|
|
print('tenatlongitude${controller.latitude}');
|
|
print('tenatlongitude${controller.longitude}');
|
|
print('tenataddress${controller.address}');
|
|
controller.update();
|
|
},
|
|
child: Card(
|
|
// color: Colors.grey[150],
|
|
elevation: 0.6,
|
|
child: Container(
|
|
height: Get.height*0.15,
|
|
child: Row(
|
|
children: [
|
|
Expanded(
|
|
flex: 2,
|
|
child: Container(
|
|
decoration: BoxDecoration(
|
|
color: UtilityPromotion.getLightColors(
|
|
controller.getLocations[index].locationname![0] ??
|
|
'A'.toString().trimLeft())
|
|
.withAlpha(200),
|
|
borderRadius: BorderRadius.circular(5),
|
|
),
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
Stack(
|
|
children: [
|
|
Container(
|
|
padding: EdgeInsets.all(12),
|
|
decoration: BoxDecoration(
|
|
color: Colors.white70,
|
|
shape: BoxShape.circle),
|
|
child: Icon(
|
|
Icons.storefront,
|
|
color: ColorConstants.primaryColor,
|
|
size: 50,
|
|
)),
|
|
],
|
|
)
|
|
],
|
|
),
|
|
),
|
|
),
|
|
SizedBox(
|
|
width: 10,
|
|
),
|
|
Expanded(
|
|
flex: 4,
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
// SizedBox(
|
|
// height: 3,
|
|
// ),
|
|
Row(
|
|
children: [
|
|
Icon(
|
|
Icons.location_on,
|
|
color: Colors.black45,
|
|
size: 17,
|
|
),
|
|
SizedBox(
|
|
width: 5,
|
|
),
|
|
Flexible(
|
|
flex: 3,
|
|
child: Text(
|
|
'${controller.getLocations[index].locationname}',
|
|
overflow: TextOverflow.ellipsis,
|
|
style: TextStyle(
|
|
fontSize: 18,
|
|
color: Colors.black54,
|
|
fontWeight: FontWeight.w600),
|
|
),
|
|
),
|
|
SizedBox(
|
|
width: 3,
|
|
),
|
|
],
|
|
),
|
|
|
|
Row(
|
|
children: [
|
|
Icon(
|
|
Icons.phone_android_sharp,
|
|
color: Colors.black45,
|
|
size: 16,
|
|
),
|
|
SizedBox(
|
|
width: 5,
|
|
),
|
|
Text(
|
|
'${controller.getLocations[index].locationcontact}',
|
|
style: TextStyle(
|
|
fontSize: 15,
|
|
color: Colors.black87,
|
|
fontWeight: FontWeight.w400),
|
|
),
|
|
],
|
|
),
|
|
|
|
Row(
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
children: [
|
|
Icon(
|
|
Icons.location_on_outlined,
|
|
size: 16,
|
|
color: Colors.black45,
|
|
),
|
|
SizedBox(
|
|
width: 4,
|
|
),
|
|
Flexible(
|
|
child: Text(
|
|
'${controller.getLocations[index].locationsuburb}',
|
|
overflow: TextOverflow.ellipsis,
|
|
style: TextStyle(
|
|
fontSize: 15, color: Colors.black87
|
|
// fontWeight: FontWeight.w600
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
|
|
// Row(
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
// mainAxisAlignment: MainAxisAlignment.start,
|
|
// children: [
|
|
// Icon(
|
|
// Icons.location_on_outlined,
|
|
// size: 16,
|
|
// color: Colors.black45,
|
|
// ),
|
|
// SizedBox(
|
|
// width: 4,
|
|
// ),
|
|
// Container(
|
|
// width: Get.width*0.44,
|
|
// child: Text(
|
|
// '${controller.getLocations[index].address}',
|
|
// overflow: TextOverflow.ellipsis,
|
|
// style: TextStyle(
|
|
// fontSize: 15, color: Colors.black87
|
|
// // fontWeight: FontWeight.w600
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ],
|
|
// )
|
|
],
|
|
),
|
|
),
|
|
SizedBox(
|
|
width: 10,
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: (){
|
|
controller.selectedAddressIndex = index;
|
|
controller.locationId = controller.getLocations[index].locationid!;
|
|
controller.latitude = controller.getLocations[index].locationlatitude!;
|
|
controller.longitude = controller.getLocations[index].locationlong!;
|
|
controller.address = controller.getLocations[index].locationaddress!;
|
|
controller.update();
|
|
},
|
|
child: CircleAvatar(
|
|
radius: 12,
|
|
backgroundColor:controller.selectedAddressIndex==index?Colors.green:Colors.grey[300],
|
|
child: Icon(Icons.check,color: ColorConstants.secondaryColor,size: 20),
|
|
),
|
|
),
|
|
)
|
|
|
|
|
|
|
|
],
|
|
),
|
|
)
|
|
),
|
|
),
|
|
);
|
|
},
|
|
),
|
|
),
|
|
Spacer(),
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Center(
|
|
child: Padding(
|
|
padding: const EdgeInsets.only(bottom: 11,top: 0),
|
|
child: Center(
|
|
child: RoundedButton(
|
|
onPressed: () {
|
|
|
|
if(controller.selectedAddressIndex!=-1){
|
|
Get.to(CreateOrderView(isDashboard: false,));
|
|
controller.btnController.reset();
|
|
}
|
|
else{
|
|
controller.btnController.reset();
|
|
Toast.showToast('Please Select location address');
|
|
}
|
|
|
|
},
|
|
color:ColorConstants.primaryColor,
|
|
title: 'Continue',
|
|
controller: controller.btnController,
|
|
textStyle: const TextStyle(
|
|
fontSize: 18,
|
|
fontFamily: "Lato",
|
|
color: Colors.white,
|
|
fontWeight: FontWeight.bold),
|
|
height: Get.height*0.06,
|
|
width: Get.width*0.8,
|
|
)
|
|
),
|
|
|
|
|
|
)),
|
|
],
|
|
),
|
|
],
|
|
);
|
|
}
|
|
),
|
|
);
|
|
}
|
|
}
|