fixed order isuues

merge-requests/206/head
Fatimah Alshammari 4 years ago
parent 4a84483698
commit fda101840a

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="8.134" height="14.535" viewBox="0 0 8.134 14.535">
<g id="arrow_right" transform="translate(0.5 0.707)">
<path id="Path_1250" data-name="Path 1250" d="M7.5,18" transform="translate(-0.573 -11.44)" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Path_1251" data-name="Path 1251" d="M14.427,20.621,7.5,14.061,14.427,7.5" transform="translate(-7.5 -7.5)" fill="none" stroke="#999" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -654,9 +654,12 @@ const Map localizedValues = {
"writeReview": {"en": "Write Review", "ar": " اكتب تقييمك"},
"shareReview": {"en": "SHARE REVIEW", "ar": " اكتب تقييمك"},
"review": {"en": " reviews", "ar": " تقييمات"},
"pendingOrder": {"en": " PENDING", "ar": " معلقة"},
"deliveredOrder": {"en": " DELIVERED", "ar": " تم التوصيل"},
"processingOrder": {"en": " PROCESSING", "ar": "قيد التنفيذ"},
"cancelledOrder": {"en": " CANCELLED", "ar": "ملغي"},
"compare": {"en": " Compare", "ar": "مقارنه"},
"medicationsRefill": {"en": " Medication Refill", "ar": "اعادة تعبئة الدواء"},
"medicationsRefill": {"en": " Medication Refill", "ar": "طلب أعادة صرف"},
"myPrescription": {"en": " My Prescriptions", "ar": "وصفاتي"},
"quantity": {"en": " QTY ", "ar": "الكمية"},
"backMyAccount": {
@ -683,6 +686,8 @@ const Map localizedValues = {
"cancelOrder": {"en": "CANCEL ORDER", "ar": "الغاء الطلب "},
"confirmAddress": {"en": "CONFIRM ADDRESS ", "ar": " تأكيد العنوان "},
"confirmLocation": {"en": "CONFIRM LOCATION ", "ar": " تأكيد الموقع "},
"conditionsHMG": {"en": "Terms & Conditions ", "ar": "الشروط و الأحكام "},
"conditions": {"en": "Terms & Conditions of Lakum", "ar": "شروط و احكام لكم"},
"confirmDeleteMsg": {
"en": "Are you sure! want to delete ",
"ar": "هل انت متأكد تريد الحذف "

@ -1,5 +1,10 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/LacumAccountInformation.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCartResponse.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/payment-checkout-data.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/order-preview-service.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/OrderDetails.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/cancelOrder_service.dart';
@ -23,6 +28,14 @@ class OrderModelViewModel extends BaseViewModel {
List<OrderModel> get cancelOrder => _cancelOrderService.cancelOrderList;
OrderPreviewService _orderServices = locator<OrderPreviewService>();
List<Addresses> get addresses => _orderServices.addresses;
LacumAccountInformation get lacumInformation =>
_orderServices.lacumInformation;
ShoppingCartResponse cartResponse = ShoppingCartResponse();
PaymentCheckoutData paymentCheckoutData = PaymentCheckoutData();
double totalAdditionalShippingCharge = 0;
Future getOrder(customerId, pageID) async {
@ -50,17 +63,6 @@ class OrderModelViewModel extends BaseViewModel {
}
}
Future getProductReview() async {
setState(ViewState.Busy);
await _orderService.getProductReview();
if (_orderService.hasError) {
error = _orderService.error;
setState(ViewState.Error);
} else {
//order = _orderService.orderList;
setState(ViewState.Idle);
}
}
Future getCanceledOrder(order, context) async {
print("this is order id"+ order);
@ -89,4 +91,15 @@ class OrderModelViewModel extends BaseViewModel {
}
Future makeOrder() async {
setState(ViewState.Busy);
await _orderServices.makeOrder(paymentCheckoutData, cartResponse.shoppingCarts);
if (_orderServices.hasError) {
error = _orderServices.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
}

@ -1,6 +1,5 @@
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -11,12 +10,13 @@ import 'package:diplomaticquarterapp/services/pharmacy_services/order_service.da
import 'package:diplomaticquarterapp/pages/pharmacy/order/OrderDetails.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
dynamic languageID;
class OrderPage extends StatefulWidget {
// orderList({this.customerId, this.pageId});
var languageID ;
String customerID;
OrderPage({@required this.customerID});
@ -38,9 +38,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
List <OrderModel> pendingOrderList = [];
TabController _tabController;
AppSharedPreferences sharedPref = AppSharedPreferences();
// AppSharedPreferences sharedPref = AppSharedPreferences();
getLanguageID() async {
return await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
languageID = await sharedPref.getString(APP_LANGUAGE);
}
@override
@ -48,6 +48,7 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
getLanguageID();
super.initState();
_tabController = new TabController(length: 4, vsync: this,);
}
@ -179,7 +180,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
MaterialPageRoute(builder: (context) => OrderDetailsPage(orderModel:deliveredOrderList[index])));
},
child: SvgPicture.asset(
'assets/images/pharmacy/arrow_right.svg',
languageID == "ar"
? 'assets/images/pharmacy/arrow_left.svg'
:'assets/images/pharmacy/arrow_right.svg',
height: 20,
width: 20,),
),
@ -219,7 +222,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
),
)
: Text(
deliveredOrderList[index].orderStatus.toString().substring(12),
languageID == "ar"
? deliveredOrderList[index].orderStatusn.toString():
deliveredOrderList[index].orderStatus.toString(),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
@ -388,7 +393,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
MaterialPageRoute(builder: (context) => OrderDetailsPage(orderModel:processingOrderList[index])));
},
child: SvgPicture.asset(
'assets/images/pharmacy/arrow_right.svg',
languageID == "ar"
? 'assets/images/pharmacy/arrow_left.svg'
:'assets/images/pharmacy/arrow_right.svg',
height: 20,
width: 20,),
),
@ -417,14 +424,26 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
color: Colors.green,
borderRadius: BorderRadius.circular(30.0)
),
child: Text(
processingOrderList[index].orderStatus.toString().substring(12),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
),
child: processingOrderList[index].orderStatusId == 20
? Text(
// deliveredOrderList[0].orderStatus.toString().substring(12),
TranslationBase.of(context).processingOrder,
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
: Text(
languageID == "ar"
? processingOrderList[index].orderStatusn.toString():
processingOrderList[index].orderStatus.toString(),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
),
Container(
margin: EdgeInsets.only(left: 8, right: 8, top: 1, bottom: 8),
@ -765,7 +784,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
MaterialPageRoute(builder: (context) => OrderDetailsPage(orderModel:pendingOrderList[index])));
},
child: SvgPicture.asset(
'assets/images/pharmacy/arrow_right.svg',
languageID == "ar"
? 'assets/images/pharmacy/arrow_left.svg'
:'assets/images/pharmacy/arrow_right.svg',
height: 20,
width: 20,),
),
@ -794,16 +815,26 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
color: Colors.orange[300],
borderRadius: BorderRadius.circular(30.0)
),
child: Text(
widget.languageID == "ar"
? pendingOrderList[index].orderStatusn.toString()
: pendingOrderList[index].orderStatus.toString().substring(12),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
),
child: pendingOrderList[index].orderStatusId == 10
? Text(
// deliveredOrderList[0].orderStatus.toString().substring(12),
TranslationBase.of(context).pendingOrder,
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
: Text(
languageID == "ar"
? pendingOrderList[index].orderStatusn.toString():
pendingOrderList[index].orderStatus.toString(),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
),
Container(
margin: EdgeInsets.all(8.0),
@ -969,7 +1000,9 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
MaterialPageRoute(builder: (context) => OrderDetailsPage(orderModel:cancelledOrderList[index])));
},
child: SvgPicture.asset(
'assets/images/pharmacy/arrow_right.svg',
languageID == "ar"
? 'assets/images/pharmacy/arrow_left.svg'
:'assets/images/pharmacy/arrow_right.svg',
height: 20,
width: 20,),
),
@ -998,15 +1031,26 @@ class _OrderPageState extends State<OrderPage> with SingleTickerProviderStateMix
color: Colors.red[900],
borderRadius: BorderRadius.circular(30.0)
),
child: Text( widget.languageID == "ar"
? cancelledOrderList[index].orderStatusn.toString()
: cancelledOrderList[index].orderStatus.toString().substring(12),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
),
child: cancelledOrderList[index].orderStatusId == 40
? Text(
// deliveredOrderList[0].orderStatus.toString().substring(12),
TranslationBase.of(context).cancelledOrder,
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
: Text(
languageID == "ar"
? cancelledOrderList[index].orderStatusn.toString():
cancelledOrderList[index].orderStatus.toString(),
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
)
),
Container(
margin: EdgeInsets.only(left: 8, right: 8, top: 1, bottom: 8),

@ -2,11 +2,11 @@
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:diplomaticquarterapp/widgets//pharmacy/product_tile.dart';
import 'package:diplomaticquarterapp/config/config.dart';
@ -16,15 +16,14 @@ import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:provider/provider.dart';
dynamic languageID;
class OrderDetailsPage extends StatefulWidget {
var languageID ;
OrderModel orderModel;
OrderDetailsPage({
@required this.orderModel
@ -37,12 +36,11 @@ class OrderDetailsPage extends StatefulWidget {
class _OrderDetailsPageState extends State<OrderDetailsPage> {
getLanguageID() async {
return await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
languageID = await sharedPref.getString(APP_LANGUAGE);
}
AppSharedPreferences sharedPref = AppSharedPreferences();
// AppSharedPreferences sharedPref = AppSharedPreferences();
String orderId="";
String customerId;
List <OrderModel> orderList = [] ;
List <OrderModel> cancelledOrderList = [];
@ -56,9 +54,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
@override
void initState() {
getLanguageID();
super.initState();
print(widget.orderModel.orderItems.length);
getLanguageID();
getCancelOrder(widget.orderModel.id);
// cancelOrderDetail(order)
}
@ -109,9 +107,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
),
child: Text(
// widget.orderModel.orderStatus.toString().substring(12),
widget.languageID == "ar"
? widget.orderModel.orderStatusn.toString()
: widget.orderModel.orderStatus.toString().substring(12) ,
// languageID == "ar"
// ? widget.orderModel.orderStatusn.toString():
widget.orderModel.orderStatus.toString().substring(12) ,
// TranslationBase.of(context).delivered,
style: TextStyle(
color: Colors.white,
@ -140,7 +138,7 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children:<Widget> [
Text(widget.orderModel.shippingAddress.address1.toString().substring(9),
style: TextStyle(fontSize: 11.0, fontWeight: FontWeight.bold,
style: TextStyle(fontSize: 10.0, fontWeight: FontWeight.bold,
color: Colors.grey,
),
),
@ -289,7 +287,10 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
totalPrice: "${(widget.orderModel.orderItems[index].product.price
* widget.orderModel.orderItems[index].quantity).toStringAsFixed(2)}",
qyt: widget.orderModel.orderItems[index].quantity.toString(),
img:widget.orderModel.orderItems[index].product.images[0].src.toString(),
imgs: widget.orderModel.orderItems[index].product.images != null &&
widget.orderModel.orderItems[index].product.images.length != 0
? widget.orderModel.orderItems[index].product.images [0].src.toString()
: null,
status: widget.orderModel.orderStatusId,),
);
}
@ -444,20 +445,19 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
),
widget.orderModel.orderStatusId == 10 ? InkWell(
onTap: () {
// Navigator.push(context,
// MaterialPageRoute(builder: (context) => InAppBrowser()));
model.makeOrder();
},
child: Container(
// margin: EdgeInsets.only(top: 20.0),
height: 50.0,
color: Colors.transparent,
child: Container(
padding: EdgeInsets.only(left: 150.0, right: 150.0),
padding: EdgeInsets.only(left: 130.0, right: 130.0),
decoration: BoxDecoration(
border: Border.all(
color: Colors.green,
style: BorderStyle.solid,
width: 1.0
width: 4.0
),
color: Colors.green,
borderRadius: BorderRadius.circular(5.0)
@ -584,9 +584,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
}
}
}
}

@ -3,35 +3,45 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da
import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/livechat_page.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
import 'package:diplomaticquarterapp/pages/login/welcome.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/lakum-main-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/lakum-terms-conditions-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-conditions-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
dynamic languageID ;
class PharmacyProfilePage extends StatefulWidget {
@override
_ProfilePageState createState() => _ProfilePageState();
}
class _ProfilePageState extends State<PharmacyProfilePage> {
AppSharedPreferences sharedPref = AppSharedPreferences();
AuthenticatedUser user;
bool isLogin = false;
String firstName;
String customerId;
String lastName, mobileNo, identificationNo;
int languageId;
_ProfilePageState({this.customerId});
getLanguageID() async {
languageID = await sharedPref.getString(APP_LANGUAGE);
}
getCustomer() async {
String custID;
custID = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
setState(() {
customerId = custID;
});
@ -41,15 +51,26 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
getUser() async {
var userData = await sharedPref.getObject(USER_PROFILE);
if (userData != null) user = AuthenticatedUser.fromJson(userData);
if (userData != null){ user = AuthenticatedUser.fromJson(userData);
setState(() {
firstName = user.firstName.toString();
print("this is user" + user.firstName.toString());
print("this is user" + user.firstNameN.toString());
});
// this.isLogin = user != null;
} else{
if(userData == null){
Navigator.push(context,
MaterialPageRoute(builder: (context) =>
WelcomeLogin()),
);
}
}
// this.isLogin = user != null;
}
void initState() {
getCustomer();
getLanguageID();
super.initState();
getUser();
}
@ -97,7 +118,9 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
color: Colors.grey),
),
Text(
user.firstName.toString()+ " " + user.lastName.toString(),
languageID == "ar"
? user.firstNameN.toString()+ " " + user.lastNameN.toString()
: user.firstName.toString()+ " " + user.lastName.toString(),
style: TextStyle(
fontSize: 14.0, fontWeight: FontWeight.bold),
),
@ -417,6 +440,74 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
],
),
),
SizedBox(
height: 5,
),
Divider(
color: Colors.grey,
height: 20,
),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PharmacyTermsConditions()));
},
child: Row(
children: <Widget>[
Image.asset('assets/images/pharmacy/terms.png',
width: 25,
height: 25,
),
SizedBox(
width: 10,
),
Text(
TranslationBase.of(context).conditionsHMG,
style: TextStyle(
fontSize: 13.0,
),
),
],
),
),
SizedBox(
height: 5,
),
Divider(
color: Colors.grey,
height: 20,
),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => LakumTermsConditions(this.identificationNo, this.firstName, this.lastName,
this.mobileNo, this.languageId)));
},
child: Row(
children: <Widget>[
Image.asset('assets/images/pharmacy/terms.png',
width: 25,
height: 25,
),
// IconButton(icon: Icon(Icons.error_outline), iconSize: 30,
// color: Colors.black,),
SizedBox(
width: 10,
),
Text(
TranslationBase.of(context).conditions,
style: TextStyle(
fontSize: 13.0,
),
),
],
),
),
],
),
),

@ -770,10 +770,15 @@ class TranslationBase {
String get noOrder => localizedValues['noOrder'][locale.languageCode];
String get review => localizedValues['review'][locale.languageCode];
String get deliveredOrder => localizedValues['deliveredOrder'][locale.languageCode];
String get pendingOrder => localizedValues['pendingOrder'][locale.languageCode];
String get processingOrder => localizedValues['processingOrder'][locale.languageCode];
String get cancelledOrder => localizedValues['cancelledOrder'][locale.languageCode];
String get compare => localizedValues['compare'][locale.languageCode];
String get medicationsRefill => localizedValues['medicationsRefill'][locale.languageCode];
String get myPrescription => localizedValues['myPrescription'][locale.languageCode];
String get quantity => localizedValues['quantity'][locale.languageCode];
String get conditionsHMG => localizedValues['conditionsHMG'][locale.languageCode];
String get conditions => localizedValues['conditions'][locale.languageCode];
// pharmacy module

@ -1,14 +1,14 @@
import 'package:diplomaticquarterapp/pages/pharmacy/order/ProductReview.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/style.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:rating_bar/rating_bar.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/ProductReview.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:rating_bar/rating_bar.dart';
class productTile extends StatelessWidget {
final String productName;
final String productPrice;
@ -18,12 +18,13 @@ class productTile extends StatelessWidget {
final String totalPrice;
final bool isOrderDetails;
final String img;
final String imgs;
final int status;
productTile({this.productName, this.productPrice, this.productRate,
this.qyt, this.totalPrice, this.productReviews, this.img,
this.isOrderDetails=true, this.status});
this.isOrderDetails=true, this.status, this.imgs});
@override
@ -38,13 +39,23 @@ class productTile extends StatelessWidget {
children: [
Row(
children: [
Container(
this.imgs != null && this.imgs.length > 0
? Container(
margin: EdgeInsets.only(left: 10),
child: Image.network(img),
child: Image.network(imgs),
// fit: BoxFit.cover,
width: 80,
height: 80,
),
)
: Container(
margin: EdgeInsets.only(left: 10),
child: Image.asset(
"assets/images/no_image.png",
width: 80,
height: 80,
)
// fit: BoxFit.cover,
),
Expanded(
flex: 5,
child: Column(

Loading…
Cancel
Save