diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 57689d75..a7f23b74 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -154,8 +154,10 @@ class MessageLookup extends MessageLookupByLibrary { "dengdaiyonghuqucan" : MessageLookupByLibrary.simpleMessage("等待用户取餐"), "denglu" : MessageLookupByLibrary.simpleMessage("登录"), "diancan" : MessageLookupByLibrary.simpleMessage("点餐"), + "diandan" : MessageLookupByLibrary.simpleMessage("点单"), "dianhua" : MessageLookupByLibrary.simpleMessage("电话"), "dianjidenglu" : MessageLookupByLibrary.simpleMessage("点击登录,享受更多精彩信息"), + "dianpuyue" : MessageLookupByLibrary.simpleMessage("店铺余额"), "dianwolingqu" : MessageLookupByLibrary.simpleMessage("点我领取"), "dianzanxihuan_" : m3, "dingdan" : MessageLookupByLibrary.simpleMessage("订单"), @@ -331,6 +333,7 @@ class MessageLookup extends MessageLookupByLibrary { "phone_error" : MessageLookupByLibrary.simpleMessage("手机格式错误"), "pinglun" : MessageLookupByLibrary.simpleMessage("评论"), "pinglun_" : m21, + "pingtaiyue" : MessageLookupByLibrary.simpleMessage("平台余额"), "pinpai" : MessageLookupByLibrary.simpleMessage("品牌"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("品牌介绍"), "privacy_policy1" : MessageLookupByLibrary.simpleMessage("登录既同意"), diff --git a/lib/generated/intl/messages_zh_CN.dart b/lib/generated/intl/messages_zh_CN.dart index 22dcba2b..dd0f4d8f 100644 --- a/lib/generated/intl/messages_zh_CN.dart +++ b/lib/generated/intl/messages_zh_CN.dart @@ -154,8 +154,10 @@ class MessageLookup extends MessageLookupByLibrary { "dengdaiyonghuqucan" : MessageLookupByLibrary.simpleMessage("等待用户取餐"), "denglu" : MessageLookupByLibrary.simpleMessage("登录"), "diancan" : MessageLookupByLibrary.simpleMessage("点餐"), + "diandan" : MessageLookupByLibrary.simpleMessage("点单"), "dianhua" : MessageLookupByLibrary.simpleMessage("电话"), "dianjidenglu" : MessageLookupByLibrary.simpleMessage("点击登录,享受更多精彩信息"), + "dianpuyue" : MessageLookupByLibrary.simpleMessage("店铺余额"), "dianwolingqu" : MessageLookupByLibrary.simpleMessage("点我领取"), "dianzanxihuan_" : m3, "dingdan" : MessageLookupByLibrary.simpleMessage("订单"), @@ -330,6 +332,7 @@ class MessageLookup extends MessageLookupByLibrary { "phone_error" : MessageLookupByLibrary.simpleMessage("手机格式错误"), "pinglun" : MessageLookupByLibrary.simpleMessage("评论"), "pinglun_" : m21, + "pingtaiyue" : MessageLookupByLibrary.simpleMessage("平台余额"), "pinpai" : MessageLookupByLibrary.simpleMessage("品牌"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("品牌介绍"), "privacy_policy1" : MessageLookupByLibrary.simpleMessage("登录既同意"), diff --git a/lib/generated/intl/messages_zh_Hans_CN.dart b/lib/generated/intl/messages_zh_Hans_CN.dart index 8c6992c9..e52402bf 100644 --- a/lib/generated/intl/messages_zh_Hans_CN.dart +++ b/lib/generated/intl/messages_zh_Hans_CN.dart @@ -154,8 +154,10 @@ class MessageLookup extends MessageLookupByLibrary { "dengdaiyonghuqucan" : MessageLookupByLibrary.simpleMessage("等待用户取餐"), "denglu" : MessageLookupByLibrary.simpleMessage("登录"), "diancan" : MessageLookupByLibrary.simpleMessage("点餐"), + "diandan" : MessageLookupByLibrary.simpleMessage("点单"), "dianhua" : MessageLookupByLibrary.simpleMessage("电话"), "dianjidenglu" : MessageLookupByLibrary.simpleMessage("点击登录,享受更多精彩信息"), + "dianpuyue" : MessageLookupByLibrary.simpleMessage("店铺余额"), "dianwolingqu" : MessageLookupByLibrary.simpleMessage("点我领取"), "dianzanxihuan_" : m3, "dingdan" : MessageLookupByLibrary.simpleMessage("订单"), @@ -330,6 +332,7 @@ class MessageLookup extends MessageLookupByLibrary { "phone_error" : MessageLookupByLibrary.simpleMessage("手机格式错误"), "pinglun" : MessageLookupByLibrary.simpleMessage("评论"), "pinglun_" : m21, + "pingtaiyue" : MessageLookupByLibrary.simpleMessage("平台余额"), "pinpai" : MessageLookupByLibrary.simpleMessage("品牌"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("品牌介绍"), "privacy_policy1" : MessageLookupByLibrary.simpleMessage("登录既同意"), diff --git a/lib/generated/intl/messages_zh_Hant_CN.dart b/lib/generated/intl/messages_zh_Hant_CN.dart index 345b7c64..8ce7167d 100644 --- a/lib/generated/intl/messages_zh_Hant_CN.dart +++ b/lib/generated/intl/messages_zh_Hant_CN.dart @@ -154,8 +154,10 @@ class MessageLookup extends MessageLookupByLibrary { "dengdaiyonghuqucan" : MessageLookupByLibrary.simpleMessage("等待用戶取餐"), "denglu" : MessageLookupByLibrary.simpleMessage("登錄"), "diancan" : MessageLookupByLibrary.simpleMessage("點餐"), + "diandan" : MessageLookupByLibrary.simpleMessage("點單"), "dianhua" : MessageLookupByLibrary.simpleMessage("電話"), "dianjidenglu" : MessageLookupByLibrary.simpleMessage("點擊登錄,享受更多精彩信息"), + "dianpuyue" : MessageLookupByLibrary.simpleMessage("店鋪餘額"), "dianwolingqu" : MessageLookupByLibrary.simpleMessage("點我領取"), "dianzanxihuan_" : m3, "dingdan" : MessageLookupByLibrary.simpleMessage("訂單"), @@ -330,6 +332,7 @@ class MessageLookup extends MessageLookupByLibrary { "phone_error" : MessageLookupByLibrary.simpleMessage("手機格式錯誤"), "pinglun" : MessageLookupByLibrary.simpleMessage("評論"), "pinglun_" : m21, + "pingtaiyue" : MessageLookupByLibrary.simpleMessage("平臺餘額"), "pinpai" : MessageLookupByLibrary.simpleMessage("品牌"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("品牌介紹"), "privacy_policy1" : MessageLookupByLibrary.simpleMessage("登錄既同意"), diff --git a/lib/generated/intl/messages_zh_TW.dart b/lib/generated/intl/messages_zh_TW.dart index 25a50bdc..38dd31de 100644 --- a/lib/generated/intl/messages_zh_TW.dart +++ b/lib/generated/intl/messages_zh_TW.dart @@ -154,8 +154,10 @@ class MessageLookup extends MessageLookupByLibrary { "dengdaiyonghuqucan" : MessageLookupByLibrary.simpleMessage("等待用戶取餐"), "denglu" : MessageLookupByLibrary.simpleMessage("登錄"), "diancan" : MessageLookupByLibrary.simpleMessage("點餐"), + "diandan" : MessageLookupByLibrary.simpleMessage("點單"), "dianhua" : MessageLookupByLibrary.simpleMessage("電話"), "dianjidenglu" : MessageLookupByLibrary.simpleMessage("點擊登錄,享受更多精彩信息"), + "dianpuyue" : MessageLookupByLibrary.simpleMessage("店鋪餘額"), "dianwolingqu" : MessageLookupByLibrary.simpleMessage("點我領取"), "dianzanxihuan_" : m3, "dingdan" : MessageLookupByLibrary.simpleMessage("訂單"), @@ -330,6 +332,7 @@ class MessageLookup extends MessageLookupByLibrary { "phone_error" : MessageLookupByLibrary.simpleMessage("手機格式錯誤"), "pinglun" : MessageLookupByLibrary.simpleMessage("評論"), "pinglun_" : m21, + "pingtaiyue" : MessageLookupByLibrary.simpleMessage("平臺餘額"), "pinpai" : MessageLookupByLibrary.simpleMessage("品牌"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("品牌介紹"), "privacy_policy1" : MessageLookupByLibrary.simpleMessage("登錄既同意"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 5fff23a2..816acde3 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -4985,6 +4985,36 @@ class S { ); } + /// `点单` + String get diandan { + return Intl.message( + '点单', + name: 'diandan', + desc: '', + args: [], + ); + } + + /// `平台余额` + String get pingtaiyue { + return Intl.message( + '平台余额', + name: 'pingtaiyue', + desc: '', + args: [], + ); + } + + /// `店铺余额` + String get dianpuyue { + return Intl.message( + '店铺余额', + name: 'dianpuyue', + desc: '', + args: [], + ); + } + /// `并使用本机号码登录` String get privacy_policy4 { return Intl.message( diff --git a/lib/home/guide_page.dart b/lib/home/guide_page.dart index b3bd3870..b4860ee3 100644 --- a/lib/home/guide_page.dart +++ b/lib/home/guide_page.dart @@ -59,7 +59,7 @@ class _GuidePage extends State { overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 24.sp, - fontWeight: FontWeight.bold, + fontWeight: MyFontWeight.semi_bold, color: Color(0XFF32A060), ), ), @@ -147,7 +147,7 @@ class _GuidePage extends State { overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 24.sp, - fontWeight: FontWeight.bold, + fontWeight: MyFontWeight.semi_bold, color: Color(0XFF32A060), ), ), @@ -234,7 +234,7 @@ class _GuidePage extends State { overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 24.sp, - fontWeight: FontWeight.bold, + fontWeight: MyFontWeight.semi_bold, color: Color(0XFF32A060), ), ), @@ -318,7 +318,7 @@ class _GuidePage extends State { overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 24.sp, - fontWeight: FontWeight.bold, + fontWeight: MyFontWeight.semi_bold, color: Color(0XFF32A060)), ), ), diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 6acea381..3c4ecc5b 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -516,6 +516,9 @@ "ninyichenggonglingquyouhuiquan": "您已成功领取优惠劵,请在", "kabaokeshiyong": "卡包-可使用", "zhongchakan": "中查看", + "diandan": "点单", + "pingtaiyue": "平台余额", + "dianpuyue": "店铺余额", diff --git a/lib/l10n/intl_zh_CN.arb b/lib/l10n/intl_zh_CN.arb index 2d7ff247..8155e927 100644 --- a/lib/l10n/intl_zh_CN.arb +++ b/lib/l10n/intl_zh_CN.arb @@ -518,6 +518,9 @@ "ninyichenggonglingquyouhuiquan": "您已成功领取优惠劵,请在", "kabaokeshiyong": "卡包-可使用", "zhongchakan": "中查看", + "diandan": "点单", + "pingtaiyue": "平台余额", + "dianpuyue": "店铺余额", diff --git a/lib/l10n/intl_zh_Hans_CN.arb b/lib/l10n/intl_zh_Hans_CN.arb index 2d7ff247..8155e927 100644 --- a/lib/l10n/intl_zh_Hans_CN.arb +++ b/lib/l10n/intl_zh_Hans_CN.arb @@ -518,6 +518,9 @@ "ninyichenggonglingquyouhuiquan": "您已成功领取优惠劵,请在", "kabaokeshiyong": "卡包-可使用", "zhongchakan": "中查看", + "diandan": "点单", + "pingtaiyue": "平台余额", + "dianpuyue": "店铺余额", diff --git a/lib/l10n/intl_zh_Hant_CN.arb b/lib/l10n/intl_zh_Hant_CN.arb index 461c7b97..8fe0c561 100644 --- a/lib/l10n/intl_zh_Hant_CN.arb +++ b/lib/l10n/intl_zh_Hant_CN.arb @@ -511,6 +511,9 @@ "ninyichenggonglingquyouhuiquan": "您已成功領取優惠券,請在", "kabaokeshiyong": "卡包-可使用", "zhongchakan": "中查看", + "diandan": "點單", + "pingtaiyue": "平臺餘額", + "dianpuyue": "店鋪餘額", diff --git a/lib/l10n/intl_zh_TW.arb b/lib/l10n/intl_zh_TW.arb index 16220c05..b60d82f0 100644 --- a/lib/l10n/intl_zh_TW.arb +++ b/lib/l10n/intl_zh_TW.arb @@ -510,6 +510,9 @@ "ninyichenggonglingquyouhuiquan": "您已成功領取優惠券,請在", "kabaokeshiyong": "卡包-可使用", "zhongchakan": "中查看", + "diandan": "點單", + "pingtaiyue": "平臺餘額", + "dianpuyue": "店鋪餘額", diff --git a/lib/order/order_detail_page.dart b/lib/order/order_detail_page.dart index 0af14f70..607b84df 100644 --- a/lib/order/order_detail_page.dart +++ b/lib/order/order_detail_page.dart @@ -9,17 +9,10 @@ import 'package:huixiang/order/order_view/order_status.dart'; import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/order_info.dart'; import 'package:huixiang/retrofit/retrofit_api.dart'; -import 'package:huixiang/utils/flutter_utils.dart'; -import 'package:huixiang/view_widget/border_text.dart'; -import 'package:huixiang/view_widget/custom_image.dart'; import 'package:huixiang/view_widget/icon_text.dart'; import 'package:huixiang/view_widget/my_appbar.dart'; -import 'package:huixiang/view_widget/round_button.dart'; -import 'package:huixiang/view_widget/separator.dart'; -import 'package:huixiang/view_widget/text_image_dialog.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:url_launcher/url_launcher.dart'; class OrderDetailPage extends StatefulWidget { final arguments; @@ -313,8 +306,7 @@ class _OrderDetailPage extends State { ), ), Text( - S - .of(context) + S.of(context) .yuan_(orderInfo != null ? orderInfo.finalPayPrice : "0"), style: TextStyle( fontSize: 20.sp, @@ -351,7 +343,7 @@ class _OrderDetailPage extends State { Widget paySelector() { return Container( - margin: EdgeInsets.only(left: 16.w, right: 16.w, top: 14.h, bottom: 2.h), + // margin: EdgeInsets.only(left: 16.w, right: 16.w, top: 14.h, bottom: 2.h), padding: EdgeInsets.all(20), decoration: BoxDecoration( color: Colors.white, @@ -386,7 +378,7 @@ class _OrderDetailPage extends State { checkView(0), // Image.asset("assets/image/icon_alipay.png"), Text( - S.of(context).yue, + S.of(context).pingtaiyue, style: TextStyle( fontSize: 12.sp, color: Color(0xff353535), @@ -402,6 +394,24 @@ class _OrderDetailPage extends State { crossAxisAlignment: CrossAxisAlignment.center, children: [ checkView(1), + // Image.asset("assets/image/icon_alipay.png"), + Text( + S.of(context).dianpuyue, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xff353535), + ), + ), + ], + ), + SizedBox( + height: 20.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + checkView(2), IconText( S.of(context).weixinzhifu, leftImage: "assets/image/icon_we_chat.png", diff --git a/lib/union/union_details_page.dart b/lib/union/union_details_page.dart index f527aeb7..c5727101 100644 --- a/lib/union/union_details_page.dart +++ b/lib/union/union_details_page.dart @@ -21,6 +21,7 @@ import 'package:huixiang/union/union_view/vip.dart'; import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/utils/min.dart'; import 'package:huixiang/view_widget/classic_header.dart'; +import 'package:huixiang/view_widget/custom_image.dart'; import 'package:huixiang/view_widget/my_appbar.dart'; import 'package:huixiang/view_widget/receive_success.dart'; import 'package:path_provider/path_provider.dart'; @@ -82,73 +83,105 @@ class _UnionDetailsPage extends State { future: queryStoreInfo(), builder: (context, snapshot) { return Scaffold( - appBar: MyAppBar( - background: Color(0xFFF7F7F7), - title: storeInfo == null - ? (widget.arguments["storeName"] ?? "") - : storeInfo.storeName, - titleColor: Colors.black87, - titleSize: 18.sp, - leadingColor: Colors.black, - ), - body: Column( - children: [ - Expanded( - child: SmartRefresher( - controller: refreshController, - enablePullDown: true, - enablePullUp: false, - header: MyHeader(), - physics: BouncingScrollPhysics(), - onRefresh: () { - setState(() {}); - }, - child: SingleChildScrollView( - physics: NeverScrollableScrollPhysics(), - child: Column( - children: [ - ///门店信息 - StoreInfos(storeInfo), + // appBar: MyAppBar( + // background: Color(0xFFF7F7F7), + // // title: storeInfo == null + // // ? (widget.arguments["storeName"] ?? "") + // // : storeInfo.storeName, + // title: "", + // titleColor: Colors.black87, + // titleSize: 18.sp, + // leadingColor: Colors.black, + // ), + body: + Stack( + children: [ + MImage( + storeInfo != null && storeInfo.bannerList != null? + storeInfo.bannerList.first.imgUrl:"", + width: double.infinity, + height: 190.h, + fit: BoxFit.cover, + errorSrc: "assets/image/default_1.png", + fadeSrc: "assets/image/default_1.png", + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox(height:54.h,), + Padding(padding:EdgeInsets.only(left: 17.w), + child: GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child:Icon( + Icons.arrow_back_ios, + color: Colors.black, + size: 24, + ) + ),), + SizedBox(height:29.h,), + Expanded( + child: SmartRefresher( + controller: refreshController, + enablePullDown: true, + enablePullUp: false, + header: MyHeader(), + physics: BouncingScrollPhysics(), + onRefresh: () { + setState(() {}); + }, + child: SingleChildScrollView( + physics: NeverScrollableScrollPhysics(), + child: Column( + children: [ + ///门店信息 + StoreInfos(storeInfo), - ///门店对应VIP信息 - Vip(storeInfo, _receiveVip, isReceive), + ///门店对应优惠券 + UnionCoupon(storeInfo, _receiveCoupon), - ///门店对应优惠券 - UnionCoupon(storeInfo, _receiveCoupon), + ///门店对应VIP信息 + Vip(storeInfo, _receiveVip, isReceive), - /// 门店对应的活动 - StoreActivity(widget.arguments, activitys), - ], - ), - ), - ), - flex: 1, - ), - InkWell( - onTap: _loginMin, - child: Container( - padding: EdgeInsets.only(top: 16.h, bottom: 16.h), - decoration: BoxDecoration( - color: isEnable() ? Color(0xFF32A060) : Color(0xFFD8D8D8), - borderRadius: BorderRadius.vertical( - top: Radius.circular(4), - ), - ), - alignment: Alignment.center, - child: Text( - isEnable() - ? S.of(context).jinrushangdian - : S.of(context).zanwuxianshangjindian, - style: TextStyle( - fontSize: 16.sp, - color: isEnable() ? Colors.white : Color(0xFFA0A0A0), - fontWeight: MyFontWeight.semi_bold, - ), + /// 门店对应的活动 + StoreActivity(widget.arguments, activitys), + + ], + ), + ), + ), + // flex: 1, + ), + // InkWell( + // onTap: _loginMin, + // child: Container( + // padding: EdgeInsets.only(top: 16.h, bottom: 16.h), + // decoration: BoxDecoration( + // color: isEnable() ? Color(0xFF32A060) : Color(0xFFD8D8D8), + // borderRadius: BorderRadius.vertical( + // top: Radius.circular(4), + // ), + // ), + // alignment: Alignment.center, + // child: Text( + // isEnable() + // ? S.of(context).jinrushangdian + // : S.of(context).zanwuxianshangjindian, + // style: TextStyle( + // fontSize: 16.sp, + // color: isEnable() ? Colors.white : Color(0xFFA0A0A0), + // fontWeight: MyFontWeight.semi_bold, + // ), + // ), + // ), + // ), + ], ), - ), + ], ), - ], - ), + ); }, ); diff --git a/lib/union/union_page.dart b/lib/union/union_page.dart index d3677008..0cd45c2d 100644 --- a/lib/union/union_page.dart +++ b/lib/union/union_page.dart @@ -8,7 +8,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_baidu_mapapi_map/flutter_baidu_mapapi_map.dart'; import 'package:flutter_baidu_mapapi_utils/flutter_baidu_mapapi_utils.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; -import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/main.dart'; import 'package:huixiang/retrofit/data/base_data.dart'; diff --git a/lib/union/union_view/store_activity.dart b/lib/union/union_view/store_activity.dart index bdf24aab..6241cfb2 100644 --- a/lib/union/union_view/store_activity.dart +++ b/lib/union/union_view/store_activity.dart @@ -1,14 +1,12 @@ - - import 'package:flutter/material.dart'; import 'package:flutter_swiper/flutter_swiper.dart'; import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/retrofit/data/activity.dart'; import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/view_widget/custom_image.dart'; -import 'package:huixiang/view_widget/item_title.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:huixiang/view_widget/round_button.dart'; class StoreActivity extends StatefulWidget { @@ -25,17 +23,51 @@ class StoreActivity extends StatefulWidget { } class _StoreActivity extends State { + int page = 0; + int isSelected =0; + @override Widget build(BuildContext context) { return Column( children: [ Container( - margin: EdgeInsets.only(top: 20.h, bottom: 20.h), - child: ItemTitle( - text: S.of(context).xindianhuodong, - imgPath: "assets/image/icon_union_start_store.png", + alignment:Alignment.centerLeft, + margin: EdgeInsets.only(top: 20.h, bottom: 20.h,left: 17.w), + child: Row( + children: [ + GestureDetector( + onTap: (){setState(() { + page = 0; + });}, + child: Text( + S.of(context).diandan, + textAlign: TextAlign.center, + style: TextStyle( + color: page==0?Colors.black:Colors.grey, + fontSize: page==0?16.sp:14.sp, + fontWeight: page==0?FontWeight.bold:FontWeight.normal, + ), + ), + ), + Padding(padding: EdgeInsets.only(left: 10)), + GestureDetector( + onTap: (){setState(() { + page = 1; + });}, + child: Text( + S.of(context).xindianhuodong, + textAlign: TextAlign.center, + style: TextStyle( + color: page==1?Colors.black:Colors.grey, + fontSize: page==1?16.sp:14.sp, + fontWeight: page==1?FontWeight.bold:FontWeight.normal, + ), + ), + ), + ], ), ), + page == 0 ? order(): (widget.activitys != null && widget.activitys.length > 0) ? Container( margin: EdgeInsets.only(bottom: 30.h), @@ -62,6 +94,45 @@ class _StoreActivity extends State { ); } + Widget order(){ + return Container( + width: double.infinity, + child: Row( + children: [ + Container( + // decoration: BoxDecoration( + // color: Color(0xFFFAFAFA), + // boxShadow: [ + // BoxShadow( + // color: Color(0x0D000000), + // offset: Offset(0, 3), + // blurRadius: 14, + // spreadRadius: 0, + // ) + // ], + // ), + width: 104.w, + child:ListView.builder( + itemCount:5, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return orderItem(position); + }), + ), + Expanded(flex:1,child:Container( + child:ListView.builder( + itemCount:5, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return goodsItem(); + }), + )), + + ],), + ); + } Widget buildSwiper2Bottom() { return Container( @@ -192,4 +263,195 @@ class _StoreActivity extends State { } + Widget orderItem(int index) { + return Container( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + GestureDetector( + onTap: (){setState(() { + isSelected = index; + });}, + child: Container( + color: isSelected != index ?Color(0xFFFAFAFA):Colors.white, + child: Padding(padding: EdgeInsets.only(left: 16,right: 28,top:8,bottom: 16), + child: Row( + children: [ + Container( + color: isSelected != index ? Color(0xFFFAFAFA):Color(0xFF32A060), + width: 2.w, + height: 17.h, + ), + SizedBox(width: 10.w,), + Text( + "人气推荐", + textAlign: TextAlign.center, + style: TextStyle( + color:isSelected != index ?Color(0xFF202020):Color(0xFF000000), + fontSize:12.sp, + fontWeight: MyFontWeight.medium, + ), + ), + ], + ),), + ), + ), + ], + ), + ); + } + + Widget goodsItem() { + return Container( + color: Colors.white, + padding: EdgeInsets.only(right: 16.w), + child: Row( + // mainAxisAlignment: MainAxisAlignment.spaceAround, + // crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(width: 12.w + ), + MImage( + "assets/image/default_1.png", + width: 70, + height: 70, + fit: BoxFit.cover, + errorSrc: "assets/image/default_1.png", + fadeSrc: "assets/image/default_1.png", + ), + SizedBox(width:10), + Expanded(child: + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "手工啵啵奶茶", + style: TextStyle( + color:Colors.black, + fontSize:13.sp, + fontWeight: MyFontWeight.medium, + ), + ), + SizedBox(height:2), + Row( + children: [ + Text( + "无香精", + style: TextStyle( + color:Color(0xFF4C4C4C), + fontSize:10.sp, + fontWeight: MyFontWeight.regular, + ), + ), + SizedBox(width:10), + Text( + "无香精", + style: TextStyle( + color:Color(0xFF4C4C4C), + fontSize:10.sp, + fontWeight: MyFontWeight.regular, + ), + ) + ], + ), + SizedBox(height:7), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + "会员价", + style: TextStyle( + color:Color(0xFFFF7A1A), + fontSize:10.sp, + fontWeight: MyFontWeight.medium, + ), + ), + Text( + "¥19.00", + style: TextStyle( + color:Color(0xFFFF7A1A), + fontSize:11.sp, + fontWeight: MyFontWeight.medium, + ), + ) + ], + ), + Row( + children: [ + Text( + "原价", + style: TextStyle( + color:Color(0xFFA29E9E), + fontSize:9.sp, + fontWeight: MyFontWeight.regular, + ), + ), + SizedBox(width:10), + Text( + "¥19.00", + style: TextStyle( + color:Color(0xFFA29E9E), + fontSize:10.sp, + fontWeight: MyFontWeight.regular, + ), + ) + ], + ), + ], + ), + Spacer(), + true?RoundButton( + width: 49.w, + text: "选规格", + textColor: Colors.white, + fontWeight: MyFontWeight.medium, + radius: 11, + backgroup: Color(0xFF32A060), + fontSize: 11.sp, + padding: EdgeInsets.symmetric(vertical: 5.h), + ): + InkWell( + onTap: () { + }, + child: Image.asset( + "assets/image/reduce.png", + width: 22, + height: 22, + ), + ), + if(false) + Padding(padding: EdgeInsets.only(left: 8,right: 8), + child:Text( + "1", + style: TextStyle( + color:Colors.black, + fontSize:14.sp, + fontWeight: MyFontWeight.medium, + ), + ),), + if(false) + InkWell( + onTap: () { + }, + child: Image.asset( + "assets/image/add.png", + width: 22, + height: 22, + ), + ), + ], + ), + ], + ),) + ], + ), + ); + } + + } \ No newline at end of file diff --git a/lib/union/union_view/store_info.dart b/lib/union/union_view/store_info.dart index 25050ff7..9b222f7c 100644 --- a/lib/union/union_view/store_info.dart +++ b/lib/union/union_view/store_info.dart @@ -11,7 +11,6 @@ import 'package:huixiang/view_widget/round_button.dart'; import 'package:url_launcher/url_launcher.dart'; class StoreInfos extends StatefulWidget { - final StoreInfo storeInfo; StoreInfos(this.storeInfo); @@ -20,12 +19,164 @@ class StoreInfos extends StatefulWidget { State createState() { return _StoreInfos(); } - } class _StoreInfos extends State { @override Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(17, 20, 15, 8), + padding: EdgeInsets.fromLTRB(10, 20, 10, 14), + width: double.infinity, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8), + boxShadow: [ + BoxShadow( + color: Colors.black.withAlpha(25), + offset: Offset(0, 1), + blurRadius: 12, + spreadRadius: 0, + ), + ], + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Expanded( + flex: 1, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.storeInfo != null ? widget.storeInfo.storeName : "", + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 18.sp, + color: Colors.black, + fontWeight: MyFontWeight.medium, + ), + ), + SizedBox( + height: 8.h, + ), + Row( + children: [ + Text( + S.of(context).ren( + widget.storeInfo != null + ? widget.storeInfo.perCapitaConsumption + : "", + ), + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.regular, + color: Color(0xFF353535), + ), + ), + SizedBox( + width: 22.w, + ), + Row( + children: itemServer( + widget.storeInfo != null + ? widget.storeInfo.businessService + : "", + ), + ), + ], + ), + SizedBox( + height: 12.h, + ), + Text( + widget.storeInfo != null ? widget.storeInfo.address : "", + maxLines: 2, + textAlign: TextAlign.justify, + style: TextStyle( + color: Color(0xFF353535), + fontWeight: MyFontWeight.regular, + fontSize: 12.sp, + ), + ), + SizedBox( + height: 6.h, + ), + Text( + S.of(context).yingyeshijian(widget.storeInfo == null + ? "" + : (widget.storeInfo.openStartTime == null && + widget.storeInfo.openEndTime == null) + ? S.of(context).quantian + : "${widget.storeInfo.openStartTime.substring(0, widget.storeInfo.openStartTime.lastIndexOf(":"))} " + "- ${widget.storeInfo.openEndTime.substring(0, widget.storeInfo.openEndTime.lastIndexOf(":"))}"), + style: TextStyle( + color: Color(0xFF353535), + fontWeight: MyFontWeight.regular, + fontSize: 12.sp, + ), + ), + ], + )), + Column( + children: [ + MImage( + widget.storeInfo != null ? widget.storeInfo.logo : "", + width: 69, + height: 69, + fit: BoxFit.cover, + errorSrc: "assets/image/default_1.png", + fadeSrc: "assets/image/default_1.png", + ), + SizedBox( + height: 21.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + InkWell( + onTap: () { + if (widget.storeInfo == null || + widget.storeInfo.latitude == null || + widget.storeInfo.longitude == null || + widget.storeInfo.latitude == "" || + widget.storeInfo.longitude == "") return; + Navigator.of(context) + .pushNamed('/router/location_map', arguments: { + "lat": widget.storeInfo.latitude, + "lng": widget.storeInfo.longitude, + "storeName": widget.storeInfo.storeName, + }); + }, + child: Image.asset( + "assets/image/icon_union_location.png", + width: 24.w, + height: 24.h, + ), + ), + SizedBox( + width: 16.w, + ), + InkWell( + onTap: () { + showCallMobile(); + }, + child: Image.asset( + "assets/image/icon_union_call.png", + width: 24, + height: 24, + ), + ), + ], + ), + ], + ), + ], + ), + ); return AspectRatio( aspectRatio: 1, child: Container( @@ -215,8 +366,8 @@ class _StoreInfos extends State { margin: EdgeInsets.only(left: 10.w, right: 10.w), child: MImage( (widget.storeInfo != null && - widget.storeInfo.bannerList != null && - position < widget.storeInfo.bannerList.length) + widget.storeInfo.bannerList != null && + position < widget.storeInfo.bannerList.length) ? widget.storeInfo.bannerList[position].imgUrl : "", fit: BoxFit.cover, @@ -226,31 +377,31 @@ class _StoreInfos extends State { ), ); }, - itemCount: (widget.storeInfo != null && widget.storeInfo.bannerList != null) - ? widget.storeInfo.bannerList.length - : 1), + itemCount: + (widget.storeInfo != null && widget.storeInfo.bannerList != null) + ? widget.storeInfo.bannerList.length + : 1), ); } - List itemServer(String businessService) { if (businessService == null || businessService == "") return []; var list = businessService.split(","); return list .map((e) => Container( - margin: EdgeInsets.only(right: 8.w), - child: RoundButton( - height: 14.h * AppUtils.textScale(context), - text: "$e", - backgroup: Color(0xFFFF7A1A), - padding: EdgeInsets.only( - left: 2.w, - right: 2.w, - ), - fontSize: 10.sp, - textColor: Colors.white, - ), - )) + margin: EdgeInsets.only(right: 8.w), + child: RoundButton( + height: 14.h * AppUtils.textScale(context), + text: "$e", + backgroup: Color(0xFFFF7A1A), + padding: EdgeInsets.only( + left: 2.w, + right: 2.w, + ), + fontSize: 10.sp, + textColor: Colors.white, + ), + )) .toList(); } @@ -293,7 +444,4 @@ class _StoreInfos extends State { throw 'Could not launch $url'; } } - } - - diff --git a/lib/union/union_view/union_coupon.dart b/lib/union/union_view/union_coupon.dart index 3b5f5b31..074eacc7 100644 --- a/lib/union/union_view/union_coupon.dart +++ b/lib/union/union_view/union_coupon.dart @@ -1,3 +1,7 @@ + + + + import 'package:flutter/material.dart'; import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/retrofit/data/store_info.dart'; diff --git a/lib/view_widget/sign_in_widget.dart b/lib/view_widget/sign_in_widget.dart index aa489c19..9bc19e8a 100644 --- a/lib/view_widget/sign_in_widget.dart +++ b/lib/view_widget/sign_in_widget.dart @@ -25,7 +25,7 @@ class _SignInWidget extends State { Widget build(BuildContext context) { return Container( width: 222.w, - height: 275.h * AppUtils.textScale(context), + height:320.h * AppUtils.textScale(context), child: Stack( children: [ Positioned( @@ -40,13 +40,18 @@ class _SignInWidget extends State { color: Colors.white, borderRadius: BorderRadius.circular(8.w), ), - padding: EdgeInsets.only(top: 45.h), + padding: EdgeInsets.only(top:20.h), child: Container( padding: EdgeInsets.symmetric(vertical: 10.h), child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [ + Image.asset( + "assets/image/icon_sign_success.png", + width: 80, + height: 80, + ), Text( S.of(context).qiandaowancheng, style: TextStyle( @@ -63,14 +68,36 @@ class _SignInWidget extends State { fontWeight: MyFontWeight.regular, ), ), - Text( - S.of(context).jiajifen(widget.integral), - style: TextStyle( - color: Color(0xFFFF7A1A), - fontSize: 14.sp, - fontWeight: MyFontWeight.semi_bold, + Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + "assets/image/icon_gold_coin.png", + width: 16, + height: 16, + ), + SizedBox( + width: 4.h, + ), + Text( + S.of(context).jiajifen(widget.integral), + style: TextStyle( + color: Color(0xFFEE9905), + fontSize: 14.sp, + fontWeight: MyFontWeight.semi_bold, + ), + ), + ], ), - ), + // Text( + // S.of(context).jiajifen(widget.integral), + // style: TextStyle( + // color: Color(0xFFFF7A1A), + // fontSize: 14.sp, + // fontWeight: MyFontWeight.semi_bold, + // ), + // ), RoundButton( text: S.of(context).queren, textColor: Colors.white, @@ -89,17 +116,17 @@ class _SignInWidget extends State { ), ), ), - Positioned( - top: 0, - child: Container( - child: Image.asset( - "assets/image/icon_sign_ok.png", - fit: BoxFit.contain, - width: 223.w, - height: 110.h * AppUtils.textScale(context), - ), - ), - ), + // Positioned( + // top: 0, + // child: Container( + // child: Image.asset( + // "assets/image/icon_sign_ok.png", + // fit: BoxFit.contain, + // width: 223.w, + // height: 110.h * AppUtils.textScale(context), + // ), + // ), + // ), ], ), ); diff --git a/lib/web/web_page.dart b/lib/web/web_page.dart index 22f7936c..34a5b6a3 100644 --- a/lib/web/web_page.dart +++ b/lib/web/web_page.dart @@ -43,9 +43,9 @@ class _WebPage extends State with WidgetsBindingObserver { String hintText = S.current.liuxianinjingcaidepinglunba; var commentFocus = FocusNode(); String parenId = "0"; - Activity activity; Article article; + final double fontSize = 16.sp; final GlobalKey commentKey = GlobalKey(); final GlobalKey inputKey = GlobalKey(); final ScrollController scrollController = ScrollController(); @@ -226,7 +226,7 @@ class _WebPage extends State with WidgetsBindingObserver { : article != null ? article.mainTitle : "", - titleSize: 18.sp, + titleSize:fontSize, titleColor: Colors.black, ), body: Container( @@ -237,7 +237,7 @@ class _WebPage extends State with WidgetsBindingObserver { onTap: () { commentFocus.unfocus(); hintText = S.of(context).liuxianinjingcaidepinglunba; - inputKey.currentState.setState(() {});; + inputKey.currentState.setState(() {}); parenId = "0"; }, child: SingleChildScrollView( @@ -246,7 +246,7 @@ class _WebPage extends State with WidgetsBindingObserver { child: Column( children: [ /// 富文本的头部 - WebHeader(widget.arguments, activity, article), + WebHeader(widget.arguments, activity, article,16), /// 富文本的内容 WebContent(activity, article, (){ @@ -262,6 +262,7 @@ class _WebPage extends State with WidgetsBindingObserver { isKeyBoardShow, _reply, _delCommentTips, + 12 ), ], ), diff --git a/lib/web/web_view/comment_list.dart b/lib/web/web_view/comment_list.dart index 13dd08c0..41b543ac 100644 --- a/lib/web/web_view/comment_list.dart +++ b/lib/web/web_view/comment_list.dart @@ -23,6 +23,7 @@ class CommentList extends StatefulWidget { final bool isKeyBoardShow; final Function reply; final Function delCommentTips; + final double fontSize; CommentList( Key key, @@ -32,6 +33,7 @@ class CommentList extends StatefulWidget { this.isKeyBoardShow, this.reply, this.delCommentTips, + this.fontSize ) : super(key: key); @override @@ -102,8 +104,8 @@ class _CommentList extends State { Text( S.of(context).pinglun_(commentTotal.toString()), style: TextStyle( - fontSize: 16.sp, - fontWeight: MyFontWeight.bold, + fontSize:widget.fontSize+4, + fontWeight: FontWeight.bold, color: Color(0xff1A1A1A), ), ), @@ -112,10 +114,10 @@ class _CommentList extends State { ), Text( S.of(context).xihuan_( - "${(widget.article?.likes ?? widget.activity?.likes) ?? "0"}"), + "${widget.article?.likes ?? widget.activity?.likes ?? "0"}"), style: TextStyle( - fontSize: 16.sp, - fontWeight: MyFontWeight.bold, + fontSize:widget.fontSize+4, + fontWeight: FontWeight.bold, color: Color(0xff1A1A1A), ), ), @@ -161,7 +163,7 @@ class _CommentList extends State { child: Text( S.of(context).yixiansquanbupinglun, style: TextStyle( - fontSize: 14.sp, + fontSize:widget.fontSize+2, color: Color(0xff353535), ), ), @@ -179,8 +181,8 @@ class _CommentList extends State { child: Text( S.of(context).zanwupinglun, style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.bold, + fontSize:widget.fontSize+2, + fontWeight: FontWeight.bold, color: Color(0xFFA0A0A0), ), ), @@ -277,7 +279,7 @@ class _CommentList extends State { ), Expanded( child: Container( - height: 60.h, + // height: 60.h, child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start, @@ -288,8 +290,8 @@ class _CommentList extends State { TextSpan( text: memberList.username, style: TextStyle( - fontWeight: MyFontWeight.bold, - fontSize: 14.sp, + fontWeight: FontWeight.bold, + fontSize:widget.fontSize+2, color: Colors.black, ), ), @@ -297,12 +299,15 @@ class _CommentList extends State { ), textDirection: TextDirection.ltr, ), + SizedBox( + height: 3.h, + ), Text( memberList.createTime, overflow: TextOverflow.ellipsis, maxLines: 2, style: TextStyle( - fontSize: 12.sp, + fontSize:widget.fontSize, color: Color(0xff808080), ), ), @@ -353,7 +358,7 @@ class _CommentList extends State { text, style: TextStyle( color: Color(0xFF1A1A1A), - fontSize: 12.sp, + fontSize:widget.fontSize, ), ); }, @@ -375,7 +380,7 @@ class _CommentList extends State { child: Text( memberList.content, style: TextStyle( - fontSize: 14.sp, + fontSize:widget.fontSize+2, color: Color(0xff1A1A1A), ), ), @@ -400,7 +405,7 @@ class _CommentList extends State { Text( "${memberList.parentUserName}:" ?? "", style: TextStyle( - fontSize: 12.sp, + fontSize: widget.fontSize, color: Color(0xff808080), ), ), @@ -409,7 +414,7 @@ class _CommentList extends State { child: Text( memberList.parentContent ?? "", style: TextStyle( - fontSize: 12.sp, + fontSize:widget.fontSize, color: Color(0xff808080), ), ), diff --git a/lib/web/web_view/input_comment.dart b/lib/web/web_view/input_comment.dart index 5f3c0f24..c7f211f3 100644 --- a/lib/web/web_view/input_comment.dart +++ b/lib/web/web_view/input_comment.dart @@ -88,7 +88,7 @@ class _InputComment extends State { GestureDetector( onTap: () { var commentText = widget.commentTextController.text; - if (commentText == "") { + if (commentText.trim() == "") { return; } widget.queryMemberComment(commentText); diff --git a/lib/web/web_view/web_content.dart b/lib/web/web_view/web_content.dart index 0775c18e..b9bf54b5 100644 --- a/lib/web/web_view/web_content.dart +++ b/lib/web/web_view/web_content.dart @@ -29,6 +29,7 @@ class WebContent extends StatefulWidget { class _WebContent extends State { + @override Widget build(BuildContext context) { return Html( diff --git a/lib/web/web_view/web_header.dart b/lib/web/web_view/web_header.dart index 025e897b..a88ff5e0 100644 --- a/lib/web/web_view/web_header.dart +++ b/lib/web/web_view/web_header.dart @@ -9,8 +9,9 @@ class WebHeader extends StatefulWidget { final Map arguments; final Activity activity; final Article article; + final double fontSize; - WebHeader(this.arguments, this.activity, this.article); + WebHeader(this.arguments, this.activity, this.article,this.fontSize); @override State createState() { @@ -35,7 +36,7 @@ class _WebHeader extends State { ? widget.article.mainTitle : "", style: TextStyle( - fontSize: 16.sp, + fontSize: widget.fontSize, fontWeight: FontWeight.bold, color: Color(0xFF353535), ), @@ -50,7 +51,7 @@ class _WebHeader extends State { "${widget.activity != null ? (widget.activity.storeName ?? "") : (widget.article != null && widget.article.author != null) ? (widget.article.author.name ?? "") : ""}", style: TextStyle( fontWeight: FontWeight.normal, - fontSize: 14.sp, + fontSize:widget.fontSize-2, color: Colors.blue, ), ), @@ -83,7 +84,7 @@ class _WebHeader extends State { : "", style: TextStyle( fontWeight: FontWeight.normal, - fontSize: 12.sp, + fontSize: widget.fontSize-4, color: Colors.grey, ), ), diff --git a/pubspec.lock b/pubspec.lock index 4d5df657..2b6bd73f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -28,7 +28,7 @@ packages: name: args url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.0" + version: "2.3.0" async: dependency: transitive description: @@ -388,7 +388,7 @@ packages: name: flutter_smart_dialog url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.8" + version: "2.1.9" flutter_spinkit: dependency: "direct main" description: @@ -433,7 +433,7 @@ packages: name: fluwx url: "https://pub.flutter-io.cn" source: hosted - version: "3.6.1+1" + version: "3.6.1+2" font_awesome_flutter: dependency: "direct main" description: @@ -580,7 +580,7 @@ packages: name: logging url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.2" matcher: dependency: transitive description: @@ -650,7 +650,7 @@ packages: name: path_provider_linux url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.2" + version: "2.1.0" path_provider_platform_interface: dependency: transitive description: @@ -734,7 +734,7 @@ packages: name: pub_semver url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.0" pubspec_parse: dependency: transitive description: