From 31e25c58639a785b744a11297301100b827d2e5c Mon Sep 17 00:00:00 2001 From: laiiihz Date: Wed, 30 Dec 2020 10:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=88=91=E7=9A=84=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/user/pink_buyer.png | Bin 0 -> 5794 bytes assets/user/pink_great.png | Bin 0 -> 4767 bytes assets/user/pink_group.png | Bin 0 -> 5154 bytes assets/user/pink_platform.png | Bin 0 -> 4647 bytes assets/user/pink_share.png | Bin 0 -> 5295 bytes lib/pages/user/user_benifit_page.dart | 268 ++++++++++++++++++ lib/pages/user/widget/shop_benifit_view.dart | 4 +- lib/pages/user/widget/shop_check_painter.dart | 7 +- lib/pages/user/widget/shop_check_view.dart | 2 +- .../user/widget/user_page_assets_view.dart | 2 +- 10 files changed, 277 insertions(+), 6 deletions(-) create mode 100644 assets/user/pink_buyer.png create mode 100644 assets/user/pink_great.png create mode 100644 assets/user/pink_group.png create mode 100644 assets/user/pink_platform.png create mode 100644 assets/user/pink_share.png create mode 100644 lib/pages/user/user_benifit_page.dart diff --git a/assets/user/pink_buyer.png b/assets/user/pink_buyer.png new file mode 100644 index 0000000000000000000000000000000000000000..b7899e3894b76170ff528c5099d10ce0b850f44e GIT binary patch literal 5794 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 literal 0 HcmV?d00001 diff --git a/assets/user/pink_group.png b/assets/user/pink_group.png new file mode 100644 index 0000000000000000000000000000000000000000..df7a9dd82ef0152294aacfee5803801c25dfd621 GIT binary patch literal 5154 zcmV+-6y58IP)GLZUMIYMu-*oC zR~ZkNpA$vgqr1r{DvtT}bLS%WGyVt8owI&l6T)(n;Gu_%Ie&h-bL+TtDKaNd+Pq#{ z?03%)>C^ZpjCd+LX|+2Nn$u(}l5zfgRJk$5^0F}(E*N*CQGQHrM7I@x|GP1#PY+)# z+|Rk3$G*GouGXW+#?=)byK*Hm&pl^{%AGi2{rxJGV1OV%E6)nyInibZj3l&Z3RQ2sP*fwzi!RPKQ8;ib%pMud{{?VmSdML4c~PA z_{o#TFT-n4kKDT)d*A`tzIwI1p1iOsd5&O}+?=>Za>o;D^K&2+BA1t?{NiHlmk_6f zt*=Ms)1NkGb#=JTci)9@V>UJ-bLfzDq#M5-Lie#ed^j>|Yt-A}w z!-uVTHPnSw!rz880 z9Etpc-Mm?rKXgde=jS7Lqh&2iOU7(&+G0Q3;c+b!?wg;tm3lZ1!ZHUAaQ)^c*;JpL zBg>5qTfD%72dyXhbDuNjnP)P;4|2=y%lhuXG)rkCp@npQ=R0v;Nt8Ehkw}PC6609P zL{V&dJ*jVQE-Ka){eI*m!({$oJ9J$4alV#Qu+8~lUEs|(t@-FjrF{K5fcs;; ze!baQ>-XPvm%LzJ21I9B=3CL~sx{ZITi5EcLSmKF3m3A0Ks%ODPo|F4G;x}@_KB;j zi6>H|G&V^R`x{zajXeoG48($NH*!r~mNPTfuWxTh?%|DJXCK>5s2}V1t&<$nSbkJJ z^>f(Pdpd9+D<9Zqo@~fv9ikyOO*40|nR)TW%q%R}yid>ST|m9rS9Q8_JMv`eptH1; zxF&-{CjN~>n*Jd7=FQmOEZaQ5%#55j7*rpW?M}z~<@~(t+uSUV>%JyzZ`+)}s5p=E zEU7cx&$gBg%PHpOvi!J^NZk+)(Q9i$aJQSf^HN`Kbv522A_ft>u)>i7urT*BFBbk%x)Jv?Adi}b*kd+ncs;E?*qV9V0 z7wIg??DZ1g#FM1s30+_BxV{Dg6HhXv_WL5WNUIVG8A-yn^-GW>{_XiPvd+HpINRN> zEC&NAAA+(#Us8Qr_pvQ?8-IO}Wwtop?`QdSGq*o=FR$asO}$|Bda)Cz)ZDl+sPwDi@)IdkGTGkT?D&gkgJnnHw@oKGVFud^CeG`1 z_vSB=LPjjFOP30cg{W`$$4KQ)=Qiz2;_5c{IHQlx&DwQ$&Sm$ke{s*W;+`+|>K+3X zt>orSV?OpVV_tq43DuF`o3v3brJ%TqCzIxmwF9V-(HvDs`%5LW+g);{A91Jr(v>{r zehcRI2hZT1#s1O>$|LT17hUT}-1B$LwQJJNK`@-uj1e0}#di7HbRVV|(uuN51$W;a z7kwrdh~tiXlfRdX-=VPPEB+aIR(|vILa4Q|dF!p%8!>Q1ORkxu@la(HVj#le;caYf ziG)HXzsMrOcP^PFPPyk^E?VdIcH-5;pTr`N*|s8@d>WB@|HxG%FSzE;$R+wUTwnrYA=2!@>C>?vdn$ucR5LXG^PkAsvXN66Ffqm2kT*p6J7EBt z6o zPglqogZodlqPp6Y+wP{Y+tqV~lCEYYiu?XUTo?@KVD(o zjg8X5pq9*j0?$lW2L}ii*xVHVE>3E|U|x|>btDraK#awsWPJaLK8llpCchsE&9Z37 zm!SSw^$R;kiRz-mgA%OcKFE|? zN=hcC6ipt*m5w(=-C5iQAo1+kW-`H|>#NS35vhH@(C?T2SRw!#dI3nN2J>=M`%sNr z6I0QSmyp3;U~$oy?|#>HEAu;-h19R!Z{8Q+msMwYoeLyXk#pD?s(?O}H*)Nl*;7E$ z;?nNQ|NEl!=l*3pSdO;rd+Mq3c$+{%A&Xcf5(+nSa}py%1Cl

TSYHT1;!94<(LW z5AC*%xov|cPh2YG0*>B(yPOb_o9uZBm+?s=I6@w zab1#1a$C?KU{h;FGXg`lydK2#)Hy&pbAu*!E1}#vwx%37-nl+mx#KNMXc$dhTPydY zHmQ@jvB{%0(T9rZIXr!(Exh)cnF^DR;Grb90hLe?>Y=JOF)5_dv$!Ca@h9_j(13`+GG#Z01N?oXS85`ds*cJbhk{JC5|Gsd=u^ssAa13Wv1 zMU!G*n`S;dC^2`3LFwIhOI2ZhN;PLEtUOXm-8ek=~4Fj%VAzJM{hUHy^{|!MUs+ zq~HF=n17CF(wLij=`+uzVdmM46Y;LA zXx0^+HR+%oorIT06DE$d69|PMojN!{Fl3+k`mno>vXl$etXn~M_FgAYJ?9VYxd>?A zakA~W*!HuUd%b}h#8cP0Gb10}*&;}93BWN=haU=mNN5ywoiaP?NxfA2k#EyzRLF}V{onG08&@9_>B=sE^eMjQ9+ZI9(9fHh(6T(ct2&w9!*RDlg zv8OrKeU=PL)0m$~&JWMZuT3uyUB%CSUXlp8zy8(m;DpXfAB`kW1D<)5EsuklJ~a5= zwQ4DaTEC9GI7b+i80j?}FexDO?Ai9+X(2+%L_7K8ADYXd!%hR9Sx0#+rSM}kfO7=* z-OyyQm6gbQoAjeq4S|4ZJ@$~fIHh-fH-J?2(lZz}saIi4YPVp7=X|Wjx=R!12=2Rz zEf2ewFWaC{d4hbYwtJ7g52C#XWGccYJ*vN))A{y*`CoPoKHzW#C|@n?w%{cgF9)M0Xsn8d|H+R{D+nh#Feo`qvT!gXp~sFz=JCgi$quD0f8s<`#FPM| zynJ#!T^JdM2fE^W0R|z=(!Frog_?~4_bWJ&);m?b>$5meV6S|N=qW!a4XB}vzGlK-0h^UeI4>CAkoh<0vn zZaZ>Cp(jNV$+B{#UUQEO`$KiUqsHcWLn`vpyHhVkxW&K7*5rJ#UELp!Wk;&A-f@iziLo`9bagNqvGr zI5>JVbIn}%VT4D$43o5)rcV=rB+HBan;@!p*Ij%}oBH`p5E{?mIeE~%oMoSO$l4RG z(%XBWvUc4)gBu^Bzqn_;;4Gxn6N-e=I#sA%d{O4kqRi)gXcT;!SpA4ToIw(1X1sER zJfYH;YW};mwZ!K$B9{}HV>DqDAy;yf5JJIJWgEYMdcOB+(wWxHLlan&M1|Gs=ymZH zvCdC3G$K4K$;wDVK_rv)g@u80B+EJ@JA)C^Z|FOT#}h#sNvI}c)tL~?B)RwA#D63j zrn@A|7Fij|=Oh`&H0y(;QG{SktD)&Cb@m#lr?qT?WOcMfy2?>y!(+P6x%xRF#A*m! zugg;Ew#7RABrjuQBlCGgAy*}othZsh%Lg9FoQf%_E^E1%hY8iJ;GvWfT9%~M+GHKB7$!-T0olccg=qpG@J&tpHw!w&|uK84m7mJ6>TFU}TODYOiAliXVT z6q#4tH9_mlOzQl>BCYG|Bx1;%7p^fOYfj>rCNEj*BliYMDP{hSW^0s;-;y$zVAa~1 zq%hN5%$kx&Zn{~jG<|P`~A+1b=vM9g7=OwGfr zWHw|9uMA2)SeGZ$3{vQ5I`qts{JdonK68PiN8{Wqm4_n7=#3kZcl$LZwKhfqf7CI^ z*PkOD}IJ|jztfS^p_P_x%lmJ`nY^on$#pp#FyeJ8jqNWMBdKd$}*9P*SVQ)I|M<26W8uj{yK=>VJle`5TMz{ZH^`DjsUH zYFc4tntbnjvhPoSlDU!$V&UIL$jvxa`N_yPAN>o8`rlSO|GdQS>j?KZ{nbTNc_fQ+ zx(=HD)&h$#MAN@3X!Fkd%iKU8srHS}!^ElKkIH#VaVe`oo~mGJ1}d)3V_?)Wd+H=W-7B zqsO@ywz+@qSAW0zU7AZ{RwpwGzU3T8W`2Bks5nymj-Y<&8b<%!&!h&n`3F{`>eX_3EUe#rh}#SQ2T$UP-pyGb QVgLXD07*qoM6N<$f-`U-00000 literal 0 HcmV?d00001 diff --git a/assets/user/pink_platform.png b/assets/user/pink_platform.png new file mode 100644 index 0000000000000000000000000000000000000000..cadea697451809ffebac8873a2d49175b8e961a0 GIT binary patch literal 4647 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 literal 0 HcmV?d00001 diff --git a/assets/user/pink_share.png b/assets/user/pink_share.png new file mode 100644 index 0000000000000000000000000000000000000000..bea0953373e0adc8d54324375faf3e9d07383530 GIT binary patch literal 5295 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 BWiS8$ literal 0 HcmV?d00001 diff --git a/lib/pages/user/user_benifit_page.dart b/lib/pages/user/user_benifit_page.dart new file mode 100644 index 0000000..fe7d486 --- /dev/null +++ b/lib/pages/user/user_benifit_page.dart @@ -0,0 +1,268 @@ +import 'package:amap_map_fluttify/amap_map_fluttify.dart'; +import 'package:flutter/material.dart'; +import 'package:recook/widgets/custom_image_button.dart'; +import 'package:velocity_x/velocity_x.dart'; + +import 'package:recook/constants/constants.dart'; +import 'package:recook/constants/header.dart'; +import 'package:recook/widgets/custom_painters/round_background_painter.dart'; +import 'package:recook/widgets/recook_back_button.dart'; +import 'package:recook/widgets/recook_indicator.dart'; + +class UserBenifitPage extends StatefulWidget { + UserBenifitPage({Key key}) : super(key: key); + + @override + _UserBenifitPageState createState() => _UserBenifitPageState(); +} + +class _UserBenifitPageState extends State + with TickerProviderStateMixin { + List tabs = ['今日', '昨日', '本月', '上月']; + TabController _tabController; + Widget _buildTabView(String value) { + return [ + '预估收益'.text.color(Colors.black54).size(18.sp).make(), + value.text.color(Color(0xFF333333)).size(28.sp).make(), + ].column( + alignment: MainAxisAlignment.center, + ); + } + + _buildCard() { + return [ + VxBox( + child: [ + SizedBox( + height: 40.w, + child: TabBar( + tabs: tabs.map((e) => e.text.make()).toList(), + labelColor: Colors.black87, + controller: _tabController, + indicator: RecookIndicator( + borderSide: BorderSide( + width: 4.w, + color: Color(0xFFFF7473), + ), + ), + indicatorSize: TabBarIndicatorSize.label, + ), + ), + TabBarView( + children: tabs.map((e) => _buildTabView(e)).toList(), + controller: _tabController, + ).expand(), + ].column(), + ) + .withDecoration( + BoxDecoration( + image: DecorationImage( + image: AssetImage(R.ASSETS_SHOP_PAGE_INCOME_CARD_PNG), + fit: BoxFit.cover, + ), + borderRadius: BorderRadius.circular(10.w), + ), + ) + .height(134.w) + .margin(EdgeInsets.all(10.w)) + .make(), + ].stack(); + } + + _buildItem({ + @required String path, + @required String title, + @required _ItemClass firstItem, + @required _ItemClass secondItem, + @required _ItemClass thirdItem, + @required VoidCallback onTap, + }) { + Widget getColumnItem(_ItemClass item) { + Widget helper = CustomImageButton( + onPressed: item.onHelper, + padding: EdgeInsets.all(5.w), + child: Image.asset( + R.ASSETS_SHOP_HELPER_PNG, + height: 9.w, + width: 9.w, + ), + ); + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + [ + item.title.text.color(Colors.black45).size(12.sp).make(), + item.onHelper == null ? SizedBox() : helper, + ].row(), + 10.hb, + item.value.text.black.size(16.sp).make(), + ], + ).expand(); + } + + return VxBox( + child: [ + CustomImageButton( + onPressed: onTap, + child: [ + 46.hb, + 16.wb, + Image.asset(path, height: 20.w, width: 20.w), + 6.wb, + title.text.size(16.sp).color(Colors.black).bold.make(), + Spacer(), + '查看明细'.text.color(Colors.black54).size(12).make(), + Icon(Icons.arrow_forward_ios, size: 16.w, color: Colors.black38), + 16.wb, + ].row(), + ), + Divider( + height: 1.w, + thickness: 1.w, + indent: 16.w, + endIndent: 16.w, + color: Color(0xFFEEEEEE), + ), + Row( + children: [ + 16.wb, + 66.hb, + getColumnItem(firstItem), + getColumnItem(secondItem), + getColumnItem(thirdItem), + 16.wb, + ], + ), + ].column( + crossAlignment: CrossAxisAlignment.start, + ), + ).margin(EdgeInsets.only(bottom: 10.w)).color(Colors.white).make(); + } + + List _buildBottomItems() { + return [ + _buildItem( + onTap: () {}, + path: R.ASSETS_USER_PINK_BUYER_PNG, + title: '自购收益', + firstItem: _ItemClass(title: '订单(笔)', value: '151X'), + secondItem: _ItemClass(title: '销售额(元)', value: '1111.11X'), + thirdItem: _ItemClass( + title: '预估收益(瑞币)', + value: '124.12X', + onHelper: () {}, + ), + ), + _buildItem( + onTap: () {}, + path: R.ASSETS_USER_PINK_SHARE_PNG, + title: '导购收益', + firstItem: _ItemClass(title: '订单(笔)', value: '151X'), + secondItem: _ItemClass(title: '销售额(元)', value: '1111.11X'), + thirdItem: _ItemClass( + title: '预估收益(瑞币)', + value: '124.12X', + onHelper: () {}, + ), + ), + _buildItem( + onTap: () {}, + path: R.ASSETS_USER_PINK_GROUP_PNG, + title: '团队收益', + firstItem: _ItemClass( + title: '团队销售额(元)', + value: '151.00X', + onHelper: () {}, + ), + secondItem: _ItemClass(title: '提成比例(%)', value: '3X'), + thirdItem: _ItemClass( + title: '预估收益(瑞币)', + value: '124.12X', + onHelper: () {}, + ), + ), + _buildItem( + onTap: () {}, + path: R.ASSETS_USER_PINK_GREAT_PNG, + title: '推荐收益', + firstItem: _ItemClass( + title: '团队销售额(元)', + value: '151.00X', + onHelper: () {}, + ), + secondItem: _ItemClass(title: '提成比例(%)', value: '3X'), + thirdItem: _ItemClass( + title: '预估收益(瑞币)', + value: '124.12X', + onHelper: () {}, + ), + ), + _buildItem( + onTap: () {}, + path: R.ASSETS_USER_PINK_PLATFORM_PNG, + title: '平台奖励', + firstItem: _ItemClass( + title: '团队销售额(元)', + value: '151.00X', + onHelper: () {}, + ), + secondItem: _ItemClass(title: '提成比例(%)', value: '3X'), + thirdItem: _ItemClass( + title: '预估收益(瑞币)', + value: '124.12X', + onHelper: () {}, + ), + ), + ]; + } + + @override + void initState() { + super.initState(); + _tabController = TabController(length: 4, vsync: this); + } + + @override + void dispose() { + _tabController?.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Color(0xFFF5F5F5), + appBar: AppBar( + leading: RecookBackButton(white: true), + backgroundColor: Color(0xFF16182B), + title: '我的收益'.text.make(), + centerTitle: true, + ), + body: Stack( + children: [ + CustomPaint( + painter: RoundBackgroundPainter(), + size: Size.fromHeight(197.w), + ), + ListView( + children: [ + _buildCard(), + ..._buildBottomItems(), + ], + ), + ], + ), + ); + } +} + +class _ItemClass { + String title; + String value; + VoidCallback onHelper; + _ItemClass({ + @required this.title, + @required this.value, + this.onHelper, + }); +} diff --git a/lib/pages/user/widget/shop_benifit_view.dart b/lib/pages/user/widget/shop_benifit_view.dart index ab66e42..d46a198 100644 --- a/lib/pages/user/widget/shop_benifit_view.dart +++ b/lib/pages/user/widget/shop_benifit_view.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:recook/pages/user/user_benifit_page.dart'; +import 'package:recook/utils/custom_route.dart'; import 'package:recook/widgets/custom_image_button.dart'; import 'package:velocity_x/velocity_x.dart'; import 'package:recook/constants/constants.dart'; @@ -10,7 +12,7 @@ class ShopBenifitView extends StatelessWidget { Widget build(BuildContext context) { return CustomImageButton( padding: EdgeInsets.zero, - onPressed: () {}, + onPressed: () => CRoute.push(context, UserBenifitPage()), child: VxBox( child: [ [ diff --git a/lib/pages/user/widget/shop_check_painter.dart b/lib/pages/user/widget/shop_check_painter.dart index caf4416..35478ef 100644 --- a/lib/pages/user/widget/shop_check_painter.dart +++ b/lib/pages/user/widget/shop_check_painter.dart @@ -118,8 +118,8 @@ class ShopCheckPainter extends CustomPainter { ..style = PaintingStyle.stroke ..strokeCap = StrokeCap.round; var headlen = 7; // length of head in pixels - double pointX = radius - (radius - 2.5) * cos(pi); - double pointY = radius + (radius - 2.5) * sin(pi); + double pointX = radius + (radius - 2.5) * sin(rotate); + double pointY = radius - (radius - 2.5) * cos(rotate); Path path = Path(); path.moveTo(pointX, pointY); path.lineTo(pointX - headlen * cos(rotate - pi / 4), @@ -138,7 +138,8 @@ class ShopCheckPainter extends CustomPainter { _drawProgress(canvas, radius); _drawTagBackground(canvas, radius); done ? _buildDownTag(canvas, radius) : _buildUpgradeTag(canvas, radius); - _drawArrow(canvas, radius, percentValue * 2 * pi); + if (percentValue >= 0.1 && percentValue <= 0.9) + _drawArrow(canvas, radius, percentValue * 2 * pi); } @override diff --git a/lib/pages/user/widget/shop_check_view.dart b/lib/pages/user/widget/shop_check_view.dart index 1cf5cc8..0e26368 100644 --- a/lib/pages/user/widget/shop_check_view.dart +++ b/lib/pages/user/widget/shop_check_view.dart @@ -24,7 +24,7 @@ class _ShopCheckViewState extends State { themeColor: Color(0xFFE2B56B).withOpacity(0.5), beginColor: Color(0xFFECD5A7), endColor: Color(0xFFE0AE5C), - percentage: 25.0, + percentage: 95.0, ), ), ), diff --git a/lib/pages/user/widget/user_page_assets_view.dart b/lib/pages/user/widget/user_page_assets_view.dart index 9ef84d3..f3fd220 100644 --- a/lib/pages/user/widget/user_page_assets_view.dart +++ b/lib/pages/user/widget/user_page_assets_view.dart @@ -65,7 +65,7 @@ class _UserPageAssetsViewState extends BaseStoreState { return [item0, item1, item2]; } - _itemWidget({icon = "", title = "", Function click, row1Title="", row1Info="",List titles, List infos,}){ + _itemWidget({icon = "", title = "", Function click,List titles, List infos,}){ return Container( margin: EdgeInsets.only(left: 10, right: 10, bottom: 10), height: 111,