From bea49daca03e2470af305b1bfeb6b53103253144 Mon Sep 17 00:00:00 2001 From: w-R <953969641@qq.com> Date: Thu, 9 Jun 2022 11:43:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/image/2x/home_lm.webp | Bin 2020 -> 1448 bytes assets/image/2x/home_recharge.webp | Bin 1436 -> 746 bytes assets/image/2x/home_welfare.webp | Bin 3604 -> 2722 bytes assets/image/3x/home_lm.webp | Bin 5316 -> 2584 bytes assets/image/3x/home_recharge.webp | Bin 2228 -> 778 bytes assets/image/3x/home_welfare.webp | Bin 6688 -> 4550 bytes assets/image/home_lm.webp | Bin 1120 -> 936 bytes assets/image/home_recharge.webp | Bin 956 -> 664 bytes assets/image/home_welfare.webp | Bin 1252 -> 1560 bytes .../community_view/class_details_video.dart | 2 +- lib/home/home_view/discount_zone.dart | 2 +- lib/home/home_view/home_banner.dart | 2 +- lib/home/home_view/home_recommend_goods.dart | 2 +- lib/home/home_view/shortcut_operation.dart | 223 ++++--- lib/home/home_view/top_selling_list.dart | 2 +- lib/home/home_view/union_entry.dart | 179 ++--- lib/home/home_view/welfare_core.dart | 2 +- .../points_mall_view/points_goods_view.dart | 100 +-- lib/home/welfare_exchange.dart | 336 +++++----- lib/home/welfare_page.dart | 13 +- lib/integral/integral_detailed_page.dart | 44 +- lib/mine/mine_page.dart | 122 ++-- lib/mine/mine_view/mine_calendar.dart | 4 +- lib/mine/mine_view/mine_item.dart | 10 +- lib/mine/mine_view/mine_order.dart | 6 +- lib/mine/mine_view/mine_view.dart | 34 +- lib/mine/recharge_page.dart | 2 +- lib/store/store_order.dart | 627 +++++++++--------- lib/union/union_list.dart | 7 +- lib/union/union_page.dart | 4 +- lib/view_widget/mine_vip_entry.dart | 14 +- pubspec.yaml | 2 +- 32 files changed, 895 insertions(+), 844 deletions(-) diff --git a/assets/image/2x/home_lm.webp b/assets/image/2x/home_lm.webp index 8f7b28dfd9256a388f382aa8d75624a02815772f..501dcebd32e297482b73e3b1deaf7e0d31e769ea 100644 GIT binary patch delta 823 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 Y#RiZk!0AlCCBNW|o->D^$Fc$d02jbNvj6}9 delta 2711 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 L?mN@}691hM0-fC` delta 3733 zcmV;G4r=k36vQb8Qb|TeycDqpJOY1x5&!@%Yrq;14Rs-+{{c_b|F3PUZQJpaot|k< zW@g4AGc%v3Hx!(n%;%=ji5oLKnK4jW?pht4BW7l1W~Op&{Z<-Tk>s3w4k&5cw(L#L z=lx?i)O7>`C%NWw;5L#X^&X6tY1dx+J1dx+J z1dx+J1V?{x@r>x5KA1=T{9u3db~pYGA2>4&A{BNc%u3`VGh^&~8?TLA^S!Uq-}++~ zUOXc`!#%6VPv;mNPAuEdM`R<8xRPF37$1uCR#Kiq%)ug?RZ**#&I5u`` zpJG{6Qkf&Is2KK~vRXI9imrFwV%74IY&ygaop*ot3?_}UiqosEj%MZ9l(Q?dj}nNK zXp7QH)h;hAUntVw-aXj*yJ?BvZ0-4EZ@4}!IS^&&hJ=zOVjBpAky^05+qeJBUY_yo zf#%h@@kVqa6VMqE$r2MWB$NUG>SkD8Sk8&mD@As`-?{ TDMXvWtn{>iFp*qr-t& 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 diff --git a/assets/image/3x/home_recharge.webp b/assets/image/3x/home_recharge.webp index d90ee0f425ad04e899969182295eb4ab205ce224..27f39a25ab49d9561091600b1c3400f47a0a70ec 100644 GIT binary patch delta 239 zcmVf5QL(053j3 z77%Bkplur_+2PM*5LX)WA8G=CV6*mm-4ghu5rEt4AEJbjSYez11A)`nwq0fa`HGwx zL_I~+C^Qy{!(wqX5KdF1d+#HIis-*0w{082y-sJn0RVvZQj#P|t1bWl7)*~cG%F%( zWw9$G>}9GFK{oZ*CuWBvN$IkkY0$-vfNXk#zet pxCxj*ne2al^5gc4C%^9H_lnYH$O-CxkXUf<9AANUrnY%{Y8@;`X6$ruC*_S=U#jq(UF z0f9hHUrYG9hgRFcK;lXe2$s-mVM;b~rzdh>@E=_-GP|2p=rxUZ>68jhL&rB;wO!ll zpCZpoFY%#Q*c`YqANFC7!eC83?4p&1^XK7rXKc{a>stq;n2ZZ+1HgwT->)&<=c4yn z_@J27Ac5c>l2_=BMhTn(rTmRg5hAH@L#W+ehV0`bgb5Td8KFCwtcBVPlxNim!Blum z)Gp{F!@xeUf6T?HadLUf-f9Sj115lpeB+aQvDiS0O)ZFUEYPCX<_L;MdiJIo0!WHp zf(^?cYa^4l)L5P~I2jfhxg178bxJ1%DTjLPCNfiJjY*WU<2$;-cRH-Hr+i0+TT*(z zWF;+n0wI)o2UBBv^J~P)q_XNWHdupBDgkN&!32O4+w97I1t&slufcp`yHLHA)!S?- zP?7FfSfp6wWv8e6j<2@^sReY)8(W3*pUOQMC)&panGzm7Q9w@=6aP~HA7r6IM>9_O zwE%^)EQ5~g&=*~~kYeF}*w+_8pz?z&4wR!->;@p_9{5?Bc{I_P{VlBE>5IK9^4cL5 zE}PlrYQ@t++XB^jYmakyqSoj8O)fMX#M&$l`9Xd=ZE%m|TjXnNL&b%_)4b^O#2s2v zntssd4pcnc~uy3a6hn(2}J0Jh${U$z}qjsxO_wcvh6||V`%aGLZ z`-%~#8mXw3Pm5vFUi09@bBWSy~zr3vIlB0_aLux1dEgN{)qDC*sSR`uhX-uyPt4%>AE`^8hO6I0k znC|3swDeE$eF5m}x3Wurv2dXUUEGFKV~o0(A9_SyuXO2V8&BU!j-Ip7WTv*KyvH@q zC5xYZ1k4PVXL6!mIf^oy_a{KG;RQI{kL$+ry6~TFJCfqOrK3M)%b(riM9~qeYXwqI zR^VNGqEPqZE|Q_;Ih|mn=x~0rfv0l6($EGBX7)0yQ$2avFhE}Mb4Yjo;s!sN4j$Ft zVU3L3cT-CX4r8W%`6o)VqO`l+mp7xW&W;9}X`^Ii!EVXwE!Xs=N83RH?C{7$3U_(2}|*?%mB)U^mO#FV|Y(nY&IcI9lG$+<2e`c{Sb11oz$3o zE^eL|p+?RqKEA{-T&4?gxx*HhVYh-pm0I1^K(LDCZ2w zJLBZd1U)xriLZNn#lKFA9$o?j5fTS_2z$_XpVLUL9}2)no!R^}X}0@D6>Yzde-{ zbmV`~02?q@GcBu`ZQSzDsz3DZi{p#{g%y_Ut$4f{k+n?hQ_ZFoH%&_+)^zgcoHv+F m*jDqU2+Mi5${HrSzKzSP`fPDx1QSi=$3u*G`c9)FFz8=RvOxR* diff --git a/assets/image/3x/home_welfare.webp b/assets/image/3x/home_welfare.webp index 06b2d2292beb805f2133e6dc3548ea2183a2a11c..151efea7dbeb04aee563ad628b634fdf621a70c5 100644 GIT binary patch delta 4020 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�GqmLs>*{sqA$=c)TdT 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 H|NQCzPL``a delta 546 zcmV+-0^R+n2jB<>Qb|TeSOl>KJOY0i0ssInBftm{x8gXGZB>~oUvYvW8rJMwGJr_k z-o0r!jwDHHs%N+l1NdVLUSTvy`f0Y^Mz-xV=RQ0XKoz8fgzCx_=VOgZ@#bBHZQHgv z%W=9JfD+iVV}4$G^dA`@qdGLgnXVgv^;3UC@|5ST@% z(?+CVN-&6lbpwBaAPQql5eR#NCT4;=B?}k`08k*nU_c@-foSBPraq5UcK)fFuuj% zcRwz2;$LKZDPG<3lGAS@@wNx?>2{C(daazhE0mk}_|eU+aB}6z!?6bE{>;CK&-)Hv zu2eFAzuldQ?PqdkE{=Ryi}AY;t8-0}qw(VrtgY4kMds!2^-;R#Cs-Q{)~fyzFHdgi zu$1#)(C<%M*e`_AU&uM0T7EYFvxC{QDX`V1akC69M}cq6$BK1 zod38y`Jc0b1IMJt$EzCbL`7V-`NsMy2p$QDXJNH4{-@IMV*jmexe~c$Rp$cKJhYBX cWlP}sW4-e8f;l1lF=qGP{C|Gwr8*k}0BIvCod5s; delta 394 zcmbQix`$mR$kWYj3o`>lxT{k@Sb#+Y7Xt%>0T3$#(MB0HrutGw1_piQ0~`X&4{A(O z(G0ELf9>45CCmlR30%!Rx3^79(KO!tJ@ml0jen`RZLacLv_nKo@I-?La|2tZ=BvGoJdZ+- z>j~cB zf4Awmy~Uq<6aIJnGcLI8F>(6GA99Qn8)fP_jp1PPk>aw6DxQ;oXi4{8g}vhUr+d2x z$nl;!D7N?OvfUh0W!9TNPFZm7+w;}mcE8>8a^sX)y|4Wo%T`XlCOtQ3x4_%t%pLc5 zyq}kK+;jY!vuu5`{*irpXVWfyx6AMS1+cz>zrtA@`B l>z~{2+=YY39hd*U?Am^Qr^Ipgvg1G7kNgz>dw9PR0{~s}xi0_! diff --git a/assets/image/home_welfare.webp b/assets/image/home_welfare.webp index d73472aa6b5e644efb1747ba69c9740d2367135a..da506e31e95945d9f398fb11e353c371b2d6787d 100644 GIT binary patch delta 1027 zcmaFDIfF+g$kWYDfQ^A6+|?-{EWjdyi-Cc`0Ep!o7-Tles4>-FVrF2_muFxXxc}5+ zTkd7c=XQT?%&FIB_PV}ppI|!A=l3Ado$rrq%QZD_!lX{9VXRw~ED z*IKU@$(eF?#%8}Jkw^7&H}<-2QvWvFc@ulw!rY1BO)PRVSG(SlJ)8bPAf@-c#fz1- zt3JrHZxwNx9I)VZ#ss%3EnT*}YflHtbG0A1%cR-Z+{NMT@~YNO!L`87#=BPwn6%DpgXSvHR`;71&9t%CO%n?E5H>r}Khh9o^*l=`6N`AZ>>`iG2bu2j!^ z>cu1YeaFnmq@6L{M*7-ws-C4!+}YhI75_kEMw9cKhlj&m845e^o)co8x74!Ardu?l zbZym-vy+y8RFwPR{h{34s`v_L;<}rOns#5}U+mF(ZeJ+Q;K+1D!9#|F?V4~+cpYxI5Q$}DcGn*b5=6B%?lTC4V)r0V^!uVFbH4W5GWoJ3IdyF zS?ZhkUN-UFZ7-3rZ$;*;WgsMZ&f80K>6E&CEGF@brv!o6m(Eo67#@?Twqj!bW^_y< z8N@lg=D213^Esc{b2m;XK4t6p_{BFj7Rn?5lpR0h}^lQ75CE5}t z&L3NFew$K)_J;qxi4tzNJ{LeN+}_~G?o(X;aVh_P)3ZG39#c~zr=>>rw=WG%cAcw1eN+a ztX`N|3yMJ?%6Y*#MX)OO)YGD!F?!Q)UliBSF1b7B{PWL0|9t!ZwCM0Tr-cDGE=y}z PhvfhHUGANm$;AKwQjg(o delta 705 zcmV;y0zUni4CDzMQb|Te+ynpsS4BclR!}%t3IG5AFaQ7mBLDy+u^c7>f1UyW052oJ z2oS&HIFcks>ApjGg*T^W`0>&rBCLYSK;Py zwVI=oUFDT^DQKW^w6e~AxXsclx`?XEiurZOh#^(~S-t_zR!+TT@`;=1)De-S@=*X7$Bxwpe_ z&5nw$-+oVJLIza?0GM9A-|LxhX?9Ir@Lew&c=tME@DMZKNp6 zhgp0C0000000000ky#Ia+^)+vX}FUsayTMlys=WFeJWx-+VW^wdO&ZyE|aL6k6Sjs zkNh6R;APy14vxh6Ohg`KD(|*oM`(x^yxd)ka+m(8rK`RPr-z0nKPMme7ES}n)k=k98+Qw) z`yZ-X%ziJF-aah*QfEYGnZWR3er?n0WcgA^_d&(vcPBfmUg;ZMNsg;R+l n($m$Nc~)suk!bE1>ZxJy7Zz%nn2DJ94ODxhwk&5~{MXMi;}=qN diff --git a/lib/community/community_view/class_details_video.dart b/lib/community/community_view/class_details_video.dart index 752880f8..11fdf1a6 100644 --- a/lib/community/community_view/class_details_video.dart +++ b/lib/community/community_view/class_details_video.dart @@ -96,7 +96,7 @@ class ClassDetailsVideoState extends State { @override Widget build(BuildContext context) { return Container( - key: globalKey,child:(videoPlayerController?.value?.isInitialized ?? false) ?videoWidget( + key: globalKey,child:(videoPlayerController?.value?.isInitialized ?? false) ? videoWidget( MediaQuery.of(context).size.height, (MediaQuery.of(context).size.height/videoPlayerController.value.aspectRatio)-43, widget.coverImg, diff --git a/lib/home/home_view/discount_zone.dart b/lib/home/home_view/discount_zone.dart index 2aef255f..35b99c66 100644 --- a/lib/home/home_view/discount_zone.dart +++ b/lib/home/home_view/discount_zone.dart @@ -35,7 +35,7 @@ class _DiscountZone extends State { Widget build(BuildContext context) { return Container( width: double.infinity, - margin: EdgeInsets.only(top: 24.h), + margin: EdgeInsets.only(top: 14.h), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, diff --git a/lib/home/home_view/home_banner.dart b/lib/home/home_view/home_banner.dart index d3270268..dd191bca 100644 --- a/lib/home/home_view/home_banner.dart +++ b/lib/home/home_view/home_banner.dart @@ -23,7 +23,7 @@ class _HomeBanner extends State { Widget build(BuildContext context) { return Container( child: AspectRatio( - aspectRatio: 375/230, + aspectRatio: 375/300, child: Swiper( pagination: SwiperPagination( margin: EdgeInsets.only(bottom: 12.h), diff --git a/lib/home/home_view/home_recommend_goods.dart b/lib/home/home_view/home_recommend_goods.dart index 7f36da79..aa876b8c 100644 --- a/lib/home/home_view/home_recommend_goods.dart +++ b/lib/home/home_view/home_recommend_goods.dart @@ -47,7 +47,7 @@ class _HomeRecommendGoods extends State { color: Colors.white, ), margin: EdgeInsets.only( - left: 14.w, right: 14.w, top: 14.h, bottom: 24.h), + left: 14.w, right: 14.w, top: 14.h, bottom: 14.h), child: ListView.builder( scrollDirection: Axis.horizontal, physics: BouncingScrollPhysics(), diff --git a/lib/home/home_view/shortcut_operation.dart b/lib/home/home_view/shortcut_operation.dart index 1ff402db..5609e15c 100644 --- a/lib/home/home_view/shortcut_operation.dart +++ b/lib/home/home_view/shortcut_operation.dart @@ -24,93 +24,108 @@ class _ShortcutOperation extends State { super.initState(); } - @override Widget build(BuildContext context) { return Container( - height: 80.h, - width: double.infinity, - margin: EdgeInsets.only(bottom:15.h,left: 10.w,right: 10.w), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded(child:GestureDetector( - onTap: (){ - widget.goToOrder(0); - }, - child: Container( - width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5), - padding: EdgeInsets.all(10.h), - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, - ) - ], - borderRadius: BorderRadius.circular(4), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "联盟", - style: TextStyle( - fontWeight: MyFontWeight.semi_bold, - fontSize: 14.sp, - color: Color(0xFF0D0D0D), - ), + height: 70.h, + width: double.infinity, + margin: EdgeInsets.only(bottom: 15.h, left: 9.w, right: 9.w), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: GestureDetector( + onTap: () { + widget.goToOrder(0); + }, + child: Container( + width: double.infinity, + margin: EdgeInsets.symmetric(horizontal: 5), + padding: EdgeInsets.all(10.h), + decoration: BoxDecoration( + gradient: new LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + Color(0xFFD1E8D9), + Color(0xFFE4F7EA), + ]), + boxShadow: [ + BoxShadow( + color: Colors.black.withAlpha(12), + offset: Offset(0, 2), + blurRadius: 4, + spreadRadius: 1, + ) + ], + borderRadius: BorderRadius.circular(6), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "联盟", + style: TextStyle( + fontWeight: MyFontWeight.semi_bold, + fontSize: 14.sp, + color: Color(0xFF32A060), ), - SizedBox(height:5.h), - Text( - "下单赚积分", - style: TextStyle( - fontWeight: MyFontWeight.regular, - fontSize: 12.sp, - color: Color(0xFF4D4D4D), - ), + ), + SizedBox(height: 5.h), + Text( + "下单赚积分", + style: TextStyle( + fontWeight: MyFontWeight.regular, + fontSize: 12.sp, + color: Color(0xFF61836F), ), - ], - ), - SizedBox(width: 3.w), - Expanded(child: Image.asset( + ), + ], + ), + SizedBox(width: 3.w), + Expanded( + child: Image.asset( "assets/image/home_lm.webp", - width:36.w, - height:36.h, - ),), - ], - ), + width: 36.w, + height: 36.h, + ), + ), + ], ), - ) ), - Expanded(child:GestureDetector( - onTap: (){ + ), + )), + Expanded( + child: GestureDetector( + onTap: () { Navigator.of(context).pushNamed('/router/recharge_page'); }, child: Container( width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5.w), + margin: EdgeInsets.symmetric(horizontal: 5.w), padding: EdgeInsets.all(10.h), decoration: BoxDecoration( - color: Colors.white, + gradient: new LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + Color(0xFFFAEDCB), + Color(0xFFFAF4E2), + ]), boxShadow: [ BoxShadow( color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, + offset: Offset(0, 2), + blurRadius: 4, + spreadRadius: 1, ) ], - borderRadius: BorderRadius.circular(4.r), + borderRadius: BorderRadius.circular(6.r), ), child: Row( mainAxisAlignment: MainAxisAlignment.center, @@ -125,7 +140,7 @@ class _ShortcutOperation extends State { style: TextStyle( fontWeight: MyFontWeight.semi_bold, fontSize: 14.sp, - color: Color(0xFF0D0D0D), + color: Color(0xFFFFBA1B), ), ), SizedBox(height: 5.h), @@ -134,41 +149,51 @@ class _ShortcutOperation extends State { style: TextStyle( fontWeight: MyFontWeight.regular, fontSize: 12.sp, - color: Color(0xFF4D4D4D), + color: Color(0xFFA59162), ), ), ], ), SizedBox(width: 3.w), - Expanded(child: Image.asset( - "assets/image/home_recharge.webp", - width:36.w, - height:36.h, - ),), + Expanded( + child: Image.asset( + "assets/image/home_recharge.webp", + width: 36.w, + height: 36.h, + ), + ), ], ), ), - ), ), - Expanded(child: GestureDetector( - onTap: (){ + ), + ), + Expanded( + child: GestureDetector( + onTap: () { // Navigator.of(context).pushNamed('/router/roll_center_page'); Navigator.of(context).pushNamed('/router/welfare_page'); }, - child:Container( + child: Container( width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5.w), + margin: EdgeInsets.symmetric(horizontal: 5.w), padding: EdgeInsets.all(10.h), decoration: BoxDecoration( - color: Colors.white, + gradient: new LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + Color(0xFFFAE5CB), + Color(0xFFFAF1E4), + ]), boxShadow: [ BoxShadow( color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, + offset: Offset(0, 2), + blurRadius: 4, + spreadRadius: 1, ) ], - borderRadius: BorderRadius.circular(4.r), + borderRadius: BorderRadius.circular(6.r), ), child: Row( mainAxisAlignment: MainAxisAlignment.center, @@ -183,7 +208,7 @@ class _ShortcutOperation extends State { style: TextStyle( fontWeight: MyFontWeight.semi_bold, fontSize: 14.sp, - color: Color(0xFF0D0D0D), + color: Color(0xFFFF910F), ), ), SizedBox(height: 5.h), @@ -192,24 +217,26 @@ class _ShortcutOperation extends State { style: TextStyle( fontWeight: MyFontWeight.regular, fontSize: 12.sp, - color: Color(0xFF4D4D4D), + color: Color(0xFF89755D), ), ), ], ), SizedBox(width: 3.w), - Expanded(child: Image.asset( - "assets/image/home_welfare.webp", - width:36.w, - height:36.h, - ),), + Expanded( + child: Image.asset( + "assets/image/home_welfare.webp", + width: 36.w, + height: 36.h, + ), + ), ], ), ), - ),), - ], - ), - ); + ), + ), + ], + ), + ); } - } diff --git a/lib/home/home_view/top_selling_list.dart b/lib/home/home_view/top_selling_list.dart index 853ca4a1..14d73261 100644 --- a/lib/home/home_view/top_selling_list.dart +++ b/lib/home/home_view/top_selling_list.dart @@ -44,7 +44,7 @@ class _TopSellingList extends State { fit: BoxFit.cover, ), ), - margin: EdgeInsets.only(left: 14.w,right: 14.w,top: 12.h,bottom: 23.h), + margin: EdgeInsets.only(left: 14.w,right: 14.w,bottom: 14.h), padding: EdgeInsets.only(left: 12.w,top: 16.h), child: Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/home/home_view/union_entry.dart b/lib/home/home_view/union_entry.dart index 48dee0be..d090691f 100644 --- a/lib/home/home_view/union_entry.dart +++ b/lib/home/home_view/union_entry.dart @@ -30,7 +30,19 @@ class _UnionEntry extends State { return Container( height: 130.h, width: double.infinity, - margin: EdgeInsets.only(bottom:10.h,left: 10.w,right: 10.w,top: 14.h), + margin: EdgeInsets.all(14.h), + decoration: BoxDecoration( + color: Color(0xFFFFFFFF), + boxShadow: [ + BoxShadow( + color: Colors.black.withAlpha(12), + offset: Offset(0, 3), + blurRadius: 14, + spreadRadius: 0, + ) + ], + borderRadius: BorderRadius.circular(6.r), + ), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, @@ -39,129 +51,78 @@ class _UnionEntry extends State { onTap: (){ widget.goToOrder(1); }, - child: Container( - width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5.w), - padding: EdgeInsets.symmetric(vertical:12.h), - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, - ) - ], - borderRadius: BorderRadius.circular(6.r), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "assets/image/home_chi.webp", - fit: BoxFit.cover, - width: 60.w, - height: 60.h, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + "assets/image/home_chi.webp", + fit: BoxFit.cover, + width: 60.w, + height: 60.h, + ), + SizedBox(height:4.h), + Text( + "吃健康", + style: TextStyle( + fontWeight: MyFontWeight.medium, + fontSize: 15.sp, + color: Color(0xFF0D0D0D), ), - SizedBox(height:4.h), - Text( - "吃健康", - style: TextStyle( - fontWeight: MyFontWeight.medium, - fontSize: 15.sp, - color: Color(0xFF0D0D0D), - ), - ), - ], - ), + ), + ], ), ) ), Expanded(child:GestureDetector( onTap: (){ widget.goToOrder(2); }, - child: Container( - width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5.w), - // padding: EdgeInsets.symmetric(vertical:12.h), - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, - ) - ], - borderRadius: BorderRadius.circular(6.r), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "assets/image/home_he.webp", - fit: BoxFit.cover, - width: 60.w, - height: 60.h, - ), - SizedBox(height:4.h), - Text( - "喝健康", - style: TextStyle( - fontWeight: MyFontWeight.medium, - fontSize: 15.sp, - color: Color(0xFF0D0D0D), - ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + "assets/image/home_he.webp", + fit: BoxFit.cover, + width: 60.w, + height: 60.h, + ), + SizedBox(height:4.h), + Text( + "喝健康", + style: TextStyle( + fontWeight: MyFontWeight.medium, + fontSize: 15.sp, + color: Color(0xFF0D0D0D), ), - ], - ), + ), + ], ), ) ), Expanded(child: GestureDetector( onTap: (){ widget.goToOrder(3); }, - child: Container( - width: double.infinity, - margin: EdgeInsets.symmetric(horizontal:5.w), - padding: EdgeInsets.symmetric(vertical:12.h), - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.black.withAlpha(12), - offset: Offset(0, 3), - blurRadius: 14, - spreadRadius: 0, - ) - ], - borderRadius: BorderRadius.circular(6.r), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "assets/image/home_wan.webp", - fit: BoxFit.cover, - width: 60.w, - height: 60.h, - ), - SizedBox(height:4.h), - Text( - "玩健康", - style: TextStyle( - fontWeight: MyFontWeight.medium, - fontSize: 15.sp, - color: Color(0xFF0D0D0D), - ), + child:Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + "assets/image/home_wan.webp", + fit: BoxFit.cover, + width: 60.w, + height: 60.h, + ), + SizedBox(height:4.h), + Text( + "玩健康", + style: TextStyle( + fontWeight: MyFontWeight.medium, + fontSize: 15.sp, + color: Color(0xFF0D0D0D), ), - ], - ), + ), + ], ), )), ], diff --git a/lib/home/home_view/welfare_core.dart b/lib/home/home_view/welfare_core.dart index 35a937ad..29c252ce 100644 --- a/lib/home/home_view/welfare_core.dart +++ b/lib/home/home_view/welfare_core.dart @@ -60,7 +60,7 @@ class _WelfareCore extends State { ),), Container( width: double.infinity, - margin: EdgeInsets.only(left:9.w,right: 9.w,top: 16.h,bottom: 12.h), + margin: EdgeInsets.only(left:10.w,right: 10.w,top: 14.h,bottom: 14.h), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/home/points_mall_view/points_goods_view.dart b/lib/home/points_mall_view/points_goods_view.dart index 4743515c..60be2792 100644 --- a/lib/home/points_mall_view/points_goods_view.dart +++ b/lib/home/points_mall_view/points_goods_view.dart @@ -5,6 +5,7 @@ import 'package:huixiang/utils/flutter_utils.dart'; import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/view_widget/custom_image.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:huixiang/view_widget/no_data_view.dart'; class PointGoods extends StatefulWidget { final List goods; @@ -19,50 +20,64 @@ class PointGoods extends StatefulWidget { } class _PointGoods extends State { - String pointPrice(Goods goods){ - if(goods == null) - return ""; - if(goods?.onePrice!=null && goods?.onePrice!="0"){ + String pointPrice(Goods goods) { + if (goods == null) return ""; + if (goods?.onePrice != null && goods?.onePrice != "0") { return S.of(context).jifen_(goods?.onePrice); - }else if((goods?.onePrice == null || goods?.onePrice == "0") && ((goods?.price != null && goods?.price != "0") || (goods?.money != null && goods?.money != "0.00"))){ - return (goods?.price== "0"|| goods?.price == null ? "" : S.of(context).jifen_(goods?.price)) + (goods?.money== "0"|| goods?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}元"); - }else if(goods.oneMoney != null && goods.oneMoney != "0.00"){ + } else if ((goods?.onePrice == null || goods?.onePrice == "0") && + ((goods?.price != null && goods?.price != "0") || + (goods?.money != null && goods?.money != "0.00"))) { + return (goods?.price == "0" || goods?.price == null + ? "" + : S.of(context).jifen_(goods?.price)) + + (goods?.money == "0" || goods?.money == null + ? "" + : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}元"); + } else if (goods.oneMoney != null && goods.oneMoney != "0.00") { return "${AppUtils.calculateDouble(double.tryParse(goods.oneMoney) ?? 0)}元"; } } @override Widget build(BuildContext context) { - return GridView.builder( - itemCount: widget.goods == null ? 0 : widget.goods.length, - padding: EdgeInsets.only( - left: 16.w, - right: 16.w, - top: 18.h, - bottom: 16.h, - ), - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( - //一行的Widget数量 - crossAxisCount: 2, - //水平子Widget之间间距 - crossAxisSpacing: 11.w, - //垂直子Widget之间间距 - mainAxisSpacing: 16.w, - //子Widget宽高比例 0.59 - childAspectRatio: - 200 / (286 / 2 + (286 / 2) * AppUtils.textScale(context)), - ), - itemBuilder: (context, index) { - return GestureDetector( - onTap: () { - widget.onTap(index); - }, - child: buildItem(widget.goods[index]), - ); - }, - ); + return (widget.goods == null || widget.goods.length == 0) + ? NoDataView( + src: "assets/image/xiao_fei.webp", + isShowBtn: false, + text: "当前分类暂无商品", + fontSize: 16.sp, + margin: EdgeInsets.all(60.h), + ) + : GridView.builder( + itemCount: widget.goods == null ? 0 : widget.goods.length, + padding: EdgeInsets.only( + left: 16.w, + right: 16.w, + top: 18.h, + bottom: 16.h, + ), + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + //一行的Widget数量 + crossAxisCount: 2, + //水平子Widget之间间距 + crossAxisSpacing: 11.w, + //垂直子Widget之间间距 + mainAxisSpacing: 16.w, + //子Widget宽高比例 0.59 + childAspectRatio: + 200 / (266 / 2 + (266 / 2) * AppUtils.textScale(context)), + ), + itemBuilder: (context, index) { + return GestureDetector( + onTap: () { + widget.onTap(index); + }, + child: buildItem(widget.goods[index]), + ); + }, + ); } Widget buildItem(Goods goods) { @@ -91,7 +106,7 @@ class _PointGoods extends State { children: [ MImage( goods.mainImgPath, - aspectRatio: 158/158, + aspectRatio: 158 / 158, radius: BorderRadius.only( topLeft: Radius.circular(6), topRight: Radius.circular(6), @@ -111,17 +126,20 @@ class _PointGoods extends State { mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded(child: Text( + Expanded( + child: Text( goods.name, overflow: TextOverflow.ellipsis, - maxLines: 2, + maxLines: 1, style: TextStyle( color: Color(0xff353535), fontWeight: MyFontWeight.medium, fontSize: 15.sp, ), )), - SizedBox(height: 5.h,), + SizedBox( + height: 5.h, + ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/home/welfare_exchange.dart b/lib/home/welfare_exchange.dart index fd096098..36a286ca 100644 --- a/lib/home/welfare_exchange.dart +++ b/lib/home/welfare_exchange.dart @@ -16,8 +16,10 @@ import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/view_widget/classic_header.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:huixiang/view_widget/custom_image.dart'; +import 'package:huixiang/view_widget/item_title.dart'; import 'package:huixiang/view_widget/my_appbar.dart'; import 'package:huixiang/view_widget/my_footer.dart'; +import 'package:huixiang/view_widget/my_tab.dart'; import 'package:huixiang/view_widget/no_data_view.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -34,8 +36,10 @@ class _WelfareExchange extends State { final ScrollController scrollController = ScrollController(); final RefreshController refreshController = RefreshController(); int pageNum = 1; + //排序类型枚举:1-自然排序,2-销量,3-价格 int orderType = 1; + //是否降序排列 bool orderDesc = true; List goods = []; @@ -43,6 +47,12 @@ class _WelfareExchange extends State { List gooodsCategorys = []; UserInfo userInfo; String categoryId; + var _itemText = S.current.morenpaixu; + List sortString = [ + S.current.morenpaixu, + S.current.jifengaodaodi, + S.current.jifendidaogao, + ]; @override void dispose() { @@ -65,6 +75,7 @@ class _WelfareExchange extends State { await apiService.queryInfo().catchError((onError) {}); if (baseData != null && baseData.isSuccess) { userInfo = baseData.data; + setState(() {}); SharedPreferences.getInstance().then((value) => { value.setString('user', jsonEncode(baseData.data)), }); @@ -95,7 +106,7 @@ class _WelfareExchange extends State { } BaseData> dataCategory = - await apiService.goodsCategory({ + await apiService.goodsCategory({ "current": 1, "map": {}, "model": {"pageNum": 1, "pageSize": 20, "searchKey": ""}, @@ -126,7 +137,7 @@ class _WelfareExchange extends State { "state": 1 }; BaseData> pageGoods = - await apiService.creditGoods(param).catchError((onError) { + await apiService.creditGoods(param).catchError((onError) { refreshController.loadFailed(); refreshController.refreshFailed(); }); @@ -147,6 +158,7 @@ class _WelfareExchange extends State { refreshController.loadFailed(); refreshController.refreshFailed(); } + setState(() {}); } _onRefresh() { @@ -155,102 +167,119 @@ class _WelfareExchange extends State { @override Widget build(BuildContext context) { - return Container( - color: Color(0xFFF7F7F7), - child: Stack( - children: [ - Container( - // padding: EdgeInsets.only(top: 40.h), - height: 172.h, - decoration: BoxDecoration( - // border: Border.all(color: Colors.white,width: 0.5), - color: Color(0xFF277D4B), - shape: BoxShape.rectangle, - borderRadius: BorderRadius.only( - bottomRight: Radius.circular(40), - bottomLeft: Radius.circular(40), + return Scaffold( + backgroundColor: Colors.transparent, + body: NestedScrollView( + headerSliverBuilder: (context, inner) { + return [ + SliverAppBar( + pinned: true, + backgroundColor: Colors.white, + elevation: 0, + title: Text( + "福利兑换", + style: + TextStyle(fontWeight: FontWeight.w500, color: Colors.white), ), - ), - // child: ClipPath( - // 只裁切底部的方法 - // clipper: BottonClipper(), - // child: Container( - // color: Colors.deepOrange, - // height: 300, - // ), - // ), - ), - Scaffold( - backgroundColor: Colors.transparent, - appBar: MyAppBar( - background: Colors.transparent, - leadingColor: Colors.white, - title: "福利兑换", - titleColor: Colors.white, - titleSize: 18.sp, - brightness: Brightness.dark, - ), - body: SmartRefresher( - controller: refreshController, - enablePullDown: true, - enablePullUp: false, - header: MyHeader(), - footer: CustomFooter( - builder: (context, mode) { - return MyFooter(mode); + centerTitle: true, + leading: GestureDetector( + onTap: () { + Navigator.of(context).pop(); }, + child: Container( + alignment: Alignment.centerRight, + margin: EdgeInsets.only(left: 10), + padding: EdgeInsets.all(6), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + size: 24, + ), + ), ), - onRefresh: () { - setState(() { - _onRefresh(); - }); - }, - physics: BouncingScrollPhysics(), - scrollController: scrollController, - child: Container( - child: SingleChildScrollView( - physics: BouncingScrollPhysics(), - child: FutureBuilder( - future: creditGoods(), - builder: (context, snap) { - return Column( - children: [ - ///积分商城的用户信息 - pointUser(), - - Container( - color: Colors.white, - child: Column( - children: [ - ///积分商品头Tab - PointsGoodsTitle( - gooodsCategorys, - (orderType, orderDesc) { - this.orderType = orderType; - this.orderDesc = orderDesc; - setState(() {}); - }, - (index) { - categoryId = gooodsCategorys[index].id; - pageNum = 1; - setState(() {}); - }, - ), - - ///积分商品列表, - pointList() - ], - ), - ) - ], - ); - }, + flexibleSpace: FlexibleSpaceBar( + background: Stack( + children: [ + Container( + // padding: EdgeInsets.only(top: 40.h), + height: 172.h, + decoration: BoxDecoration( + // border: Border.all(color: Colors.white,width: 0.5), + color: Color(0xFF277D4B), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + bottomRight: Radius.circular(40), + bottomLeft: Radius.circular(40), + ), + ), + ), + Container( + alignment: Alignment.topCenter, + margin: EdgeInsets.only(top: 106.h), + child: pointUser(), + ), + ], + )), + expandedHeight: 258.h, + bottom: PreferredSize( + preferredSize: Size(double.infinity, 0), + child: DefaultTabController( + length: gooodsCategorys == null ? 0 : gooodsCategorys.length, + child: Container( + color: Colors.white, + child: TabBar( + isScrollable: true, + //可滚动 + indicatorColor: Color(0xff39B54A), + labelColor: Color(0xff32A060), + labelStyle: TextStyle( + fontSize: 14.sp, + fontWeight: FontWeight.bold, + ), + unselectedLabelStyle: TextStyle( + fontSize: 14.sp, + fontWeight: MyFontWeight.regular, + ), + // controller: tabController, + //未选中文字颜色 + unselectedLabelColor: Color(0xff4D4D4D), + indicatorSize: TabBarIndicatorSize.label, + //指示器与文字等宽 + tabs: gooodsCategorys == null + ? [] + : gooodsCategorys + .map((e) => MyTab(text: e.name)) + .toList(), + onTap: (index) { + categoryId = gooodsCategorys[index].id; + pageNum = 1; + creditGoods(); + setState(() {}); + }, + ), ), ), ), ), - ), - ], + ]; + }, + body: SmartRefresher( + controller: refreshController, + enablePullDown: true, + enablePullUp: true, + physics: ClampingScrollPhysics(), + header: MyHeader(), + footer: CustomFooter( + builder: (context, mode) { + return MyFooter(mode); + }, + ), + onRefresh: _onRefresh, + child: Container( + color: Colors.white, + padding: EdgeInsets.only(top: 19.h), + child: pointList(), + )), ), ); } @@ -347,8 +376,9 @@ class _WelfareExchange extends State { crossAxisAlignment: CrossAxisAlignment.end, children: [ GestureDetector( - onTap: (){ - Navigator.of(context).pushNamed('/router/integral_detailed_page'); + onTap: () { + Navigator.of(context) + .pushNamed('/router/integral_detailed_page'); }, child: Row( children: [ @@ -368,7 +398,7 @@ class _WelfareExchange extends State { color: Color(0xFF32A060), borderRadius: BorderRadius.circular(10), ), - child:Icon( + child: Icon( Icons.keyboard_arrow_right, size: 20, color: Colors.white, @@ -390,7 +420,9 @@ class _WelfareExchange extends State { fontWeight: MyFontWeight.medium, ), ), - SizedBox(width: 6,), + SizedBox( + width: 6, + ), Image.asset( "assets/image/icon_gold_coin.webp", width: 18, @@ -406,47 +438,49 @@ class _WelfareExchange extends State { ); } - Widget pointList(){ + Widget pointList() { return Container( - child: (goods == null || goods.length == 0)? NoDataView( - src: "assets/image/xiao_fei.webp", - isShowBtn: false, - text: "当前分类暂无商品", - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h,left: 60.w,right: 60.w), - ):GridView.builder( - itemCount:goods == null ? 0 : goods.length, - padding: EdgeInsets.only( - left: 16.w, - right: 16.w, - top: 18.h, - bottom: 16.h, - ), - shrinkWrap: true, - physics: BouncingScrollPhysics(), - gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( - //一行的Widget数量 - crossAxisCount: 2, - //水平子Widget之间间距 - crossAxisSpacing: 11.w, - //垂直子Widget之间间距 - mainAxisSpacing: 16.w, - //子Widget宽高比例 0.59 - childAspectRatio: - 200 / (285 / 2 + (285 / 2) * AppUtils.textScale(context)), - ), - itemBuilder: (context, index) { - return GestureDetector( - onTap: () { - Navigator.of(context).pushNamed( - '/router/integral_store_page', - arguments: {"goodsId": goods[index].id}, - ); - }, - child: pointItem(goods[index]), - ); - }, - ), + child: (goods == null || goods.length == 0) + ? NoDataView( + src: "assets/image/xiao_fei.webp", + isShowBtn: false, + text: "当前分类暂无商品", + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h, left: 60.w, right: 60.w), + ) + : GridView.builder( + itemCount: goods == null ? 0 : goods.length, + padding: EdgeInsets.only( + left: 16.w, + right: 16.w, + top: 18.h, + bottom: 16.h, + ), + shrinkWrap: true, + physics: BouncingScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + //一行的Widget数量 + crossAxisCount: 2, + //水平子Widget之间间距 + crossAxisSpacing: 11.w, + //垂直子Widget之间间距 + mainAxisSpacing: 16.w, + //子Widget宽高比例 0.59 + childAspectRatio: + 200 / (266 / 2 + (266 / 2) * AppUtils.textScale(context)), + ), + itemBuilder: (context, index) { + return GestureDetector( + onTap: () { + Navigator.of(context).pushNamed( + '/router/integral_store_page', + arguments: {"goodsId": goods[index].id}, + ); + }, + child: pointItem(goods[index]), + ); + }, + ), ); } @@ -490,10 +524,8 @@ class _WelfareExchange extends State { margin: EdgeInsets.only( right: 12.w, top: 10.h, - ),padding: EdgeInsets.only( - bottom: 8.h, - left: 8.w - ), + ), + padding: EdgeInsets.only(bottom: 8.h, left: 8.w), child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, @@ -501,7 +533,7 @@ class _WelfareExchange extends State { Text( goods.name, overflow: TextOverflow.ellipsis, - maxLines: 2, + maxLines: 1, style: TextStyle( color: Color(0xFF0D0D0D), height: 1.2, @@ -511,7 +543,7 @@ class _WelfareExchange extends State { ), Spacer(), Text( - pointPrice(goods), + pointPrice(goods), overflow: TextOverflow.ellipsis, maxLines: 2, style: TextStyle( @@ -532,17 +564,21 @@ class _WelfareExchange extends State { ); } - String pointPrice(Goods goods){ - if(goods == null) - return ""; - if(goods?.onePrice!=null && goods?.onePrice!="0"){ + String pointPrice(Goods goods) { + if (goods == null) return ""; + if (goods?.onePrice != null && goods?.onePrice != "0") { return S.of(context).jifen_(goods?.onePrice); - }else if((goods?.onePrice == null || goods?.onePrice == "0") && ((goods?.price != null && goods?.price != "0") || (goods?.money != null && goods?.money != "0.00"))){ - return (goods?.price== "0"|| goods?.price == null ? "" : S.of(context).jifen_(goods?.price)) + (goods?.money== "0"|| goods?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}元"); - }else if(goods.oneMoney != null && goods.oneMoney != "0.00"){ + } else if ((goods?.onePrice == null || goods?.onePrice == "0") && + ((goods?.price != null && goods?.price != "0") || + (goods?.money != null && goods?.money != "0.00"))) { + return (goods?.price == "0" || goods?.price == null + ? "" + : S.of(context).jifen_(goods?.price)) + + (goods?.money == "0" || goods?.money == null + ? "" + : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}元"); + } else if (goods.oneMoney != null && goods.oneMoney != "0.00") { return "${AppUtils.calculateDouble(double.tryParse(goods.oneMoney) ?? 0)}元"; } } - - } diff --git a/lib/home/welfare_page.dart b/lib/home/welfare_page.dart index 181de2ea..1c66369f 100644 --- a/lib/home/welfare_page.dart +++ b/lib/home/welfare_page.dart @@ -755,7 +755,14 @@ class _WelfarePage extends State { ), ), SizedBox(height: 12,), - GridView.builder( + (goods == null || goods.length == 0)? NoDataView( + src: "assets/image/xiao_fei.webp", + isShowBtn: false, + text: "暂无商品可兑换", + fontSize: 16.sp, + margin: EdgeInsets.all(60.h), + ) + :GridView.builder( itemCount:goods.length>6?6:goods.length, padding: EdgeInsets.only( // left: 16.w, @@ -774,7 +781,7 @@ class _WelfarePage extends State { mainAxisSpacing: 16.w, //子Widget宽高比例 0.59 childAspectRatio: - 200 / (286 / 2 + (286 / 2) * AppUtils.textScale(context)), + 200 / (266 / 2 + (266 / 2) * AppUtils.textScale(context)), ), itemBuilder: (context, index) { return GestureDetector( @@ -844,7 +851,7 @@ class _WelfarePage extends State { Text( goods.name, overflow: TextOverflow.ellipsis, - maxLines: 2, + maxLines: 1, style: TextStyle( color: Color(0xFF0D0D0D), height: 1.2, diff --git a/lib/integral/integral_detailed_page.dart b/lib/integral/integral_detailed_page.dart index 0ca14c82..2032affc 100644 --- a/lib/integral/integral_detailed_page.dart +++ b/lib/integral/integral_detailed_page.dart @@ -155,30 +155,30 @@ class _IntegralDetailedPage extends State leadingWidth: 56, flexibleSpace: FlexibleSpaceBar( background: Container( - alignment: Alignment.center, - margin: EdgeInsets.only(top: 56.h), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - userInfo != null ? userInfo.points : "0", - style: TextStyle( - color: Colors.white, - fontWeight: MyFontWeight.medium, - fontSize: 48.sp), - ), - Text( - S.of(context).wodejifenzhi, - style: TextStyle( - color: Color(0xFFF2F2F2), - fontSize: 12.sp, - fontWeight: MyFontWeight.regular), - ), - ], - ), + alignment: Alignment.center, + margin: EdgeInsets.only(top: 56.h), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + userInfo != null ? userInfo.points : "0", + style: TextStyle( + color: Colors.white, + fontWeight: MyFontWeight.medium, + fontSize: 48.sp), + ), + Text( + S.of(context).wodejifenzhi, + style: TextStyle( + color: Color(0xFFF2F2F2), + fontSize: 12.sp, + fontWeight: MyFontWeight.regular), + ), + ], ), ), + ), expandedHeight: 228, bottom: PreferredSize( preferredSize: Size(double.infinity, 38), diff --git a/lib/mine/mine_page.dart b/lib/mine/mine_page.dart index 8f983dfe..72f134d7 100644 --- a/lib/mine/mine_page.dart +++ b/lib/mine/mine_page.dart @@ -195,9 +195,13 @@ class MinePageState extends State with AutomaticKeepAliveClientMixin { // alignment: Alignment.centerRight, children: [ Container( - height: 317, + height: 502.h, decoration: BoxDecoration( - color: Color(0xFF32A060) + // color: Color(0xFF32A060) + image: DecorationImage( + fit: BoxFit.cover, + image: AssetImage("assets/image/settlement_bg.webp"), + ), ), ), FutureBuilder( @@ -205,68 +209,52 @@ class MinePageState extends State with AutomaticKeepAliveClientMixin { builder: (context, snapshot) { return Column( children: [ - Stack( - children: [ - Container( - child: Column( - children: [ - ///我的 用户信息 - MineView( - userInfo, - () { - _toUserInfo(); - }, - () { - toIntegralPage(); - }, - (){ - setState(() { - totalMsg =0; - }); - }, - totalMsg, - infoNumber - ), - - ///我的 VIP等级信息 - MineVipEntry( - tag: "vip", - ranks: ranks, - userInfo: userInfo, - rank: double.tryParse( - userInfo?.expendAmount ?? "0") - .toInt(), - rankMax: - userInfo?.memberRankVo?.nextOrigin ?? 0, - createTime: userInfo?.createTime ?? "", - ), - - ], - ), - ), - Container( - margin: EdgeInsets.only(top: 258.h), - child: Column( - children: [ - ///我的订单 - MineOrderView(), - - ///推广图 - spreadImage(), - - ///我的 下面item - MineItem(), - - ///我的成就 - attainment(), - - ///绿色足迹 - MineCalendar() - ], - ), - ) - ], - ) + + ///我的 用户信息 + MineView( + userInfo, + () { + _toUserInfo(); + }, + () { + toIntegralPage(); + }, + (){ + setState(() { + totalMsg =0; + }); + }, + totalMsg, + infoNumber + ), + + ///我的 VIP等级信息 + MineVipEntry( + tag: "vip", + ranks: ranks, + userInfo: userInfo, + rank: double.tryParse( + userInfo?.expendAmount ?? "0") + .toInt(), + rankMax: + userInfo?.memberRankVo?.nextOrigin ?? 0, + createTime: userInfo?.createTime ?? "", + ), + + ///我的订单 + MineOrderView(), + + ///推广图 + spreadImage(), + + ///我的 下面item + MineItem(), + + ///我的成就 + attainment(), + + ///绿色足迹 + MineCalendar() // ///关注度/粉丝/发布 // attention(), @@ -298,8 +286,8 @@ class MinePageState extends State with AutomaticKeepAliveClientMixin { ); }, child:Container( - margin: EdgeInsets.only(left:14,right:14,bottom:10), - padding: EdgeInsets.only(left:12, top:12, right:10,bottom: 12), + margin: EdgeInsets.only(left:16.w,right:16.w,bottom:15.h), + padding: EdgeInsets.only(left:12.w, top:12.h, right:10.w,bottom: 17.h), width: double.infinity, decoration: BoxDecoration( color: Colors.white, @@ -395,7 +383,7 @@ class MinePageState extends State with AutomaticKeepAliveClientMixin { ///推广图 Widget spreadImage() { return Container( - margin: EdgeInsets.only(right:14.w,bottom:10.h,left: 14.w), + margin: EdgeInsets.only(right:14.w,bottom:15.h,left: 14.w), child: GestureDetector( onTap: (){ Navigator.of(context).pushNamed('/router/invite_friends'); diff --git a/lib/mine/mine_view/mine_calendar.dart b/lib/mine/mine_view/mine_calendar.dart index c1675ef1..06956aaf 100644 --- a/lib/mine/mine_view/mine_calendar.dart +++ b/lib/mine/mine_view/mine_calendar.dart @@ -15,7 +15,7 @@ class _MineCalendar extends State { @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.fromLTRB(14.w, 20.h, 14.w, 30.h), + margin: EdgeInsets.fromLTRB(14.w, 0.h, 14.w, 30.h), padding: EdgeInsets.only(top: 12.h,left: 12,), decoration: BoxDecoration( // color: Colors.white, @@ -41,7 +41,7 @@ class _MineCalendar extends State { children: [ GestureDetector( onTap: (){ - Navigator.of(context).pushNamed('/router/mine_greenery'); + // Navigator.of(context).pushNamed('/router/mine_greenery'); }, child: Row( children: [ diff --git a/lib/mine/mine_view/mine_item.dart b/lib/mine/mine_view/mine_item.dart index f4238f5b..4ac8e307 100644 --- a/lib/mine/mine_view/mine_item.dart +++ b/lib/mine/mine_view/mine_item.dart @@ -20,7 +20,7 @@ class _MineItem extends State { @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.fromLTRB(16.w, 20.h, 16.w, 30.h), + margin: EdgeInsets.fromLTRB(16.w,0.h, 16.w, 15.h), // padding: EdgeInsets.fromLTRB(20.w, 12.h, 20.w, 12.h), decoration: BoxDecoration( color: Colors.white, @@ -38,13 +38,13 @@ class _MineItem extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( - padding: EdgeInsets.only(left: 16,top:16,bottom:4,right: 16), + padding: EdgeInsets.only(left: 16,top:16,bottom:13,right: 16), child:Text( "其他", style: TextStyle( color: Color(0xFF353535), fontWeight: MyFontWeight.semi_bold, - fontSize: 16.sp, + fontSize: 15.sp, ), ), ), @@ -223,7 +223,7 @@ class _MineItem extends State { // ),), ], ), - SizedBox(height: 10.h,), + SizedBox(height: 12.h,), if(isShowMore) Row( children: [ @@ -314,7 +314,7 @@ class _MineItem extends State { ], ), if(isShowMore) - SizedBox(height: 10.h,), + SizedBox(height: 12.h,), if(isShowMore) Row( children: [ diff --git a/lib/mine/mine_view/mine_order.dart b/lib/mine/mine_view/mine_order.dart index 487680b9..d8a16318 100644 --- a/lib/mine/mine_view/mine_order.dart +++ b/lib/mine/mine_view/mine_order.dart @@ -16,7 +16,7 @@ class _MineOrderView extends State { @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.only(left:14, bottom:30, right:14), + margin: EdgeInsets.only(left:14, bottom:15, right:14), padding: EdgeInsets.fromLTRB(20.w, 12.h, 20.w, 12.h), decoration: BoxDecoration( color: Colors.white, @@ -40,11 +40,11 @@ class _MineOrderView extends State { style: TextStyle( color: Color(0xFF353535), fontWeight: MyFontWeight.semi_bold, - fontSize: 16.sp, + fontSize: 15.sp, ), ), ), - SizedBox(height: 8.h,), + SizedBox(height: 10.h,), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, diff --git a/lib/mine/mine_view/mine_view.dart b/lib/mine/mine_view/mine_view.dart index ea9811dd..a27c8241 100644 --- a/lib/mine/mine_view/mine_view.dart +++ b/lib/mine/mine_view/mine_view.dart @@ -67,13 +67,13 @@ class _MineView extends State { return Column( children: [ Container( - margin: EdgeInsets.only(top: 28.w), + margin: EdgeInsets.only(top: 29.h), alignment: Alignment.centerRight, child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Container( - height: 24, + height: 24.h, alignment: Alignment.center, child: GestureDetector( onTap: () { @@ -82,23 +82,23 @@ class _MineView extends State { }); }, child: Container( - height: 24, + height: 24.h, alignment:Alignment.center, child:Stack( children: [ Image.asset( "assets/image/icon_notices.webp", - width:32.w, - height: 32.h, + width:32, + height: 32, color: Colors.white, ), if(widget.totalMsg != 0) Container( - width:36, + width:36.w, alignment: Alignment.topRight, child:Container( - width:22, - height:14, + width:22.w, + height:14.h, decoration: BoxDecoration( borderRadius: BorderRadius.circular(100), border: Border.all( @@ -131,8 +131,8 @@ class _MineView extends State { padding: EdgeInsets.all(8.h), child: Image.asset( "assets/image/icon_scan_qr_code.webp", - width:32.w, - height: 32.h, + width:32, + height: 32, color: Colors.white, ), ), @@ -146,8 +146,8 @@ class _MineView extends State { margin: EdgeInsets.only(right: 12.w), child: Image.asset( "assets/image/icon_mine_setting.webp", - width: 32.w, - height: 32.h, + width: 32, + height: 32, color: Colors.white, ), ), @@ -259,8 +259,8 @@ class _MineView extends State { right: 2.w, child: Image.asset( "assets/image/icon_mine_edit.webp", - width: 17.w, - height: 17.w, + width: 17, + height: 17, ), ), ], @@ -373,7 +373,7 @@ class _MineView extends State { widget.toIntegralPage(); }, child: Container( - padding: EdgeInsets.only(top: 4, bottom: 4, right: 16,left: 7), + padding: EdgeInsets.only(top: 4.h, bottom: 4.h, right: 16.w,left: 7.w), margin: EdgeInsets.only(right: 14.w), decoration: BoxDecoration( borderRadius: BorderRadius.circular(12), @@ -384,8 +384,8 @@ class _MineView extends State { children: [ Image.asset( "assets/image/icon_gold_coin.webp", - width: 16.w, - height: 16.h, + width: 16, + height: 16, ), Text( "天天领积分", diff --git a/lib/mine/recharge_page.dart b/lib/mine/recharge_page.dart index 002f04b7..d5e442c1 100644 --- a/lib/mine/recharge_page.dart +++ b/lib/mine/recharge_page.dart @@ -558,7 +558,7 @@ class _RechargePage extends State { }, child: Row( mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( "充值说明", diff --git a/lib/store/store_order.dart b/lib/store/store_order.dart index caa0ddc3..c9c6e829 100644 --- a/lib/store/store_order.dart +++ b/lib/store/store_order.dart @@ -22,9 +22,8 @@ import 'package:huixiang/store/store_view/shop_car.dart'; import 'package:huixiang/store/store_view/store_activity.dart'; import 'package:huixiang/store/store_view/store_info.dart'; import 'package:huixiang/store/store_view/store_order_list.dart'; -import 'package:huixiang/union/union_view/union_coupon.dart'; -import 'package:huixiang/union/union_view/vip.dart'; import 'package:huixiang/utils/font_weight.dart'; +import 'package:huixiang/view_widget/classic_header.dart'; import 'package:huixiang/view_widget/custom_image.dart'; import 'package:huixiang/view_widget/my_tab.dart'; import 'package:huixiang/view_widget/receive_success.dart'; @@ -60,6 +59,7 @@ class _StoreOrderPage extends State String tenant = ""; String storeId = ""; int numberOfPeople = 0; + ///小程序token String minToken; String pName; @@ -138,11 +138,12 @@ class _StoreOrderPage extends State ///会员信息 queryMemberInfo() async { - BaseData baseData = await minService.memberInfo() - .catchError((error){debugPrint(error);}); + BaseData baseData = await minService.memberInfo().catchError((error) { + debugPrint(error); + }); if (baseData != null && baseData.isSuccess) { SharedPreferences.getInstance().then( - (value) => { + (value) => { value.setString('minMember', jsonEncode(baseData.data)), }, ); @@ -151,8 +152,10 @@ class _StoreOrderPage extends State ///获取父订单(火锅订单加菜前调用) getParentInfo() async { - BaseData baseData = await minService.getParentInfo("$tableId") - .catchError((error) {debugPrint(error);}); + BaseData baseData = + await minService.getParentInfo("$tableId").catchError((error) { + debugPrint(error); + }); if (baseData != null && baseData.isSuccess) { if (baseData.data != null) { parentId = baseData.data["id"]; @@ -183,7 +186,8 @@ class _StoreOrderPage extends State /// 查询店铺信息 queryStoreInfo() async { - BaseData baseData = await apiService.queryStoreInfo(storeId).catchError((error) { + BaseData baseData = + await apiService.queryStoreInfo(storeId).catchError((error) { debugPrint(error); }); if (baseData != null && baseData.isSuccess) { @@ -203,217 +207,233 @@ class _StoreOrderPage extends State @override Widget build(BuildContext context) { - return Container( - color: Colors.white, - child: Stack( - children: [ - Positioned( - left: 0, - right: 0, - top: 0, - bottom: 54.h, - child: NestedScrollView( - controller: controller, - dragStartBehavior: DragStartBehavior.start, - physics: BouncingScrollPhysics(), - headerSliverBuilder: (BuildContext context, bool innerScrolled) { - return [ - SliverOverlapAbsorber( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor( - context), - sliver: SliverAppBar( - expandedHeight: (storeInfo != null && - storeInfo.couponVOList != null) - ? 400.h - : 395.h, - floating: false, - snap: false, - pinned: true, - stretch: false, - brightness: Brightness.light, - leading: GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: () { - Navigator.of(context).pop(); - }, - child: Container( - width: double.infinity, - height: double.infinity, - color: Colors.transparent, - alignment: Alignment.centerRight, - margin: EdgeInsets.only(left: 10.w), - padding: EdgeInsets.all(10.h), - child: Icon( - Icons.arrow_back_ios, - color: Colors.black, - size: 24, - ), - ), - ), - flexibleSpace: FlexibleSpaceBar( - title: Title(controller, - storeInfo != null ? storeInfo.storeName : ''), - collapseMode: CollapseMode.pin, - stretchModes: [ - StretchMode.zoomBackground, - StretchMode.fadeTitle, - StretchMode.blurBackground, - ], - background: Container( - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(8.w), - ), - child: Stack( - children: [ - Positioned( - child: Column( + return WillPopScope( + onWillPop: () async { + if (dialogShowing) { + debugPrint("ssssasdadsasdadasd"); + SmartDialog.dismiss(); + return false; + } else { + return true; + } + }, + child:Container( + color: Colors.white, + child: Stack( + children: [ + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 54.h, + child: NestedScrollView( + controller: controller, + dragStartBehavior: DragStartBehavior.start, + physics: BouncingScrollPhysics(), + headerSliverBuilder: + (BuildContext context, bool innerScrolled) { + return [ + SliverOverlapAbsorber( + handle: NestedScrollView + .sliverOverlapAbsorberHandleFor(context), + sliver: SliverAppBar( + expandedHeight: (storeInfo != null && + storeInfo.couponVOList != null) + ? 400.h + : 395.h, + floating: false, + snap: false, + pinned: true, + stretch: false, + brightness: Brightness.light, + leading: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () { + Navigator.of(context).pop(); + }, + child: Container( + width: double.infinity, + height: double.infinity, + color: Colors.transparent, + alignment: Alignment.centerRight, + margin: EdgeInsets.only(left: 10.w), + padding: EdgeInsets.all(10.h), + child: Icon( + Icons.arrow_back_ios, + color: Colors.black, + size: 24, + ), + ), + ), + flexibleSpace: FlexibleSpaceBar( + title: Title( + controller, + storeInfo != null + ? storeInfo.storeName + : ''), + collapseMode: CollapseMode.pin, + stretchModes: [ + StretchMode.zoomBackground, + StretchMode.fadeTitle, + StretchMode.blurBackground, + ], + background: Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8.w), + ), + child: Stack( children: [ - buildSwiper(), - Expanded( + Positioned( + child: Column( + children: [ + buildSwiper(), + Expanded( + child: Container( + color: Colors.transparent, + ), + flex: 1, + ), + ], + ), + top: 0, + bottom: 0, + left: 0, + right: 0, + ), + Positioned( child: Container( - color: Colors.transparent, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: + BorderRadius.circular(8.w), + ), + child: Column( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + ///门店信息 + StoreInfoView(storeInfo), + // Padding(padding:EdgeInsets.only(left: 14.w), + // child: Text( + // S.of(context).diandan, + // style: TextStyle( + // fontWeight: MyFontWeight.bold, + // fontSize: 15.sp, + // color: Color(0xFF000000), + // ), + // ),), + // Container( + // width:22.w, + // height: 3.h, + // color: Color(0xFF32A060), + // margin: EdgeInsets.only(top: 5.h,left: 14.w), + // ), + // ///门店对应优惠券 + // if (storeInfo != null && + // storeInfo.couponVOList != null) + // UnionCoupon( + // storeInfo, + // _receiveCoupon, + // coupon: true, + // ), + // + // if (storeInfo == null || + // storeInfo.couponVOList == null) + // SizedBox( + // height: 8, + // ), + // + // ///门店对应VIP信息 + // Vip(storeInfo, () {}, false), + ], + ), ), - flex: 1, + top: 233.h, + bottom: 0, + left: 0, + right: 0, ), ], ), - top: 0, - bottom: 0, - left: 0, - right: 0, ), - Positioned( - child: Container( - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(8.w), + ), + backgroundColor: Color(0x33FAFAFA), + centerTitle: false, + elevation: 0, + bottom: PreferredSize( + preferredSize: Size( + MediaQuery.of(context).size.width, + 38.h, + ), + child: Container( + padding: + EdgeInsets.symmetric(horizontal: 10.w), + width: MediaQuery.of(context).size.width, + child: TabBar( + controller: tabcontroller, + automaticIndicatorColorAdjustment: true, + isScrollable: true, + indicatorWeight: 3, + indicatorColor: Color(0xFF32A060), + labelPadding: EdgeInsets.only( + left: 8.w, + right: 8.w, + ), + indicatorSize: TabBarIndicatorSize.label, + unselectedLabelStyle: TextStyle( + fontSize: 15.sp, + fontWeight: FontWeight.w400, ), - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ///门店信息 - StoreInfoView(storeInfo), - // Padding(padding:EdgeInsets.only(left: 14.w), - // child: Text( - // S.of(context).diandan, - // style: TextStyle( - // fontWeight: MyFontWeight.bold, - // fontSize: 15.sp, - // color: Color(0xFF000000), - // ), - // ),), - // Container( - // width:22.w, - // height: 3.h, - // color: Color(0xFF32A060), - // margin: EdgeInsets.only(top: 5.h,left: 14.w), - // ), - // ///门店对应优惠券 - // if (storeInfo != null && - // storeInfo.couponVOList != null) - // UnionCoupon( - // storeInfo, - // _receiveCoupon, - // coupon: true, - // ), - // - // if (storeInfo == null || - // storeInfo.couponVOList == null) - // SizedBox( - // height: 8, - // ), - // - // ///门店对应VIP信息 - // Vip(storeInfo, () {}, false), - ], + labelStyle: TextStyle( + color: Colors.black, + fontSize: 18.sp, + fontWeight: FontWeight.bold, ), + labelColor: Colors.black, + tabs: [ + MyTab(text: S.of(context).diandan), + // MyTab(text: ""), + ], ), - top:233.h, - bottom: 0, - left: 0, - right: 0, ), - ], - ), - ), - ), - backgroundColor: Color(0x33FAFAFA), - centerTitle: false, - elevation: 0, - bottom: PreferredSize( - preferredSize: Size( - MediaQuery.of(context).size.width, - 38.h, - ), - child: Container( - padding: EdgeInsets.symmetric(horizontal: 10.w), - width: MediaQuery.of(context).size.width, - child: TabBar( - controller: tabcontroller, - automaticIndicatorColorAdjustment: true, - isScrollable: true, - indicatorWeight: 3, - indicatorColor: Color(0xFF32A060), - labelPadding: EdgeInsets.only( - left: 8.w, - right: 8.w, ), - indicatorSize: TabBarIndicatorSize.label, - unselectedLabelStyle: TextStyle( - fontSize: 15.sp, - fontWeight: FontWeight.w400, - ), - labelStyle: TextStyle( - color: Colors.black, - fontSize: 18.sp, - fontWeight: FontWeight.bold, - ), - labelColor: Colors.black, - tabs: [ - MyTab(text: S.of(context).diandan), - // MyTab(text: ""), - ], ), ), - ), - ), - ), - ]; - }, - body: - ///点餐 - TabBarView( - physics: NeverScrollableScrollPhysics(), - children: [ - ///点餐 - StoreOrderListPage( - widget.arguments, - activitys, - storeInfo, - shopCarGoods, - controller, - minToken, - tenant, - _queryMiNiDetail, - (){ - queryShopCar().then((value) { - this.shopCarGoods = value; - setState(() {}); - }); - } - ), + ]; + }, + body: + ///点餐 + TabBarView( + physics: NeverScrollableScrollPhysics(), + children: [ + ///点餐 + StoreOrderListPage( + widget.arguments, + activitys, + storeInfo, + shopCarGoods, + controller, + minToken, + tenant, + _queryMiNiDetail, () { + queryShopCar().then((value) { + this.shopCarGoods = value; + setState(() {}); + }); + }), - ///星店活动, - // StoreActivity( - // widget.arguments, - // activitys, - // ), - ], - controller: tabcontroller, - ), - ), /*SmartRefresher( + ///星店活动, + // StoreActivity( + // widget.arguments, + // activitys, + // ), + ], + controller: tabcontroller, + ), + ), /*SmartRefresher( controller: refreshController = RefreshController(initialRefresh: false), enablePullDown: true, @@ -425,104 +445,106 @@ class _StoreOrderPage extends State }, child: ),*/ - ), - // if(count() != 0) - Positioned( - bottom: 30, - left: 0, - right: 0, - child: Stack( - alignment: Alignment.bottomLeft, - children: [ - Container( - margin: EdgeInsets.symmetric(horizontal: 14), - height: 45.h, - // color: Color(0xFFFAFAFA), - decoration: BoxDecoration( - color: Color(0xFF383A38), - borderRadius: BorderRadius.circular(100), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - crossAxisAlignment: CrossAxisAlignment.center, + ), + // if(count() != 0) + Positioned( + bottom: 30, + left: 0, + right: 0, + child: Stack( + alignment: Alignment.bottomLeft, children: [ - SizedBox(width:45.w,), - Text.rich( - TextSpan(children: [ - TextSpan( - text: "¥ ", - style: TextStyle( - fontSize: 12.sp, - color: Color(0xFFFFFFFF), - fontWeight: MyFontWeight.bold), - ), - TextSpan( - text: - shopCarGoods != null ? shopCarGoods.cartSum : "0.0", - style: TextStyle( - fontSize: 20.sp, - color: Color(0xFFFFFFFF), - fontWeight: MyFontWeight.semi_bold), - ), - ]), - ), - Spacer(), - GestureDetector( - onTap: () { - toDownOrder(); - }, - child: RoundButton( - width: 103.w, - height: 54.h, - text: S.current.jiesuan, - textColor: Colors.white, - fontWeight: MyFontWeight.bold, - backgroup: Color(0xFF32A060), - radius: 100, - fontSize: 16.sp, - padding: EdgeInsets.symmetric(vertical: 5.h), + Container( + margin: EdgeInsets.symmetric(horizontal: 14), + height: 45.h, + // color: Color(0xFFFAFAFA), + decoration: BoxDecoration( + color: Color(0xFF383A38), + borderRadius: BorderRadius.circular(100), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 45.w, + ), + Text.rich( + TextSpan(children: [ + TextSpan( + text: "¥ ", + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFFFFFFFF), + fontWeight: MyFontWeight.bold), + ), + TextSpan( + text: shopCarGoods != null + ? shopCarGoods.cartSum + : "0.0", + style: TextStyle( + fontSize: 20.sp, + color: Color(0xFFFFFFFF), + fontWeight: MyFontWeight.semi_bold), + ), + ]), + ), + Spacer(), + GestureDetector( + onTap: () { + toDownOrder(); + }, + child: RoundButton( + width: 103.w, + height: 54.h, + text: S.current.jiesuan, + textColor: Colors.white, + fontWeight: MyFontWeight.bold, + backgroup: Color(0xFF32A060), + radius: 100, + fontSize: 16.sp, + padding: + EdgeInsets.symmetric(vertical: 5.h), + ), + ), + ], ), ), + Stack( + children: [ + InkWell( + onTap: () { + if (count() != 0) showShoppingCart(); + }, + child: Image.asset( + "assets/image/shopping_bag.webp", + width: 66, + height: 66, + fit: BoxFit.fitWidth, + ), + ), + if (count() != 0) + Positioned( + right: 5, + // top: 14, + child: RoundButton( + width: 17.w, + height: 17.h, + text: "${count()}", + textColor: Colors.white, + fontWeight: MyFontWeight.regular, + backgroup: Color(0xFFF65720), + fontSize: 12.sp, + radius: 100, + ), + ), + ], + ), ], ), ), - Stack( - children: [ - InkWell( - onTap: () { - if(count() != 0) - showShoppingCart(); - }, - child: Image.asset( - "assets/image/shopping_bag.webp", - width: 66, - height: 66, - fit: BoxFit.fitWidth, - ), - ), - if(count() != 0) - Positioned( - right: 5, - // top: 14, - child: RoundButton( - width: 17.w, - height: 17.h, - text: "${count()}", - textColor: Colors.white, - fontWeight: MyFontWeight.regular, - backgroup: Color(0xFFF65720), - fontSize: 12.sp, - radius: 100, - ), - ), - ], - ), ], - ), - ), - ], - ), - ); + ))); } ///领取优惠券 @@ -635,7 +657,7 @@ class _StoreOrderPage extends State ? storeInfo.bannerList[position].imgUrl : "", height: 230.h, - width:double.infinity, + width: double.infinity, fit: BoxFit.cover, radius: BorderRadius.zero, errorSrc: "assets/image/default_2_1.webp", @@ -687,12 +709,11 @@ class _StoreOrderPage extends State ///选规格 _queryMiNiDetail(String id, int count) async { EasyLoading.show(status: S.current.zhengzaijiazai); - if(count < 0){ + if (count < 0) { shopCarGoods.shoppingCartSkuItemList.forEach((element) { - if(element.productId == id){ + if (element.productId == id) { shopCartReduce(element); - setState(() { - }); + setState(() {}); } }); return; @@ -782,8 +803,7 @@ class _StoreOrderPage extends State this.shopCarGoods = value; setState(() {}); }); - } - else { + } else { SmartDialog.showToast(baseDate?.msg, alignment: Alignment.center); } } @@ -854,8 +874,7 @@ class _StoreOrderPage extends State if (shopCartKey?.currentState != null) { shopCartKey.currentState.setState(() {}); } - setState(() { - }); + setState(() {}); } return this.shopCarGoods; } diff --git a/lib/union/union_list.dart b/lib/union/union_list.dart index ad9d7866..0ae3d6e6 100644 --- a/lib/union/union_list.dart +++ b/lib/union/union_list.dart @@ -49,7 +49,7 @@ class _UnionList extends State { itemCount:widget.storeList == null ? 0 : widget.storeList.length, padding: EdgeInsets.only( top: 8.h, - bottom: 84.h, /* + (375.h - 88.h) + 4.h*/ + bottom: 100.h, /* + (375.h - 88.h) + 4.h*/ ), physics: NeverScrollableScrollPhysics(), itemBuilder: (context, position) { @@ -142,8 +142,7 @@ class _UnionList extends State { Widget buildStoreItem(Store store, position) { return Container( - margin: EdgeInsets.fromLTRB(16.w, 8.h, 16.w, 8.h), - // padding: EdgeInsets.fromLTRB(20.w, 20.h, 20.w, 20.h), + margin: EdgeInsets.fromLTRB(16.w, 8.h, 16.w, 12.h), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(8)), @@ -186,7 +185,7 @@ class _UnionList extends State { Positioned( bottom: 16.h, left: 12.w, - right: 0, + right: 12.w, child: Container( height: 100.h, child: Row( diff --git a/lib/union/union_page.dart b/lib/union/union_page.dart index 7e118cca..224b27b3 100644 --- a/lib/union/union_page.dart +++ b/lib/union/union_page.dart @@ -242,10 +242,10 @@ class UnionPageState extends State ); } BaseData> baseData = await apiService.queryStore({ - "city": city, + // "city": city, // "district": district, // "province": province, - // "latitude": latitude, + "latitude": latitude, "longitude": longitude, "searchKey": searchKey, "serviceType": (tabController.index == 0 && index == -1) || index == 0 diff --git a/lib/view_widget/mine_vip_entry.dart b/lib/view_widget/mine_vip_entry.dart index b2b66354..f3d68cf9 100644 --- a/lib/view_widget/mine_vip_entry.dart +++ b/lib/view_widget/mine_vip_entry.dart @@ -70,15 +70,11 @@ class MineVipEntry extends StatelessWidget { Widget widget = Container( width: double.infinity, - padding: EdgeInsets.only(top: 12.h, bottom: 35.h, left: 12.w, right: 12.w), - // margin: EdgeInsets.symmetric(horizontal: 14), - margin: EdgeInsets.only(top: 15.h,left: 14.w,right: 14.w,bottom:15.h), + padding: EdgeInsets.only(top: 12.h, bottom: 22.h, left: 12.w, right: 12.w), + margin: EdgeInsets.only(top: 23.h,left: 16.w,right: 16.w,bottom:15.h), decoration: BoxDecoration( color: Color(0xFF3D3D5D), - borderRadius: BorderRadius.only( - topLeft: Radius.circular(6), - topRight: Radius.circular(6), - ), + borderRadius: BorderRadius.circular(6), boxShadow: [ BoxShadow( color: Colors.black.withAlpha(12), @@ -100,7 +96,7 @@ class MineVipEntry extends StatelessWidget { height: 24, ), SizedBox( - width: 4.w, + width: 5.w, ), Expanded( child: Text( @@ -128,7 +124,7 @@ class MineVipEntry extends StatelessWidget { ], ), SizedBox( - height: 14.h, + height: 16.h, ), Container( height: 4.h, diff --git a/pubspec.yaml b/pubspec.yaml index a91080b1..81c81947 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: 一心回乡. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.0.8+7 +version: 2.0.9+8 environment: sdk: ">=2.7.0 <3.0.0"