Commit c9417de6 authored by Jasa Digital's avatar Jasa Digital

variant fixed

parent 33a2e00c
...@@ -186,6 +186,7 @@ class Api { ...@@ -186,6 +186,7 @@ class Api {
setTableNumber(jsonObject['data']['table_number'] ?? ''); setTableNumber(jsonObject['data']['table_number'] ?? '');
setServiceRadius(jsonObject['data']['service_radius'] ?? 0); setServiceRadius(jsonObject['data']['service_radius'] ?? 0);
setDistance(jsonObject['data']['distance'] ?? '0'); setDistance(jsonObject['data']['distance'] ?? '0');
setIsCanChangeDeliveryPickupFunc(jsonObject['data']['order_state']);
if (jsonObject['data']['payment_mode'] != null) { if (jsonObject['data']['payment_mode'] != null) {
setPaymentMode(jsonObject['data']['payment_mode']); setPaymentMode(jsonObject['data']['payment_mode']);
} }
...@@ -573,7 +574,7 @@ class Api { ...@@ -573,7 +574,7 @@ class Api {
if (favDetail[i]['favorite_group_id'] == favGroup[s]['id']) { if (favDetail[i]['favorite_group_id'] == favGroup[s]['id']) {
// List<dynamic> variantCat = favDetail[i]['variants']; // List<dynamic> variantCat = favDetail[i]['variants'];
List<VariantCategories> variantCategories = []; // List<VariantCategories> variantCategories = [];
// for (int o = 0; o < variantCat.length; o++) { // for (int o = 0; o < variantCat.length; o++) {
// List<Variants> variants = []; // List<Variants> variants = [];
...@@ -593,6 +594,35 @@ class Api { ...@@ -593,6 +594,35 @@ class Api {
// VariantCategories.createVariantCategory(dataVariantCat)); // VariantCategories.createVariantCategory(dataVariantCat));
// } // }
List<dynamic> variantCat = favDetail[i]['variants'];
List<VariantCategories> variantCategories = [];
// for (int o = 0; o < variantCat.length; o++) {
for (int j = 0; j < variantCat.length; j++) {
int index = variantCategories.indexWhere((varCat) =>
varCat.id == variantCat[j]['category_variant_id']);
if (index == -1) {
List<Variants> variants = [];
for (int k = 0; k < variantCat.length; k++) {
if (variantCat[j]['category_variant_id'] ==
variantCat[k]['category_variant_id']) {
variants.add(Variants.createVariant(variantCat[k]));
}
}
Map<String, dynamic> dataVariantCat = {
"id": variantCat[j]['category_variant_id'],
"caption": variantCat[j]['category_variant_caption'],
"type": variantCat[j]['category_variant_type'],
"variants": variants
};
variantCategories.add(
VariantCategories.createVariantCategory(
dataVariantCat));
}
}
// pemisahan type group // pemisahan type group
if (favDetail[i]['group_id'] != groupIdForFiltering) { if (favDetail[i]['group_id'] != groupIdForFiltering) {
groupIdForFiltering = favDetail[i]['group_id']; groupIdForFiltering = favDetail[i]['group_id'];
...@@ -953,6 +983,8 @@ class Api { ...@@ -953,6 +983,8 @@ class Api {
billDetail.add(BillDetail.createBillDetail(z)); billDetail.add(BillDetail.createBillDetail(z));
int totalPerCustomer = amountParseToInt(z['total']); int totalPerCustomer = amountParseToInt(z['total']);
setIsCanChangeDeliveryPickupFunc(
jsonObject['data']['order_state']);
var i = { var i = {
"id": jsonObject['data']['id'], "id": jsonObject['data']['id'],
"total": jsonObject['data']['total'], "total": jsonObject['data']['total'],
...@@ -987,6 +1019,11 @@ class Api { ...@@ -987,6 +1019,11 @@ class Api {
"rdm_staff_courier_mobile": "rdm_staff_courier_mobile":
jsonObject['data']['rdm_staff_courier_mobile'] ?? "", jsonObject['data']['rdm_staff_courier_mobile'] ?? "",
}; };
if (jsonObject['data']['type'] == typeOrderDelivery) {
setIsCustomerDelivery(true);
} else {
setIsCustomerDelivery(false);
}
bill.add(Bill.createBill(i)); bill.add(Bill.createBill(i));
// billDetail.add(BillDetail.createBillDetail(orderDetail[d])); // billDetail.add(BillDetail.createBillDetail(orderDetail[d]));
} }
......
...@@ -184,6 +184,14 @@ String formatDate(String timeString, {toLocal = false}) { ...@@ -184,6 +184,14 @@ String formatDate(String timeString, {toLocal = false}) {
return dateResult; return dateResult;
} }
void setIsCanChangeDeliveryPickupFunc(int orderState) {
if (orderState >= orderStatePaid) {
setIsCanChangeDeliveryPickup(false);
} else {
setIsCanChangeDeliveryPickup(true);
}
}
String localDate(String date, {isHistory = false}) { String localDate(String date, {isHistory = false}) {
String day; String day;
String year; String year;
...@@ -361,6 +369,8 @@ String textButtonCheckout(int orderState, bool isHistory) { ...@@ -361,6 +369,8 @@ String textButtonCheckout(int orderState, bool isHistory) {
} else { } else {
if (paymentMethod == closebill && orderState == orderStateCreated) { if (paymentMethod == closebill && orderState == orderStateCreated) {
return 'Pesan'; return 'Pesan';
} else if (paymentMethod == closebill && orderState == orderStatePending) {
return 'Menunggu konfirmasi outlet';
} else if (paymentMethod == closebill && } else if (paymentMethod == closebill &&
(orderState == orderStatePending || (orderState == orderStatePending ||
orderState == orderStateApproved) || orderState == orderStateApproved) ||
......
...@@ -44,6 +44,7 @@ const String _phoneOutlet = 'phoneOutlet'; ...@@ -44,6 +44,7 @@ const String _phoneOutlet = 'phoneOutlet';
const String _serviceRadius = 'sr'; const String _serviceRadius = 'sr';
const String _distanceOutletCustomer = 'doc'; const String _distanceOutletCustomer = 'doc';
const String _isNewOrder = 'ino'; const String _isNewOrder = 'ino';
const String _isCanChangeDeliveryPickup = 'iccdp';
String getBaseUrl() { String getBaseUrl() {
return prefs.getString(_baseUrl) ?? ''; return prefs.getString(_baseUrl) ?? '';
...@@ -384,3 +385,11 @@ bool getIsNewOrder() { ...@@ -384,3 +385,11 @@ bool getIsNewOrder() {
Future<void> setIsNewOrder(bool value) async { Future<void> setIsNewOrder(bool value) async {
prefs.setBool(_isNewOrder, value); prefs.setBool(_isNewOrder, value);
} }
bool getIsCanChangeDeliveryPickup() {
return prefs.getBool(_isCanChangeDeliveryPickup) ?? true;
}
Future<void> setIsCanChangeDeliveryPickup(bool value) async {
prefs.setBool(_isCanChangeDeliveryPickup, value);
}
...@@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; ...@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import '../../bloc/order_bloc.dart'; import '../../bloc/order_bloc.dart';
import '../../bloc/trigger_refresh_in_confirmation_page.dart';
import '../../helper/helper.dart'; import '../../helper/helper.dart';
import '../../main.dart'; import '../../main.dart';
import '../../models/order_details.dart'; import '../../models/order_details.dart';
...@@ -30,167 +31,185 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> { ...@@ -30,167 +31,185 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// double widthScreen = responsiveWidthScreen(context); // double widthScreen = responsiveWidthScreen(context);
return Container( return BlocBuilder<TriggerRefresh, bool>(
// width: widthScreen, builder: (context, trigger) {
height: MediaQuery.of(context).size.height * 0.7, return Container(
decoration: const BoxDecoration( // width: widthScreen,
borderRadius: BorderRadius.only( height: MediaQuery.of(context).size.height * 0.7,
topLeft: Radius.circular(19), decoration: const BoxDecoration(
topRight: Radius.circular(19), borderRadius: BorderRadius.only(
), topLeft: Radius.circular(19),
color: backgroundWhite, topRight: Radius.circular(19),
), ),
child: BlocBuilder<OrdersBloc, List<Orders>>( color: backgroundWhite,
builder: (context, listCurrentOrder) { ),
int indexOrders = child: BlocBuilder<OrdersBloc, List<Orders>>(
listCurrentOrder.indexWhere((value) => value == widget.orders); builder: (context, listCurrentOrder) {
if (indexOrders == -1) { int indexOrders = listCurrentOrder
Navigator.pop(context); .indexWhere((value) => value == widget.orders);
} if (indexOrders == -1) {
return Stack( Navigator.pop(context);
children: [ }
Container( return Stack(
padding: children: [
const EdgeInsets.symmetric(horizontal: paddingLeftRight), Container(
child: Column( padding: const EdgeInsets.symmetric(
mainAxisSize: MainAxisSize.min, horizontal: paddingLeftRight),
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: [ mainAxisSize: MainAxisSize.min,
const SizedBox( crossAxisAlignment: CrossAxisAlignment.start,
height: 8, children: [
), const SizedBox(
Center( height: 8,
child: Container(
width: 50,
height: 3,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(7),
color: disabledColor,
), ),
), Center(
), child: Container(
const SizedBox( width: 50,
height: 28, height: 3,
), decoration: BoxDecoration(
defaultText( borderRadius: BorderRadius.circular(7),
context, color: disabledColor,
widget.orders.namaMenu, ),
maxLines: 2, ),
overFlow: TextOverflow.ellipsis, ),
style: textStyleVariantModal( const SizedBox(
font: 20, height: 28,
fontWeight: FontWeight.w600, ),
), defaultText(
), context,
const SizedBox( widget.orders.namaMenu,
height: 12, maxLines: 2,
), overFlow: TextOverflow.ellipsis,
Expanded( style: textStyleVariantModal(
child: ListView.builder( font: 20,
itemCount: widget.orders.orderDetail.length, fontWeight: FontWeight.w600,
itemBuilder: (context, i) { ),
int totalHarga = ),
widget.orders.orderDetail[i].totalHarga.toInt(); const SizedBox(
int totalItem = height: 12,
widget.orders.orderDetail[i].totalItem.toInt(); ),
int satuanHarga = totalHarga ~/ totalItem; Expanded(
List<String> variantCaption = ['']; child: ListView.builder(
List<String> variantName = ['']; itemCount: widget.orders.orderDetail.length,
for (int y = 0; itemBuilder: (context, i) {
y < int totalHarga = widget
widget.orders.orderDetail[i].orderVariant .orders.orderDetail[i].totalHarga
.length; .toInt();
y++) { int totalItem = widget
int indexCaption = variantCaption.indexWhere( .orders.orderDetail[i].totalItem
(element) => .toInt();
element == int satuanHarga = totalHarga ~/ totalItem;
widget.orders.orderDetail[i] List<String> variantCaption = [''];
.orderVariant[y].caption); List<String> variantName = [''];
if (indexCaption == -1) { for (int y = 0;
variantCaption.add(widget.orders.orderDetail[i] y <
.orderVariant[y].caption); widget.orders.orderDetail[i]
variantName.add(widget.orders.orderDetail[i] .orderVariant.length;
.orderVariant[y].name); y++) {
} else { int indexCaption = variantCaption.indexWhere(
variantName[indexCaption] += (element) =>
", ${widget.orders.orderDetail[i].orderVariant[y].name}"; element ==
} widget.orders.orderDetail[i]
} .orderVariant[y].caption);
return Column( if (indexCaption == -1) {
children: [ variantCaption.add(widget
Row( .orders
.orderDetail[i]
.orderVariant[y]
.caption);
variantName.add(widget.orders.orderDetail[i]
.orderVariant[y].name);
} else {
variantName[indexCaption] +=
", ${widget.orders.orderDetail[i].orderVariant[y].name}";
}
}
return Column(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [ children: [
Column( Row(
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.start, CrossAxisAlignment.end,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [ children: [
Container(
padding:
const EdgeInsets.only(bottom: 8),
child: defaultText(
context,
"Rp ${formatNumber().format(widget.orders.orderDetail[i].totalHarga)}",
maxLines: 1,
overFlow: TextOverflow.ellipsis,
style: textStyleVariantModal(
fontWeight: FontWeight.w600,
),
),
),
Column( Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.start, CrossAxisAlignment.start,
children: [ children: [
for (int d = 0; Container(
d < variantCaption.length; padding: const EdgeInsets.only(
d++) bottom: 8),
if (variantCaption[d] != '') child: defaultText(
Row( context,
children: [ "Rp ${formatNumber().format(widget.orders.orderDetail[i].totalHarga)}",
defaultText( maxLines: 1,
context, overFlow: TextOverflow.ellipsis,
"${variantCaption[d]} : ", style: textStyleVariantModal(
maxLines: 2, fontWeight: FontWeight.w600,
overFlow: ),
TextOverflow.ellipsis, ),
style: ),
textStyleVariantModal(), Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
for (int d = 0;
d < variantCaption.length;
d++)
if (variantCaption[d] != '')
Row(
children: [
defaultText(
context,
"${variantCaption[d]} : ",
maxLines: 2,
overFlow: TextOverflow
.ellipsis,
style:
textStyleVariantModal(),
),
defaultText(
context,
variantName[d],
maxLines: 2,
overFlow: TextOverflow
.ellipsis,
style:
textStyleVariantModal(),
),
],
)
],
),
(widget.orders.orderDetail[i]
.note !=
'')
? Container(
padding:
const EdgeInsets.only(
bottom: 8,
top: 8,
), ),
defaultText( width: MediaQuery.of(
context)
.size
.width -
(2 * paddingLeftRight),
child: defaultText(
context, context,
variantName[d], 'Catatan: ${widget.orders.orderDetail[i].note}',
maxLines: 2, maxLines: 3,
overFlow: overFlow:
TextOverflow.ellipsis, TextOverflow.ellipsis,
style: style:
textStyleVariantModal(), textStyleVariantModal(),
), ),
], )
) : const SizedBox()
], ],
), ),
(widget.orders.orderDetail[i].note !=
'')
? Container(
padding: const EdgeInsets.only(
bottom: 8,
top: 8,
),
child: defaultText(
context,
'Catatan: ${widget.orders.orderDetail[i].note}',
maxLines: 3,
overFlow:
TextOverflow.ellipsis,
style:
textStyleVariantModal(),
),
)
: const SizedBox()
], ],
), ),
Stack( Stack(
...@@ -250,6 +269,9 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> { ...@@ -250,6 +269,9 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> {
context context
.read<OrdersBloc>() .read<OrdersBloc>()
.insertData(insertData); .insertData(insertData);
context
.read<TriggerRefresh>()
.trigger(!trigger);
setState(() {}); setState(() {});
}, },
child: Container( child: Container(
...@@ -300,6 +322,9 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> { ...@@ -300,6 +322,9 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> {
context context
.read<OrdersBloc>() .read<OrdersBloc>()
.insertData(insertData); .insertData(insertData);
context
.read<TriggerRefresh>()
.trigger(!trigger);
setState(() {}); setState(() {});
// context // context
// .read<OrderDetailVariant>() // .read<OrderDetailVariant>()
...@@ -337,85 +362,85 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> { ...@@ -337,85 +362,85 @@ class _CustomizeVariantNewState extends State<CustomizeVariantNew> {
) )
], ],
), ),
const SizedBox(
height: 12,
),
(i != widget.orders.orderDetail.length - 1)
? const Divider(
thickness: 1,
height: 1,
color: dividerGrey,
)
: const SizedBox(),
(i != widget.orders.orderDetail.length - 1)
? const SizedBox(
height: 16,
)
: const SizedBox(),
(i == widget.orders.orderDetail.length - 1)
? const SizedBox(
height: 65,
)
: const SizedBox()
], ],
), );
const SizedBox( }),
height: 12, )
), ],
(i != widget.orders.orderDetail.length - 1) ),
? const Divider(
thickness: 1,
height: 1,
color: dividerGrey,
)
: const SizedBox(),
(i != widget.orders.orderDetail.length - 1)
? const SizedBox(
height: 16,
)
: const SizedBox(),
(i == widget.orders.orderDetail.length - 1)
? const SizedBox(
height: 65,
)
: const SizedBox()
],
);
}),
)
],
),
),
Positioned(
bottom: 0,
child: Container(
height: 59,
width: MediaQuery.of(context).size.width,
padding: const EdgeInsets.only(
left: paddingLeftRight,
right: paddingLeftRight,
bottom: 16,
), ),
color: backgroundWhite, Positioned(
child: GestureDetector( bottom: 0,
onTap: () {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => VariantCatNew(
initPrice: widget.orders.satuanHarga,
variantCategories: widget.variantCat,
namaMenu: widget.orders.namaMenu,
idItem: widget.orders.id,
imageUrl: widget.orders.imageUrl,
listCurrentOrder: listCurrentOrder,
),
),
);
},
child: Container( child: Container(
height: 43, height: 59,
width: double.infinity, width: MediaQuery.of(context).size.width,
decoration: BoxDecoration( padding: const EdgeInsets.only(
color: buttonColor, left: paddingLeftRight,
borderRadius: BorderRadius.circular(48), right: paddingLeftRight,
bottom: 16,
), ),
child: Center( color: backgroundWhite,
child: defaultText( child: GestureDetector(
context, onTap: () {
'Tambah Variant', Navigator.pop(context);
style: addButton(), Navigator.push(
context,
MaterialPageRoute(
builder: (_) => VariantCatNew(
initPrice: widget.orders.satuanHarga,
variantCategories: widget.variantCat,
namaMenu: widget.orders.namaMenu,
idItem: widget.orders.id,
imageUrl: widget.orders.imageUrl,
listCurrentOrder: listCurrentOrder,
),
),
);
},
child: Container(
height: 43,
width: double.infinity,
decoration: BoxDecoration(
color: buttonColor,
borderRadius: BorderRadius.circular(48),
),
child: Center(
child: defaultText(
context,
'Tambah Variant',
style: addButton(),
),
),
), ),
), ),
), ),
), )
), ],
) );
], },
); ),
}, );
), },
); );
} }
} }
......
...@@ -17,7 +17,9 @@ import '../../models/order_variants.dart'; ...@@ -17,7 +17,9 @@ import '../../models/order_variants.dart';
import '../screen_responsive.dart'; import '../screen_responsive.dart';
import 'bottom_sheet_menu_new.dart'; import 'bottom_sheet_menu_new.dart';
import 'bottom_sheet_variant.dart'; import 'bottom_sheet_variant.dart';
import 'bottom_sheet_variant_new.dart';
import 'variant_cat.dart'; import 'variant_cat.dart';
import 'variant_cat_new.dart';
class FavGridMenu extends StatelessWidget { class FavGridMenu extends StatelessWidget {
const FavGridMenu({ const FavGridMenu({
...@@ -192,7 +194,7 @@ class FavGridMenu extends StatelessWidget { ...@@ -192,7 +194,7 @@ class FavGridMenu extends StatelessWidget {
addCondition; // true untuk menampilkan tambah, false untuk menampilkan quantity plus minus addCondition; // true untuk menampilkan tambah, false untuk menampilkan quantity plus minus
int indexListOrderan = int indexListOrderan =
list.indexWhere((listOrderan) => listOrderan.id == menuFav.id); list.indexWhere((listOrderan) => listOrderan.id == menuFav.id);
int initialValue; int initialValue = 0;
if (indexListOrderan != -1) { if (indexListOrderan != -1) {
if (menuFav.variantCat.isNotEmpty) { if (menuFav.variantCat.isNotEmpty) {
addCondition = true; // kalau menu itu ada variantnya, biarin true addCondition = true; // kalau menu itu ada variantnya, biarin true
...@@ -200,11 +202,20 @@ class FavGridMenu extends StatelessWidget { ...@@ -200,11 +202,20 @@ class FavGridMenu extends StatelessWidget {
addCondition = false; addCondition = false;
} }
initialValue = list[indexListOrderan].totalItem; if (list[indexListOrderan].orderDetail.isNotEmpty) {
for (int d = 0;
d < list[indexListOrderan].orderDetail.length;
d++) {
initialValue += list[indexListOrderan].orderDetail[d].totalItem;
}
} else {
initialValue = list[indexListOrderan].totalItem;
}
} else { } else {
addCondition = true; addCondition = true;
initialValue = 0; initialValue = 0;
} }
String variantButtonCount = ''; String variantButtonCount = '';
if (initialValue == 1 && menuFav.variantCat.isNotEmpty) { if (initialValue == 1 && menuFav.variantCat.isNotEmpty) {
variantButtonCount = '$initialValue Item'; variantButtonCount = '$initialValue Item';
...@@ -270,7 +281,7 @@ class FavGridMenu extends StatelessWidget { ...@@ -270,7 +281,7 @@ class FavGridMenu extends StatelessWidget {
key: const Key('AddButton'), key: const Key('AddButton'),
onTap: () { onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context); FocusScopeNode currentFocus = FocusScope.of(context);
print("Panjangnya : ${menuFav.variantCat.length}");
if (!currentFocus.hasPrimaryFocus) { if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus(); currentFocus.unfocus();
} }
...@@ -285,34 +296,66 @@ class FavGridMenu extends StatelessWidget { ...@@ -285,34 +296,66 @@ class FavGridMenu extends StatelessWidget {
1, 1,
[], [],
); // check pada bloc untuk mengethui list arraynya ); // check pada bloc untuk mengethui list arraynya
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (_) => VariantCat(
// namaMenu: menuFav.name,
// variantCategories: menuFav.variantCat,
// initPrice: amountParseToInt(menuFav.price),
// idItem: menuFav.id,
// imageUrl: menuFav.imageUrlThumbnail,
// listCurrentOrder: list,
// orderDetail: OrderDetail(
// allIdVariant: '',
// totalItem: 0,
// totalHarga: 0,
// note: '',
// orderVariant: [],
// ),
// ),
// ),
// );
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (_) => VariantCat( builder: (_) => VariantCatNew(
namaMenu: menuFav.name, initPrice: amountParseToInt(menuFav.price),
variantCategories: menuFav.variantCat, variantCategories: menuFav.variantCat,
initPrice: namaMenu: menuFav.name,
amountParseToInt(menuFav.price), idItem: menuFav.id,
idItem: menuFav.id, imageUrl: menuFav.imageUrlMedium,
imageUrl: menuFav.imageUrlThumbnail, listCurrentOrder: list,
listCurrentOrder: list, ),
orderDetail: OrderDetail( ),
allIdVariant: '', );
totalItem: 0,
totalHarga: 0,
note: '',
orderVariant: [],
),
)));
} else { } else {
// showModalBottomSheet(
// backgroundColor: Colors.white.withOpacity(0),
// isScrollControlled: true,
// context: context,
// builder: (context) {
// return CustomizeVariant(
// orders: list[indexListOrderan],
// variantCat: menuFav.variantCat);
// },
// );
showModalBottomSheet( showModalBottomSheet(
backgroundColor: Colors.white.withOpacity(0), backgroundColor: Colors.white.withOpacity(0),
isScrollControlled: true, isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(19),
),
context: context, context: context,
builder: (context) { builder: (context) {
return CustomizeVariant( // return CustomizeVariant(
orders: list[indexListOrderan], // orders: list[indexListOrderan],
variantCat: menuFav.variantCat); // variantCat: menuUtama.variantCat,
// );
return CustomizeVariantNew(
orders: list[indexListOrderan],
variantCat: menuFav.variantCat,
);
}, },
); );
} }
......
...@@ -22,6 +22,7 @@ import '../../bloc/address_user_bloc.dart'; ...@@ -22,6 +22,7 @@ import '../../bloc/address_user_bloc.dart';
import '../../bloc/change_delivery_pickup.dart'; import '../../bloc/change_delivery_pickup.dart';
import '../../bloc/filter_menu.dart'; import '../../bloc/filter_menu.dart';
import '../../bloc/outlet_detail.dart'; import '../../bloc/outlet_detail.dart';
import '../../bloc/trigger_refresh_in_confirmation_page.dart';
import '../../helper/mq.dart'; import '../../helper/mq.dart';
import '../../helper/widget/button_dialog.dart'; import '../../helper/widget/button_dialog.dart';
import '../../helper/widget/modal_input_name.dart'; import '../../helper/widget/modal_input_name.dart';
...@@ -461,88 +462,97 @@ class _NewHome2State extends State<NewHome2> { ...@@ -461,88 +462,97 @@ class _NewHome2State extends State<NewHome2> {
} }
} }
return BlocBuilder<OrdersBloc, return BlocBuilder<TriggerRefresh,
List<Orders>>( bool>(
builder: (contextOrders, listOrders) { builder: (context, trigger) {
int totalItem = 0; return BlocBuilder<OrdersBloc,
int totalHarga = 0; List<Orders>>(
if (listOrders.isNotEmpty) { builder:
int fixTotalHarga = 0; (contextOrders, listOrders) {
int totalHargaOrderDetail = 0; int totalItem = 0;
int totalHargaBukanOrderDetail = int totalHarga = 0;
0; if (listOrders.isNotEmpty) {
int fixTotalHarga = 0;
int totalHargaOrderDetail = 0;
int totalHargaBukanOrderDetail =
0;
int fixTotalItem = 0; int fixTotalItem = 0;
int totalItemOrderDetail = 0; int totalItemOrderDetail = 0;
int totalItemBukanOrderDetail = 0; int totalItemBukanOrderDetail =
for (var i = 0; 0;
i < listOrders.length; for (var i = 0;
i++) { i < listOrders.length;
// totalItem += listOrders[i].totalItem; i++) {
// check apakah ada order detail. kalau ada rekalkulasi total harga sesuai order detail // totalItem += listOrders[i].totalItem;
if (listOrders[i] // check apakah ada order detail. kalau ada rekalkulasi total harga sesuai order detail
.orderDetail if (listOrders[i]
.isEmpty) { .orderDetail
totalHargaBukanOrderDetail += .isEmpty) {
(listOrders[i].totalItem * totalHargaBukanOrderDetail +=
(listOrders[i]
.totalItem *
listOrders[i]
.totalHarga);
totalItemBukanOrderDetail +=
listOrders[i] listOrders[i]
.totalHarga); .totalItem;
totalItemBukanOrderDetail += } else {
listOrders[i].totalItem; for (int kk = 0;
} else { kk <
for (int kk = 0; listOrders[i]
kk < .orderDetail
listOrders[i] .length;
.orderDetail kk++) {
.length; totalHargaOrderDetail +=
kk++) { listOrders[i]
totalHargaOrderDetail += .orderDetail[kk]
listOrders[i] .totalHarga;
.orderDetail[kk] totalItemOrderDetail +=
.totalHarga; listOrders[i]
totalItemOrderDetail += .orderDetail[kk]
listOrders[i] .totalItem;
.orderDetail[kk] }
.totalItem; fixTotalHarga =
totalHargaOrderDetail;
fixTotalItem =
totalItemOrderDetail;
}
} }
fixTotalHarga = totalHarga = fixTotalHarga +
totalHargaOrderDetail; totalHargaBukanOrderDetail;
fixTotalItem = totalItem = fixTotalItem +
totalItemOrderDetail; totalItemBukanOrderDetail;
} }
} return ScreenResponsive(
totalHarga = fixTotalHarga + widget: coreHome(
totalHargaBukanOrderDetail; context,
totalItem = fixTotalItem + widthScreen,
totalItemBukanOrderDetail; maxWidthScreen,
} appBarHeight,
return ScreenResponsive( tableNumber,
widget: coreHome( userName,
context, searchFieldHeight,
widthScreen, spacerHeight,
maxWidthScreen, favListHeight,
appBarHeight, favItemHeight,
tableNumber, spacerAboveCat,
userName, spacerAboveCatList,
searchFieldHeight, catListHeight,
spacerHeight, spacerAboveMenuItem,
favListHeight, totalItem,
favItemHeight, listOrders,
spacerAboveCat, totalHarga,
spacerAboveCatList, paymentMode,
catListHeight, isSearchActive,
spacerAboveMenuItem, ),
totalItem, widthScreen:
listOrders, MediaQuery.of(context)
totalHarga, .size
paymentMode, .width,
isSearchActive, isCoreLayout: true,
), );
widthScreen: },
MediaQuery.of(context)
.size
.width,
isCoreLayout: true,
); );
}, },
); );
......
...@@ -13,6 +13,7 @@ import '../select_branch.dart'; ...@@ -13,6 +13,7 @@ import '../select_branch.dart';
Future<dynamic> modalBottomSelectOption(BuildContext context) { Future<dynamic> modalBottomSelectOption(BuildContext context) {
void ontapOkeChangeOutlet() { void ontapOkeChangeOutlet() {
Navigator.pop(context);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
...@@ -145,9 +146,7 @@ Note: Ganti outlet akan menyebabkan orderan anda saat ini hilang ...@@ -145,9 +146,7 @@ Note: Ganti outlet akan menyebabkan orderan anda saat ini hilang
Api.changeTypeOrder(typeOrderDelivery).then((value) { Api.changeTypeOrder(typeOrderDelivery).then((value) {
if (value) { if (value) {
setIsCustomerDelivery(true); setIsCustomerDelivery(true);
context context.read<ChangeDeliveryPickupBloc>().toDelivery(true);
.read<ChangeDeliveryPickupBloc>()
.toDelivery(true);
context.read<ViewBillBloc>().getBill(); context.read<ViewBillBloc>().getBill();
setTypeOrder(typeOrderDelivery); setTypeOrder(typeOrderDelivery);
} }
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import '../../helper/helper.dart'; import '../../helper/helper.dart';
import '../../helper/prefs.dart'; import '../../helper/prefs.dart';
...@@ -72,7 +73,12 @@ class ComponentNameUser extends StatelessWidget { ...@@ -72,7 +73,12 @@ class ComponentNameUser extends StatelessWidget {
(isDeliveryPickuup) (isDeliveryPickuup)
? GestureDetector( ? GestureDetector(
onTap: () { onTap: () {
modalBottomSelectOption(context); if (getIsCanChangeDeliveryPickup()) {
modalBottomSelectOption(context);
} else {
EasyLoading.showToast(
'Tidak dapat ganti tipe order karena status orderan sedang diproses / telah selesai');
}
}, },
child: Container( child: Container(
height: 30, height: 30,
......
...@@ -143,7 +143,7 @@ class _ViewBillNewState extends State<ViewBillNew> { ...@@ -143,7 +143,7 @@ class _ViewBillNewState extends State<ViewBillNew> {
} }
context.read<FeedBackOptionBloc>().getOptionFeedback(); context.read<FeedBackOptionBloc>().getOptionFeedback();
context.read<ViewBillBloc>().backToDefault(); // context.read<ViewBillBloc>().backToDefault();
getBillFunc(context); getBillFunc(context);
double widthScreen = responsiveWidthScreen(context); double widthScreen = responsiveWidthScreen(context);
double maxWidthScreen = getMaxWidthScreen(context, useResponsive); double maxWidthScreen = getMaxWidthScreen(context, useResponsive);
...@@ -196,50 +196,6 @@ class _ViewBillNewState extends State<ViewBillNew> { ...@@ -196,50 +196,6 @@ class _ViewBillNewState extends State<ViewBillNew> {
isCoreLayout: true, isCoreLayout: true,
); );
} else { } else {
if (!widget.isHistory) {
List<String> listHistoryOrder = getListHistory();
int indexListhIstory = listHistoryOrder.indexWhere(
(listHistoryOrders) =>
jsonDecode(listHistoryOrders)['order_id'] ==
dataBill[0].id);
if (indexListhIstory == -1) {
Map historyOrder = {
"order_id": dataBill[0].id,
"table": dataBill[0].tableName,
"user_name": dataBill[0].customerName,
"total_order": dataBill[0].totalSeluruhOrderan,
"date_order": localDate(
dataBill[0].dateOrder,
isHistory: true,
),
"branch_code": branchCode,
"brand": brandCode,
"token": widget.token,
};
String historySave = jsonEncode(historyOrder);
listHistoryOrder.add(historySave);
setListHistory(listHistoryOrder);
} else {
listHistoryOrder.removeAt(indexListhIstory);
Map historyOrder = {
"order_id": dataBill[0].id,
"table": dataBill[0].tableName,
"user_name": dataBill[0].customerName,
"total_order": dataBill[0].totalSeluruhOrderan,
"date_order": localDate(
dataBill[0].dateOrder,
isHistory: true,
),
"branch_code": branchCode,
"brand": brandCode,
"token": widget.token,
};
String historySave = jsonEncode(historyOrder);
listHistoryOrder.add(historySave);
setListHistory(listHistoryOrder);
}
}
saveBillDetail(dataBill); saveBillDetail(dataBill);
// int totalService = 0; // int totalService = 0;
...@@ -261,6 +217,53 @@ class _ViewBillNewState extends State<ViewBillNew> { ...@@ -261,6 +217,53 @@ class _ViewBillNewState extends State<ViewBillNew> {
// bool isStillHavePaymentPending = false; // bool isStillHavePaymentPending = false;
if (dataBill.isNotEmpty) { if (dataBill.isNotEmpty) {
// karna dia looping 2x, jadi kalau orderID nya sama dengan current order ID baru diupdate, kalau gak berarti history
if (dataBill[0].id == getOrderId()) {
if (widget.isHistory == false) {
List<String> listHistoryOrder = getListHistory();
int indexListhIstory = listHistoryOrder.indexWhere(
(listHistoryOrders) =>
jsonDecode(listHistoryOrders)['order_id'] ==
dataBill[0].id);
if (indexListhIstory == -1) {
Map historyOrder = {
"order_id": dataBill[0].id,
"table": dataBill[0].tableName,
"user_name": dataBill[0].customerName,
"total_order": dataBill[0].totalSeluruhOrderan,
"date_order": localDate(
dataBill[0].dateOrder,
isHistory: true,
),
"branch_code": branchCode,
"brand": brandCode,
"token": widget.token,
};
String historySave = jsonEncode(historyOrder);
listHistoryOrder.add(historySave);
setListHistory(listHistoryOrder);
} else {
listHistoryOrder.removeAt(indexListhIstory);
Map historyOrder = {
"order_id": dataBill[0].id,
"table": dataBill[0].tableName,
"user_name": dataBill[0].customerName,
"total_order": dataBill[0].totalSeluruhOrderan,
"date_order": localDate(
dataBill[0].dateOrder,
isHistory: true,
),
"branch_code": branchCode,
"brand": brandCode,
"token": widget.token,
};
String historySave = jsonEncode(historyOrder);
listHistoryOrder.add(historySave);
setListHistory(listHistoryOrder);
}
}
}
// int indexWherePendingPayment = dataBill[0] // int indexWherePendingPayment = dataBill[0]
// .paymentList // .paymentList
// .indexWhere((element) => element.isApproved == false); // .indexWhere((element) => element.isApproved == false);
...@@ -1841,6 +1844,59 @@ class DeliveryPickupDetail extends StatelessWidget { ...@@ -1841,6 +1844,59 @@ class DeliveryPickupDetail extends StatelessWidget {
const Spacer(), const Spacer(),
BlocBuilder<TriggerRefresh, bool>( BlocBuilder<TriggerRefresh, bool>(
builder: (_, trigger) { builder: (_, trigger) {
void ontapClose() {
Navigator.pop(context);
}
void setPickupTimeUser(int time) {
String closeOutlet = getCloseTime();
String hourClose = closeOutlet.split(':')[0];
String minuteClose = closeOutlet.split(':')[1];
var now = DateTime.now().toLocal();
var dateNow = DateFormat('yyyy-MM-dd').format(now);
String dateTimeCloseOutletString =
"$dateNow $hourClose:$minuteClose:00";
DateTime dateTimeCloseOutlet =
DateTime.parse(dateTimeCloseOutletString);
String hourTime = DateFormat.H().format(dateTime);
String minuteTime = DateFormat.m().format(dateTime);
DateTime dateSelectedPickupTime = DateTime(now.year, now.month,
now.day, int.parse(hourTime) + time, int.parse(minuteTime));
final differenceClose =
dateTimeCloseOutlet.difference(dateSelectedPickupTime);
if (differenceClose.inMinutes < 59) {
buttonDialogGlobal(
context,
'Informasi',
'Pickup Hanya Bisa Dilakukan 1 Jam sebelum outlet tutup',
'OK',
'Close',
ontapClose,
ontapClose,
isOkeButtonShow: false,
);
return;
}
TimeOfDay timeOfDayPickup = TimeOfDay(
hour: int.parse(hourTime) + time,
minute: int.parse(minuteTime));
// String timeToset = timeOfDayPickup.format(context);
final hourString =
timeOfDayPickup.hour.toString().padLeft(2, '0');
final minuteString =
timeOfDayPickup.minute.toString().padLeft(2, '0');
// String amPM = timeToset.split(' ')[1];
String setPickup = "$hourString:$minuteString";
setPickupTime(setPickup);
context.read<TriggerRefresh>().trigger(!trigger);
context.read<ViewBillBloc>().getBill();
Navigator.pop(context);
}
return Column( return Column(
children: [ children: [
changeOutlet(context), changeOutlet(context),
...@@ -1849,98 +1905,205 @@ class DeliveryPickupDetail extends StatelessWidget { ...@@ -1849,98 +1905,205 @@ class DeliveryPickupDetail extends StatelessWidget {
), ),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
showTimePicker( if (getIsCanChangeDeliveryPickup()) {
context: context, showDialog(
initialTime: timeOfDayPickup, context: context,
).then((value) { builder: (BuildContext ctx) => AlertDialog(
if (value == null) { title: defaultText(
return; context,
} else { 'Silahkan pilih jam pickup',
void ontapClose() { style: viewbillStyle(),
Navigator.pop(context); ),
} content: Column(
mainAxisSize: MainAxisSize.min,
String closeOutlet = getCloseTime(); children: [
String hourClose = closeOutlet.split(':')[0]; GestureDetector(
String minuteClose = closeOutlet.split(':')[1]; onTap: () {
String openOutlet = getOpenTime(); setPickupTimeUser(0);
String hourOpen = openOutlet.split(':')[0]; },
String minuteOpen = openOutlet.split(':')[1]; child: ButtonComponent(
// TimeOfDay timeClose = TimeOfDay( buttonColor: buttonColor,
// hour: int.parse(hourClose), teksButton: 'Sekarang'),
// minute: int.parse(minuteClose), ),
// ); const SizedBox(
var now = DateTime.now().toLocal(); height: 10,
var dateNow = DateFormat('yyyy-MM-dd').format(now); ),
String dateTimeCloseOutletString = GestureDetector(
"$dateNow $hourClose:$minuteClose:00"; onTap: () {
String dateTimeOpenOutletString = setPickupTimeUser(1);
"$dateNow $hourOpen:$minuteOpen:00"; },
DateTime dateTimeCloseOutlet = child: ButtonComponent(
DateTime.parse(dateTimeCloseOutletString); buttonColor: buttonColor,
DateTime dateTimeOpenOutlet = teksButton: '1 Jam'),
DateTime.parse(dateTimeOpenOutletString); ),
DateTime dateSelectedPickupTime = DateTime(now.year, const SizedBox(
now.month, now.day, value.hour, value.minute); height: 10,
final differenceClose = dateTimeCloseOutlet ),
.difference(dateSelectedPickupTime); GestureDetector(
onTap: () {
final differenceOpen = dateSelectedPickupTime setPickupTimeUser(3);
.difference(dateTimeOpenOutlet); },
final differenceFromNow = child: ButtonComponent(
dateSelectedPickupTime.difference(now); buttonColor: buttonColor,
if (differenceFromNow.inMinutes < 0) { teksButton: '3 Jam'),
buttonDialogGlobal( ),
context, const SizedBox(
'Informasi', height: 10,
'Pickup time tidak dapat dipilih pada waktu yang sudah berlalu', ),
'OK', GestureDetector(
'Close', onTap: () {
ontapClose, setPickupTimeUser(5);
ontapClose, },
isOkeButtonShow: false, child: ButtonComponent(
); buttonColor: buttonColor,
return; teksButton: '5 Jam'),
} ),
if (differenceClose.inMinutes < 59) { const SizedBox(
buttonDialogGlobal( height: 10,
context, ),
'Informasi', GestureDetector(
'Pickup Hanya Bisa Dilakukan 1 Jam sebelum outlet tutup', onTap: () {
'OK', Navigator.pop(context);
'Close', showTimePicker(
ontapClose, context: context,
ontapClose, initialTime: timeOfDayPickup,
isOkeButtonShow: false, ).then((value) {
); if (value == null) {
return; return;
} } else {
String closeOutlet = getCloseTime();
String hourClose =
closeOutlet.split(':')[0];
String minuteClose =
closeOutlet.split(':')[1];
String openOutlet = getOpenTime();
String hourOpen =
openOutlet.split(':')[0];
String minuteOpen =
openOutlet.split(':')[1];
// TimeOfDay timeClose = TimeOfDay(
// hour: int.parse(hourClose),
// minute: int.parse(minuteClose),
// );
var now = DateTime.now().toLocal();
var dateNow =
DateFormat('yyyy-MM-dd')
.format(now);
String dateTimeCloseOutletString =
"$dateNow $hourClose:$minuteClose:00";
String dateTimeOpenOutletString =
"$dateNow $hourOpen:$minuteOpen:00";
DateTime dateTimeCloseOutlet =
DateTime.parse(
dateTimeCloseOutletString);
DateTime dateTimeOpenOutlet =
DateTime.parse(
dateTimeOpenOutletString);
DateTime dateSelectedPickupTime =
DateTime(
now.year,
now.month,
now.day,
value.hour,
value.minute);
final differenceClose =
dateTimeCloseOutlet.difference(
dateSelectedPickupTime);
final differenceOpen =
dateSelectedPickupTime
.difference(
dateTimeOpenOutlet);
final differenceFromNow =
dateSelectedPickupTime
.difference(now);
if (differenceFromNow.inMinutes <
0) {
buttonDialogGlobal(
context,
'Informasi',
'Pickup time tidak dapat dipilih pada waktu yang sudah berlalu',
'OK',
'Close',
ontapClose,
ontapClose,
isOkeButtonShow: false,
);
return;
}
if (differenceClose.inMinutes <
59) {
buttonDialogGlobal(
context,
'Informasi',
'Pickup Hanya Bisa Dilakukan 1 Jam sebelum outlet tutup',
'OK',
'Close',
ontapClose,
ontapClose,
isOkeButtonShow: false,
);
return;
}
if (differenceOpen.inMinutes < 0) { if (differenceOpen.inMinutes < 0) {
buttonDialogGlobal( buttonDialogGlobal(
context, context,
'Informasi', 'Informasi',
'Pickup Hanya Bisa Dilakukan Setelah Outlet Buka', 'Pickup Hanya Bisa Dilakukan Setelah Outlet Buka',
'OK', 'OK',
'Close', 'Close',
ontapClose, ontapClose,
ontapClose, ontapClose,
isOkeButtonShow: false, isOkeButtonShow: false,
); );
return; return;
} }
// String timeToset = value.format(context); // String timeToset = value.format(context);
final hourString = final hourString = value.hour
value.hour.toString().padLeft(2, '0'); .toString()
final minuteString = .padLeft(2, '0');
value.minute.toString().padLeft(2, '0'); final minuteString = value.minute
// String amPM = timeToset.split(' ')[1]; .toString()
String setPickup = "$hourString:$minuteString"; .padLeft(2, '0');
setPickupTime(setPickup); // String amPM = timeToset.split(' ')[1];
context.read<TriggerRefresh>().trigger(!trigger); String setPickup =
context.read<ViewBillBloc>().getBill(); "$hourString:$minuteString";
} setPickupTime(setPickup);
}); context
.read<TriggerRefresh>()
.trigger(!trigger);
context
.read<ViewBillBloc>()
.getBill();
}
});
},
child: ButtonComponent(
buttonColor: buttonColor,
teksButton: 'Atur Sendiri',
),
),
const SizedBox(
height: 10,
),
GestureDetector(
onTap: () {
Navigator.pop(context);
},
child: const ButtonComponent(
buttonColor: Colors.transparent,
teksButton: 'Close',
teksButtonColor: textColorBlack,
),
)
],
),
));
} else {
EasyLoading.showToast(
'Tidak dapat pilih jam pikcup karena status orderan sedang diproses / telah selesai');
}
// ketika user click OK // ketika user click OK
}, },
child: Container( child: Container(
...@@ -2028,6 +2191,7 @@ class DeliveryPickupDetail extends StatelessWidget { ...@@ -2028,6 +2191,7 @@ class DeliveryPickupDetail extends StatelessWidget {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
void ontapOkeChange() { void ontapOkeChange() {
Navigator.pop(context);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
...@@ -2049,16 +2213,22 @@ class DeliveryPickupDetail extends StatelessWidget { ...@@ -2049,16 +2213,22 @@ class DeliveryPickupDetail extends StatelessWidget {
Ganti outlet akan menyebabkan orderan anda saat ini hilang. Ganti outlet akan menyebabkan orderan anda saat ini hilang.
Apakah ingin melanjutkan ?'''; Apakah ingin melanjutkan ?''';
buttonDialogGlobal(
context, if (getIsCanChangeDeliveryPickup()) {
title, buttonDialogGlobal(
description, context,
textOnOk, title,
textOnCancel, description,
ontapOkeChange, textOnOk,
onTapCancelChange, textOnCancel,
okButtonColor: buttonColor, ontapOkeChange,
); onTapCancelChange,
okButtonColor: buttonColor,
);
} else {
EasyLoading.showToast(
'Tidak dapat ganti outlet karena status orderan sedang diproses / telah selesai');
}
}, },
child: Container( child: Container(
width: 98, width: 98,
...@@ -2249,17 +2419,22 @@ Apakah ingin melanjutkan ?'''; ...@@ -2249,17 +2419,22 @@ Apakah ingin melanjutkan ?''';
children: [ children: [
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.pushReplacement( if (getIsCanChangeDeliveryPickup()) {
context, Navigator.pushReplacement(
MaterialPageRoute( context,
builder: (_) => WebViewMap( MaterialPageRoute(
titleAppBar: 'Ganti Alamat', builder: (_) => WebViewMap(
url: titleAppBar: 'Ganti Alamat',
'${getBaseUrl()}rdm/address/add/?session_id=${getSessionId()}', url:
isFromMenu: isFromMenu, '${getBaseUrl()}rdm/address/add/?session_id=${getSessionId()}',
isFromMenu: isFromMenu,
),
), ),
), );
); } else {
EasyLoading.showToast(
'Tidak dapat ganti alamat karena status orderan sedang diproses / telah selesai');
}
}, },
child: Container( child: Container(
width: 98, width: 98,
...@@ -2463,15 +2638,22 @@ Apakah ingin melanjutkan ?'''; ...@@ -2463,15 +2638,22 @@ Apakah ingin melanjutkan ?''';
children: [ children: [
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.pushReplacement( if (getIsCanChangeDeliveryPickup()) {
context, Navigator.push(
MaterialPageRoute( context,
builder: (_) => WebViewMap( MaterialPageRoute(
builder: (_) => WebViewMap(
titleAppBar: 'Pilih Alamat', titleAppBar: 'Pilih Alamat',
url: url:
'${getBaseUrl()}rdm/address/add/?session_id=${getSessionId()}'), '${getBaseUrl()}rdm/address/add/?session_id=${getSessionId()}',
), isFromMenu: isFromMenu,
); ),
),
);
} else {
EasyLoading.showToast(
'Tidak dapat pilih alamat karena status orderan sedang diproses / telah selesai');
}
}, },
child: Container( child: Container(
width: 98, width: 98,
......
...@@ -40,33 +40,36 @@ class CustomAppBar extends StatelessWidget { ...@@ -40,33 +40,36 @@ class CustomAppBar extends StatelessWidget {
children: [ children: [
GestureDetector( GestureDetector(
onTap: () { onTap: () {
if (isFromSelectBranch) { if (isFromSelectBranch || isFromMenu) {
context.read<AddressUser>().getAddressUser( context.read<AddressUser>().getAddressUser(
context, context,
isGetBranchList: true, isGetBranchList: true,
isCallDeliveryCharge: false, isCallDeliveryCharge: false,
); );
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute( // MaterialPageRoute(
builder: (_) => const SelectBranch( // builder: (_) => const SelectBranch(
isFormBill: true, // isFormBill: true,
), // ),
), // ),
); // );
} else if (isFromMenu) { Navigator.pop(context);
context.read<AddressUser>().getAddressUser( }
context, // else if (isFromMenu) {
isGetBranchList: true, // context.read<AddressUser>().getAddressUser(
isCallDeliveryCharge: false, // context,
); // isGetBranchList: true,
Navigator.push( // isCallDeliveryCharge: false,
context, // );
MaterialPageRoute( // Navigator.push(
builder: (_) => const NewHome2(), // context,
), // MaterialPageRoute(
); // builder: (_) => const NewHome2(),
} else { // ),
// );
// }
else {
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
MaterialPageRoute( MaterialPageRoute(
......
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