From 410f162eedda8819e8ac00021ed12a6317b7d508 Mon Sep 17 00:00:00 2001 From: suvaissov Date: Mon, 19 Jul 2021 16:46:26 +0600 Subject: [PATCH] payment_view.dart --- lib/routes/route_names.dart | 2 + lib/routes/router.dart | 7 +- lib/views/work/tabs/sell_view.dart | 5 +- .../work/views/payment/payment_view.dart | 78 +++++++++++++++++++ lib/widgets/bar/products_title_bar.dart | 4 +- 5 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 lib/views/work/views/payment/payment_view.dart diff --git a/lib/routes/route_names.dart b/lib/routes/route_names.dart index b9ba7f3..0ad7310 100644 --- a/lib/routes/route_names.dart +++ b/lib/routes/route_names.dart @@ -6,5 +6,7 @@ const String addByBarcodeViewRoute = 'AddByBarcodeView'; const String contragentSelectViewRoute = 'ContragentSelectViewRoute'; +const String paymentViewRoute = 'paymentViewRoute'; + const String settingPrinterBluetoothViewRoute = 'SettingPrinterBluetoothView'; // Generate the views here diff --git a/lib/routes/router.dart b/lib/routes/router.dart index 71d3145..069b437 100644 --- a/lib/routes/router.dart +++ b/lib/routes/router.dart @@ -5,6 +5,7 @@ import 'package:satu/views/login/login_view.dart'; import 'package:satu/views/main/main_view.dart'; import 'package:satu/views/settings/printer_bluetooth/PrinterSelect.dart'; import 'package:satu/views/work/views/contragent/select_contragent_view.dart'; +import 'package:satu/views/work/views/payment/payment_view.dart'; import 'package:satu/views/work/work_view.dart'; import './route_names.dart'; @@ -48,7 +49,11 @@ Route generateRoute(RouteSettings settings) { routeName: settings.name!, viewToShow: SelectContragentView(), ); - + case paymentViewRoute: + return _getPageRoute( + routeName: settings.name!, + viewToShow: PaymentView(), + ); // case ImageShowRoute: // ImageShowModel data = settings.arguments as ImageShowModel; // //return SlideRightRoute(widget: ImageShowContainer(data)); diff --git a/lib/views/work/tabs/sell_view.dart b/lib/views/work/tabs/sell_view.dart index 9420f47..48fa872 100644 --- a/lib/views/work/tabs/sell_view.dart +++ b/lib/views/work/tabs/sell_view.dart @@ -58,7 +58,7 @@ class SellView extends StatelessWidget { shrinkWrap: true, itemCount: state.items!.length, itemBuilder: (BuildContext context, int index) { - final ProductDao product = state.items!.elementAt(0); + final ProductDao product = state.items!.elementAt(index); return ProductListItem( key: UniqueKey(), ean: product.eanCode, @@ -103,7 +103,8 @@ class SellView extends StatelessWidget { mini: true, elevation: 2, backgroundColor: successColor, - onPressed: () => print('check'), + onPressed: () => locator() + .push(paymentViewRoute), child: Icon(Icons.check, color: whiteColor, size: 35.sp), )), Column( diff --git a/lib/views/work/views/payment/payment_view.dart b/lib/views/work/views/payment/payment_view.dart new file mode 100644 index 0000000..6b6e61b --- /dev/null +++ b/lib/views/work/views/payment/payment_view.dart @@ -0,0 +1,78 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:satu/core/redux/state/sell_state.dart'; +import 'package:satu/core/redux/store.dart'; +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/widgets/buttons/busy_button.dart'; + +class PaymentView extends StatefulWidget { + @override + _PaymentViewState createState() => _PaymentViewState(); +} + +class _PaymentViewState extends State { + bool combine = false; + + @override + Widget build(BuildContext context) { + return StoreConnector( + converter: (store) => store.state.sellState!, + builder: (_, state) { + return Scaffold( + appBar: ProductsAppBar( + title: 'Способ оплаты', + backgroundColor: backgroundColor, + childHeight: 60, + child: ProductHeaderBar( + count: state.items!.length, + sum: sumProducts(state.items!), + ), + ), + body: ListView( + physics: const BouncingScrollPhysics(), + children: [ + Padding( + padding: EdgeInsets.symmetric(horizontal: 15.w), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Способ оплаты', + style: TextStyle( + fontSize: 16.sp, color: placeholderColor), + ), + Row( + children: [ + Text( + 'Комбинированный', + style: TextStyle(fontSize: 14.sp, color: placeholderColor), + ), + Switch( + value: combine, + onChanged: (vl) { + setState(() { + combine = !combine; + }); + }, + ), + ], + ) + ], + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 45.0), + child: BusyButton(title: 'ОПЛАТА', onPressed: () {}), + ), + ], + ), + ); + }); + } +} diff --git a/lib/widgets/bar/products_title_bar.dart b/lib/widgets/bar/products_title_bar.dart index 649b19e..a7a2acb 100644 --- a/lib/widgets/bar/products_title_bar.dart +++ b/lib/widgets/bar/products_title_bar.dart @@ -24,7 +24,7 @@ class ProductsTitleBarBar extends StatelessWidget { padding: EdgeInsets.symmetric( vertical: 10.w ), child: Text( title, - style: TextStyle(fontSize: ScreenUtil().setSp(14), color: placeholderColor), + style: TextStyle(fontSize: 16.sp, color: placeholderColor), ), )), if(itemsExist) @@ -51,7 +51,7 @@ class ProductsTitleBarBar extends StatelessWidget { }, child: Text( 'Удалить все', - style: TextStyle(fontSize: 14.sp, color: dangerColor), + style: TextStyle(fontSize: 16.sp, color: dangerColor), )) ], ),