diff --git a/assets/svg/dingdan_waimai.svg b/assets/svg/dingdan_waimai.svg new file mode 100644 index 00000000..1a9fe492 --- /dev/null +++ b/assets/svg/dingdan_waimai.svg @@ -0,0 +1,20 @@ + + + 矩形备份 20 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/svg/dingdan_wuliu.svg b/assets/svg/dingdan_wuliu.svg new file mode 100644 index 00000000..1f0d46c4 --- /dev/null +++ b/assets/svg/dingdan_wuliu.svg @@ -0,0 +1,20 @@ + + + 矩形备份 20 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/svg/dingdan_ziqu.svg b/assets/svg/dingdan_ziqu.svg new file mode 100644 index 00000000..e52fb91e --- /dev/null +++ b/assets/svg/dingdan_ziqu.svg @@ -0,0 +1,20 @@ + + + 矩形备份 20 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/store/store_order.dart b/lib/store/store_order.dart index a4c0931e..8452d723 100644 --- a/lib/store/store_order.dart +++ b/lib/store/store_order.dart @@ -4,6 +4,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_swiper/flutter_swiper.dart'; import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/retrofit/data/activity.dart'; @@ -39,7 +40,8 @@ class StoreOrderPage extends StatefulWidget { } } -class _StoreOrderPage extends State with TickerProviderStateMixin/*, AutomaticKeepAliveClientMixin*/ { +class _StoreOrderPage extends State + with TickerProviderStateMixin /*, AutomaticKeepAliveClientMixin*/ { TabController tabcontroller; ApiService apiService; MinApiService minService; @@ -71,7 +73,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi _fc(int count, String productId, int allCount, double allPrice) { if (count == 0) { - int index = shopCarGoods.indexWhere((element) => element["id"] == productId); + int index = + shopCarGoods.indexWhere((element) => element["id"] == productId); shopCarGoods.removeAt(index); } @@ -239,7 +242,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi coupon: true, ), - if (storeInfo == null || storeInfo.couponVOList == null) + if (storeInfo == null || + storeInfo.couponVOList == null) SizedBox( height: 8, ), @@ -274,8 +278,10 @@ class _StoreOrderPage extends State with TickerProviderStateMixi isScrollable: true, indicatorWeight: 1, indicatorColor: Color(0xFFFAFAFA), - labelPadding: - EdgeInsets.only(left: 8.w, right: 8.w), + labelPadding: EdgeInsets.only( + left: 8.w, + right: 8.w, + ), indicatorSize: TabBarIndicatorSize.label, unselectedLabelStyle: TextStyle( fontSize: 15.sp, @@ -288,8 +294,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi ), labelColor: Colors.black, tabs: [ - MyTab(text: S.current.diancan), - MyTab(text: S.current.xindianhuodong), + MyTab(text: S.of(context).diancan), + MyTab(text: S.of(context).xindianhuodong), ], ), ), @@ -356,12 +362,7 @@ class _StoreOrderPage extends State with TickerProviderStateMixi Spacer(), GestureDetector( onTap: () { - Navigator.of(context).pushNamed( - '/router/settlement', - arguments: { - "storeInfo": storeInfo, - }, - ); + toDownOrder(); }, child: RoundButton( width: 103.w, @@ -414,6 +415,20 @@ class _StoreOrderPage extends State with TickerProviderStateMixi ); } + toDownOrder() { + if (shopCarGoods == null || shopCarGoods.length == 0) { + SmartDialog.showToast("请选择要购买的商品~"); + return ; + } + Navigator.of(context).pushNamed( + '/router/settlement', + arguments: { + "storeInfo": storeInfo, + "shopGoods": shopCarGoods, + }, + ); + } + Widget buildSwiper() { return Container( width: double.infinity, @@ -481,6 +496,7 @@ class _StoreOrderPage extends State with TickerProviderStateMixi shopCar, shopCarGoods, clearShopCar, + toDownOrder, (int count, String productId, allCount, allPrice) { print("shopCarCount: $allCount allPrice: $allPrice "); setState(() { @@ -495,8 +511,7 @@ class _StoreOrderPage extends State with TickerProviderStateMixi ///清空购物车 clearShopCar() { - if (shopCarGoods != null) - shopCarGoods.clear(); + if (shopCarGoods != null) shopCarGoods.clear(); calculatePrice(); setState(() {}); } @@ -542,7 +557,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi } }); if (map != null) { - int index = shopCarGoods.indexWhere((element) => element["id"] == result["id"]); + int index = shopCarGoods + .indexWhere((element) => element["id"] == result["id"]); shopCarGoods.removeAt(index); shopCarGoods.insert(index, result); } else { @@ -561,7 +577,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi double singlePrice = double.tryParse(element2["price"]); allCount += element2["count"]; - AiDecimalAccuracy aiDecimalAccuracy = AiDecimalAccuracy.fromInt(element2["count"]); + AiDecimalAccuracy aiDecimalAccuracy = + AiDecimalAccuracy.fromInt(element2["count"]); AiDecimalAccuracy aiPrice = AiDecimalAccuracy.tryParse("$singlePrice"); allPriceDecimal += (aiPrice * aiDecimalAccuracy); @@ -572,8 +589,8 @@ class _StoreOrderPage extends State with TickerProviderStateMixi setState(() {}); } - // @override - // bool get wantKeepAlive => true; +// @override +// bool get wantKeepAlive => true; } class Title extends StatefulWidget { diff --git a/lib/store/store_view/settlement.dart b/lib/store/store_view/settlement.dart index b2eded5c..8bd6918b 100644 --- a/lib/store/store_view/settlement.dart +++ b/lib/store/store_view/settlement.dart @@ -3,8 +3,11 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:huixiang/generated/l10n.dart'; +import 'package:huixiang/order/order_view/order_commodity.dart'; +import 'package:huixiang/order/order_view/order_info.dart'; import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/coupon.dart'; +import 'package:huixiang/retrofit/data/order_info.dart'; import 'package:huixiang/retrofit/data/settleOrderInfo.dart'; import 'package:huixiang/retrofit/data/store_info.dart'; import 'package:huixiang/retrofit/min_api.dart'; @@ -57,21 +60,19 @@ class _Settlement extends State { StoreInfo storeInfo; SettleOrderInfo settleOrderInfo; - ///订单结算信息 queryOrderInfo() async { BaseData baseData = await minService.getOrderInfo({ - "addressId":null, + "addressId": null, "isTake": 0, "memberCouponId": null, // "orderId": widget.arguments["orderId"], - "orderId":"1449199929208602624", + "orderId": "1449199929208602624", "promotionId": null }); if (baseData != null && baseData.isSuccess) { settleOrderInfo = baseData.data; - setState(() { - }); + setState(() {}); } } @@ -95,7 +96,7 @@ class _Settlement extends State { appBar: MyAppBar( background: Color(0xFF3A405A), leadingColor: Colors.white, - title:S.of(context).dingdanjiesuan, + title: S.of(context).dingdanjiesuan, titleColor: Colors.white, titleSize: 18.sp, ), @@ -106,10 +107,12 @@ class _Settlement extends State { child: Column( children: [ distributionMode(), - SizedBox(height: 14,), + SizedBox( + height: 14, + ), ///订单商品 - SettlementOrderCommodity(settleOrderInfo,0), + SettlementOrderCommodity(settleOrderInfo, 0), // if (payStatus == 0) couponRemarks(), /*(payStatus == 0) ? paySelector() : */ @@ -118,7 +121,6 @@ class _Settlement extends State { ///支付方式 payMethod(), - ], ), ), @@ -134,49 +136,48 @@ class _Settlement extends State { bottom: 0, left: 0, right: 0, - child: - Container( - height: 54.h, - color: Colors.white, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Spacer(), - Text( - S.of(context).heji, - style: TextStyle( - fontSize: 12.sp, - fontWeight: MyFontWeight.regular, - color: Colors.black, - ), - ), - Text( - "¥19.00", - style: TextStyle( - fontSize: 20.sp, - fontWeight: MyFontWeight.semi_bold, - color: Color(0xFF32A060), - ), - ), - SizedBox(width: 28,), - GestureDetector( - onTap: () { - - }, - child: RoundButton( - width: 103.w, - height: 54.h, - text: S.current.jiesuan, - textColor: Colors.white, - fontWeight: MyFontWeight.regular, - backgroup: Color(0xFF32A060), - fontSize: 16.sp, - padding: EdgeInsets.symmetric(vertical: 5.h), - ), - ), - ], + child: Container( + height: 54.h, + color: Colors.white, + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Spacer(), + Text( + S.of(context).heji, + style: TextStyle( + fontSize: 12.sp, + fontWeight: MyFontWeight.regular, + color: Colors.black, + ), ), - ), + Text( + "¥19.00", + style: TextStyle( + fontSize: 20.sp, + fontWeight: MyFontWeight.semi_bold, + color: Color(0xFF32A060), + ), + ), + SizedBox( + width: 28, + ), + GestureDetector( + onTap: () {}, + child: RoundButton( + width: 103.w, + height: 54.h, + text: S.current.jiesuan, + textColor: Colors.white, + fontWeight: MyFontWeight.regular, + backgroup: Color(0xFF32A060), + fontSize: 16.sp, + padding: EdgeInsets.symmetric(vertical: 5.h), + ), + ), + ], + ), + ), ) ], ); @@ -186,7 +187,6 @@ class _Settlement extends State { String center = ""; TextEditingController _vc = TextEditingController(); - Widget distributionMode() { return Container( decoration: BoxDecoration( @@ -223,37 +223,40 @@ class _Settlement extends State { Expanded( flex: 1, child: Container( - height: 50.h, - decoration: BoxDecoration( - image: selectedBtn == 0 - ? DecorationImage( - image: AssetImage( - "assets/image/order_btn1.png"), - fit: BoxFit.fill, - ) - : null, - borderRadius: BorderRadius.only( - topLeft: Radius.circular(8))), - child: GestureDetector( - onTap: () { - setState(() { - selectedBtn = 0; - }); - }, - child: Stack( - alignment: Alignment.center, - children: [ - Text( - S.of(context).daodianziqu, - style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.semi_bold, - color: Colors.black, - ), + height: 50.h, + decoration: BoxDecoration( + image: selectedBtn == 0 + ? DecorationImage( + image: + AssetImage("assets/image/order_btn1.png"), + fit: BoxFit.fill, + ) + : null, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(8), + ), + ), + child: GestureDetector( + onTap: () { + setState(() { + selectedBtn = 0; + }); + }, + child: Stack( + alignment: Alignment.center, + children: [ + Text( + S.of(context).daodianziqu, + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.semi_bold, + color: Colors.black, ), - ], - ), - )), + ), + ], + ), + ), + ), ), Expanded( flex: 1, @@ -273,7 +276,7 @@ class _Settlement extends State { fit: BoxFit.fill, ), Text( - S.of(context).waimaipeisong, + S.of(context).waimaipeisong, style: TextStyle( fontSize: 14.sp, fontWeight: MyFontWeight.regular, @@ -287,68 +290,214 @@ class _Settlement extends State { Expanded( flex: 1, child: Container( - height: 50.h, - decoration: BoxDecoration( - image: selectedBtn == 2 - ? DecorationImage( - image: AssetImage( - "assets/image/order_btn3.png"), - fit: BoxFit.fill, - ) - : null, - borderRadius: BorderRadius.only( - topRight: Radius.circular(8))), - child: GestureDetector( - onTap: () { - setState(() { - // selectedBtn = 2; - SmartDialog.showToast("该功能暂未开放!", alignment: Alignment.center); - }); - }, - child: Stack( - alignment: Alignment.center, - children: [ - Text( - S.of(context).kuaidiwuliu, - style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.regular, - color: Colors.black, - ), + height: 50.h, + decoration: BoxDecoration( + image: selectedBtn == 2 + ? DecorationImage( + image: + AssetImage("assets/image/order_btn3.png"), + fit: BoxFit.fill, + ) + : null, + borderRadius: BorderRadius.only( + topRight: Radius.circular(8), + ), + ), + child: GestureDetector( + onTap: () { + setState(() { + // selectedBtn = 2; + SmartDialog.showToast("该功能暂未开放!", + alignment: Alignment.center); + }); + }, + child: Stack( + alignment: Alignment.center, + children: [ + Text( + S.of(context).kuaidiwuliu, + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.regular, + color: Colors.black, ), - ], - ), - )), + ), + ], + ), + ), + ), ), ], ), ), - selectedBtn == 0 ? - Container( - width: double.infinity, - padding: EdgeInsets.only(left: 16, right: 16, top: 15), - child: Column( - children: [ - Row( - children: [ - Expanded(child:Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - storeInfo != null ? (storeInfo.storeName ?? "") : "", - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.semi_bold, - color: Color(0xFF4C4C4C), + selectedBtn == 0 + ? Container( + width: double.infinity, + padding: EdgeInsets.only(left: 16, right: 16, top: 15), + child: Column( + children: [ + Row( + children: [ + Expanded( + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + storeInfo != null + ? (storeInfo.storeName ?? "") + : "", + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.semi_bold, + color: Color(0xFF4C4C4C), + ), + ), + SizedBox( + height: 4, + ), + Text( + storeInfo != null + ? storeInfo.address + : "", + overflow: TextOverflow.ellipsis, + maxLines: 2, + style: TextStyle( + fontSize: 12.sp, + fontWeight: MyFontWeight.regular, + color: Color(0xFF727272), + ), + ), + SizedBox( + height: 12, + ), + ], + ), ), - ), - SizedBox( - height: 4, - ), - Text( - storeInfo != null ? storeInfo.address : "", + SizedBox( + width: 18, + ), + Stack( + alignment: Alignment.center, + children: [ + Column( + children: [ + Image.asset( + "assets/image/map.png", + height: 61.h, + width: 61.w, + ), + ], + ), + Column( + children: [ + RoundButton( + width: 41.w, + height: 13, + text: "距离您11m", + textColor: Color(0xFF34A262), + fontWeight: MyFontWeight.semi_bold, + radius: 7.5, + backgroup: Colors.white, + fontSize: 7.sp, + ), + Image.asset( + "assets/image/landmark.png", + height: 24.h, + width: 24.w, + ), + ], + ), + ], + ) + ], + ), + Row( + children: [ + Expanded( + child: Text( + S.of(context).yuliudianhua, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.regular, + color: Color(0xFF4C4C4C), + ), + ), + ), + Text( + storeInfo != null ? storeInfo.headMobile : "", + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.medium, + color: Color(0xFF4C4C4C), + ), + ), + GestureDetector( + onTap: () { + showAlertDialog(); + }, + child: Image.asset( + "assets/image/pen.png", + height: 14.h, + width: 14.w, + ), + ), + ], + ) + ], + ), + ) + : Container( + width: double.infinity, + padding: EdgeInsets.only(left: 16, right: 16, top: 15), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + "assets/image/icon_permission_location.png", + height: 24.h, + width: 24.w, + ), + Text( + "张先生", + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 15.sp, + fontWeight: MyFontWeight.medium, + color: Color(0xFF4C4C4C), + ), + ), + SizedBox( + width: 13, + ), + Expanded( + child: Text( + "12309090909", + overflow: TextOverflow.ellipsis, + maxLines: 2, + style: TextStyle( + fontSize: 15.sp, + fontWeight: MyFontWeight.medium, + color: Color(0xFF4C4C4C), + ), + ), + ), + Icon( + Icons.keyboard_arrow_right, + size: 24, + ), + ], + ), + Padding( + padding: EdgeInsets.only(top: 4, left: 25), + child: Text( + "武昌区中国铁建凯德1818蓝调步行街中北路109附33门牌号05", overflow: TextOverflow.ellipsis, maxLines: 2, style: TextStyle( @@ -357,136 +506,10 @@ class _Settlement extends State { color: Color(0xFF727272), ), ), - SizedBox( - height: 12, - ), - ], - ),), - SizedBox( - width: 18, - ), - Stack( - alignment: Alignment.center, - children: [ - Column( - children: [ - Image.asset( - "assets/image/map.png", - height: 61.h, - width:61.w, - ), - ], - ), - Column(children: [ - RoundButton( - width: 41.w, - height: 13, - text: "距离您11m", - textColor:Color(0xFF34A262), - fontWeight: MyFontWeight.semi_bold, - radius:7.5, - backgroup:Colors.white, - fontSize:7.sp, - ), - Image.asset( - "assets/image/landmark.png", - height: 24.h, - width:24.w, - ), - ],), - ], - ) - ], - ), - Row( - children: [ - Expanded(child: Text( - S.of(context).yuliudianhua, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.regular, - color: Color(0xFF4C4C4C), - ), - )), - Text( - storeInfo != null ? storeInfo.headMobile:"", - style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.medium, - color: Color(0xFF4C4C4C), - ), - ), - GestureDetector( - onTap: (){ - showAlertDialog(); - }, - child:Image.asset( - "assets/image/pen.png", - height:14.h, - width:14.w, ), - ), - ], - ) - ], - ), - ) - : Container( - width: double.infinity, - padding: EdgeInsets.only(left: 16, right: 16, top: 15), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Image.asset( - "assets/image/icon_permission_location.png", - height:24.h, - width:24.w, - ), Text( - "张先生", - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 15.sp, - fontWeight: MyFontWeight.medium, - color: Color(0xFF4C4C4C), - ), - ), - SizedBox( - width: 13, - ), - Expanded(child: Text( - "12309090909", - overflow: TextOverflow.ellipsis, - maxLines: 2, - style: TextStyle( - fontSize: 15.sp, - fontWeight: MyFontWeight.medium, - color: Color(0xFF4C4C4C), - ), - ),), - Icon( - Icons.keyboard_arrow_right, - size:24, - ), - ], - ), - Padding(padding:EdgeInsets.only(top: 4,left:25), - child: Text( - "武昌区中国铁建凯德1818蓝调步行街中北路109附33门牌号05", - overflow: TextOverflow.ellipsis, - maxLines: 2, - style: TextStyle( - fontSize: 12.sp, - fontWeight: MyFontWeight.regular, - color: Color(0xFF727272), + ], ), - ),), - ], - ), - ), + ), ], ), ], @@ -494,7 +517,7 @@ class _Settlement extends State { ); } - Widget activityRemarks(){ + Widget activityRemarks() { return Container( decoration: BoxDecoration( color: Colors.white, @@ -509,29 +532,40 @@ class _Settlement extends State { borderRadius: BorderRadius.circular(8), ), height: 86.h, - margin: EdgeInsets.only(left: 16, right: 16, top: 15), - padding: EdgeInsets.only(left: 16, right: 16, top: 16), + margin: EdgeInsets.only( + left: 16, + right: 16, + top: 15, + ), + padding: EdgeInsets.only( + left: 16, + right: 16, + top: 16, + ), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Expanded(flex: 1,child:Text( - S.of(context).youhuiquan, - style: TextStyle( - fontWeight: MyFontWeight.regular, - fontSize: 14.sp, - color: Color(0xFF353535), + Expanded( + flex: 1, + child: Text( + S.of(context).youhuiquan, + style: TextStyle( + fontWeight: MyFontWeight.regular, + fontSize: 14.sp, + color: Color(0xFF353535), + ), ), - )), + ), Text( "满30减10", textAlign: TextAlign.end, style: TextStyle( fontSize: 14.sp, color: Color(0xFF32A060), - fontWeight: MyFontWeight.semi_bold + fontWeight: MyFontWeight.semi_bold, ), ), InkWell( @@ -540,35 +574,38 @@ class _Settlement extends State { couponCart(); }); }, - child: Icon( + child: Icon( Icons.keyboard_arrow_right, size: 16, ), ), - ], ), - SizedBox(height: 13, + SizedBox( + height: 13, ), Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Expanded(flex: 1,child:Text( - S.of(context).beizhu, - style: TextStyle( - fontWeight: MyFontWeight.regular, - fontSize: 14.sp, - color: Color(0xFF353535), + Expanded( + flex: 1, + child: Text( + S.of(context).beizhu, + style: TextStyle( + fontWeight: MyFontWeight.regular, + fontSize: 14.sp, + color: Color(0xFF353535), + ), ), - )), + ), Text( "口味、面包硬度等", textAlign: TextAlign.end, style: TextStyle( - fontSize: 14.sp, - color: Color(0xFF353535), - fontWeight: MyFontWeight.semi_bold + fontSize: 14.sp, + color: Color(0xFF353535), + fontWeight: MyFontWeight.semi_bold, ), ), Icon( @@ -582,7 +619,7 @@ class _Settlement extends State { ); } - Widget payMethod(){ + Widget payMethod() { return Container( width: double.infinity, margin: EdgeInsets.only( @@ -619,14 +656,14 @@ class _Settlement extends State { style: TextStyle( fontSize: 16.sp, color: Colors.black, - fontWeight:MyFontWeight.regular, + fontWeight: MyFontWeight.regular, ), ), ), GestureDetector( onTap: () { setState(() { - checkIndex =1; + checkIndex = 1; }); }, child: Row( @@ -637,19 +674,20 @@ class _Settlement extends State { Text( S.of(context).pingtaiyue, style: TextStyle( - fontSize: 14.sp, - color: Color(0xff353535), - fontWeight: MyFontWeight.semi_bold - ), + fontSize: 14.sp, + color: Color(0xff353535), + fontWeight: MyFontWeight.semi_bold), ), ], ), ), - SizedBox(height: 10,), + SizedBox( + height: 10, + ), GestureDetector( onTap: () { setState(() { - checkIndex =2; + checkIndex = 2; }); }, child: Row( @@ -662,13 +700,15 @@ class _Settlement extends State { style: TextStyle( fontSize: 14.sp, color: Color(0xff353535), - fontWeight: MyFontWeight.semi_bold, + fontWeight: MyFontWeight.semi_bold, ), ), ], ), ), - SizedBox(height: 10,), + SizedBox( + height: 10, + ), GestureDetector( onTap: () { setState(() { @@ -689,7 +729,7 @@ class _Settlement extends State { style: TextStyle( fontSize: 14.sp, color: Color(0xff353535), - fontWeight: MyFontWeight.semi_bold, + fontWeight: MyFontWeight.semi_bold, ), ), ), @@ -764,15 +804,19 @@ class _Settlement extends State { fontWeight: MyFontWeight.medium, ), ), - SizedBox(width: 4,), - Expanded(child: Text( - "(1)", - style: TextStyle( - color: Color(0xFF000000), - fontSize: 14.sp, - fontWeight: MyFontWeight.medium, + SizedBox( + width: 4, + ), + Expanded( + child: Text( + "(1)", + style: TextStyle( + color: Color(0xFF000000), + fontSize: 14.sp, + fontWeight: MyFontWeight.medium, + ), ), - ),), + ), InkWell( onTap: () { Navigator.of(context).pop(); @@ -794,13 +838,12 @@ class _Settlement extends State { right: 16, ), child: ListView.builder( - itemCount:5, + itemCount: 5, physics: BouncingScrollPhysics(), itemBuilder: (context, position) { // return shoppGoodsItem(); return GestureDetector( - onTap: () { - }, + onTap: () {}, child: couponItem(position), ); }, @@ -817,9 +860,9 @@ class _Settlement extends State { ///优惠券列表 Widget couponItem(int index) { - return StatefulBuilder(builder: (context1, state){ + return StatefulBuilder(builder: (context1, state) { return Container( - height:170, + height: 170, width: double.infinity, margin: EdgeInsets.fromLTRB(14.w, 6.h, 14.w, 6.h), decoration: BoxDecoration( @@ -846,7 +889,7 @@ class _Settlement extends State { crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded( - child:Column( + child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -901,8 +944,7 @@ class _Settlement extends State { Container( padding: EdgeInsets.fromLTRB(4, 2, 4, 2), decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(2), + borderRadius: BorderRadius.circular(2), border: Border.all( width: 1, color: Color(0xFFFF7A1A), @@ -956,13 +998,13 @@ class _Settlement extends State { ), Container( margin: EdgeInsets.only(right: 23.w), - child:GestureDetector( - onTap: (){ + child: GestureDetector( + onTap: () { state(() { isSelected = index; }); }, - child:Image.asset( + child: Image.asset( isSelected != index ? "assets/image/icon_radio_unselected.png" : "assets/image/icon_radio_selected.png", @@ -1032,7 +1074,7 @@ class _Settlement extends State { ), Text( (coupon.useStartTime == null && - coupon.useEndTime == null) + coupon.useEndTime == null) ? S.of(context).quantian : "${coupon.useStartTime.replaceAll("-", ".").split(" ")[0]} - ${coupon.useEndTime.replaceAll("-", ".").split(" ")[0]}", style: TextStyle( @@ -1067,5 +1109,4 @@ class _Settlement extends State { ), ); } - } diff --git a/lib/store/store_view/shop_car.dart b/lib/store/store_view/shop_car.dart index fc1fc57c..90fa6e1b 100644 --- a/lib/store/store_view/shop_car.dart +++ b/lib/store/store_view/shop_car.dart @@ -11,6 +11,7 @@ class ShopCar extends StatefulWidget { final List productLists; final Function(String id) queryMiNiDetail; final Function() clearShopCar; + final Function() toDownOrder; final List> shopCarGoods; final Function(int count, String productId, int allCount, double allPrice) fc; @@ -19,6 +20,7 @@ class ShopCar extends StatefulWidget { this.productLists, this.shopCarGoods, this.clearShopCar, + this.toDownOrder, this.fc, { this.queryMiNiDetail, }); @@ -211,10 +213,7 @@ class _ShopCar extends State { Spacer(), GestureDetector( onTap: () { - Navigator.of(context).pushNamed( - '/router/settlement', - arguments: {}, - ); + widget.toDownOrder(); }, child: RoundButton( width: 103.w,