From 8d162bf19bec8ec9993e79fefa228f16dc682b8e Mon Sep 17 00:00:00 2001 From: suvaissov Date: Tue, 20 Jul 2021 00:04:40 +0600 Subject: [PATCH] price round fix --- lib/views/work/tabs/sell_view.dart | 72 ++++++++++--------- lib/views/work/tabs/utils/ProductUtils.dart | 12 ---- lib/views/work/tabs/utils/product_utils.dart | 13 ++++ .../work/views/payment/payment_view.dart | 2 +- 4 files changed, 53 insertions(+), 46 deletions(-) delete mode 100644 lib/views/work/tabs/utils/ProductUtils.dart create mode 100644 lib/views/work/tabs/utils/product_utils.dart diff --git a/lib/views/work/tabs/sell_view.dart b/lib/views/work/tabs/sell_view.dart index 48fa872..fcb6fec 100644 --- a/lib/views/work/tabs/sell_view.dart +++ b/lib/views/work/tabs/sell_view.dart @@ -18,7 +18,7 @@ import 'package:satu/views/work/tabs/component/product_list_item.dart'; import 'package:satu/widgets/bar/products_app_bar.dart'; import 'package:satu/widgets/bar/products_header_bar.dart'; import 'package:satu/widgets/bar/products_title_bar.dart'; -import 'package:satu/views/work/tabs/utils/ProductUtils.dart'; +import 'package:satu/views/work/tabs/utils/product_utils.dart'; import 'component/contagent_select_bar.dart'; @@ -39,44 +39,50 @@ class SellView extends StatelessWidget { sum: sumProducts(state.items!), ), ), - body: ListView( - physics: const BouncingScrollPhysics(), + body: Column( children: [ const ContragentSelectBar( value: 'Частное лицо', ), - Visibility( - visible: state.items!.isNotEmpty, - child: const ProductsTitleBarBar( - itemsExist: true, - title: 'Товары', + Expanded( + child: ListView( + physics: const BouncingScrollPhysics(), + children: [ + Visibility( + visible: state.items!.isNotEmpty, + child: const ProductsTitleBarBar( + itemsExist: true, + title: 'Товары', + ), + ), + ListView.separated( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.only(bottom: 120), + shrinkWrap: true, + itemCount: state.items!.length, + itemBuilder: (BuildContext context, int index) { + final ProductDao product = state.items!.elementAt(index); + return ProductListItem( + key: UniqueKey(), + ean: product.eanCode, + isOdd: index % 2 == 0, + name: product.productName, + price: product.price, + count: product.count, + categoryName: product.categoryName, + transactionId: product.transactionId, + ); + }, + separatorBuilder: (context, index) { + return const Divider( + height: 1, + color: disableColor, + ); + }, + ), + ], ), ), - ListView.separated( - physics: const BouncingScrollPhysics(), - padding: const EdgeInsets.only(bottom: 120), - shrinkWrap: true, - itemCount: state.items!.length, - itemBuilder: (BuildContext context, int index) { - final ProductDao product = state.items!.elementAt(index); - return ProductListItem( - key: UniqueKey(), - ean: product.eanCode, - isOdd: index % 2 == 0, - name: product.productName, - price: product.price, - count: product.count, - categoryName: product.categoryName, - transactionId: product.transactionId, - ); - }, - separatorBuilder: (context, index) { - return const Divider( - height: 1, - color: disableColor, - ); - }, - ), ], ), floatingActionButtonLocation: diff --git a/lib/views/work/tabs/utils/ProductUtils.dart b/lib/views/work/tabs/utils/ProductUtils.dart deleted file mode 100644 index bb24851..0000000 --- a/lib/views/work/tabs/utils/ProductUtils.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:satu/core/models/flow/product_dao.dart'; - -num sumProducts(List list) { - num result = 0.0; - if (list.isNotEmpty) { - list.forEach((product) { - result += (product.price! * product.count!); - }); - } - - return result; -} diff --git a/lib/views/work/tabs/utils/product_utils.dart b/lib/views/work/tabs/utils/product_utils.dart new file mode 100644 index 0000000..5b14fc7 --- /dev/null +++ b/lib/views/work/tabs/utils/product_utils.dart @@ -0,0 +1,13 @@ +import 'package:satu/core/models/flow/product_dao.dart'; + +num sumProducts(List list) { + num result = 0.0; + if (list.isNotEmpty) { + for( final ProductDao product in list) { + final String val = (product.price! * product.count!).toStringAsFixed(5); + // result += product.price! * product.count!; + result += num.parse(val); + } + } + return result; +} diff --git a/lib/views/work/views/payment/payment_view.dart b/lib/views/work/views/payment/payment_view.dart index 6b6e61b..e834786 100644 --- a/lib/views/work/views/payment/payment_view.dart +++ b/lib/views/work/views/payment/payment_view.dart @@ -8,7 +8,7 @@ import 'package:satu/shared/app_colors.dart'; import 'package:satu/widgets/bar/products_app_bar.dart'; import 'package:satu/widgets/bar/products_header_bar.dart'; import 'package:satu/widgets/bar/products_title_bar.dart'; -import 'package:satu/views/work/tabs/utils/ProductUtils.dart'; +import 'package:satu/views/work/tabs/utils/product_utils.dart'; import 'package:satu/widgets/buttons/busy_button.dart'; class PaymentView extends StatefulWidget {