Commit ab387a28 authored by Jasa Digital's avatar Jasa Digital

overflow fixed viewbill dan konfirmasi page

parent 8148fb6c
...@@ -14,6 +14,7 @@ import '../../helper/widget/modal_input_name.dart'; ...@@ -14,6 +14,7 @@ import '../../helper/widget/modal_input_name.dart';
import '../../helper/widget/note_modal_bottom_sheet.dart'; import '../../helper/widget/note_modal_bottom_sheet.dart';
import '../../main.dart'; import '../../main.dart';
import '../../models/filter_menu.dart'; import '../../models/filter_menu.dart';
import '../../models/order_details.dart';
import '../../models/orders.dart'; import '../../models/orders.dart';
import '../checkout/fuction.dart'; import '../checkout/fuction.dart';
import 'app_bar_confirm.dart'; import 'app_bar_confirm.dart';
...@@ -42,6 +43,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -42,6 +43,8 @@ class CoreConfirm extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
double widthScreen = responsiveWidthScreen(context); double widthScreen = responsiveWidthScreen(context);
double widthRowForNote =
MediaQuery.of(context).size.width - 20 - 12 - 80 - 20;
return BlocBuilder<OrdersBloc, List<Orders>>( return BlocBuilder<OrdersBloc, List<Orders>>(
builder: (context, listOrders) { builder: (context, listOrders) {
int totalHarga = 0; int totalHarga = 0;
...@@ -131,6 +134,7 @@ class CoreConfirm extends StatelessWidget { ...@@ -131,6 +134,7 @@ class CoreConfirm extends StatelessWidget {
i, i,
context, context,
indexAdaVariant, indexAdaVariant,
widthRowForNote,
), ),
), ),
for (int j in indexTidakAdaVariant) for (int j in indexTidakAdaVariant)
...@@ -172,13 +176,16 @@ class CoreConfirm extends StatelessWidget { ...@@ -172,13 +176,16 @@ class CoreConfirm extends StatelessWidget {
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.center, MainAxisAlignment.center,
children: [ children: [
defaultText( Container(
width: widthRowForNote,
child: defaultText(
context, context,
listOrders[j].namaMenu, listOrders[j].namaMenu,
maxLines: 2, maxLines: 2,
overFlow: TextOverflow.ellipsis, overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(), style: menuNameListViewBill(),
), ),
),
const SizedBox( const SizedBox(
height: 6, height: 6,
), ),
...@@ -194,15 +201,19 @@ class CoreConfirm extends StatelessWidget { ...@@ -194,15 +201,19 @@ class CoreConfirm extends StatelessWidget {
height: 6, height: 6,
), ),
(listOrders[j].note != '') (listOrders[j].note != '')
? defaultText( ? Container(
width: widthRowForNote,
child: defaultText(
context, context,
"Catatan: ${listOrders[j].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.w300, fontWeight:
FontWeight.w300,
),
), ),
) )
: const SizedBox(), : const SizedBox(),
...@@ -748,8 +759,13 @@ class CoreConfirm extends StatelessWidget { ...@@ -748,8 +759,13 @@ class CoreConfirm extends StatelessWidget {
); );
} }
Column listWithVariant(List<Orders> listOrders, i, BuildContext context, Column listWithVariant(
List<dynamic> indexAdaVariant) { List<Orders> listOrders,
i,
BuildContext context,
List<dynamic> indexAdaVariant,
double widthRowForNote,
) {
// dippecah lagi masing2 indexnya // dippecah lagi masing2 indexnya
int indexOrder = int.parse(i.split('|')[0]); int indexOrder = int.parse(i.split('|')[0]);
int indexOrderDetail = int.parse(i.split('|')[1]); int indexOrderDetail = int.parse(i.split('|')[1]);
...@@ -819,13 +835,16 @@ class CoreConfirm extends StatelessWidget { ...@@ -819,13 +835,16 @@ class CoreConfirm extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
defaultText( Container(
width: widthRowForNote,
child: defaultText(
context, context,
listOrders[indexOrder].namaMenu, listOrders[indexOrder].namaMenu,
maxLines: 2, // maxLines: 2,
overFlow: TextOverflow.ellipsis, // overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(), style: menuNameListViewBill(),
), ),
),
const SizedBox( const SizedBox(
height: 6, height: 6,
), ),
...@@ -840,19 +859,6 @@ class CoreConfirm extends StatelessWidget { ...@@ -840,19 +859,6 @@ class CoreConfirm extends StatelessWidget {
const SizedBox( const SizedBox(
height: 6, 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++) for (int a = 0; a < variantCaption.length; a++)
if (variantCaption[a] != '') if (variantCaption[a] != '')
// defaultText( // defaultText(
...@@ -870,13 +876,15 @@ class CoreConfirm extends StatelessWidget { ...@@ -870,13 +876,15 @@ class CoreConfirm extends StatelessWidget {
// FontWeight.w300, // FontWeight.w300,
// ), // ),
// ), // ),
Row( Container(
width: widthRowForNote,
child: Row(
children: [ children: [
defaultText( defaultText(
context, context,
"${variantCaption[a]} : ", "${variantCaption[a]} : ",
maxLines: 2, // maxLines: 2,
overFlow: TextOverflow.ellipsis, // overFlow: TextOverflow.ellipsis,
style: viewbillStyle( style: viewbillStyle(
font: 12, font: 12,
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
...@@ -885,16 +893,264 @@ class CoreConfirm extends StatelessWidget { ...@@ -885,16 +893,264 @@ class CoreConfirm extends StatelessWidget {
defaultText( defaultText(
context, context,
variantName[a], variantName[a],
maxLines: 2, // maxLines: 2,
overFlow: TextOverflow.ellipsis, // overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
],
),
),
(listOrders[indexOrder].orderDetail[indexOrderDetail].note !=
'')
? Container(
width: widthRowForNote,
child: defaultText(
context,
"Catatan: ${listOrders[indexOrder].orderDetail[indexOrderDetail].note}",
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
style: viewbillStyle( style: viewbillStyle(
font: 12, font: 12,
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
), ),
), ),
)
: const SizedBox(),
], ],
) )
], ],
),
),
Container(
width: double.infinity,
color: backgroundWhite,
padding: const EdgeInsets.only(
left: paddingLeftRight,
right: paddingLeftRight,
bottom: 10,
),
child: Row(
children: [
GestureDetector(
onTap: () {
final noteController = TextEditingController(
text: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.note);
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
showModalBottomSheet(
backgroundColor: backgroundColor,
isScrollControlled: true,
context: context,
builder: (context) {
return NoteModalBottomSheet(
noteController: noteController,
initialValue: listOrders[indexOrder].totalItem,
orderVariants: const [],
menuItem: FilterMenu(
id: '',
name: '',
price: '',
originalPrice: '',
imageUrlMedium: '',
imageUrlThumbnail: '',
isSell: false,
type: 1,
categoryName: '',
categoryId: '',
description: '',
groupName: '',
groupId: '',
),
lisrOrders: listOrders,
from: fromConfirmationPage,
contextFrom: context,
idMenu: listOrders[indexOrder].id,
menuName: listOrders[indexOrder].namaMenu,
priceMemu: listOrders[indexOrder].satuanHarga,
imageUrl: listOrders[indexOrder].imageUrl,
);
},
);
},
child: Container(
height: 30,
width: 98,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(21),
color: buttonColor),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const Image(
height: 16,
width: 16,
image: AssetImage('assets/icons/note.png'),
),
const SizedBox(
width: 10,
),
Container(
height: 16,
child: Center(
child: defaultText(
context,
(listOrders[indexOrder].note != '')
? 'Ubah'
: 'Catatan',
style: noteViewBill(
color: textInButton,
),
),
),
)
],
),
),
),
const Spacer(),
Stack(
children: [
Container(
width: 94,
height: 22,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30),
color: backgroundColor,
),
child: Center(
child: defaultText(
context,
listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalItem
.toString(),
style: amountViewBillButton(),
),
),
),
Positioned(
left: 0,
child: GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
int totalHarga = listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalHarga
.toInt();
int totalItem = listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalItem
.toInt();
int satuanHarga = totalHarga ~/ totalItem;
OrderDetail orderDetailNow = OrderDetail(
allIdVariant: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.allIdVariant,
totalItem: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalItem -
1,
totalHarga: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalHarga -
satuanHarga,
note: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.note,
orderVariant: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant,
);
Map<String, dynamic> insertData = {
'action': 'editVariant',
'list_orders': listOrders,
'single_order_detail': orderDetailNow,
};
context.read<OrdersBloc>().insertData(insertData);
},
child: Container(
width: 22,
height: 22,
child: Image(
image: AssetImage((isExcelso)
? 'assets/icons/minus-gold.png'
: 'assets/icons/minus-blue.png'),
),
),
),
),
Positioned(
right: 0,
child: GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
int totalHarga = listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalHarga
.toInt();
int totalItem = listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalItem
.toInt();
int satuanHarga = totalHarga ~/ totalItem;
OrderDetail orderDetailNow = OrderDetail(
allIdVariant: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.allIdVariant,
totalItem: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalItem +
1,
totalHarga: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.totalHarga +
satuanHarga,
note: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.note,
orderVariant: listOrders[indexOrder]
.orderDetail[indexOrderDetail]
.orderVariant,
);
Map<String, dynamic> insertData = {
'action': 'editVariant',
'list_orders': listOrders,
'single_order_detail': orderDetailNow,
};
context.read<OrdersBloc>().insertData(insertData);
},
child: Container(
width: 22,
height: 22,
child: Image(
image: AssetImage((isExcelso)
? 'assets/icons/plus-gold.png'
: 'assets/icons/plus.png'),
),
),
),
)
],
),
const SizedBox(
width: 12,
) )
], ],
), ),
......
...@@ -214,40 +214,54 @@ class _OrderViewBillNewState extends State<OrderViewBillNew> { ...@@ -214,40 +214,54 @@ class _OrderViewBillNewState extends State<OrderViewBillNew> {
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
), ),
), ),
(widget.billDetail.variant.isNotEmpty)
? Column(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
for (int k = 0; for (int k = 0;
k < widget.billDetail.variant.length; k < widget.billDetail.variant.length;
k++) k++)
Row( // Container(
mainAxisAlignment: // width: MediaQuery.of(context).size.width -
MainAxisAlignment.start, // paddingLeftRightBill -
children: [ // paddingLeftRightBill -
defaultText( // 88, // 88 itu besar image dan space sized box pemisah
// color: Colors.red,
// child: Row(
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// defaultText(
// context,
// "${widget.billDetail.variant[k].caption} : ",
// style: viewbillStyle(
// font: 12,
// fontWeight: FontWeight.w300,
// ),
// ),
// defaultText(
// context,
// widget.billDetail.variant[k].variantName
// .join(', '),
// style: viewbillStyle(
// font: 12,
// fontWeight: FontWeight.w300,
// ),
// )
// ],
// ),
// ),
Container(
width: MediaQuery.of(context).size.width -
paddingLeftRightBill -
paddingLeftRightBill -
88,
child: defaultText(
context, context,
"${widget.billDetail.variant[k].caption} : ", "${widget.billDetail.variant[k].caption} : ${widget.billDetail.variant[k].variantName.join(', ')}",
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
style: viewbillStyle( style: viewbillStyle(
font: 12, font: 12,
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
), ),
), ),
defaultText(
context,
widget.billDetail.variant[k].variantName.join(', '),
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
), ),
)
],
)
],
)
: const SizedBox(),
const SizedBox( const SizedBox(
height: 6, height: 6,
), ),
......
...@@ -1107,9 +1107,11 @@ class CoreBill extends StatelessWidget { ...@@ -1107,9 +1107,11 @@ class CoreBill extends StatelessWidget {
// ); // );
// } // }
}, },
child: const ButtonComponent( child: ButtonComponent(
buttonColor: successColor, buttonColor: successColor,
teksButton: 'Buat Pesanan Baru', teksButton: (isHistory)
? 'Kembali'
: 'Buat Pesanan Baru',
), ),
), ),
], ],
......
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