From eeb853b6ce95c03b3ee9c7ecc347e7a4bf12893e Mon Sep 17 00:00:00 2001 From: wurong <953969641@qq.com> Date: Fri, 12 May 2023 18:37:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A8=E8=8D=90=E6=B8=A0?= =?UTF-8?q?=E9=81=93=E5=BC=B9=E7=AA=97;=20=E8=B0=83=E6=95=B4=E7=82=B9?= =?UTF-8?q?=E5=8D=95=E9=A1=B5=EF=BC=8C=E5=8A=A0=E8=B4=AD=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E9=97=B4=E8=B7=9D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/image/2x/channel_jt.webp | Bin 0 -> 1258 bytes assets/image/2x/channel_logo.webp | Bin 0 -> 9726 bytes assets/image/2x/channel_text.webp | Bin 0 -> 7580 bytes assets/image/3x/channel_jt.webp | Bin 0 -> 2770 bytes assets/image/3x/channel_logo.webp | Bin 0 -> 17768 bytes assets/image/3x/channel_text.webp | Bin 0 -> 13294 bytes assets/image/channel_jt.webp | Bin 0 -> 796 bytes assets/image/channel_logo.webp | Bin 0 -> 3876 bytes assets/image/channel_text.webp | Bin 0 -> 4234 bytes lib/generated/intl/messages_en.dart | 4 + lib/generated/intl/messages_en_US.dart | 4 + lib/generated/intl/messages_zh_CN.dart | 4 + lib/generated/intl/messages_zh_Hans_CN.dart | 4 + lib/generated/intl/messages_zh_Hant_CN.dart | 4 + lib/generated/intl/messages_zh_TW.dart | 4 + lib/generated/l10n.dart | 40 ++ lib/home/home_page.dart | 53 +- lib/l10n/intl_en.arb | 4 + lib/l10n/intl_en_US.arb | 4 + lib/l10n/intl_zh_CN.arb | 4 + lib/l10n/intl_zh_Hans_CN.arb | 4 + lib/l10n/intl_zh_Hant_CN.arb | 4 + lib/l10n/intl_zh_TW.arb | 4 + lib/login/login_store_select.dart | 3 +- lib/mine/mine_page.dart | 2 - lib/settlement/settlement.dart | 743 +++++++++++--------- lib/store/shop_details_page.dart | 8 +- lib/store/store_order.dart | 7 - lib/store/store_view/product_meals_sku.dart | 6 +- lib/store/store_view/product_sku.dart | 7 +- lib/store/store_view/shop_goods.dart | 12 +- lib/view_widget/channel_dialog.dart | 207 +++++- pubspec.yaml | 3 +- 33 files changed, 741 insertions(+), 398 deletions(-) create mode 100644 assets/image/2x/channel_jt.webp create mode 100644 assets/image/2x/channel_logo.webp create mode 100644 assets/image/2x/channel_text.webp create mode 100644 assets/image/3x/channel_jt.webp create mode 100644 assets/image/3x/channel_logo.webp create mode 100644 assets/image/3x/channel_text.webp create mode 100644 assets/image/channel_jt.webp create mode 100644 assets/image/channel_logo.webp create mode 100644 assets/image/channel_text.webp diff --git a/assets/image/2x/channel_jt.webp b/assets/image/2x/channel_jt.webp new file mode 100644 index 0000000000000000000000000000000000000000..599a925408c26ac2bd8bf44a7cad8f28649cc5a6 GIT binary patch literal 1258 zcmWIYbaQ*e!oU#j>J$(bU=hK^z`$St#I+0z@(c`~&dvcR7=c^{#uFft1t^u9S5g$@ z?xYYA8KuDffPoPR!5}fYxB$Y!N&;1Vy9QBvSr@Ac{DPb*sl~}aB_DuTr3h#_&`lyh zwn#dJtpQ>uLD)7Rc6mub2~bS{h+PyCD76yiG=MiFvFeykZN(37Rj12~+v@`~WPs)V%*4Q;UweREz?{{3Q*P+Rs2#hV z*;G6y9XYVP?|g0ka>k7lRa}Ff8E#g8zdw>^?gVAeAQe{~;}sjM*8XFu1Hj{oniU^Z(mS*LMDE_-*&U zzUKe`7iZRUPQP0&-+*a#48MQA{k38L&4ly+?*HGAzW8Rv*Y)h#y8q&4 zGS2>MKC8DX^=#Ow9=Kyy5Z3{BTtjp;y%tX0!7zcH?wS3 z5O~w8&#;CO7Ii>cfj!haeC_+jzvAmm#2(yxeSQ7@?V3u))wk*@Zaz}HQTVwsTX&u7 z5fu~HBj3N-bamX};kkQydfu9Y`#K^zl?68n%y~L zit(EJ5x$&?I|W&MZN1vLlOLX5`Q1gQt7G$w+Z8pxOBiPEpY%JnN>F#khfl8#J{8&& zZj*d^rjFH?W3x}&>(7~TXmf`|XJ+%|SGmi7?vBup^xZ@v4}A=~Dx_nOtG!}xyeTPP@D8_t$pZ^zy|03S|qG#C}oQ;tP zRDF2Y*5*-+>#58u^U5#oS#&qQ;mEv|*?GrT=gJDRZF+sq{>Qh)J~vAOn_^iR09fkC ADF6Tf literal 0 HcmV?d00001 diff --git a/assets/image/2x/channel_logo.webp b/assets/image/2x/channel_logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..9fbbf85ec0a0a4687fefd595d885338ed5d12b1e GIT binary patch literal 9726 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 O@s{WAIgK3~3-~WPeelx& literal 0 HcmV?d00001 diff --git a/assets/image/2x/channel_text.webp b/assets/image/2x/channel_text.webp new file mode 100644 index 0000000000000000000000000000000000000000..8ac978d54966b34a66a986a5558a47d84cee939f GIT binary patch literal 7580 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 literal 0 HcmV?d00001 diff --git a/assets/image/channel_jt.webp b/assets/image/channel_jt.webp new file mode 100644 index 0000000000000000000000000000000000000000..eac19bedba4df70f565c1cc2b4cf21e5316f2f6f GIT binary patch literal 796 zcmWIYbaNA7W?%?+bqWXzu!!JdU|=u+Vmk%~eg+0lXXk(uj6f~};|UPS0+h$ zTO=LA)&Q}SAZ!~DyS${J1gIte#4ZX6at5+ffNYI)Bz6)KJGr0;q`n8J#wItX6l50& zfPBZ3nim=jq&a|ChM|}th{2t~3FLnu9|-anF)&zsWnf^QfDlWX$-uC^m4QLx7D7yA z0WeTo7#OylM~ET9q#&^<5o{a_kYq|rV_^8SoPmKil7T_^0s{kAG*}Ku;BcD)P)Y{q zu6!U&XUJhlWl&)7WXNMkX3zt&jDV49$Y2JHVIMU{1_ph*1Iz;R4=PMjQU7c?F?WH` z#Eg?0%p^=EEm^@gFaFr?>&NZ6Zf%>m>1`ZK`j+|*-a~uqobT}Mj5m3Hqmiu*c?(O%V zpUB@aFJlt?8~$KhuhFr`zd_*wOq_8A)oM%iKmL!*Irh@^1gA|0fN(r!3see2vG_q%`Zo_F>>r2;UH}0MfIsj6;v^(ZI#ekjM>^rlVsrpV*a8kl zx)A=N6Egde`ur5aqKQ?AQ4)H*-Zz~azV>Le9zD)CzG~bTBKS(Ky?(e#;)8%6AkqR*(JzTQFF^CRZ=Bz5IH9tUkoAFGBU`0a~dF zJuVkDSiZdoF&`~k?SkvBzj<2O710_;jvg=B^M1W?axy{+_19NgkCrb(%h%^mPygg; zOeE-6Ils=`l70=y|F8W2&8XV+TVwCX2XjS#g`gd*%7N;u*On7kj6VX&gM|ocz$ly@ zHCkDI5bT?GFXvn0!rXlZgjU!_hdjqqCzYVD@Gx2UWN?kEra}qgeMa=BrvZDtzZ{Y+ z?yASpf(I&t~*|M&_g#dT3{)8Lw2E%-Kui zaa8p>8`~(7JpGrS{zO@55}%Al^e|ubweDFC5tkP3~TZ zzt!4hvQbEsiadN}!lz%K7<6;={+LOGX;`mCvQ}E7-@@QKQs%fR8tDp~@`E?}in5^W zOz zlgfD?Qfl&Y;VMx_np;Jl9?X0PVp%%gJWhB_KKmrA%btSu)@W9|oDw535?2XgdVb3~ zY8>hODx=#DR`-(8xo3txF-}RPg?~OLULY$xUYSdq6>G~FGvdrkPrhl8U2$p9Hb&&9 zpxKims^qeiiD&uKd(9431s;QJGUwUJNoAC3k`K2$ghgv)lo&p1$Tb#W3Mj%d=-f*w zGmGS#>Dn$iE*_ZO_>r9^-Se_(Gev(sEP6e%A+(C2smL zhSfqK8l)R3g}JCF-7sEbH2kDT#M^ik0L-H3Y=PmxLiC#liC{7sl9xNn!BHFeM1>3G z5hp;M7>SI3(;2wr3+HX!Zt~?*RYra-IC-7dsC!g2vx*z!Eyl{LL!umvt6o4WWWKSf z@j5=kN^%?NjFz?JiYQ6v;8AfV1XRJ6+Ee|Z!Tr@9VhBPx9M_Cc|~iOHcp* zBv6syJ9&%gsPS0ct)i9QJiIxcOQ)%(ZaNDm&OP?$w`Xz@7NqssJ9%S zh;T_8slQkn=H8tk5DuUD!K;)2P{(B``LHM8Gt$PD87dv0W6UV5;b(jD8IU>n%F+0! z$(jCN?M^niF%v`^RwJ)%hOMyO?tTXTecx3`s|Ltt{xzwPDCFtm8)n-`fTe$v$`0cQc7xHDpwpWT`6(0 zzOb_GdjtozO;Vd>zVXBPG(pYPN)Yf%FnqvkfCA|tH!=P2iW8!0NZZ9qtW^yP9^yOl zR6J1u8FSo~6Aa#k&I$uFjL)~yk*Qa$#napNgGU8WJvD#u*^8Syrr~R@Zunut#q_fe z_jd0C!c+!~W-mkNb`MaWOgs=#ny2f~I#btwb5i5Syd^JgnJ-44uRf5!#rb(-A%~g( zQK0er673C!f)hnL{?7LE%r82i-a;cD#CK^^uaxL{)>hx5v~@Y> zKuP4MTrdSt-?-?(Og3@H#&h!?(`2f~tjLDL@2MmuKWa!+n6>rmoU}+wuakE4M2O+B zFg&l32IyzaHw4P_bAS_e&MD8jew9|j3w?SlDke{o9k>!Kp__e05+O%RavZlfA#CH% zL(hHsv6N7XtV>pEMWRxv8Htu6p>k<EktlofdsBkET^0KFnIJ^;Vz*& zVR5ZAo#}{SD@v=j%VfMpcK@3Nm>`{8q+nGh+n0Xj8O;vSv0py~L*Izz?b=cbwh)-5l`liU z?=;n0iK$nZmYHMOBBQILBS<&%9iqcw!}(m}Ofp%F!J0GVji_fs;L?kZSLk_24xZyx zI;?=ZGUOynoeBUo7PUvzBRUZnrA*lDL;YuY_FIF~D|z=6aj`do8?fU7lC)da>lR#& zKkX>zC#H?GSR#6Ew8^Ko;i!QXE2H*1S_2M&4=3sI(BqM1M*%3nbf4Sg#T{~LOmD4h zMnVPIW~RDfcY<&dnrekV54?s?p0-(J3_0)nu$dSL(T2LY!d4I*F=kH6pPL2VDvl!E*(~pG-O~cb7!1S zHEE7p+uN-re#_x!v`ZrFMN2d}GtJ#LgIx9Evz^1z{Wl)ItN27ny2d6=l=$R0v2%nS z4&4xUfid)LTsiPG@!`(E34K$zYB46!SYl@gP>avz#h0t}Dpc$~yIF=C!ykJhn_2>J zqDWKJ2MYSM2=bz&iRq&wC5Ls*q9D^E6Gneya-(WdDi({L(2?bGS4zP>J+6!1)QxP^ z&(C-^R`kkNxOOW%YT#PUOrN_j!f}jJminY=ke9%ZG%q%f4= zx~SV@BV8V#UpZHLh2pcTOr<3X_Gr^8xvh;lUVux;gk7g)g8xbH(;GavAv+w(Ec4G1 zp56%kVC?@EPq3)rh~rnuhenlZijflcFh^@`leS(>)oYq46lSUD*1 zbtwiYofntT^um-LM5|6Qz>{$Qn@t%LEG=SrGhin?u}w4g0|2=>-$tlpZeK|L-fw*S z2*Qpz_L1=w&43+SS0EV0cPBd2y%1_`IT$iR)mV3KT?&+``Fr}!Nz=+k%MGRY)){3h4zou-oj3K zc49NGI;u@!XiU_`HR|k|%+$~^qpAdHzu!07jRGWakfN?=(}sZ$cYlAY1Nd}V-exIOdkn<;B{STAFWI8cC)T`+ z;oRxyXv__(2{P<1b2Sq%7JI+46N!iKiXI_K17-`i4}+mKOZFcGFCV%@k&)gT{{j?q BUcmqW literal 0 HcmV?d00001 diff --git a/assets/image/channel_text.webp b/assets/image/channel_text.webp new file mode 100644 index 0000000000000000000000000000000000000000..45c060770c03c933f5f4617b007a3c1afdedcaca GIT binary patch literal 4234 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 literal 0 HcmV?d00001 diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 0ffb34dd..4c5041a4 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -483,6 +483,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("请填写收件人姓名"), "qingtong" : MessageLookupByLibrary.simpleMessage("青铜"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("青铜会员"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("请先选规格"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("请选择使用门店"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("请选择收货地址"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("请选择一个门店"), @@ -510,6 +511,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("权益详情"), "qucanhao" : MessageLookupByLibrary.simpleMessage("取餐号"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("渠道来源"), "qudenglu" : MessageLookupByLibrary.simpleMessage("去登录"), "queding" : MessageLookupByLibrary.simpleMessage("确定"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("确定要删除这条动态?"), @@ -590,6 +592,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("刷新失败"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("刷新余额"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("刷新中...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "sui" : m31, @@ -689,6 +692,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("选好啦"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("选择推荐门店"), diff --git a/lib/generated/intl/messages_en_US.dart b/lib/generated/intl/messages_en_US.dart index 67fb5e18..fbe012ad 100644 --- a/lib/generated/intl/messages_en_US.dart +++ b/lib/generated/intl/messages_en_US.dart @@ -483,6 +483,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("Please fill in the recipient\'s name"), "qingtong" : MessageLookupByLibrary.simpleMessage("bronze"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("Bronze Member"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("please select specs"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("Please select a store to use"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("Please select the shipping address"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("Please select a store"), @@ -510,6 +511,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("Equity Details"), "qucanhao" : MessageLookupByLibrary.simpleMessage("Picking number"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("channel source"), "qudenglu" : MessageLookupByLibrary.simpleMessage("Log in"), "queding" : MessageLookupByLibrary.simpleMessage("OK"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("Are you sure you want to delete this dynamic?"), @@ -590,6 +592,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("Refresh failed"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("Refresh Balance"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("Refreshing...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("number"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("Please enter the consignee address"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("Enter payment password"), "sui" : m31, @@ -689,6 +692,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("Modification succeeded"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("Modify User Name"), "xuanguige" : MessageLookupByLibrary.simpleMessage("Select specs"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("select success"), "xuanji" : MessageLookupByLibrary.simpleMessage("Selection"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("Please select the picking method of goods"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("select recommended store"), diff --git a/lib/generated/intl/messages_zh_CN.dart b/lib/generated/intl/messages_zh_CN.dart index 93d3e971..73bdfbd8 100644 --- a/lib/generated/intl/messages_zh_CN.dart +++ b/lib/generated/intl/messages_zh_CN.dart @@ -483,6 +483,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("请填写收件人姓名"), "qingtong" : MessageLookupByLibrary.simpleMessage("青铜"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("青铜会员"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("请先选规格"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("请选择使用门店"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("请选择收货地址"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("请选择一个门店"), @@ -510,6 +511,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("权益详情"), "qucanhao" : MessageLookupByLibrary.simpleMessage("取餐号"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("渠道来源"), "qudenglu" : MessageLookupByLibrary.simpleMessage("去登录"), "queding" : MessageLookupByLibrary.simpleMessage("确定"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("确定要删除这条动态?"), @@ -590,6 +592,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("刷新失败"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("刷新余额"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("刷新中...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "sui" : m31, @@ -689,6 +692,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("选好啦"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("选择推荐门店"), diff --git a/lib/generated/intl/messages_zh_Hans_CN.dart b/lib/generated/intl/messages_zh_Hans_CN.dart index e9779c5f..796db711 100644 --- a/lib/generated/intl/messages_zh_Hans_CN.dart +++ b/lib/generated/intl/messages_zh_Hans_CN.dart @@ -483,6 +483,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("请填写收件人姓名"), "qingtong" : MessageLookupByLibrary.simpleMessage("青铜"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("青铜会员"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("请先选规格"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("请选择使用门店"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("请选择收货地址"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("请选择一个门店"), @@ -510,6 +511,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("权益详情"), "qucanhao" : MessageLookupByLibrary.simpleMessage("取餐号"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("渠道来源"), "qudenglu" : MessageLookupByLibrary.simpleMessage("去登录"), "queding" : MessageLookupByLibrary.simpleMessage("确定"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("确定要删除这条动态?"), @@ -590,6 +592,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("刷新失败"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("刷新余额"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("刷新中...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "sui" : m31, @@ -689,6 +692,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("选好啦"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("选择推荐门店"), diff --git a/lib/generated/intl/messages_zh_Hant_CN.dart b/lib/generated/intl/messages_zh_Hant_CN.dart index b7a6b659..68b11d59 100644 --- a/lib/generated/intl/messages_zh_Hant_CN.dart +++ b/lib/generated/intl/messages_zh_Hant_CN.dart @@ -478,6 +478,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("請填寫收件人姓名"), "qingtong" : MessageLookupByLibrary.simpleMessage("青铜"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("青銅會員"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("請先選規格"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("請選擇使用門店"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("請選擇收貨地址"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("請選擇一個門店"), @@ -505,6 +506,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("權益詳情"), "qucanhao" : MessageLookupByLibrary.simpleMessage("取餐號"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("渠道來源"), "qudenglu" : MessageLookupByLibrary.simpleMessage("去登錄"), "queding" : MessageLookupByLibrary.simpleMessage("確定"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("確定要刪除這條動態?"), @@ -584,6 +586,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("刷新失敗"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("刷新餘額"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("刷新中...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("數量"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"), "sui" : m31, @@ -683,6 +686,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("選好啦"), "xuanji" : MessageLookupByLibrary.simpleMessage("選集"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("請選擇商品的領取方式"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("選擇推薦門店"), diff --git a/lib/generated/intl/messages_zh_TW.dart b/lib/generated/intl/messages_zh_TW.dart index c61a4a7b..7456c2e0 100644 --- a/lib/generated/intl/messages_zh_TW.dart +++ b/lib/generated/intl/messages_zh_TW.dart @@ -480,6 +480,7 @@ class MessageLookup extends MessageLookupByLibrary { "qingtianxiexingming" : MessageLookupByLibrary.simpleMessage("請填寫收件人姓名"), "qingtong" : MessageLookupByLibrary.simpleMessage("青铜"), "qingtonghuiyuan" : MessageLookupByLibrary.simpleMessage("青銅會員"), + "qingxianxuanguige" : MessageLookupByLibrary.simpleMessage("請先選規格"), "qingxuanzeshiyongmendian" : MessageLookupByLibrary.simpleMessage("請選擇使用門店"), "qingxuanzeshouhuodizhi" : MessageLookupByLibrary.simpleMessage("請選擇收貨地址"), "qingxuanzeyigemendian" : MessageLookupByLibrary.simpleMessage("請選擇一個門店"), @@ -507,6 +508,7 @@ class MessageLookup extends MessageLookupByLibrary { "quanyixiangqing" : MessageLookupByLibrary.simpleMessage("權益詳情"), "qucanhao" : MessageLookupByLibrary.simpleMessage("取餐號"), "qudanhao" : m26, + "qudaolaiyuan" : MessageLookupByLibrary.simpleMessage("渠道來源"), "qudenglu" : MessageLookupByLibrary.simpleMessage("去登錄"), "queding" : MessageLookupByLibrary.simpleMessage("確定"), "quedingyaoshanchudongtai" : MessageLookupByLibrary.simpleMessage("確定要刪除這條動態?"), @@ -587,6 +589,7 @@ class MessageLookup extends MessageLookupByLibrary { "shuaxinshibai" : MessageLookupByLibrary.simpleMessage("刷新失敗"), "shuaxinyue" : MessageLookupByLibrary.simpleMessage("刷新餘額"), "shuaxinzhong" : MessageLookupByLibrary.simpleMessage("刷新中...."), + "shuliang" : MessageLookupByLibrary.simpleMessage("數量"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"), "sui" : m31, @@ -686,6 +689,7 @@ class MessageLookup extends MessageLookupByLibrary { "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), + "xuanhaola" : MessageLookupByLibrary.simpleMessage("選好啦"), "xuanji" : MessageLookupByLibrary.simpleMessage("選集"), "xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("請選擇商品的領取方式"), "xuanzetuijianmendian" : MessageLookupByLibrary.simpleMessage("選擇推薦門店"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index dddd44aa..0567a9c1 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -7045,6 +7045,46 @@ class S { ); } + /// `请先选规格` + String get qingxianxuanguige { + return Intl.message( + '请先选规格', + name: 'qingxianxuanguige', + desc: '', + args: [], + ); + } + + /// `选好啦` + String get xuanhaola { + return Intl.message( + '选好啦', + name: 'xuanhaola', + desc: '', + args: [], + ); + } + + /// `渠道来源` + String get qudaolaiyuan { + return Intl.message( + '渠道来源', + name: 'qudaolaiyuan', + desc: '', + args: [], + ); + } + + /// `数量` + String get shuliang { + return Intl.message( + '数量', + name: 'shuliang', + desc: '', + args: [], + ); + } + /// `并使用本机号码登录` String get privacy_policy4 { return Intl.message( diff --git a/lib/home/home_page.dart b/lib/home/home_page.dart index 62daf29d..e93687b5 100644 --- a/lib/home/home_page.dart +++ b/lib/home/home_page.dart @@ -35,7 +35,6 @@ import 'package:huixiang/view_widget/activity_coupons.dart'; import 'package:huixiang/view_widget/activity_poster.dart'; import 'package:huixiang/view_widget/classic_header.dart'; import 'package:huixiang/view_widget/invite_success_dialog.dart'; -import 'package:huixiang/view_widget/new_people_reward.dart'; import 'package:huixiang/view_widget/request_permission.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; @@ -117,6 +116,17 @@ class HomePageState extends State with AutomaticKeepAliveClientMixin { }); } + ///推荐渠道弹窗 + channelShowAlertDialog() { + //显示对话框 + showDialog( + context: context, + builder: (BuildContext context) { + return ChannelDialog(); + }, + ); + } + final SwiperController controller = SwiperController(); String categoryId; @@ -281,6 +291,7 @@ class HomePageState extends State with AutomaticKeepAliveClientMixin { // } } + ///查询会员信息 queryUserBalance() async { BaseData baseData = await apiService.queryInfo().catchError((onError) {}); @@ -292,26 +303,26 @@ class HomePageState extends State with AutomaticKeepAliveClientMixin { } ///消息数量 - queryMsgStats() async { - if (apiService == null) { - SharedPreferences value = await SharedPreferences.getInstance(); - apiService = ApiService( - Dio(), - context: context, - token: value.getString("token"), - ); - } - BaseData> baseData = await apiService.stats().catchError((onError) {}); - if (baseData != null && baseData.isSuccess) { - // setState(() { - totalMsg = 0; - baseData.data.forEach((element) { - totalMsg += element.number; - // }); - }); - } - EasyLoading.dismiss(); - } + // queryMsgStats() async { + // if (apiService == null) { + // SharedPreferences value = await SharedPreferences.getInstance(); + // apiService = ApiService( + // Dio(), + // context: context, + // token: value.getString("token"), + // ); + // } + // BaseData> baseData = await apiService.stats().catchError((onError) {}); + // if (baseData != null && baseData.isSuccess) { + // // setState(() { + // totalMsg = 0; + // baseData.data.forEach((element) { + // totalMsg += element.number; + // // }); + // }); + // } + // EasyLoading.dismiss(); + // } ///活动弹窗 queryActivity() async { diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index d1f4f32c..d491ec54 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -732,6 +732,10 @@ "dianneiyongcan":"店内用餐", "waidai":"外带", "dabaodaodianqu":"打包到店取", + "qingxianxuanguige":"请先选规格", + "xuanhaola":"选好啦", + "qudaolaiyuan":"渠道来源", + "shuliang":"数量", diff --git a/lib/l10n/intl_en_US.arb b/lib/l10n/intl_en_US.arb index fd08a44e..c0c5958e 100644 --- a/lib/l10n/intl_en_US.arb +++ b/lib/l10n/intl_en_US.arb @@ -733,6 +733,10 @@ "dianneiyongcan":"store dining", "waidai":"take away", "dabaodaodianqu":"pack to shop take away", + "qingxianxuanguige":"please select specs", + "xuanhaola":"select success", + "qudaolaiyuan":"channel source", + "shuliang":"number", diff --git a/lib/l10n/intl_zh_CN.arb b/lib/l10n/intl_zh_CN.arb index 966e8b8e..88016c60 100644 --- a/lib/l10n/intl_zh_CN.arb +++ b/lib/l10n/intl_zh_CN.arb @@ -733,6 +733,10 @@ "dianneiyongcan":"店内用餐", "waidai":"外带", "dabaodaodianqu":"打包到店取", + "qingxianxuanguige":"请先选规格", + "xuanhaola":"选好啦", + "qudaolaiyuan":"渠道来源", + "shuliang":"数量", diff --git a/lib/l10n/intl_zh_Hans_CN.arb b/lib/l10n/intl_zh_Hans_CN.arb index a20b0174..67abe33f 100644 --- a/lib/l10n/intl_zh_Hans_CN.arb +++ b/lib/l10n/intl_zh_Hans_CN.arb @@ -733,6 +733,10 @@ "dianneiyongcan":"店内用餐", "waidai":"外带", "dabaodaodianqu":"打包到店取", + "qingxianxuanguige":"请先选规格", + "xuanhaola":"选好啦", + "qudaolaiyuan":"渠道来源", + "shuliang":"数量", diff --git a/lib/l10n/intl_zh_Hant_CN.arb b/lib/l10n/intl_zh_Hant_CN.arb index d9ee9ec7..722581f7 100644 --- a/lib/l10n/intl_zh_Hant_CN.arb +++ b/lib/l10n/intl_zh_Hant_CN.arb @@ -724,6 +724,10 @@ "dianneiyongcan":"店内用餐", "waidai":"外帶", "dabaodaodianqu":"打包到店取", + "qingxianxuanguige":"請先選規格", + "xuanhaola":"選好啦", + "qudaolaiyuan":"渠道來源", + "shuliang":"數量", diff --git a/lib/l10n/intl_zh_TW.arb b/lib/l10n/intl_zh_TW.arb index 62a6df75..8c6ac070 100644 --- a/lib/l10n/intl_zh_TW.arb +++ b/lib/l10n/intl_zh_TW.arb @@ -726,6 +726,10 @@ "dianneiyongcan":"店内用餐", "waidai":"外帶", "dabaodaodianqu":"打包到店取", + "qingxianxuanguige":"請先選規格", + "xuanhaola":"選好啦", + "qudaolaiyuan":"渠道來源", + "shuliang":"數量", diff --git a/lib/login/login_store_select.dart b/lib/login/login_store_select.dart index 1844ed9b..00837cc0 100644 --- a/lib/login/login_store_select.dart +++ b/lib/login/login_store_select.dart @@ -20,7 +20,6 @@ class LoginStoreSelect extends StatefulWidget { } class _LoginStoreSelect extends State { - ApiService apiService; ChannelsList channelsList; int channelIndex = 0; @@ -35,7 +34,7 @@ class _LoginStoreSelect extends State { return Scaffold( backgroundColor: Colors.white, appBar: MyAppBar( - title: "渠道来源", + title: S.of(context).qudaolaiyuan, titleColor: Colors.black, titleSize: 18.sp, background: Color(0xFFFFFFFF), diff --git a/lib/mine/mine_page.dart b/lib/mine/mine_page.dart index 11daed54..a3e73b64 100644 --- a/lib/mine/mine_page.dart +++ b/lib/mine/mine_page.dart @@ -9,7 +9,6 @@ import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/main.dart'; import 'package:huixiang/mine/mine_view/mine_calendar.dart'; import 'package:huixiang/mine/mine_view/mine_navbar.dart'; -import 'package:huixiang/mine/mine_view/mine_order.dart'; import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/examine_instance.dart'; import 'package:huixiang/retrofit/data/msg_stats.dart'; @@ -21,7 +20,6 @@ import 'package:huixiang/utils/event_type.dart'; import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/view_widget/classic_header.dart'; import 'package:huixiang/view_widget/login_tips_dialog.dart'; -import 'package:huixiang/view_widget/mine_vip_entry.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:dio/dio.dart'; diff --git a/lib/settlement/settlement.dart b/lib/settlement/settlement.dart index 19e0813a..4a42c472 100644 --- a/lib/settlement/settlement.dart +++ b/lib/settlement/settlement.dart @@ -180,7 +180,11 @@ class _Settlement extends State { productSkuId ?? "", actProductId ?? "", actProductSkuId ?? "", - (isVips == false || !placeOrder ) ? ((vipLevelName == "黄金会员" && placeOrder) ? "MEMBER_RANK" :"NONE"):"VIP", + (isVips == false || !placeOrder) + ? ((vipLevelName == "黄金会员" && placeOrder) + ? "MEMBER_RANK" + : "NONE") + : "VIP", // useVipPriceSelect, // (useVipPriceSelect == true && isVips) ? false:useBenefitSelect, count1, @@ -213,72 +217,79 @@ class _Settlement extends State { try { EasyLoading.show(status: S.current.zhengzaijiazai); - BaseData baseData = await minService.getOrderInfo({ - "addressId": addressId, - "isTake": isTake, - "memberCouponId": memberCouponId, - "orderId": orderId, - "promotionId": promotionId, - "productSkuId": productSkuId, - "actProductId": actProductId, - "actProductSkuId": actProductSkuId, - "discountType":discountType, - // "useVipPrice":useVipPriceSelect, - // "useBenefit": useBenefitSelect, - "buyNum": buyNum, - "payChannel":payChannel, - "tableId": tableId - }).catchError((error) {}); - this.promotion = null; - promotions = ""; - this.couponListBean = null; - coupons = ""; - if (baseData != null && baseData.isSuccess) { - settleOrderInfo = baseData.data; - if ((settleOrderInfo?.promotionId ?? "") != "") { - settleOrderInfo.promotionInfoList.forEach((element) { - if (element.id == settleOrderInfo.promotionId) { - this.promotion = element; - promotions = promotion?.name ?? ""; - } - }); - } - if ((settleOrderInfo?.memberCouponId ?? "") != "") { - settleOrderInfo.couponList.forEach((element) { - if (element.id == settleOrderInfo.memberCouponId) { - this.couponListBean = element; - coupons = couponListBean?.promotionName ?? ""; - } - }); - } - if (settleOrderInfo.orderProductList == null || - settleOrderInfo.orderProductList.length == 0) { - placeOrder = true; - queryOrderDetails( - pageType != null ? widget.arguments["orderId"] : parentId); - } - if(!isRaiseChannel && (tableId > 0 ? (minOrderInfo?.isRaise ?? false) : (settleOrderInfo?.isRaise ?? false))){ - isRaiseChannel = true; - queryOrderInfo( - address?.id, - selectedBtn, - couponListBean?.id, - 0, - promotion?.id ?? productId, - productSkuId ?? "", - actProductId ?? "", - actProductSkuId ?? "", - "NONE", - // useVipPriceSelect, - // useBenefitSelect, - count1, - (tableId > 0 ? (minOrderInfo?.isRaise ?? false) : (settleOrderInfo?.isRaise ?? false)) ? 7 :payChannel, - tableId); + BaseData baseData = await minService.getOrderInfo({ + "addressId": addressId, + "isTake": isTake, + "memberCouponId": memberCouponId, + "orderId": orderId, + "promotionId": promotionId, + "productSkuId": productSkuId, + "actProductId": actProductId, + "actProductSkuId": actProductSkuId, + "discountType": discountType, + // "useVipPrice":useVipPriceSelect, + // "useBenefit": useBenefitSelect, + "buyNum": buyNum, + "payChannel": payChannel, + "tableId": tableId + }).catchError((error) {}); + this.promotion = null; + promotions = ""; + this.couponListBean = null; + coupons = ""; + if (baseData != null && baseData.isSuccess) { + settleOrderInfo = baseData.data; + if ((settleOrderInfo?.promotionId ?? "") != "") { + settleOrderInfo.promotionInfoList.forEach((element) { + if (element.id == settleOrderInfo.promotionId) { + this.promotion = element; + promotions = promotion?.name ?? ""; + } + }); + } + if ((settleOrderInfo?.memberCouponId ?? "") != "") { + settleOrderInfo.couponList.forEach((element) { + if (element.id == settleOrderInfo.memberCouponId) { + this.couponListBean = element; + coupons = couponListBean?.promotionName ?? ""; + } + }); + } + if (settleOrderInfo.orderProductList == null || + settleOrderInfo.orderProductList.length == 0) { + placeOrder = true; + queryOrderDetails( + pageType != null ? widget.arguments["orderId"] : parentId); + } + if (!isRaiseChannel && + (tableId > 0 + ? (minOrderInfo?.isRaise ?? false) + : (settleOrderInfo?.isRaise ?? false))) { + isRaiseChannel = true; + queryOrderInfo( + address?.id, + selectedBtn, + couponListBean?.id, + 0, + promotion?.id ?? productId, + productSkuId ?? "", + actProductId ?? "", + actProductSkuId ?? "", + "NONE", + // useVipPriceSelect, + // useBenefitSelect, + count1, + (tableId > 0 + ? (minOrderInfo?.isRaise ?? false) + : (settleOrderInfo?.isRaise ?? false)) + ? 7 + : payChannel, + tableId); + } + } else { + SmartDialog.showToast(baseData?.msg ?? "", alignment: Alignment.center); } - } else { - SmartDialog.showToast(baseData?.msg ?? "", alignment: Alignment.center); - } - }finally{ + } finally { setState(() {}); EasyLoading.dismiss(); } @@ -343,29 +354,29 @@ class _Settlement extends State { } queryAddress(int selectedBtn) async { - setState(() { - this.selectedBtn = selectedBtn; - }); - if (address != null) { - queryOrderInfo( - address.id, - selectedBtn, - null, - 0, - productId ?? null, - productSkuId ?? "", - actProductId ?? "", - actProductSkuId ?? "", - "AUTO", - // useVipPriceSelect, - // useBenefitSelect, - count1, - payChannel, - tableId); - return; - } - BaseData> baseDate = - await minService.queryAddress().catchError((error) {}); + setState(() { + this.selectedBtn = selectedBtn; + }); + if (address != null) { + queryOrderInfo( + address.id, + selectedBtn, + null, + 0, + productId ?? null, + productSkuId ?? "", + actProductId ?? "", + actProductSkuId ?? "", + "AUTO", + // useVipPriceSelect, + // useBenefitSelect, + count1, + payChannel, + tableId); + return; + } + BaseData> baseDate = + await minService.queryAddress().catchError((error) {}); BMFCoordinate bmfCoordinate = BMFCoordinate( double.tryParse(storeInfo.latitude), @@ -393,30 +404,30 @@ class _Settlement extends State { fromType: BMF_COORD_TYPE.COMMON, toType: BMF_COORD_TYPE.BD09LL); - double mi = await BMFCalculateUtils.getLocationDistance( - bmfCoordinate, coordinate); - double mi1 = await BMFCalculateUtils.getLocationDistance( - bmfCoordinate, coordinate1); - if (mi1 < mi) { - address = address1; - } + double mi = await BMFCalculateUtils.getLocationDistance( + bmfCoordinate, coordinate); + double mi1 = await BMFCalculateUtils.getLocationDistance( + bmfCoordinate, coordinate1); + if (mi1 < mi) { + address = address1; } - await queryOrderInfo( - address.id, - selectedBtn, - null, - 0, - productId ?? null, - productSkuId ?? "", - actProductId ?? "", - actProductSkuId ?? "", - "AUTO", - // useVipPriceSelect, - // useBenefitSelect, - count1, - payChannel, - tableId); } + await queryOrderInfo( + address.id, + selectedBtn, + null, + 0, + productId ?? null, + productSkuId ?? "", + actProductId ?? "", + actProductSkuId ?? "", + "AUTO", + // useVipPriceSelect, + // useBenefitSelect, + count1, + payChannel, + tableId); + } } ///选择收货地址 @@ -530,7 +541,13 @@ class _Settlement extends State { ((subscribeParam?.isEnableSubscribe ?? false) == true) ? true : false; //是否预约 - placeOrderFirst.isTakeOut = ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn!=1&&selectedBtn!=2) ? diningStatus : selectedBtn; + placeOrderFirst.isTakeOut = + ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && + (subscribeParam?.isEnableSubscribe ?? false) == false && + selectedBtn != 1 && + selectedBtn != 2) + ? diningStatus + : selectedBtn; placeOrderFirst.notes = remakers + (reservationTime ?? "") + ((subscribeParam?.isEnableSubscribe ?? false) == true @@ -542,7 +559,13 @@ class _Settlement extends State { placeOrderFirst.orderTypeId = 0; placeOrderFirst.parentCode = parentCode; // 火锅加菜 placeOrderFirst.parentId = parentId; // 火锅加菜 - placeOrderFirst.payChannel = ((placeOrderFirst.cartSum == "0.00") ? payChannel = 0 : ((tableId > 0 ? (minOrderInfo?.isRaise ?? false) : (settleOrderInfo?.isRaise ?? false)) ? 7:payChannel)); + placeOrderFirst.payChannel = ((placeOrderFirst.cartSum == "0.00") + ? payChannel = 0 + : ((tableId > 0 + ? (minOrderInfo?.isRaise ?? false) + : (settleOrderInfo?.isRaise ?? false)) + ? 7 + : payChannel)); placeOrderFirst.promotionInfoDTO = PromotionInfoDTOBean(); placeOrderFirst.promotionInfoDTO.promotionId = (promotion != null && tableId <= 0) ? promotion.id : ""; @@ -552,7 +575,8 @@ class _Settlement extends State { // : widget.arguments["cid"] ?? ""; // placeOrderFirst.promotionInfoDTO.useVipPrice = (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && (settleOrderInfo.usePlateMoney == false))) ) ? false : useVipPriceSelect; // placeOrderFirst.promotionInfoDTO.useBenefit = (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false))) ? false : useBenefitSelect; - placeOrderFirst.promotionInfoDTO.discountType = settleOrderInfo?.discountType ?? ""; + placeOrderFirst.promotionInfoDTO.discountType = + settleOrderInfo?.discountType ?? ""; placeOrderFirst.recMobile = (mobile == null || mobile == "") ? mobile : storeInfo.headMobile; placeOrderFirst.shoppingCartSkuItemList = settleOrderInfo.orderProductList; @@ -561,7 +585,9 @@ class _Settlement extends State { placeOrderFirst.storeId = storeInfo.id; placeOrderFirst.subcribeTime = subTime ?? ""; //预约时间 placeOrderFirst.tableId = "$tableId"; - for (int i = 0; i < (shopCarGoods?.shoppingCartSkuItemList?.length ?? 0); i++) { + for (int i = 0; + i < (shopCarGoods?.shoppingCartSkuItemList?.length ?? 0); + i++) { placeOrderFirst.shoppingCartSkuItemList[i].setMealDataList = shopCarGoods.shoppingCartSkuItemList[i].setMealDataList; } @@ -803,40 +829,49 @@ class _Settlement extends State { child: Container( child: Column( children: [ - DistributionMode((addressId, isTake, - memberCouponId, orderId, promotionId) { - setState(() { - this.selectedBtn = 0; - }); - queryOrderInfo( - addressId, - isTake, - memberCouponId, - orderId, - promotionId ?? (productId ?? 0), - productSkuId ?? "", - actProductId ?? "", - actProductSkuId ?? "", - "AUTO", - // useVipPriceSelect, - // useBenefitSelect, - count1, - payChannel, - tableId ?? 0); - }, - queryAddress, - storeInfo, - address, - selectedAddress, - pageType, - widget.arguments["distance"],), + DistributionMode( + (addressId, isTake, memberCouponId, orderId, + promotionId) { + setState(() { + this.selectedBtn = 0; + }); + queryOrderInfo( + addressId, + isTake, + memberCouponId, + orderId, + promotionId ?? (productId ?? 0), + productSkuId ?? "", + actProductId ?? "", + actProductSkuId ?? "", + "AUTO", + // useVipPriceSelect, + // useBenefitSelect, + count1, + payChannel, + tableId ?? 0); + }, + queryAddress, + storeInfo, + address, + selectedAddress, + pageType, + widget.arguments["distance"], + ), SizedBox( height: 16.h, ), - if((storeInfo?.pickupType?.dineInTakeStatus?? false) ==true && (subscribeParam?.isEnableSubscribe ?? false) == false - && selectedBtn != 1 && selectedBtn != 2&& settleOrderInfo !=null) + if ((storeInfo?.pickupType?.dineInTakeStatus ?? + false) == + true && + (subscribeParam?.isEnableSubscribe ?? + false) == + false && + selectedBtn != 1 && + selectedBtn != 2 && + settleOrderInfo != null) takeStatus(), /// 预留的手机号, 可修改 @@ -857,7 +892,9 @@ class _Settlement extends State { (coupons != "" || promotions != "") ? false : useVipPriceSelect, - this.showVipTips,useBenefitSelect,placeOrder), + this.showVipTips, + useBenefitSelect, + placeOrder), ///优惠券/备注/会员优惠金额 if (settleOrderInfo != null || @@ -872,20 +909,20 @@ class _Settlement extends State { couponCount(), placeOrder, remakers, - () { + () { Navigator.of(context).pushNamed( '/router/edit_remarks_page', arguments: { "remake": remakers }).then((value) => { - setState(() { - if (value != null) remakers = value; - }) - }); + setState(() { + if (value != null) remakers = value; + }) + }); }, tableId, vipPriceSelect, - () { + () { setState(() { this.showVipTips = true; }); @@ -900,9 +937,20 @@ class _Settlement extends State { subscribeStoresName, ), - if (settleOrderInfo != null && placeOrder && joinA != JoinActivity.BargainBug) - ///支付方式 - PayMethod(payChannelCheck,coupons,promotions,useVipPriceSelect,settleOrderInfo,useBenefitSelect,tableId,minOrderInfo), + if (settleOrderInfo != null && + placeOrder && + joinA != JoinActivity.BargainBug) + + ///支付方式 + PayMethod( + payChannelCheck, + coupons, + promotions, + useVipPriceSelect, + settleOrderInfo, + useBenefitSelect, + tableId, + minOrderInfo), ], ), ), @@ -970,10 +1018,14 @@ class _Settlement extends State { // return; // } else // orderButton = true; - if (subscribeParam != null && ((subscribeParam.isEnableSubscribe ?? false) == - true) && - (reservationTime == null || - ((subscribeParam.stores.length ==1 ? subscribeParam.stores[0] : subscribeStoresName) == null))) { + if (subscribeParam != null && + ((subscribeParam.isEnableSubscribe ?? false) == + true) && + (reservationTime == null || + ((subscribeParam.stores.length == 1 + ? subscribeParam.stores[0] + : subscribeStoresName) == + null))) { SmartDialog.showToast( (reservationTime == null) ? S.of(context).qingxuanzeyuyeushijian @@ -1006,161 +1058,190 @@ class _Settlement extends State { } ///堂食/打包外带选择 - Widget takeStatus(){ + Widget takeStatus() { return Container( decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Color(0x0D000000), - offset: Offset(0, 1), - blurRadius: 8, - spreadRadius: 0, - ), - ], - borderRadius: BorderRadius.circular(8), - ), - margin: EdgeInsets.only(left: 16.w, right: 16.w,top:6.h,bottom:6.h), - padding: EdgeInsets.symmetric(horizontal: 12.w,vertical:10.h), - child: - Row(children: [ - Expanded(child:GestureDetector( - onTap: (){ - setState((){ - diningStatus = 4; - }); - }, - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(6)), - border: Border.all( - width: diningStatus == 4? 2.w:1.w, - color: diningStatus == 4? Color(0xFF32A060):Color(0xFFDEDEDE), - style: BorderStyle.solid, - ), - color: diningStatus == 4?Color(0xFFEEFFF5):Color(0xFFFFFFFF), - ), - padding: EdgeInsets.only(top:11.h,bottom: 14.h), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "assets/image/home_he.webp", - fit: BoxFit.fill, - width: 21.w, - height: 31.h, + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Color(0x0D000000), + offset: Offset(0, 1), + blurRadius: 8, + spreadRadius: 0, + ), + ], + borderRadius: BorderRadius.circular(8), + ), + margin: EdgeInsets.only(left: 16.w, right: 16.w, top: 6.h, bottom: 6.h), + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 10.h), + child: Row( + children: [ + Expanded( + child: GestureDetector( + onTap: () { + setState(() { + diningStatus = 4; + }); + }, + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(6)), + border: Border.all( + width: diningStatus == 4 ? 2.w : 1.w, + color: + diningStatus == 4 ? Color(0xFF32A060) : Color(0xFFDEDEDE), + style: BorderStyle.solid, ), - SizedBox(width:10.w,), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - S.of(context).tangshi, - style: TextStyle( - color: Color(0xFF353535), - fontSize: 14.sp, - fontWeight: FontWeight.bold, + color: + diningStatus == 4 ? Color(0xFFEEFFF5) : Color(0xFFFFFFFF), + ), + padding: EdgeInsets.only(top: 11.h, bottom: 14.h), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + "assets/image/home_he.webp", + fit: BoxFit.fill, + width: 21.w, + height: 31.h, + ), + SizedBox( + width: 10.w, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + S.of(context).tangshi, + style: TextStyle( + color: Color(0xFF353535), + fontSize: 14.sp, + fontWeight: FontWeight.bold, + ), ), - ), - SizedBox(height: 6.h,), - Text( - S.of(context).dianneiyongcan, - style: TextStyle( - color: Color(0xFF32A060), - fontSize: 12.sp, - fontWeight: MyFontWeight.regular, + SizedBox( + height: 6.h, ), - ), - ], - ) - ], - ), - ), - )), - SizedBox(width: 12.w,), - Expanded(child: GestureDetector( - onTap: (){ - setState((){ - diningStatus = 3; - }); - }, - child: Container( - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(6)), - border: Border.all( - width: diningStatus == 3? 2.w : 1.w, - color: diningStatus == 3?Color(0xFF32A060):Color(0xFFDEDEDE), - style: BorderStyle.solid, + Text( + S.of(context).dianneiyongcan, + style: TextStyle( + color: Color(0xFF32A060), + fontSize: 12.sp, + fontWeight: MyFontWeight.regular, + ), + ), + ], + ) + ], ), - color: diningStatus == 3 ?Color(0xFFEEFFF5):Color(0xFFFFFFFF), ), - padding: EdgeInsets.only(top:11.h,bottom: 14.h), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "assets/image/dining_w.webp", - fit: BoxFit.fill, - width: 24.w, - height: 26.h, + )), + SizedBox( + width: 12.w, + ), + Expanded( + child: GestureDetector( + onTap: () { + setState(() { + diningStatus = 3; + }); + }, + child: Container( + alignment: Alignment.center, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(6)), + border: Border.all( + width: diningStatus == 3 ? 2.w : 1.w, + color: + diningStatus == 3 ? Color(0xFF32A060) : Color(0xFFDEDEDE), + style: BorderStyle.solid, ), - SizedBox(width:9.w,), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - S.of(context).waidai, - style: TextStyle( - color: Color(0xFF353535), - fontSize: 14.sp, - fontWeight: FontWeight.bold, + color: + diningStatus == 3 ? Color(0xFFEEFFF5) : Color(0xFFFFFFFF), + ), + padding: EdgeInsets.only(top: 11.h, bottom: 14.h), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + "assets/image/dining_w.webp", + fit: BoxFit.fill, + width: 24.w, + height: 26.h, + ), + SizedBox( + width: 9.w, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + S.of(context).waidai, + style: TextStyle( + color: Color(0xFF353535), + fontSize: 14.sp, + fontWeight: FontWeight.bold, + ), ), - ), - SizedBox(height: 6.h,), - Text( - S.of(context).dabaodaodianqu, - style: TextStyle( - color: Color(0xFF32A060), - fontSize: 12.sp, - fontWeight: MyFontWeight.regular, + SizedBox( + height: 6.h, ), - ), - ], - ) - ], + Text( + S.of(context).dabaodaodianqu, + style: TextStyle( + color: Color(0xFF32A060), + fontSize: 12.sp, + fontWeight: MyFontWeight.regular, + ), + ), + ], + ) + ], + ), ), - ), - )), - ],), + )), + ], + ), ); } payChannelCheck(int payChannel) { this.payChannel = payChannel; - if (tableId > 0) { - queryOrderDetails(parentId); - } else { - queryOrderInfo( - address?.id, - selectedBtn, - (settleOrderInfo.isRaise || payChannel == 5) ? "" :couponListBean?.id, - 0, - (settleOrderInfo.isRaise || payChannel == 5) ? "" :promotion?.id ?? productId, - productSkuId ?? "", - actProductId ?? "", - actProductSkuId ?? "", - (settleOrderInfo.isRaise || payChannel == 5) ?"NONE" : ((useVipPriceSelect == false && couponListBean?.id!="" && ((promotion?.id ?? productId )!= "")) ? "MEMBER_RANK" : (isVips == false &&vipLevelName == "黄金会员")?"MEMBER_RANK":"AUTO"), - // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false))) ? false :useVipPriceSelect, - // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false)) || useVipPriceSelect == true) ? false :useBenefitSelect, - count1, - payChannel, - tableId);} - + if (tableId > 0) { + queryOrderDetails(parentId); + } else { + queryOrderInfo( + address?.id, + selectedBtn, + (settleOrderInfo.isRaise || payChannel == 5) + ? "" + : couponListBean?.id, + 0, + (settleOrderInfo.isRaise || payChannel == 5) + ? "" + : promotion?.id ?? productId, + productSkuId ?? "", + actProductId ?? "", + actProductSkuId ?? "", + (settleOrderInfo.isRaise || payChannel == 5) + ? "NONE" + : ((useVipPriceSelect == false && + couponListBean?.id != "" && + ((promotion?.id ?? productId) != "")) + ? "MEMBER_RANK" + : (isVips == false && vipLevelName == "黄金会员") + ? "MEMBER_RANK" + : "AUTO"), + // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false))) ? false :useVipPriceSelect, + // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false)) || useVipPriceSelect == true) ? false :useBenefitSelect, + count1, + payChannel, + tableId); + } } vipPriceSelect(bool useVipPriceSelect) { @@ -1177,12 +1258,13 @@ class _Settlement extends State { productSkuId ?? "", actProductId ?? "", actProductSkuId ?? "", - (useVipPriceSelect == true) ? "VIP": "MEMBER_RANK", + (useVipPriceSelect == true) ? "VIP" : "MEMBER_RANK", // useVipPriceSelect, // useVipPriceSelect == true ? false :useBenefitSelect, count1, payChannel, - tableId);} + tableId); + } } ///会员等级选择 @@ -1258,7 +1340,11 @@ class _Settlement extends State { productSkuId ?? "", actProductId ?? "", actProductSkuId ?? "", - (couponBean?.id ?? 0) == 0 ?((isVips == false &&vipLevelName == "黄金会员") ? "MEMBER_RANK" :"AUTO"):"COUPON", + (couponBean?.id ?? 0) == 0 + ? ((isVips == false && vipLevelName == "黄金会员") + ? "MEMBER_RANK" + : "AUTO") + : "COUPON", // useVipPriceSelect, // useBenefitSelect, count1, @@ -1293,7 +1379,11 @@ class _Settlement extends State { productSkuId ?? "", actProductId ?? "", actProductSkuId ?? "", - ((pro?.id ?? 0) ?? productId) == 0 ?((isVips == false &&vipLevelName == "黄金会员") ? "MEMBER_RANK" :"AUTO"):"ACTIVITY", + ((pro?.id ?? 0) ?? productId) == 0 + ? ((isVips == false && vipLevelName == "黄金会员") + ? "MEMBER_RANK" + : "AUTO") + : "ACTIVITY", // useVipPriceSelect, // useBenefitSelect, count1, @@ -1324,7 +1414,7 @@ class _Settlement extends State { date.timeZoneOffset.inHours.toString()); }, onConfirm: (date) { reservationTime = date.toString().substring(0, 16); - subTime = date.add(Duration(hours:8)).toUtc().toIso8601String(); + subTime = date.add(Duration(hours: 8)).toUtc().toIso8601String(); setState(() {}); }, currentTime: minTime, locale: LocaleType.zh); } @@ -1358,17 +1448,17 @@ class _Settlement extends State { children: [ Expanded( child: Container( - alignment: Alignment.center, - margin: EdgeInsets.symmetric(vertical:5.h), - child: Text( - S.of(context).qingxuanzeyuyuemendian, - style: TextStyle( - fontWeight: MyFontWeight.bold, - fontSize: 15.sp, - color: Color(0xFF353535), - ), - ), - )), + alignment: Alignment.center, + margin: EdgeInsets.symmetric(vertical: 5.h), + child: Text( + S.of(context).qingxuanzeyuyuemendian, + style: TextStyle( + fontWeight: MyFontWeight.bold, + fontSize: 15.sp, + color: Color(0xFF353535), + ), + ), + )), GestureDetector( onTap: () { setState(() { @@ -1399,9 +1489,10 @@ class _Settlement extends State { }), ), GestureDetector( - onTap: (){ + onTap: () { setState(() { - subscribeStoresName = subscribeParam.stores[storesIndex]; + subscribeStoresName = + subscribeParam.stores[storesIndex]; }); Navigator.of(context).pop(); }, @@ -1410,10 +1501,12 @@ class _Settlement extends State { height: 40.h, decoration: BoxDecoration( borderRadius: BorderRadius.circular(100), - color:Color(0xFF32A060), + color: Color(0xFF32A060), ), alignment: Alignment.center, - margin: EdgeInsets.only(bottom: 10.h,), + margin: EdgeInsets.only( + bottom: 10.h, + ), child: Text( S.of(context).queding, style: TextStyle( @@ -1436,17 +1529,17 @@ class _Settlement extends State { Widget storesNameItem(index) { return Container( width: double.infinity, - margin: EdgeInsets.symmetric(vertical:8.h), + margin: EdgeInsets.symmetric(vertical: 8.h), padding: EdgeInsets.symmetric(vertical: 10.h), alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius:BorderRadius.circular(6), - border: Border.all( - color: storesIndex == index ? Color(0xFF32A060):Color(0xFFF7F7F7), - width: storesIndex == index ? 1 :0, - ), - color: storesIndex == index ? Color(0xFFF0FAF4) :Color(0xFFF7F7F7), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: storesIndex == index ? Color(0xFF32A060) : Color(0xFFF7F7F7), + width: storesIndex == index ? 1 : 0, ), + color: storesIndex == index ? Color(0xFFF0FAF4) : Color(0xFFF7F7F7), + ), child: Text( subscribeParam.stores[index], style: TextStyle( diff --git a/lib/store/shop_details_page.dart b/lib/store/shop_details_page.dart index b5b8cf82..76997a33 100644 --- a/lib/store/shop_details_page.dart +++ b/lib/store/shop_details_page.dart @@ -24,8 +24,6 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:shared_preferences/shared_preferences.dart'; - -import '../utils/flutter_utils.dart'; import '../view_widget/border_text.dart'; import '../view_widget/request_permission.dart'; @@ -1090,7 +1088,7 @@ class _ShopDetailsPage extends State { mainAxisAlignment: MainAxisAlignment.start, children: [ Text( - "数量", + S.of(context).shuliang, style: TextStyle( color: Color(0xFFB3B3B3), fontSize: 12.sp, @@ -1275,7 +1273,7 @@ class _ShopDetailsPage extends State { Expanded( child: InkWell( child: BorderText( - text: "取消", + text: S.of(context).quxiao, textColor: Color(0xFF32A060), fontSize: 16.sp, fontWeight: FontWeight.bold, @@ -1296,7 +1294,7 @@ class _ShopDetailsPage extends State { Expanded( child: InkWell( child: RoundButton( - text: "确定", + text: S.of(context).queding, textColor: Colors.white, radius: 4, padding: EdgeInsets.all(12), diff --git a/lib/store/store_order.dart b/lib/store/store_order.dart index 8b7aeff7..e0d1e416 100644 --- a/lib/store/store_order.dart +++ b/lib/store/store_order.dart @@ -19,25 +19,19 @@ import 'package:huixiang/retrofit/retrofit_api.dart'; import 'package:huixiang/store/store_view/people_num.dart'; import 'package:huixiang/store/store_view/product_sku.dart'; 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/utils/flutter_utils.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'; import 'package:huixiang/view_widget/round_button.dart'; import 'package:intl/intl.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../retrofit/data/settleOrderInfo.dart'; -import '../settlement/settlement.dart'; -import '../view_widget/border_text.dart'; -import '../view_widget/request_permission.dart'; class StoreOrderPage extends StatefulWidget { final Map arguments; @@ -432,7 +426,6 @@ class _StoreOrderPage extends State ]; }, body: - ///点餐 TabBarView( physics: NeverScrollableScrollPhysics(), diff --git a/lib/store/store_view/product_meals_sku.dart b/lib/store/store_view/product_meals_sku.dart index 408932a7..3d2a7e57 100644 --- a/lib/store/store_view/product_meals_sku.dart +++ b/lib/store/store_view/product_meals_sku.dart @@ -356,7 +356,7 @@ class _ProductMealsSku extends State { "") GestureDetector( child: Text( - "选规格", + S.of(context).xuanguige, style: TextStyle( color: Colors.black, fontSize: 13.sp, @@ -638,7 +638,7 @@ class _ProductMealsSku extends State { .productAttrInfoList .where((element) => element.selectSku == null) .isNotEmpty) { - SmartDialog.showToast("请先选择规格", + SmartDialog.showToast(S.of(context).qingxianxuanguige, alignment: Alignment.center); return; } @@ -679,7 +679,7 @@ class _ProductMealsSku extends State { ), padding: EdgeInsets.symmetric(vertical: 6), child: Text( - "选好啦", + S.of(context).xuanhaola, style: TextStyle( fontSize: 15.sp, fontWeight: MyFontWeight.bold, diff --git a/lib/store/store_view/product_sku.dart b/lib/store/store_view/product_sku.dart index 557c68e8..14c03d45 100644 --- a/lib/store/store_view/product_sku.dart +++ b/lib/store/store_view/product_sku.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.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:flutter_screenutil/flutter_screenutil.dart'; import 'package:huixiang/retrofit/data/miNiDetail.dart'; @@ -57,7 +56,7 @@ class _ProductSku extends State { return; } if (productSku == null) return; - selectedPrice = productSku.skuPrice; + selectedPrice = productSku.vipPrice; String skuId = productSku.id; if (widget.shopCarGoods == null || widget.shopCarGoods.shoppingCartSkuItemList == null) return; @@ -228,7 +227,7 @@ class _ProductSku extends State { children: [ Expanded( child: Text( - "数量", + S.of(context).shuliang, style: TextStyle( color: Colors.black, fontSize: 14.sp, @@ -313,7 +312,7 @@ class _ProductSku extends State { RoundButton( width: double.infinity, height: 54.h, - text: "确认", + text: S.of(context).queren, textColor: Colors.white, fontWeight: MyFontWeight.semi_bold, radius: 27, diff --git a/lib/store/store_view/shop_goods.dart b/lib/store/store_view/shop_goods.dart index e9f70532..8d2ac06d 100644 --- a/lib/store/store_view/shop_goods.dart +++ b/lib/store/store_view/shop_goods.dart @@ -250,7 +250,7 @@ class _ShopGoods extends State { } }, child: Container( - padding: EdgeInsets.only(right: 16.w), + // padding: EdgeInsets.only(right: 16.w), child: Stack( children: [ Container( @@ -259,7 +259,7 @@ class _ShopGoods extends State { top: 4.h, bottom: 4.h, ), - margin: EdgeInsets.only(right: 8, top: 4), + margin: EdgeInsets.only(right:8.w,top: 4.h), child: RoundButton( text: S.of(context).xuanguige, textColor: Colors.white, @@ -364,7 +364,7 @@ class _ShopGoods extends State { } }, child: Container( - padding: EdgeInsets.only(left: 6.w, right: 16.w), + padding: EdgeInsets.only(left: 6.w, right:9.w), child: Image.asset( "assets/image/add.webp", width: 22, @@ -401,7 +401,7 @@ class _ShopGoods extends State { top: 4.h, bottom: 4.h, ), - margin: EdgeInsets.only(right: 8, top: 4), + margin: EdgeInsets.only(right:8.w,top: 4), child: RoundButton( text: S.of(context).lijiyuyue, textColor: Colors.white, @@ -494,7 +494,7 @@ class _ShopGoods extends State { Expanded( child: InkWell( child: BorderText( - text: "取消", + text: S.of(context).quxiao, textColor: Color(0xFF32A060), fontSize: 16.sp, fontWeight: FontWeight.bold, @@ -515,7 +515,7 @@ class _ShopGoods extends State { Expanded( child: InkWell( child: RoundButton( - text: "确定", + text: S.of(context).queding, textColor: Colors.white, radius: 4, padding: EdgeInsets.all(12), diff --git a/lib/view_widget/channel_dialog.dart b/lib/view_widget/channel_dialog.dart index 68513e5f..9e133439 100644 --- a/lib/view_widget/channel_dialog.dart +++ b/lib/view_widget/channel_dialog.dart @@ -1,11 +1,15 @@ +import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:huixiang/generated/l10n.dart'; -import 'package:huixiang/retrofit/data/login_info.dart'; import 'package:huixiang/utils/flutter_utils.dart'; import 'package:huixiang/utils/font_weight.dart'; -import 'package:huixiang/view_widget/round_button.dart'; + +import '../retrofit/data/base_data.dart'; +import '../retrofit/data/channels_list.dart'; +import '../retrofit/retrofit_api.dart'; class ChannelDialog extends StatefulWidget { @@ -17,29 +21,188 @@ class ChannelDialog extends StatefulWidget { } class _ChannelDialog extends State { + ApiService apiService; + ChannelsList channelsList; + int channelIndex = 0; + + @override + void initState() { + super.initState(); + EasyLoading.show(status: S.current.zhengzaijiazai); + queryChannels(); + } + + queryChannels() async{ + apiService = ApiService(Dio(), context: context); + BaseData baseData = await apiService.appChannels().catchError((error) { + print(error.message); + SmartDialog.showToast(AppUtils.dioErrorTypeToString(error.type), + alignment: Alignment.center); + }); + if (baseData != null && baseData.isSuccess) { + channelsList = baseData.data; + setState((){}); + EasyLoading.dismiss(); + } else { + if (baseData?.msg != null) + SmartDialog.showToast(baseData.msg, alignment: Alignment.center); + } + } + @override Widget build(BuildContext context) { - return SimpleDialog( - titlePadding: EdgeInsets.all(10), - backgroundColor: Colors.transparent, - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), + return Material( + type: MaterialType.transparency, + child: Center( + child: Container( + margin: EdgeInsets.symmetric(horizontal: 14.w), + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.circular(8.r), + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8.w), + gradient:LinearGradient( + colors:[ + Color(0xFFDFFFED), + Color(0xFFFFFFFF), + ], + begin: Alignment.topLeft, + end: Alignment.bottomLeft, + ) + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Stack( + alignment: Alignment.topRight, + children: [ + Row( + children: [ + SizedBox(width: 11.w,), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Image.asset( + "assets/image/channel_text.webp", + width: 138.w, + height:24.h, + fit: BoxFit.fill, + ), + Padding(padding: EdgeInsets.only(top: 11.h),child: Text( + "您是通过什么途径注册的呢?", + style: TextStyle( + fontSize: 15.sp, + fontWeight: MyFontWeight.bold, + color: Color(0xFF353535), + ), + ),), + ], + ), + Spacer(), + Image.asset( + "assets/image/channel_logo.webp", + width: 89.w, + height:93.h, + fit: BoxFit.fill, + ), + SizedBox(width: 24.w,) + ], + ), + Container( + margin: EdgeInsets.only(top: 24.h,right: 113.w), + child:Image.asset( + "assets/image/channel_jt.webp", + width: 62.w, + height:15.h, + fit: BoxFit.fill, + ), + ), + ], + ), + ConstrainedBox( + constraints: BoxConstraints( + maxHeight:260.h), + child: Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8.w), + ), + margin: EdgeInsets.only(left:12.w,right: 12.w,bottom: 19.h), + child:ListView.builder( + padding: EdgeInsets.only(top: 16.h), + itemCount: (channelsList != null && (channelsList?.channels?.length ?? 0) > 0) ? channelsList.channels.length : 0, + shrinkWrap: true, + physics: BouncingScrollPhysics(), + itemBuilder: (context, position) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () { + setState(() { + channelIndex = position; + }); + }, + child: channelItem(position), + ); + }), + ), + ), + if(channelsList != null && (channelsList.channels.length) > 0) + Align( + alignment:Alignment.center, + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: (){ + Navigator.of(context).pop(); + }, + child: Text( + "我选好了", + style: TextStyle( + fontSize: 16.sp, + fontWeight: MyFontWeight.bold, + color: Color(0xFF32A060), + ), + ), + ), + ), + SizedBox(height: 16.h,) + ], + ), + ) + ], + ), + ), + ), + ); + } + + Widget channelItem(index){ + return Container( + padding: EdgeInsets.only(left:14.w,right: 14.w,bottom: 18.h), + child: Row( + children: [ + Expanded(child: Text( + channelsList.channels[index], + style: TextStyle( + fontSize: 15.sp, + fontWeight: MyFontWeight.bold, + color: channelIndex == index ? Color(0xFF32A060):Color(0xFF353535), + ), + )), + Image.asset( + channelIndex == index + ? "assets/image/icon_radio_selected.webp" + : "assets/image/icon_radio_unselected.webp", + width: 15.w, + height: 15.h, + ), + ], ), - children: [ - Column(children: [ - GestureDetector(onTap: (){ - setState(() { - Navigator.of(context).pop(); - }); - },child:Image.asset( - "assets/image/yq_qx.webp", - width: 34, - height: 34, - ),) - - ],), - ], ); } } diff --git a/pubspec.yaml b/pubspec.yaml index d7dd025e..f42e0a03 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: 3.2.10+55 +version: 3.2.13+57 environment: sdk: ">=2.7.0 <3.0.0" @@ -108,6 +108,7 @@ dependencies: # 时间选择器 flutter_datetime_picker: ^1.5.1 + dev_dependencies: flutter_test: sdk: flutter