Commit ecb565e5 authored by Dio Maulana's avatar Dio Maulana

variant confirm fixed

parent 7c0c03be
...@@ -67,6 +67,7 @@ void main() async { ...@@ -67,6 +67,7 @@ void main() async {
prefs = value; prefs = value;
configLoading(); configLoading();
for (int d = 0; d < Uri.base.pathSegments.length; d++) { for (int d = 0; d < Uri.base.pathSegments.length; d++) {
if (Uri.base.pathSegments[0] != 'byod-neo/') {
stringPath.add(Uri.base.pathSegments[d]); stringPath.add(Uri.base.pathSegments[d]);
if (d == Uri.base.pathSegments.length - 1) { if (d == Uri.base.pathSegments.length - 1) {
routesToAccess += Uri.base.pathSegments[d]; routesToAccess += Uri.base.pathSegments[d];
...@@ -74,6 +75,7 @@ void main() async { ...@@ -74,6 +75,7 @@ void main() async {
routesToAccess += '${Uri.base.pathSegments[d]}/'; routesToAccess += '${Uri.base.pathSegments[d]}/';
} }
} }
}
loadAssetConfig().then((title) { loadAssetConfig().then((title) {
setTitleWeb(title); setTitleWeb(title);
runApp( runApp(
......
...@@ -41,8 +41,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -41,8 +41,8 @@ class CoreConfirm extends StatelessWidget {
return BlocBuilder<OrdersBloc, List<Orders>>( return BlocBuilder<OrdersBloc, List<Orders>>(
builder: (context, listOrders) { builder: (context, listOrders) {
int totalHarga = 0; int totalHarga = 0;
// List indexTidakAdaVariant = []; List indexTidakAdaVariant = [];
// List<String> indexAdaVariant = []; List indexAdaVariant = [];
// if (listOrders.isNotEmpty) { // if (listOrders.isNotEmpty) {
// int fixTotalHarga = 0; // int fixTotalHarga = 0;
...@@ -78,14 +78,15 @@ class CoreConfirm extends StatelessWidget { ...@@ -78,14 +78,15 @@ class CoreConfirm extends StatelessWidget {
// totalItem += listOrders[i].totalItem; // totalItem += listOrders[i].totalItem;
// check apakah ada order detail. kalau ada rekalkulasi total harga sesuai order detail // check apakah ada order detail. kalau ada rekalkulasi total harga sesuai order detail
if (listOrders[i].orderDetail.isEmpty) { if (listOrders[i].orderDetail.isEmpty) {
// indexTidakAdaVariant.add(i); indexTidakAdaVariant.add(i);
totalHargaBukanOrderDetail += totalHargaBukanOrderDetail +=
(listOrders[i].totalItem * listOrders[i].totalHarga); (listOrders[i].totalItem * listOrders[i].totalHarga);
// totalItemBukanOrderDetail += listOrders[i].totalItem; // totalItemBukanOrderDetail += listOrders[i].totalItem;
} else { } else {
for (int kk = 0; kk < listOrders[i].orderDetail.length; kk++) { for (int kk = 0; kk < listOrders[i].orderDetail.length; kk++) {
// String indexWithVariant = '${i}|${kk}'; String indexWithVariant =
// indexAdaVariant.add(indexWithVariant); '$i|$kk'; // index orderan|index order detail
indexAdaVariant.add(indexWithVariant);
totalHargaOrderDetail += totalHargaOrderDetail +=
listOrders[i].orderDetail[kk].totalHarga; listOrders[i].orderDetail[kk].totalHarga;
// totalItemOrderDetail += // totalItemOrderDetail +=
...@@ -98,6 +99,7 @@ class CoreConfirm extends StatelessWidget { ...@@ -98,6 +99,7 @@ class CoreConfirm extends StatelessWidget {
totalHarga = fixTotalHarga + totalHargaBukanOrderDetail; totalHarga = fixTotalHarga + totalHargaBukanOrderDetail;
// totalItem = fixTotalItem + totalItemBukanOrderDetail; // totalItem = fixTotalItem + totalItemBukanOrderDetail;
} }
return Container( return Container(
width: widthScreen, width: widthScreen,
child: Stack( child: Stack(
...@@ -114,57 +116,17 @@ class CoreConfirm extends StatelessWidget { ...@@ -114,57 +116,17 @@ class CoreConfirm extends StatelessWidget {
const SizedBox( const SizedBox(
height: 24, height: 24,
), ),
ListView.builder( for (var i in indexAdaVariant)
physics: Container(
const NeverScrollableScrollPhysics(), // to disable scrolling child: listWithVariant(
shrinkWrap: true, listOrders,
itemCount: listOrders.length, i,
itemBuilder: (context, i) { context,
List<String> variantCaption = ['']; indexAdaVariant,
List<String> variantName = ['']; ),
),
int totalItem; for (int j in indexTidakAdaVariant)
if (listOrders[i].orderDetail.isNotEmpty) { Column(
for (int y = 0;
y <
listOrders[i]
.orderDetail[i]
.orderVariant
.length;
y++) {
int indexCaption = variantCaption.indexWhere(
(element) =>
element ==
listOrders[i]
.orderDetail[i]
.orderVariant[y]
.caption);
if (indexCaption == -1) {
variantCaption.add(listOrders[i]
.orderDetail[i]
.orderVariant[y]
.caption);
variantName.add(listOrders[i]
.orderDetail[i]
.orderVariant[y]
.name);
} else {
variantName[indexCaption] +=
", ${listOrders[i].orderDetail[i].orderVariant[y].name}";
}
}
int totalItemOrderDetail = 0;
for (int kk = 0;
kk < listOrders[i].orderDetail.length;
kk++) {
totalItemOrderDetail +=
listOrders[i].orderDetail[kk].totalItem;
}
totalItem = totalItemOrderDetail;
} else {
totalItem = listOrders[i].totalItem;
}
return Column(
children: [ children: [
Container( Container(
width: double.infinity, width: double.infinity,
...@@ -176,16 +138,15 @@ class CoreConfirm extends StatelessWidget { ...@@ -176,16 +138,15 @@ class CoreConfirm extends StatelessWidget {
child: Row( child: Row(
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.center, CrossAxisAlignment.center,
mainAxisAlignment: mainAxisAlignment: MainAxisAlignment.start,
MainAxisAlignment.start,
children: [ children: [
(listOrders[i].imageUrl != '') (listOrders[j].imageUrl != '')
? Image( ? Image(
width: 80, width: 80,
height: 80, height: 80,
fit: BoxFit.fill, fit: BoxFit.fill,
image: NetworkImage( image: NetworkImage(
listOrders[i].imageUrl), listOrders[j].imageUrl),
) )
: const Image( : const Image(
width: 80, width: 80,
...@@ -205,7 +166,7 @@ class CoreConfirm extends StatelessWidget { ...@@ -205,7 +166,7 @@ class CoreConfirm extends StatelessWidget {
children: [ children: [
defaultText( defaultText(
context, context,
listOrders[i].namaMenu, listOrders[j].namaMenu,
maxLines: 2, maxLines: 2,
overFlow: TextOverflow.ellipsis, overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(), style: menuNameListViewBill(),
...@@ -215,7 +176,7 @@ class CoreConfirm extends StatelessWidget { ...@@ -215,7 +176,7 @@ class CoreConfirm extends StatelessWidget {
), ),
defaultText( defaultText(
context, context,
'$totalItem X Rp ${formatNumber().format(listOrders[i].satuanHarga)}', '${listOrders[j].totalItem} X Rp ${formatNumber().format(listOrders[j].satuanHarga)}',
style: viewbillStyle( style: viewbillStyle(
font: 12, font: 12,
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
...@@ -224,17 +185,16 @@ class CoreConfirm extends StatelessWidget { ...@@ -224,17 +185,16 @@ class CoreConfirm extends StatelessWidget {
const SizedBox( const SizedBox(
height: 6, height: 6,
), ),
(listOrders[i].note != '') (listOrders[j].note != '')
? defaultText( ? defaultText(
context, context,
"Catatan: ${listOrders[i].note}", "Catatan: ${listOrders[j].note}",
maxLines: 2, maxLines: 2,
overFlow: overFlow:
TextOverflow.ellipsis, TextOverflow.ellipsis,
style: viewbillStyle( style: viewbillStyle(
font: 12, font: 12,
fontWeight: fontWeight: FontWeight.w300,
FontWeight.w300,
), ),
) )
: const SizedBox(), : const SizedBox(),
...@@ -254,19 +214,33 @@ class CoreConfirm extends StatelessWidget { ...@@ -254,19 +214,33 @@ class CoreConfirm extends StatelessWidget {
// ), // ),
// ) // )
// : const SizedBox(), // : const SizedBox(),
if (listOrders[i] // if (listOrders[i]
.orderDetail // .orderDetail
.isNotEmpty) // .isNotEmpty)
for (int a = 0; // for (int a = 0;
a < variantCaption.length; // a < variantCaption.length;
a++) // a++)
if (variantCaption[a] != '') // if (variantCaption[a] != '')
// // defaultText(
// // context,
// // listOrders[i]
// // .orderDetail[0]
// // .orderVariant[a]
// // .name,
// // maxLines: 2,
// // overFlow:
// // TextOverflow.ellipsis,
// // style: viewbillStyle(
// // font: 12,
// // fontWeight:
// // FontWeight.w300,
// // ),
// // ),
// Row(
// children: [
// defaultText( // defaultText(
// context, // context,
// listOrders[i] // "${variantCaption[a]} : ",
// .orderDetail[0]
// .orderVariant[a]
// .name,
// maxLines: 2, // maxLines: 2,
// overFlow: // overFlow:
// TextOverflow.ellipsis, // TextOverflow.ellipsis,
...@@ -276,34 +250,20 @@ class CoreConfirm extends StatelessWidget { ...@@ -276,34 +250,20 @@ class CoreConfirm extends StatelessWidget {
// FontWeight.w300, // FontWeight.w300,
// ), // ),
// ), // ),
Row( // defaultText(
children: [ // context,
defaultText( // variantName[a],
context, // maxLines: 2,
"${variantCaption[a]} : ", // overFlow:
maxLines: 2, // TextOverflow.ellipsis,
overFlow: TextOverflow // style: viewbillStyle(
.ellipsis, // font: 12,
style: viewbillStyle( // fontWeight:
font: 12, // FontWeight.w300,
fontWeight: // ),
FontWeight.w300, // ),
), // ],
), // )
defaultText(
context,
variantName[a],
maxLines: 2,
overFlow: TextOverflow
.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight:
FontWeight.w300,
),
),
],
)
], ],
) )
], ],
...@@ -313,9 +273,208 @@ class CoreConfirm extends StatelessWidget { ...@@ -313,9 +273,208 @@ class CoreConfirm extends StatelessWidget {
height: 24, height: 24,
) )
], ],
);
},
), ),
// ListView.builder(
// physics:
// const NeverScrollableScrollPhysics(), // to disable scrolling
// shrinkWrap: true,
// itemCount: listOrders.length,
// itemBuilder: (context, i) {
// List<String> variantCaption = [];
// List<String> variantName = [];
// int totalItem;
// if (listOrders[i].orderDetail.isNotEmpty) {
// for (int y = 0;
// y <
// listOrders[i]
// .orderDetail[i]
// .orderVariant
// .length;
// y++) {
// int indexCaption = variantCaption.indexWhere(
// (element) =>
// element ==
// listOrders[i]
// .orderDetail[i]
// .orderVariant[y]
// .caption);
// if (indexCaption == -1) {
// variantCaption.add(listOrders[i]
// .orderDetail[i]
// .orderVariant[y]
// .caption);
// variantName.add(listOrders[i]
// .orderDetail[i]
// .orderVariant[y]
// .name);
// } else {
// variantName[indexCaption] +=
// ", ${listOrders[i].orderDetail[i].orderVariant[y].name}";
// }
// }
// int totalItemOrderDetail = 0;
// for (int kk = 0;
// kk < listOrders[i].orderDetail.length;
// kk++) {
// totalItemOrderDetail +=
// listOrders[i].orderDetail[kk].totalItem;
// }
// totalItem = totalItemOrderDetail;
// } else {
// totalItem = listOrders[i].totalItem;
// }
// return Column(
// children: [
// Container(
// width: double.infinity,
// padding: const EdgeInsets.symmetric(
// horizontal: paddingLeftRight,
// vertical: 16,
// ),
// color: backgroundWhite,
// child: Row(
// crossAxisAlignment:
// CrossAxisAlignment.center,
// mainAxisAlignment:
// MainAxisAlignment.start,
// children: [
// (listOrders[i].imageUrl != '')
// ? Image(
// width: 80,
// height: 80,
// fit: BoxFit.fill,
// image: NetworkImage(
// listOrders[i].imageUrl),
// )
// : const Image(
// width: 80,
// height: 80,
// fit: BoxFit.fill,
// image: AssetImage(
// 'assets/noimage.png'),
// ),
// const SizedBox(
// width: 12,
// ),
// Column(
// crossAxisAlignment:
// CrossAxisAlignment.start,
// mainAxisAlignment:
// MainAxisAlignment.center,
// children: [
// defaultText(
// context,
// listOrders[i].namaMenu,
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
// style: menuNameListViewBill(),
// ),
// const SizedBox(
// height: 6,
// ),
// defaultText(
// context,
// '$totalItem X Rp ${formatNumber().format(listOrders[i].satuanHarga)}',
// style: viewbillStyle(
// font: 12,
// fontWeight: FontWeight.w300,
// ),
// ),
// const SizedBox(
// height: 6,
// ),
// (listOrders[i].note != '')
// ? defaultText(
// context,
// "Catatan: ${listOrders[i].note}",
// maxLines: 2,
// overFlow:
// TextOverflow.ellipsis,
// style: viewbillStyle(
// font: 12,
// fontWeight:
// FontWeight.w300,
// ),
// )
// : const SizedBox(),
// // (listOrders[i]
// // .orderDetail
// // .isNotEmpty)
// // ? defaultText(
// // context,
// // 'Variant : ',
// // maxLines: 2,
// // overFlow:
// // TextOverflow.ellipsis,
// // style: viewbillStyle(
// // font: 12,
// // fontWeight:
// // FontWeight.w300,
// // ),
// // )
// // : const SizedBox(),
// if (listOrders[i]
// .orderDetail
// .isNotEmpty)
// for (int a = 0;
// a < variantCaption.length;
// a++)
// if (variantCaption[a] != '')
// // defaultText(
// // context,
// // listOrders[i]
// // .orderDetail[0]
// // .orderVariant[a]
// // .name,
// // maxLines: 2,
// // overFlow:
// // TextOverflow.ellipsis,
// // style: viewbillStyle(
// // font: 12,
// // fontWeight:
// // FontWeight.w300,
// // ),
// // ),
// Row(
// children: [
// defaultText(
// context,
// "${variantCaption[a]} : ",
// maxLines: 2,
// overFlow: TextOverflow
// .ellipsis,
// style: viewbillStyle(
// font: 12,
// fontWeight:
// FontWeight.w300,
// ),
// ),
// defaultText(
// context,
// variantName[a],
// maxLines: 2,
// overFlow: TextOverflow
// .ellipsis,
// style: viewbillStyle(
// font: 12,
// fontWeight:
// FontWeight.w300,
// ),
// ),
// ],
// )
// ],
// )
// ],
// ),
// ),
// const SizedBox(
// height: 24,
// )
// ],
// );
// },
// ),
const AddMoreOrder() const AddMoreOrder()
], ],
), ),
...@@ -363,6 +522,164 @@ class CoreConfirm extends StatelessWidget { ...@@ -363,6 +522,164 @@ class CoreConfirm extends StatelessWidget {
}, },
); );
} }
Column listWithVariant(List<Orders> listOrders, i, BuildContext context,
List<dynamic> indexAdaVariant) {
// dippecah lagi masing2 indexnya
int indexOrder = int.parse(i.split('|')[0]);
int indexOrderDetail = int.parse(i.split('|')[1]);
List<String> variantCaption = [];
List<String> variantName = [];
if (listOrders[indexOrder].orderDetail.isNotEmpty) {
for (int y = 0;
y <
listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant
.length;
y++) {
int indexCaption = variantCaption.indexWhere((element) =>
element ==
listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant[y]
.caption);
if (indexCaption == -1) {
variantCaption.add(listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant[y]
.caption);
variantName.add(listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant[y]
.name);
} else {
variantName[indexCaption] +=
", ${listOrders[indexOrder].orderDetail[indexOrderDetail].orderVariant[y].name}";
}
}
}
return Column(
children: [
Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(
horizontal: paddingLeftRight,
vertical: 16,
),
color: backgroundWhite,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
children: [
(listOrders[indexOrder].imageUrl != '')
? Image(
width: 80,
height: 80,
fit: BoxFit.fill,
image: NetworkImage(listOrders[indexOrder].imageUrl),
)
: const Image(
width: 80,
height: 80,
fit: BoxFit.fill,
image: AssetImage('assets/noimage.png'),
),
const SizedBox(
width: 12,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
defaultText(
context,
listOrders[indexOrder].namaMenu,
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(),
),
const SizedBox(
height: 6,
),
defaultText(
context,
'${listOrders[indexOrder].orderDetail[indexOrderDetail].totalItem} X Rp ${formatNumber().format(listOrders[indexOrder].satuanHarga)}',
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
const SizedBox(
height: 6,
),
(listOrders[indexOrder].orderDetail[indexOrderDetail].note !=
'')
? defaultText(
context,
"Catatan: ${listOrders[indexOrder].orderDetail[indexOrderDetail].note}",
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
)
: const SizedBox(),
for (int a = 0; a < variantCaption.length; a++)
if (variantCaption[a] != '')
// defaultText(
// context,
// listOrders[i]
// .orderDetail[0]
// .orderVariant[a]
// .name,
// maxLines: 2,
// overFlow:
// TextOverflow.ellipsis,
// style: viewbillStyle(
// font: 12,
// fontWeight:
// FontWeight.w300,
// ),
// ),
Row(
children: [
defaultText(
context,
"${variantCaption[a]} : ",
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
defaultText(
context,
variantName[a],
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
],
)
],
)
],
),
),
const SizedBox(
height: 24,
)
],
);
}
} }
Future<dynamic> modalInputName(BuildContext context, Future<dynamic> modalInputName(BuildContext context,
......
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