From de9a41c495fd91975d31b027206b5183c07d0302 Mon Sep 17 00:00:00 2001 From: laiiihz Date: Tue, 16 Mar 2021 10:33:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E7=A8=8E=E4=BB=93=E5=92=8C=E5=9B=BD?= =?UTF-8?q?=E5=A4=96=E4=BB=93=E5=95=86=E5=93=81=E8=AE=A2=E5=8D=95=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E4=BD=BF=E7=94=A8=E4=BD=99=E9=A2=9D=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/classify/order_prepay_page.dart | 62 +++++++++++-------- .../home/classify/order_preview_page.dart | 7 ++- 2 files changed, 42 insertions(+), 27 deletions(-) diff --git a/lib/pages/home/classify/order_prepay_page.dart b/lib/pages/home/classify/order_prepay_page.dart index 26fe12e..f8e4700 100644 --- a/lib/pages/home/classify/order_prepay_page.dart +++ b/lib/pages/home/classify/order_prepay_page.dart @@ -37,8 +37,13 @@ class OrderPrepayPage extends StatefulWidget { const OrderPrepayPage({Key key, this.arguments}) : super(key: key); - static setArguments(OrderPrepayModel model, {bool goToOrder = false}) { - return {"model": model, "goToOrder": goToOrder}; + static setArguments(OrderPrepayModel model, + {bool goToOrder = false, bool canUseBalance = true}) { + return { + "model": model, + "goToOrder": goToOrder, + "canUseBalance": canUseBalance, + }; } @override @@ -59,6 +64,8 @@ class _OrderPrepayPageState extends BaseStoreState /// 取消支付后是否跳转到订单界面,从预览订单进来的会调到订单,订单列表继续支付进来的只会pop bool _goToOrder; + bool _canUseBalance = true; + /// 用于辅助判断 app 从后台进入前台时,是否需要向后台验证订单状态 bool _clickPay = false; BottomKeyBoardController _bottomKeyBoardController = @@ -94,6 +101,7 @@ class _OrderPrepayPageState extends BaseStoreState _presenter = OrderPresenterImpl(); _model = widget.arguments["model"]; _goToOrder = widget.arguments["goToOrder"]; + _canUseBalance = widget.arguments['canUseBalance'] ?? true; _presenter .queryRecookPayFund(UserManager.instance.user.info.id) .then((HttpResultModel model) { @@ -105,6 +113,10 @@ class _OrderPrepayPageState extends BaseStoreState if (model.data.data.amount > _model.data.actualTotalAmount) { _defaultPayIndex = 0; } + //在保税仓或海外仓商品时,无法使用余额支付 + if (!_canUseBalance) { + _defaultPayIndex = 1; + } _recookFundModel = model.data; }); }); @@ -189,29 +201,29 @@ class _OrderPrepayPageState extends BaseStoreState height: rSize(50), ), _payTile( - "", - SvgPicture.asset( - AppSvg.svg_balance_pay, - width: rSize(30), - height: rSize(30), - ), - 0, - widgetTitle: RichText( - text: TextSpan( - text: "余额支付 ", - style: AppTextStyle.generate(ScreenAdapterUtils.setSp(17)), - children: [ - TextSpan( - style: AppTextStyle.generate( - ScreenAdapterUtils.setSp(14), - color: Colors.grey), - text: - "(可用余额: ¥${_recookFundModel == null ? "--" : _recookFundModel.data.amount})") - ]), - ), - enable: _recookFundModel != null && - (_recookFundModel.data.amount >= - _model.data.actualTotalAmount)), + "", + SvgPicture.asset( + AppSvg.svg_balance_pay, + width: rSize(30), + height: rSize(30), + ), + 0, + widgetTitle: RichText( + text: TextSpan( + text: "余额支付 ", + style: AppTextStyle.generate(ScreenAdapterUtils.setSp(17)), + children: [ + TextSpan( + style: AppTextStyle.generate(ScreenAdapterUtils.setSp(14), + color: Colors.grey), + text: + "(可用余额: ¥${_recookFundModel == null ? "--" : _recookFundModel.data.amount})") + ]), + ), + enable: _recookFundModel != null && + (_recookFundModel.data.amount >= _model.data.actualTotalAmount) && + _canUseBalance, + ), _payTile( "微信支付", Icon( diff --git a/lib/pages/home/classify/order_preview_page.dart b/lib/pages/home/classify/order_preview_page.dart index 2e5c457..5f3a6cf 100644 --- a/lib/pages/home/classify/order_preview_page.dart +++ b/lib/pages/home/classify/order_preview_page.dart @@ -1098,7 +1098,10 @@ class _GoodsOrderPageState extends BaseStoreState { UserManager.instance.refreshShoppingCart.value = true; UserManager.instance.refreshShoppingCartNumber.value = true; AppRouter.pushAndReplaced(context, RouteName.ORDER_PREPAY_PAGE, - arguments: - OrderPrepayPage.setArguments(resultModel.data, goToOrder: true)); + arguments: OrderPrepayPage.setArguments( + resultModel.data, + goToOrder: true, + canUseBalance: !_checkSwitchEnabled, + )); } }