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';
import '../../helper/widget/note_modal_bottom_sheet.dart';
import '../../main.dart';
import '../../models/filter_menu.dart';
import '../../models/order_details.dart';
import '../../models/orders.dart';
import '../checkout/fuction.dart';
import 'app_bar_confirm.dart';
......@@ -42,6 +43,8 @@ class CoreConfirm extends StatelessWidget {
@override
Widget build(BuildContext context) {
double widthScreen = responsiveWidthScreen(context);
double widthRowForNote =
MediaQuery.of(context).size.width - 20 - 12 - 80 - 20;
return BlocBuilder<OrdersBloc, List<Orders>>(
builder: (context, listOrders) {
int totalHarga = 0;
......@@ -131,6 +134,7 @@ class CoreConfirm extends StatelessWidget {
i,
context,
indexAdaVariant,
widthRowForNote,
),
),
for (int j in indexTidakAdaVariant)
......@@ -172,12 +176,15 @@ class CoreConfirm extends StatelessWidget {
mainAxisAlignment:
MainAxisAlignment.center,
children: [
defaultText(
context,
listOrders[j].namaMenu,
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(),
Container(
width: widthRowForNote,
child: defaultText(
context,
listOrders[j].namaMenu,
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(),
),
),
const SizedBox(
height: 6,
......@@ -194,15 +201,19 @@ class CoreConfirm extends StatelessWidget {
height: 6,
),
(listOrders[j].note != '')
? defaultText(
context,
"Catatan: ${listOrders[j].note}",
maxLines: 2,
overFlow:
TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
? Container(
width: widthRowForNote,
child: defaultText(
context,
"Catatan: ${listOrders[j].note}",
// maxLines: 2,
// overFlow:
// TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight:
FontWeight.w300,
),
),
)
: const SizedBox(),
......@@ -748,8 +759,13 @@ class CoreConfirm extends StatelessWidget {
);
}
Column listWithVariant(List<Orders> listOrders, i, BuildContext context,
List<dynamic> indexAdaVariant) {
Column listWithVariant(
List<Orders> listOrders,
i,
BuildContext context,
List<dynamic> indexAdaVariant,
double widthRowForNote,
) {
// dippecah lagi masing2 indexnya
int indexOrder = int.parse(i.split('|')[0]);
int indexOrderDetail = int.parse(i.split('|')[1]);
......@@ -819,12 +835,15 @@ class CoreConfirm extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
defaultText(
context,
listOrders[indexOrder].namaMenu,
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(),
Container(
width: widthRowForNote,
child: defaultText(
context,
listOrders[indexOrder].namaMenu,
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
style: menuNameListViewBill(),
),
),
const SizedBox(
height: 6,
......@@ -840,19 +859,6 @@ class CoreConfirm extends StatelessWidget {
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(
......@@ -870,31 +876,281 @@ class CoreConfirm extends StatelessWidget {
// FontWeight.w300,
// ),
// ),
Row(
children: [
defaultText(
Container(
width: widthRowForNote,
child: 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,
),
),
],
),
),
(listOrders[indexOrder].orderDetail[indexOrderDetail].note !=
'')
? Container(
width: widthRowForNote,
child: defaultText(
context,
"${variantCaption[a]} : ",
maxLines: 2,
overFlow: TextOverflow.ellipsis,
"Catatan: ${listOrders[indexOrder].orderDetail[indexOrderDetail].note}",
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
defaultText(
)
: 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,
variantName[a],
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
(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> {
fontWeight: FontWeight.w300,
),
),
(widget.billDetail.variant.isNotEmpty)
? Column(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
for (int k = 0;
k < widget.billDetail.variant.length;
k++)
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,
),
)
],
)
],
)
: const SizedBox(),
for (int k = 0;
k < widget.billDetail.variant.length;
k++)
// Container(
// width: MediaQuery.of(context).size.width -
// paddingLeftRightBill -
// paddingLeftRightBill -
// 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,
"${widget.billDetail.variant[k].caption} : ${widget.billDetail.variant[k].variantName.join(', ')}",
// maxLines: 2,
// overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 12,
fontWeight: FontWeight.w300,
),
),
),
const SizedBox(
height: 6,
),
......
......@@ -1107,9 +1107,11 @@ class CoreBill extends StatelessWidget {
// );
// }
},
child: const ButtonComponent(
child: ButtonComponent(
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