Commit c9417de6 authored by Jasa Digital's avatar Jasa Digital

variant fixed

parent 33a2e00c
......@@ -186,6 +186,7 @@ class Api {
setTableNumber(jsonObject['data']['table_number'] ?? '');
setServiceRadius(jsonObject['data']['service_radius'] ?? 0);
setDistance(jsonObject['data']['distance'] ?? '0');
setIsCanChangeDeliveryPickupFunc(jsonObject['data']['order_state']);
if (jsonObject['data']['payment_mode'] != null) {
setPaymentMode(jsonObject['data']['payment_mode']);
}
......@@ -573,7 +574,7 @@ class Api {
if (favDetail[i]['favorite_group_id'] == favGroup[s]['id']) {
// List<dynamic> variantCat = favDetail[i]['variants'];
List<VariantCategories> variantCategories = [];
// List<VariantCategories> variantCategories = [];
// for (int o = 0; o < variantCat.length; o++) {
// List<Variants> variants = [];
......@@ -593,6 +594,35 @@ class Api {
// 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
if (favDetail[i]['group_id'] != groupIdForFiltering) {
groupIdForFiltering = favDetail[i]['group_id'];
......@@ -953,6 +983,8 @@ class Api {
billDetail.add(BillDetail.createBillDetail(z));
int totalPerCustomer = amountParseToInt(z['total']);
setIsCanChangeDeliveryPickupFunc(
jsonObject['data']['order_state']);
var i = {
"id": jsonObject['data']['id'],
"total": jsonObject['data']['total'],
......@@ -987,6 +1019,11 @@ class Api {
"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));
// billDetail.add(BillDetail.createBillDetail(orderDetail[d]));
}
......
......@@ -184,6 +184,14 @@ String formatDate(String timeString, {toLocal = false}) {
return dateResult;
}
void setIsCanChangeDeliveryPickupFunc(int orderState) {
if (orderState >= orderStatePaid) {
setIsCanChangeDeliveryPickup(false);
} else {
setIsCanChangeDeliveryPickup(true);
}
}
String localDate(String date, {isHistory = false}) {
String day;
String year;
......@@ -361,6 +369,8 @@ String textButtonCheckout(int orderState, bool isHistory) {
} else {
if (paymentMethod == closebill && orderState == orderStateCreated) {
return 'Pesan';
} else if (paymentMethod == closebill && orderState == orderStatePending) {
return 'Menunggu konfirmasi outlet';
} else if (paymentMethod == closebill &&
(orderState == orderStatePending ||
orderState == orderStateApproved) ||
......
......@@ -44,6 +44,7 @@ const String _phoneOutlet = 'phoneOutlet';
const String _serviceRadius = 'sr';
const String _distanceOutletCustomer = 'doc';
const String _isNewOrder = 'ino';
const String _isCanChangeDeliveryPickup = 'iccdp';
String getBaseUrl() {
return prefs.getString(_baseUrl) ?? '';
......@@ -384,3 +385,11 @@ bool getIsNewOrder() {
Future<void> setIsNewOrder(bool value) async {
prefs.setBool(_isNewOrder, value);
}
bool getIsCanChangeDeliveryPickup() {
return prefs.getBool(_isCanChangeDeliveryPickup) ?? true;
}
Future<void> setIsCanChangeDeliveryPickup(bool value) async {
prefs.setBool(_isCanChangeDeliveryPickup, value);
}
This diff is collapsed.
......@@ -17,7 +17,9 @@ import '../../models/order_variants.dart';
import '../screen_responsive.dart';
import 'bottom_sheet_menu_new.dart';
import 'bottom_sheet_variant.dart';
import 'bottom_sheet_variant_new.dart';
import 'variant_cat.dart';
import 'variant_cat_new.dart';
class FavGridMenu extends StatelessWidget {
const FavGridMenu({
......@@ -192,7 +194,7 @@ class FavGridMenu extends StatelessWidget {
addCondition; // true untuk menampilkan tambah, false untuk menampilkan quantity plus minus
int indexListOrderan =
list.indexWhere((listOrderan) => listOrderan.id == menuFav.id);
int initialValue;
int initialValue = 0;
if (indexListOrderan != -1) {
if (menuFav.variantCat.isNotEmpty) {
addCondition = true; // kalau menu itu ada variantnya, biarin true
......@@ -200,11 +202,20 @@ class FavGridMenu extends StatelessWidget {
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 {
addCondition = true;
initialValue = 0;
}
String variantButtonCount = '';
if (initialValue == 1 && menuFav.variantCat.isNotEmpty) {
variantButtonCount = '$initialValue Item';
......@@ -270,7 +281,7 @@ class FavGridMenu extends StatelessWidget {
key: const Key('AddButton'),
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
print("Panjangnya : ${menuFav.variantCat.length}");
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
......@@ -285,34 +296,66 @@ class FavGridMenu extends StatelessWidget {
1,
[],
); // 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(
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: [],
),
)));
context,
MaterialPageRoute(
builder: (_) => VariantCatNew(
initPrice: amountParseToInt(menuFav.price),
variantCategories: menuFav.variantCat,
namaMenu: menuFav.name,
idItem: menuFav.id,
imageUrl: menuFav.imageUrlMedium,
listCurrentOrder: list,
),
),
);
} else {
// showModalBottomSheet(
// backgroundColor: Colors.white.withOpacity(0),
// isScrollControlled: true,
// context: context,
// builder: (context) {
// return CustomizeVariant(
// orders: list[indexListOrderan],
// variantCat: menuFav.variantCat);
// },
// );
showModalBottomSheet(
backgroundColor: Colors.white.withOpacity(0),
isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(19),
),
context: context,
builder: (context) {
return CustomizeVariant(
orders: list[indexListOrderan],
variantCat: menuFav.variantCat);
// return CustomizeVariant(
// orders: list[indexListOrderan],
// variantCat: menuUtama.variantCat,
// );
return CustomizeVariantNew(
orders: list[indexListOrderan],
variantCat: menuFav.variantCat,
);
},
);
}
......
This diff is collapsed.
......@@ -13,6 +13,7 @@ import '../select_branch.dart';
Future<dynamic> modalBottomSelectOption(BuildContext context) {
void ontapOkeChangeOutlet() {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
......@@ -145,9 +146,7 @@ Note: Ganti outlet akan menyebabkan orderan anda saat ini hilang
Api.changeTypeOrder(typeOrderDelivery).then((value) {
if (value) {
setIsCustomerDelivery(true);
context
.read<ChangeDeliveryPickupBloc>()
.toDelivery(true);
context.read<ChangeDeliveryPickupBloc>().toDelivery(true);
context.read<ViewBillBloc>().getBill();
setTypeOrder(typeOrderDelivery);
}
......
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import '../../helper/helper.dart';
import '../../helper/prefs.dart';
......@@ -72,7 +73,12 @@ class ComponentNameUser extends StatelessWidget {
(isDeliveryPickuup)
? GestureDetector(
onTap: () {
modalBottomSelectOption(context);
if (getIsCanChangeDeliveryPickup()) {
modalBottomSelectOption(context);
} else {
EasyLoading.showToast(
'Tidak dapat ganti tipe order karena status orderan sedang diproses / telah selesai');
}
},
child: Container(
height: 30,
......
This diff is collapsed.
......@@ -40,33 +40,36 @@ class CustomAppBar extends StatelessWidget {
children: [
GestureDetector(
onTap: () {
if (isFromSelectBranch) {
if (isFromSelectBranch || isFromMenu) {
context.read<AddressUser>().getAddressUser(
context,
isGetBranchList: true,
isCallDeliveryCharge: false,
);
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const SelectBranch(
isFormBill: true,
),
),
);
} else if (isFromMenu) {
context.read<AddressUser>().getAddressUser(
context,
isGetBranchList: true,
isCallDeliveryCharge: false,
);
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const NewHome2(),
),
);
} else {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (_) => const SelectBranch(
// isFormBill: true,
// ),
// ),
// );
Navigator.pop(context);
}
// else if (isFromMenu) {
// context.read<AddressUser>().getAddressUser(
// context,
// isGetBranchList: true,
// isCallDeliveryCharge: false,
// );
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (_) => const NewHome2(),
// ),
// );
// }
else {
Navigator.pushReplacement(
context,
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