From 63d3bb74112ab8d43a4f51a0702387b1be973705 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Thu, 16 Jan 2025 18:23:40 +0800 Subject: [PATCH 01/15] add tid1807 style --- src/pages.json | 23 +++++ src/static/images/icon/index/green_bg_circle.png | Bin 52000 -> 7925 bytes src/static/images/icon/index/tab_12.png | Bin 2483 -> 901 bytes src/static/images/icon/index/tab_8.png | Bin 2497 -> 775 bytes .../message/components/detail/answer_item.vue | 39 +++++++++ .../message/components/detail/image_flow.vue | 30 +++++++ src/subpackage/message/components/detail/info.vue | 46 ++++++++++ .../message/components/edit/fixed_button.vue | 36 ++++++++ .../message/components/edit/upload_img.vue | 95 +++++++++++++++++++++ src/subpackage/message/components/fixed_button.vue | 32 +++++++ src/subpackage/message/components/message_item.vue | 74 ++++++++++++++++ src/subpackage/message/pages/complaint/detail.vue | 47 ++++++++++ src/subpackage/message/pages/complaint/edit.vue | 24 ++++++ src/subpackage/message/pages/complaint/list.vue | 29 +++++++ src/uni.scss | 12 +++ 15 files changed, 487 insertions(+) create mode 100644 src/subpackage/message/components/detail/answer_item.vue create mode 100644 src/subpackage/message/components/detail/image_flow.vue create mode 100644 src/subpackage/message/components/detail/info.vue create mode 100644 src/subpackage/message/components/edit/fixed_button.vue create mode 100644 src/subpackage/message/components/edit/upload_img.vue create mode 100644 src/subpackage/message/components/fixed_button.vue create mode 100644 src/subpackage/message/components/message_item.vue create mode 100644 src/subpackage/message/pages/complaint/detail.vue create mode 100644 src/subpackage/message/pages/complaint/edit.vue create mode 100644 src/subpackage/message/pages/complaint/list.vue diff --git a/src/pages.json b/src/pages.json index 807b35a..8ed4b41 100644 --- a/src/pages.json +++ b/src/pages.json @@ -901,6 +901,29 @@ } } ] + }, + { + "root": "subpackage/message", + "pages": [ + { + "path": "pages/complaint/edit", + "style" : { + "navigationBarTitleText": "投诉建议" + } + }, + { + "path": "pages/complaint/list", + "style" : { + "navigationBarTitleText": "投诉建议" + } + }, + { + "path": "pages/complaint/detail", + "style" : { + "navigationBarTitleText": "投诉详情" + } + } + ] } ], "globalStyle": { diff --git a/src/static/images/icon/index/green_bg_circle.png b/src/static/images/icon/index/green_bg_circle.png index 0117de2831e5fbdbca102077eeefd51fdbba6851..3f1a34e8c0e7931007cd2de5ad2ae3863406b544 100644 GIT binary patch literal 7925 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 JQLAPh{y**G03rYY literal 52000 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

E`1PnLI=c^P85 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%0AKlvFYQhrdEUFdI;bH~K8(#97GIYxj*KVnVTYRK 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 Z_yBiEVpta?kDCAh002ovPDHLkV1g4RbVmRH diff --git a/src/static/images/icon/index/tab_12.png b/src/static/images/icon/index/tab_12.png index 1860a6787a001746aa54568b06c024acfafcdc38..8e0eec82feda1651614651f236a13755851c4705 100644 GIT binary patch literal 901 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~wFLNtxB_X086_YzuL?xYEM=Ho z#xT1aDhOl%ML>cT3^T#95H3^@C=1kE3e^Y_gsUk7OMzv9g0qm-fY}hcz~av5tCj$r zp7tHYf8|%+~-2C@n3QtMoh|AI_3H6s)I{##q&D!oJ`OAklwVQ6Aknj5R#tiTB z7i)hrFfg@xx;Tb-9Dh6Y=A^|2Jg&TD4IBJ!lzS+6xBvgYf8rYzGw)rOLO+{a{od)Z z%WhLE^UtgMC%(P%Q7i08>a?%Nz5g70@}esLyz}xz`@+oF7r8|SmEBV&ynHb^Bt56F z;?=9m)0ZbnBu+aT`8>C;FLIjQ?e&r^yDpe$e`#6r;;gB=y_j{(=1)iJOe*ZmT0*Rz zo4gfSW67wxrRmgP)?_!PD-$P(FQ2>Y+xaf%jaOPHwKOldo^z~GD&A05F;VnUWrK>{ zqT8w_$J?0CJv{As)Rv{}(G4fwA~pd95n-uEoXgZ7&b)PVS>BFJyAHL(dn=Z-toxx9 z?y>Oltwfj59qr5yWTh>|p2jJ8v2fc?+-xE!AMAXELHGKBudGW>ig8E1uoP6d`%G=t zhmGm&>fFmq1Xp^n^BF1xP1^Y=aL;V^gHCVf&wuuh?4{ehEPZuxxdy7nd6 z?@|j}XYj#a6E=4reXS5F|K_${b zkZGYS=Kbyp?(4a~)-pT9rgiI+o^9oE8+f<_x>m*&`V@r!nltslI+0-Z$moX_f7oqb zYjvj?G`F4%u=uvvXTucxopl%QT{vTLNYvw+V>7GL%ZKqCW)e+{>&jmWMq1kZsMr^; z7Fcrd)wU^fELRs>v7J^cF^nnkounLVx}#;%44snwNplp_AAYJ#yR=Wmy=+ECRhhxb jsG}Jh{|d}}vj1BAng0Cr6I;Y;K>5kj)z4*}Q$iB}e7>7Y literal 2483 zcmV;k2~75hP)02jb7gb@GB#5iqGbR800d`2O+f$vv5yP00v@9M??Vs0RI60puMM)000Q;NklPj~KQ56cF26Zof-&&-+0W^S_Qdq3y*yXWlE zNhh6j@_&txDUpgBAQ}Q15N8P`;m_#^wNtJm9={j(F2dJQ`hfZn`3(37*ov@+lB$1Q z`9Ssc!pZj*gN_CS;ZOK-3Mra>f^4Y|2@Q?kLNx^R2YQj7)4+!~vIM_>9R+imI~K?` zqp=X^SZqW-2Bva*w{<)mQZk{sya(d`9HkKGN@ggqgFufTQaGcD%iwS+G$dY_(WIh! zml;dh-#Cnw!NBFiOu7cqX((lB!o+~X2nW-e5@!v)dz{0pl=cT&UVc51#>JkQJV?+C z90C*)^hR|#Em}vU{6^YhOGprzjOsYR4++j8>;UIk=+X<3`#|30LQWx0F*o;J#F3)| z%(8#W)LxIw1KDO`IxEFYGr~edMj>n=Ne;?z&>(fwx{!_oP4}Vt3Xo$h*@ZaH3zUW5 zpscb1F!r?U!Z0$+gjvIpWBovvfeyrVU(BwCRv0r;6Gn|0JB-650#eK9swk_f0yKX< z2W1p+JtX)yA|oiR`Xe?qQ}WPQEs8f0S`b-kuA2ZrB-qmnGYLD4BgOQ+c@0O8JczOk z)q5bp2RJgsbiV_c8EVlGn#PP527nR4C?Yd~a+34{9Yrb{yBp;}T9I8Kui=r_jAP80 zFdRG5&kJ)mN$x~>AoC?BdM4%fpMh*lgt0JpsFAYyD-e=Kl%b}R4FDVG9-yD?jMDI7 zQ=@)kXS!#mJ9r3FO_)UqGjV;(Gb1F)1${j8K#p%Q$R?890?Z^5@{<;04o=aE`!aRq z-L2PO!=8}O{|9UG2Y@IxD)$>R_v7j^;BL~Pa$n|wisv0C;1mFRA%UR!eK=c5Z7`2i zM0NrHB+0YH+)8RHa+5d2YQe>GjB%ha95a?zC+ZH4(TWxjXD48rISjJRx~5NdU9NE6 z7l=#)j)R9%fa-Hxg#Pc^H%QV2C`04pSy9mym2;L6msHF%21h0U=V?WKBsq-8c+lM> zakAejL?VJ59D(cB0s)e|4b&m>H#1I95fTB>vj{1%aVKuPihupHHTTz#2V zWCY!d7>u2L6U#a20kvu+IQj%8n6?@58P($ z7`g&|fJb?9Kof($vzt<5YQxSQ=K2=kejpccyd?+_2ey&pU%n zY&T}|y)c;(nH+%l11PJ2TdnsQ54SDCltjk@+0>L@i|Q}T7!LTYz1MnF2U=kOwqVSd z=CPM_)Ky%=m-?S&$Pl%*OE=-h$AS(^Y5VUZ&Ld`dpXs=vRO+U5BNm?sIvogDjYBdr zQya|1)uAZWz;Td|K+hrEhMIBl5o0rsjHRS%FPFffy%f!DM4b5uwFu|a+@S4iUKg*igj5xz64Id|!w-@>N^hh1(P$0Lp+lkD_*X?H%g<>5rWSeOmgzA;4 z8R1UgF4FPDkK=8anuyypl3!2pXKSeAW~zg^2(}rU7)T{TmHFF7JTf%Zh)5WmN=oO& zGd0w4GwAb{nH1!&sbR7()eY4kxX)ec6I8jPW-wu3Id%hpI1spSS1!vawVwRhnL2{V zOJ)w+GdFagX<)m|z&tCABJ!pg%dkH$(3JC2W~S;%(ibH^b3--3Z{zB3fUjVi@%i#8 znwzN^MPxBTh=8w&7T4Hz=Kx*WWolI@kLJcbsNPBf`Gm5nTQW1G3R_Y7Xcf)*Kr$4}{o1x&)kP=4Mz2 z#!T`2lcZ8m*@7e0h%8DmH4P|hJ50!d*z-VtyIW=)$lJEN04P0aX<1G6ygOYjwAscF^1`>{#>^=?hP~B# x2qhoUr-0r-1MmSV5qxYhH|{i@bkfOH=f6eq_ZfeA9drNy002ovPDHLkV1iTbW(fcQ diff --git a/src/static/images/icon/index/tab_8.png b/src/static/images/icon/index/tab_8.png index 4b19fe3d3927094bc048984e8f9c798a8521bcbc..d126d718fa08e27e6d85965883783c4b3302d295 100644 GIT binary patch literal 775 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~bp`l@xB_X0nWa!PuaaRw9mA|r zh8aMSGLYchGKOjO46{lY=G1`1Au4AB6_kL~07Yh(fDxDt<(7lR!BVrpY^cUEkT?W^ zbd@s9DFN96WPpv0-6FdY=osCSAirRS-#@-`u|Kmr`$~%E5dS^>+tGd!v%A_&-)>kf z@}aq2U2#RI+m3y6=VT>anO62;QrQ*;2FCxME{-7{$KOu5S+>}K$D#G0&ScKC_7>AA zZ@&Kje~*L5^swO;%i0&-?}ZcMqdhh~oPOS*C%pHVeag*)`TO$T+@5@r{Y>!g|6LQ= zCpKU1Jhs#A!@ zy-WU#X+4}9ev7}|a3^`^eaF|j(JCq5XPK}~{$lEQX6*+by+^;TRh1@n?l|@9wA{`v z7mk-lrwE5X-m5b4Yq+?0^^$GN=Bl_woqZ*5EOx$XiC3XyD@!8t%iyaU&Wp?vSmCv6 z;+ky3CEjNCQa4$hb9eXL39-JYxY93@IrsOkZn;d&D^EY9NpWQ^@6JWmH}Dy!~j~5^07t zpPt?Pti_h_;5NP?Q+R+WqoS1jENBfUBkr`+A8vOZPwEyJoeiMd`vnvRnX zzZUvb+i7JXuxhD{s{77_`il1sjt6Dia{?wNh~AMBxuVCX>ecx&qTqYj|Hy#*F)|l| z1A_YgZgcpO$f-T&!i67`9zNy_)8t;aL_>4U;Z>W{^*)>vZ9cz%`@!`2&*gRU5?`3? R{ZIu;(Vnh;F6*2UngEn1T5kXV literal 2497 zcmV;y2|o6TP)6iGzc*u6pTVkfRuu1L74#wf;>7CM2U|XY9WN9Ar$B| zXccj$wG|j%R5 zbY||^d$0d`{@2=u57=WqV0ictP)!z6$8QRx4JP-x8rrq-5 zr-d+dW014zPwNZF3#`X?tchYN^nd+fOZ?s$4i>Njr>y)~RV9Yi|He&3f7-ME3qOR*@D(AXd)1F6Ijo8Q8+44dR&dZ)zoalV%(h0P@z68fLKyw+*4F@yk zEsU%KvzEwh=DOZDs|x0klFPl_hY{G*LFOT5F3876NG?8W?!$5)gL`k_h9B?qXD8ZF z)2W*+yYUA&xg`y3)liaUhEwmGSgj>ILKHkY?sPj^`VXQD5H7;SHSDmA3@TSfHg^YI zOBQ+z>eWfmt8ec$n-D&m2I+9BH9ST>T0!8RrR#@p6f9B4g2+e(y6;<4iR`H~1Xm-R zpGhW~h#E0GN3+cIu{sRso^T=!xlO>yX`1yZRu?`>6s<&pEnL5N=l>PZJv~z}(F}s% zD&T@lCR8g0VE#%|>nyGc-%+I$yWH~bJBZAJH1O3|OI*(Eid`<^5hk>)k2fi;6Jx3H zBe~qla1#4+a|pc4$>fa7`54kf6JX>SCe4^hM@L*@iqrPWu$g@BM>wtoCR9iYyRmK^ zV%O0S{Hf{+KN{o6N1wyExj3syVKl~}YV?4fX8z)t7$e1iiqiIbCt~e+5VRw%QrcG2 zZ^N<)$C|Pgezdf$jKk87V`deMV?W01K;(#&iP)IvmIaiQ%A{W@EvyoCAog5v)m3;c ztVY)3CT=NIcwbnRao9aG5Hm-chbju|5ZJ94*#JQw*vhLD2je38)1EU3(BzdQ zg^GX*QJ%hJ$!XtBQ(>r;(zCifapFxanN7*du}>3 z4$yV`8!Y|igt&l?8<3B!Wj)v9=miF_Y$0;X*!hul9J6Oa%*~8k4qS-v(J{6U{{eo3 zmjEe# zx>``%Qb3wAeT~vX_hMu-h6k9ys`%iaEc_VFL$isv6k|UhYggPe1gv6jpkw=#BT5g_k!{XH`gexG&(O#t$#Pkj8@A9$JfOyS^Uy;)D!UFQ!sc!gcdyi^OQbat&jC7>2Gs7AiO4tYug~8lZgJWUdeQ6cp0eb1b-b z>00tu))ch@%F*H`7e-W-Mz+;nrxc9?N@BR`t zwr?xb9ajfPx!nHTKT~d|A`H?ZM{z~(o7tIIwQ`U6oflT;pd#)zp=Y_L$vNP!) zrxhid5l*WN$opu2_w9&Tn6dz^@Y}(iPuG%{e1;hpB7aW8x*vmhM689m2_uW>?7gX) zb1DP!#jdaCWH6f`uHNZ@g4ZzINyL*hn%uYmS!pBBIfz++$n?S)TEwlL#r!*-D=OkO zTgbayJX!6&4QFmnt8{YVm2fe2xnzD_`=i{?-##ewR{Er5_jbA#-&_rtB;3aG#J3T- z2XS1I0!S=1%&^C@Te)v_zu`SC53!@|vawuKRu8Cuqs2o4H-6bU^ihbf;{AT;6>G&RhugEO1Ar-E5`vM*dw)4r5-&<~I;EtflMD z7mCiSa_6xD@}RP_I}t;FR|8Fl`^K)yqf0*9|F4M7{(RB3e+^guV+Z8r$X;942BG|_ zaqe3?pi*(XJJt%WPV}jMfNBL&=XD + + + 李小小 + [回复] 20241220 10:12:31 + + 情况已核实,目前正在解决中 + + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/detail/image_flow.vue b/src/subpackage/message/components/detail/image_flow.vue new file mode 100644 index 0000000..c32dadb --- /dev/null +++ b/src/subpackage/message/components/detail/image_flow.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/detail/info.vue b/src/subpackage/message/components/detail/info.vue new file mode 100644 index 0000000..396849a --- /dev/null +++ b/src/subpackage/message/components/detail/info.vue @@ -0,0 +1,46 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/edit/fixed_button.vue b/src/subpackage/message/components/edit/fixed_button.vue new file mode 100644 index 0000000..612981c --- /dev/null +++ b/src/subpackage/message/components/edit/fixed_button.vue @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/edit/upload_img.vue b/src/subpackage/message/components/edit/upload_img.vue new file mode 100644 index 0000000..ebdfd04 --- /dev/null +++ b/src/subpackage/message/components/edit/upload_img.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/fixed_button.vue b/src/subpackage/message/components/fixed_button.vue new file mode 100644 index 0000000..513eff5 --- /dev/null +++ b/src/subpackage/message/components/fixed_button.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/message_item.vue b/src/subpackage/message/components/message_item.vue new file mode 100644 index 0000000..24abe22 --- /dev/null +++ b/src/subpackage/message/components/message_item.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/pages/complaint/detail.vue b/src/subpackage/message/pages/complaint/detail.vue new file mode 100644 index 0000000..0097f5c --- /dev/null +++ b/src/subpackage/message/pages/complaint/detail.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/pages/complaint/edit.vue b/src/subpackage/message/pages/complaint/edit.vue new file mode 100644 index 0000000..e840ec0 --- /dev/null +++ b/src/subpackage/message/pages/complaint/edit.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/pages/complaint/list.vue b/src/subpackage/message/pages/complaint/list.vue new file mode 100644 index 0000000..69249c9 --- /dev/null +++ b/src/subpackage/message/pages/complaint/list.vue @@ -0,0 +1,29 @@ + + + + + \ No newline at end of file diff --git a/src/uni.scss b/src/uni.scss index 7745bde..082358c 100644 --- a/src/uni.scss +++ b/src/uni.scss @@ -105,4 +105,16 @@ $mColor: #009874; padding-bottom: $height; padding-bottom: calc( $height + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ padding-bottom: calc( $height + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ +} + +@mixin clearBtn{ + margin: 0; + padding: 0; + line-height: 0; + background-color: transparent; + border-radius: 0; + &::after{ + position: unset !important; + border: unset; + } } \ No newline at end of file From 34c2521596fd46e13d3cc504314e4e3df80c1486 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 17 Jan 2025 18:23:50 +0800 Subject: [PATCH 02/15] add style for tid1807 --- src/pages.json | 23 +++- src/pages/menu/forth.vue | 66 ++++++++++ src/static/images/icon/arrow_b2.png | Bin 251 -> 226 bytes src/subpackage/menu/components/bottom_logo.vue | 28 +++++ src/subpackage/menu/components/mine/header.vue | 65 ++++++++++ src/subpackage/menu/components/mine/line_tab.vue | 65 ++++++++++ src/subpackage/menu/pages/index.vue | 16 +++ src/subpackage/menu/static/images/arrow_b2.png | Bin 0 -> 226 bytes src/subpackage/menu/static/images/bot_logo.png | Bin 0 -> 3501 bytes src/subpackage/menu/static/images/mine_tab/0.png | Bin 0 -> 1356 bytes src/subpackage/menu/static/images/mine_tab/1.png | Bin 0 -> 1575 bytes src/subpackage/menu/static/images/mine_tab/2.png | Bin 0 -> 1060 bytes src/subpackage/menu/static/images/mine_tab/3.png | Bin 0 -> 1451 bytes src/subpackage/menu/static/images/mine_tab/4.png | Bin 0 -> 1035 bytes src/subpackage/menu/static/images/mine_tab/5.png | Bin 0 -> 942 bytes src/subpackage/menu/static/images/mine_tab/6.png | Bin 0 -> 640 bytes .../message/components/edit/fixed_button.vue | 1 + .../message/components/edit/info_edit.vue | 135 +++++++++++++++++++++ .../message/components/edit/upload_img.vue | 5 +- src/subpackage/message/pages/complaint/edit.vue | 6 +- src/subpackage/message/static/images/close.png | Bin 0 -> 401 bytes src/subpackage/message/static/images/unfold.png | Bin 0 -> 288 bytes 22 files changed, 405 insertions(+), 5 deletions(-) create mode 100644 src/pages/menu/forth.vue create mode 100644 src/subpackage/menu/components/bottom_logo.vue create mode 100644 src/subpackage/menu/components/mine/header.vue create mode 100644 src/subpackage/menu/components/mine/line_tab.vue create mode 100644 src/subpackage/menu/pages/index.vue create mode 100644 src/subpackage/menu/static/images/arrow_b2.png create mode 100644 src/subpackage/menu/static/images/bot_logo.png create mode 100644 src/subpackage/menu/static/images/mine_tab/0.png create mode 100644 src/subpackage/menu/static/images/mine_tab/1.png create mode 100644 src/subpackage/menu/static/images/mine_tab/2.png create mode 100644 src/subpackage/menu/static/images/mine_tab/3.png create mode 100644 src/subpackage/menu/static/images/mine_tab/4.png create mode 100644 src/subpackage/menu/static/images/mine_tab/5.png create mode 100644 src/subpackage/menu/static/images/mine_tab/6.png create mode 100644 src/subpackage/message/components/edit/info_edit.vue create mode 100644 src/subpackage/message/static/images/close.png create mode 100644 src/subpackage/message/static/images/unfold.png diff --git a/src/pages.json b/src/pages.json index 8ed4b41..a118cdf 100644 --- a/src/pages.json +++ b/src/pages.json @@ -1,6 +1,16 @@ { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages - + { + "path": "pages/menu/forth", + "style": { + "navigationBarTitleText": "个人中心", + "componentPlaceholder": { + "mine-header": "view", + "bottom-logo": "view", + "line-tab": "view" + } + } + }, { "path": "pages/index/index", "style": { @@ -924,6 +934,17 @@ } } ] + }, + { + "root": "subpackage/menu", + "pages": [ + { + "path": "pages/index", + "style" : { + "navigationBarTitleText": "" + } + } + ] } ], "globalStyle": { diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue new file mode 100644 index 0000000..aefd4df --- /dev/null +++ b/src/pages/menu/forth.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/static/images/icon/arrow_b2.png b/src/static/images/icon/arrow_b2.png index 54df2b3b9b66beeb07c3830279efe65fe73e4f58..e4e1580592509f3a3c7ee7a3babe6a48283aabb8 100644 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^{2;( zARCD0%$Wxk1hRqRAOsYdHf`z5nLw35L697=FMnFpdqQ;V(Zcp8-yY2Srg>n( z^aQU@42DyD(m4eWbidJ#TKo3CimcTZ>*sBut-s2z>umL4%n(_7GxN-dW@oU$v0i_NfK78WDiHjF6oapY diff --git a/src/subpackage/menu/components/bottom_logo.vue b/src/subpackage/menu/components/bottom_logo.vue new file mode 100644 index 0000000..9806574 --- /dev/null +++ b/src/subpackage/menu/components/bottom_logo.vue @@ -0,0 +1,28 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/menu/components/mine/header.vue b/src/subpackage/menu/components/mine/header.vue new file mode 100644 index 0000000..3ee60ac --- /dev/null +++ b/src/subpackage/menu/components/mine/header.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/menu/components/mine/line_tab.vue b/src/subpackage/menu/components/mine/line_tab.vue new file mode 100644 index 0000000..4a0d219 --- /dev/null +++ b/src/subpackage/menu/components/mine/line_tab.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/menu/pages/index.vue b/src/subpackage/menu/pages/index.vue new file mode 100644 index 0000000..914b254 --- /dev/null +++ b/src/subpackage/menu/pages/index.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/menu/static/images/arrow_b2.png b/src/subpackage/menu/static/images/arrow_b2.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e1580592509f3a3c7ee7a3babe6a48283aabb8 GIT binary patch literal 226 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 TFF?+|KL9fmOXFsgJK=u-2H$}u literal 0 HcmV?d00001 diff --git a/src/subpackage/menu/static/images/mine_tab/0.png b/src/subpackage/menu/static/images/mine_tab/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0a80539fcd35a642fd09eafd6a1994b3f9234b37 GIT binary patch literal 1356 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!U1^9%x0%>C~u(q}~H8r)gv@|m_ zgNQ&#pdd0A$Tl%Cfrw0>J{?U8A`29UNX?lu2gsN)V+N3%IddkE1nLEHfh3R%WXzg1 z3nB|7A&iuil-aXq1K9-y1whk)TJFhT+yiu_NlB1jFvFXv!dV=W7ax9Ep?0LV$m*6; z^M)TL&ti55>UsJ;naB5L?IMj`l~aEalYaqn$p zX7OSJo?gXcciK6_IiA?fzW3(;|7`D-uEJ7GWmcPaZ?2rLAYrR>(*IIQ!ExF0J0JBO zJ+D{!g!l$~u2~=aG<|Kq@~hb{t{&Q4yoyt2*!3Q>PnFf?{Cam09dDx6iK6-kwthU$@jeA@!4oP-=rOWSj zDt1piBF}n0CH}el+is=#x<Jg4l4gN1?_|3??e(Fj}*24}#l~`?Iw+F>SKhC)N99?#P^2v9V zzeo1@BSM<@~^t@^2td%~FYO8PmeHGr?el=-h)sH>* z-mG#L@(#W&V3l!VO`iG9KKdk}s%V9i_!(b; znWd+jwA+%yihDLa{&U!_?Ha3}4S!07_|vJEZ7zy7L}X3Khk7Y)kt5=k0X z?N8smeVMzx#mC@cc=9p+!+ebgi&Au^2gJqQyMI4EZptUA$A+xG9|r7PTN<+VZP|?j zW{X_*l(y`;Bdp}CJLNE+L!{^(M(!l`2`^7L-7QsFxJY~gi`Q}HJ!-D`6HK4U#dB&| zG;qwnk?5a)<9YydRI}sv3JDqR+L>XVZ(i@b;;`?k z@HPKW5nF%dJBIJCsg7H@?DW$wdp-$<7{93fY`>!1Z^;*vipzh~w%&TPeEG=D$O&cS7``Co;W*{obqy@<_i@v3>f zw@zg%ex1phD{N$)VV7k3S=y0d`LQk4OIC<%(`%b_^H<=)D|1(Ig?MSd@E3?M2q_P5 zQ{>(_o3BcMA!z%%W4js7u95p7z*6=8(c|{FcR#%`?oOL-#UjSCfARsBw`boJhLyS= z|CS~>b1sX5@UhmK8*AO3vW4yD-kIJIQzEoLTlin%ryUVCeth9-byqwC3{2iM&p1?Y zjiv2-l`xOR$M1qC<~&f7C~9hU;Q24uST?(MZGQ;I!tEh9o`^9eeU~^}BhGo~YwqIf o^NS`aWSGd^DLgJ)&#<5IR?Y-jm&A1ofdvkOr>mdKI;Vst07ndGYybcN literal 0 HcmV?d00001 diff --git a/src/subpackage/menu/static/images/mine_tab/1.png b/src/subpackage/menu/static/images/mine_tab/1.png new file mode 100644 index 0000000000000000000000000000000000000000..3efd2201e11549a22d836be2d120b509aadfbc9a GIT binary patch literal 1575 zcmZ9MdoXo5Jn!fAJkRIy&xh)0e}2CtOcDZt><4VDoxtex zcZowm|M?u{Z(-8W4vz(+k&)4PdV1}KC^qtQTNVq%h&l_ex76bjUahK67&tO_~k z!IBVyTv!5qPEL-ou`xK3ot-W01R+R-8sv039ZdfR!Blu6=s^=UfG{^VH#0L66rka7 zxP*j+*w|Q5gV)Alu@nl0N~MB3gCptb>E7Pn7z`#fG!y`UvWBfS@P$?pPWH}_b#ck> z6U%(!fjPFR@&--4HyKk4Xmy^3H5EAN=`oKER#D@w5o{IuKHrIOY!CfXN=r)!BqF9+ zxBmzPRy%KBGM*jF4}d^KUjx=>@qv>(w~=TjMo~spR7zEAeG&!ps{J=(F@wY_S}MJrY7HBOVI1R4Y15uu|hwz$(h?>7ah0{gGg&Xr>>DO@dWX{)5m zO%-SI9+~av4oY3n34Qt1pe$LP>9oNnSDA7-qI~bgN_)i|{6lD`i4?KUVru`d0yg9L zz095KLp~h*i^Ss}^IuLqo&ySj&1bSnk%;^Z6t1?;*z5Q_^XSSxZDVfCW;8=eBkUXp ze?g2|a0#;g|I{bpqux8-H6ga;4thtel`#t?HAv&3UK<%cg?T^m0 z@|$ygE!i>stC0p~Iv&^umcO^7|M?N9!47;l`&;)(GBfz28^IPO(=?qnvRaTdSCiqC zTz*KMeQ{7aow+pUF+XCPTs9rpvG>^FO*P|x9DWra0Q9*Ix`=`+^i5AB!UD93A za=G5-6H|tFqjz}~3TL}lCl+%_F&LcZf=gu4w1CU|YN8>&=xN_=hi_QcAG%c&5A&`N z5zMa%c<)xC)f>3AoZ{;*%Gyh{3%rT!yMVOw8Yw0O4QmLwY)sm4d@y} zE8En$ZKIQGetchj4xWy^qddnQxrE&`k(^_&u(9#<B4ipJCI-JB319OThOI8iQvXKg-`AG*N%83Ng;qY?J0Jy9D~_Lk3&y`Ck{r= zeHrD|?srWYzbPhiXSU1Gy1u?Zu8Kz6*oPs?HsAJb?a79x;!?~{FoOht7DnAkWcR8q z6us*cNm=A=N2?>|e2-~{SR!AMMaZLZB)jw9#+0VrCvAvmm&_hk{4{hi1Xl7|0&`cS z^OcQWNAJQX=&RKh&~yXKFrBKDcZ&kp8m2y1?Xgn39;aNEpH{iMBli%X&Mmu>qk zE6+h$!}vNXPG-O~R~75){<9E9m2V5`ORm<1?-bss!xzW#K2U9sIlm_*GWt~%$K0^{ zqTrls<&I9h7BL7y={Q6Y!Uo#)>RtADHdZ3H`^9E2HSG{uOrPvJC#e4EFTpmTzKyQ5v-7eRA=vu+&}55%g?Ott2Tx zTCH20IlIv`p}_x^KQ-xa<=2VWKgHuVTRYA_eLK;uEojvbmqTh$itt-mehnWQt4HK6 z>Xdt#8vUy;Nr~a!_)J7M^TX-m0+o}mN&q6@8jkFD2tKDR8LmDvA5I zB2{L&+V6^{wpmas%|RkL&tEf)PV&`0SV7%Y)BlsUe0Ia=rwWSaFKPL_54FCWD literal 0 HcmV?d00001 diff --git a/src/subpackage/menu/static/images/mine_tab/2.png b/src/subpackage/menu/static/images/mine_tab/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1b55cd21cd14749882960dad8184c3b5227e13 GIT binary patch literal 1060 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 II;Vst07lFUJ^%m! literal 0 HcmV?d00001 diff --git a/src/subpackage/message/components/edit/fixed_button.vue b/src/subpackage/message/components/edit/fixed_button.vue index 612981c..5ddd100 100644 --- a/src/subpackage/message/components/edit/fixed_button.vue +++ b/src/subpackage/message/components/edit/fixed_button.vue @@ -18,6 +18,7 @@ export default { bottom: 0; padding: 10upx 20upx; width: 100%; + @include isPd(10upx); @include ctf(center); .fb-btn{ margin: 0 20upx; diff --git a/src/subpackage/message/components/edit/info_edit.vue b/src/subpackage/message/components/edit/info_edit.vue new file mode 100644 index 0000000..80e49ee --- /dev/null +++ b/src/subpackage/message/components/edit/info_edit.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/components/edit/upload_img.vue b/src/subpackage/message/components/edit/upload_img.vue index ebdfd04..162457c 100644 --- a/src/subpackage/message/components/edit/upload_img.vue +++ b/src/subpackage/message/components/edit/upload_img.vue @@ -4,7 +4,7 @@ - + @@ -38,7 +38,7 @@ export default { font-size: 0; .ul-item{ position: relative; - margin: 0 12upx; + margin: 0 10upx; vertical-align: top; display: inline-block; width: 200upx; @@ -58,7 +58,6 @@ export default { right: 6upx; width: 40upx; height: 40upx; - background: darkblue; } } .ul-add{ diff --git a/src/subpackage/message/pages/complaint/edit.vue b/src/subpackage/message/pages/complaint/edit.vue index e840ec0..cfce4fe 100644 --- a/src/subpackage/message/pages/complaint/edit.vue +++ b/src/subpackage/message/pages/complaint/edit.vue @@ -1,15 +1,19 @@ @@ -65,6 +124,7 @@ export default { } .ie-tarea{ height: 306upx; + width: auto; } .ie-stadium{ @include ctf; diff --git a/src/subpackage/message/components/edit/upload_img.vue b/src/subpackage/message/components/edit/upload_img.vue index 162457c..c410911 100644 --- a/src/subpackage/message/components/edit/upload_img.vue +++ b/src/subpackage/message/components/edit/upload_img.vue @@ -1,12 +1,12 @@ @@ -50,7 +143,6 @@ export default { width: 100%; height: 100%; border-radius: 10upx; - background: skyblue; } .ui-close{ position: absolute; diff --git a/src/subpackage/message/components/fixed_button.vue b/src/subpackage/message/components/fixed_button.vue index 513eff5..5a301eb 100644 --- a/src/subpackage/message/components/fixed_button.vue +++ b/src/subpackage/message/components/fixed_button.vue @@ -1,6 +1,6 @@ diff --git a/src/subpackage/message/components/message_item.vue b/src/subpackage/message/components/message_item.vue index 24abe22..40bdf5b 100644 --- a/src/subpackage/message/components/message_item.vue +++ b/src/subpackage/message/components/message_item.vue @@ -4,10 +4,10 @@ - 标题 - 返回的状态 + {{ title || '-' }} + {{ status || '-' }} - 巴拉巴拉巴拉.... + {{ content || '-' }} @@ -16,7 +16,20 @@ diff --git a/src/subpackage/message/js/api.js b/src/subpackage/message/js/api.js new file mode 100644 index 0000000..a8137d6 --- /dev/null +++ b/src/subpackage/message/js/api.js @@ -0,0 +1,11 @@ +import { ORIGIN } from '@/js/api'; + +export const MESSAGE_API = { + zs_message_imgs:`${ORIGIN}/upload/file/zs_message_imgs`, // 投诉/工单图片 + complaintSubmit:`${ORIGIN}/admin/assistant/complaint/submit`, // 投诉提交 + complaintList:`${ORIGIN}/admin/assistant/complaint/list`, // 投诉列表 + workorderSubmit:`${ORIGIN}/admin/assistant/workorder/submit`, // 工单提交 +} + + +export default { ORIGIN, MESSAGE_API }; \ No newline at end of file diff --git a/src/subpackage/message/js/server.js b/src/subpackage/message/js/server.js new file mode 100644 index 0000000..c06aecb --- /dev/null +++ b/src/subpackage/message/js/server.js @@ -0,0 +1,9 @@ +import { Server } from '@/js/server'; + +class _server extends Server { + constructor(props){ + super(props) + } +} + +export default new _server(); \ No newline at end of file diff --git a/src/subpackage/message/pages/complaint/edit.vue b/src/subpackage/message/pages/complaint/edit.vue index cfce4fe..b0a409e 100644 --- a/src/subpackage/message/pages/complaint/edit.vue +++ b/src/subpackage/message/pages/complaint/edit.vue @@ -1,9 +1,12 @@ @@ -11,12 +14,68 @@ import infoEdit from "../../components/edit/info_edit.vue"; import uploadImg from "../../components/edit/upload_img.vue"; import fixedButton from "../../components/edit/fixed_button.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; +import { MESSAGE_API } from "../../js/api.js"; +import server from "../../js/server.js"; export default { - components: { - infoEdit, - uploadImg, - fixedButton, + components: { infoEdit, uploadImg, fixedButton }, + data() { + return { + brand_id: '', + } }, + onLoad(options) { + let _bid = options?.brand_id ?? ''; + this.brand_id = _bid; + }, + methods: { + cancelBtn: routeTo, + submitBtn: debounce(async function(){ + try{ + let { brand_id } = this; + let _infoData = await this.$refs?.infoEdit?.getData?.(); + let { urls, temps } = await this.$refs?.uploadImg?.getUrls?.(); + this.complaintSubmit({ + brand_id, + title: _infoData?.title ?? '', + content: _infoData?.content ?? '', + showimgs: urls ?? [], + }) + }catch(err){ + hideLoad(); + console.warn('subpackage message pages complaint edit submitBtn err --->', err); + } + }, 300, true), + + // 投诉提交 + complaintSubmit({ brand_id, title = '', content = '', showimgs = [] }){ + showLoad(); + return server.post({ + url: MESSAGE_API.complaintSubmit, + data: { brand_id: +brand_id, title, content, showimgs }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + showNone(_data?.message ?? '操作成功!'); + setTimeout(routeTo, 1000); + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ + title: '提示', + content: err.message || '操作失败!' + }) + console.warn('subpackage message pages complaint edit complaintSubmit err --->', err); + // return Promise.reject(err); + }) + }, + } } diff --git a/src/subpackage/message/pages/complaint/list.vue b/src/subpackage/message/pages/complaint/list.vue index 69249c9..d491087 100644 --- a/src/subpackage/message/pages/complaint/list.vue +++ b/src/subpackage/message/pages/complaint/list.vue @@ -1,20 +1,78 @@ diff --git a/src/subpackage/message/pages/work_order/edit.vue b/src/subpackage/message/pages/work_order/edit.vue new file mode 100644 index 0000000..7863694 --- /dev/null +++ b/src/subpackage/message/pages/work_order/edit.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file From 47407c13b22e8dcfcb84a0eb6bb8831f300624ef Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Tue, 21 Jan 2025 18:27:11 +0800 Subject: [PATCH 04/15] add tid1807 logic --- src/manifest.json | 4 +- src/pages.json | 39 ++++- src/pages/index/index.vue | 5 + src/pages/menu/forth.vue | 13 +- src/static/images/tab/ta_1.png | Bin 0 -> 558 bytes src/static/images/tab/ta_2.png | Bin 0 -> 795 bytes src/static/images/tab/ta_3.png | Bin 0 -> 726 bytes src/static/images/tab/ta_4.png | Bin 0 -> 553 bytes src/static/images/tab/tab_1.png | Bin 0 -> 653 bytes src/static/images/tab/tab_2.png | Bin 0 -> 986 bytes src/static/images/tab/tab_3.png | Bin 0 -> 939 bytes src/static/images/tab/tab_4.png | Bin 0 -> 668 bytes src/subpackage/menu/components/mine/line_tab.vue | 2 +- .../message/components/detail/answer_item.vue | 30 +++- .../message/components/detail/image_flow.vue | 27 +++- src/subpackage/message/components/detail/info.vue | 26 +++- .../message/components/edit/upload_img.vue | 2 +- src/subpackage/message/components/fixed_button.vue | 1 + src/subpackage/message/components/message_item.vue | 12 +- src/subpackage/message/js/api.js | 5 + src/subpackage/message/pages/complaint/detail.vue | 138 ++++++++++++++++- src/subpackage/message/pages/complaint/list.vue | 18 +++ src/subpackage/message/pages/work_order/detail.vue | 171 +++++++++++++++++++++ src/subpackage/message/pages/work_order/list.vue | 105 +++++++++++++ src/subpackage/message/static/images/arrow_b2.png | Bin 0 -> 226 bytes src/subpackage/message/static/images/message.png | Bin 0 -> 959 bytes src/utils/util.js | 8 +- 27 files changed, 571 insertions(+), 35 deletions(-) create mode 100644 src/static/images/tab/ta_1.png create mode 100644 src/static/images/tab/ta_2.png create mode 100644 src/static/images/tab/ta_3.png create mode 100644 src/static/images/tab/ta_4.png create mode 100644 src/static/images/tab/tab_1.png create mode 100644 src/static/images/tab/tab_2.png create mode 100644 src/static/images/tab/tab_3.png create mode 100644 src/static/images/tab/tab_4.png create mode 100644 src/subpackage/message/pages/work_order/detail.vue create mode 100644 src/subpackage/message/pages/work_order/list.vue create mode 100644 src/subpackage/message/static/images/arrow_b2.png create mode 100644 src/subpackage/message/static/images/message.png diff --git a/src/manifest.json b/src/manifest.json index d409cc9..7ac6737 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -76,7 +76,9 @@ "appid" : "wx7106e84614cf0060", "setting" : { "urlCheck" : false, - "minified" : true + "minified" : true, + "ignoreDevUnusedFiles": false, + "ignoreUploadUnusedFiles": false }, "usingComponents" : true, "optimization": { diff --git a/src/pages.json b/src/pages.json index 678e51a..5e5e3a7 100644 --- a/src/pages.json +++ b/src/pages.json @@ -2,7 +2,11 @@ "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { "path": "pages/index/index", - "style": { } + "style": { + "componentPlaceholder": { + "bottom-logo": "view" + } + } }, { "path": "pages/menu/forth", @@ -924,6 +928,7 @@ { "path": "pages/complaint/list", "style" : { + "enablePullDownRefresh" : true, "navigationBarTitleText": "投诉建议" } }, @@ -934,6 +939,19 @@ } }, { + "path": "pages/work_order/list", + "style" : { + "enablePullDownRefresh" : true, + "navigationBarTitleText": "工单列表" + } + }, + { + "path": "pages/work_order/detail", + "style" : { + "navigationBarTitleText": "工单详情" + } + }, + { "path": "pages/work_order/edit", "style" : { "navigationBarTitleText": "提交工单" @@ -958,5 +976,24 @@ "navigationBarTitleText": "欧轩智能商家助手", "navigationBarBackgroundColor": "#009874", "backgroundColor": "#f2f2f7" + }, + "tabBar": { + "color": "#B2B2B2", + "selectedColor": "#009874", + "backgroundColor": "#FFFFFF", + "list": [ + { + "pagePath": "pages/index/index", + "text": "工作台", + "iconPath": "static/images/tab/tab_1.png", + "selectedIconPath": "static/images/tab/ta_1.png" + }, + { + "pagePath": "pages/menu/forth", + "text": "我的", + "iconPath": "static/images/tab/tab_4.png", + "selectedIconPath": "static/images/tab/ta_4.png" + } + ] } } diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index bca99c3..848b883 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -49,6 +49,9 @@ party/pages/login/login --> + + + 微信授权 @@ -88,6 +91,7 @@ import util from '../../utils/util'; import { servers } from '../../js/server'; import { API } from '../../js/api'; + import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; const tabList = [ { id: 0, @@ -187,6 +191,7 @@ // #endif export default { + components: { bottomLogo }, computed: { isProfile: _=>util.isProfile(), // loginStatus(){ diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue index 637ab5c..a34ac52 100644 --- a/src/pages/menu/forth.vue +++ b/src/pages/menu/forth.vue @@ -20,7 +20,7 @@ 总后台(admin.ouxuanzhineng.cn 复制) - 投诉建议 + 投诉建议 解绑退出 @@ -31,6 +31,7 @@ import mineHeader from "@/subpackage/menu/components/mine/header.vue"; import lineTab from "@/subpackage/menu/components/mine/line_tab.vue"; import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; export default { components:{ mineHeader, @@ -39,9 +40,19 @@ export default { }, data(){ return { + brand_id: '', menuPackageLoaded: false } }, + onLoad(options){ + this.brand_id = options?.brand_id ?? ''; + }, + methods: { + toComplaint(){ + let { brand_id } = this; + routeTo(`/subpackage/message/pages/complaint/list?brand_id=${brand_id}`, 'nT'); + }, + } } diff --git a/src/static/images/tab/ta_1.png b/src/static/images/tab/ta_1.png new file mode 100644 index 0000000000000000000000000000000000000000..21bd06c5a8401df6c2f79879b6d9ea4193103bad GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSr2#%6u0Wb$W+}sr5{B6&AQFgx z+?nMJGfNm2R)R%<+){?wWiU2a!E~TV6<9Gu3y>^jm{rEG1gH_H9xON=CN;B+0jPdf z3B#;%hUpbRT{iE}ya(E=RubeF%wTj!@${!2K^4wdv%^KNonJ9kSNzwmw_7S~_#QvH zcVO?LmO>Y8g+Mp9b_NDUCr=m05Rc<;r`*gttRUdpE|Hw`A?khRx0e6^k8quwvgw9X ztxt{IddpqPCTwMPtur6*kSUH(?-ef6>d-yNd+6V`od(Fxq1w8-g?s`D!S zu!~;L6?}HNe9tXQn-*bHdOvOX1`CC&=_PHQ+i&2kI9s=M`0SX%m}FIP#A36ncg)rQOn0g^@0G+GY>~Uc{LgjQ->FKj#?^c`|?zVYzwsXT=x7|P1J=(rERzzWc zMB?mSNvZEw*#xt{$x7}kU1a3rRa~$BVdm6%X1o2oBjigh7KoJH>ye+VIpfxvXLOdu*_m|F@{1LT%4%qnG=QwCNB=FR|EU+xZWS|I8{lapvQ9zS{ zs2r@f7^EIz6i6>vC`#rw69WSiyQhm|h{y4_Q*V|v83;JEE9~al zbV6$Z#}4!V|4VZhalfM@51zeDN}!j7$=55TqI;#l)KTY`DGC2@0lT6PO!7M z&s?!4<=(VQ!VT_Aa|+k5(Adftv@_yuK;c)>F2-Ml$+KQtn%ke(Pgl2Fb*en;qE+-J zmKO{7Q#bqU^3-Fx&pFeJ$;Ic!=VN>af-+uq_@Bvk%IwmKFb;gpP-FV(qf}VNUcvYi zWmYml?^_aX^OZi{eR`+B=9dj!*WBIiB!2#RP%NqXS8s2p_%yxOpHjQpP3GO5Y8ewS zlTBfo)%!!HVMmhJ%;~Q6tnkcxsuXJM^2G6?N#%ru=%;D_CEir}9G;{cUwqEFO<~>3 zD`)D|5AH1AyoTY&f)~qI9cSLQ=7~l7>t}IGO=TUu^3=}EdipC_=8>KJg?BvJ+KfqS zF3YsJNqcT^Q+v^3#b{FF*u=L>Lb#vTp?dzQ8SQ>oPRu!1wwPhc><6uHPPWYdz#^3N zG?8hu@>ctLA@6@nKP{V=rhDV>v_1EkCM36>+7TtO`RS}_AM#U}{Vx&bMN^>-5U0ULv}8 hmOq#L^SS&d%fbCqclzI&v(BJu0Wb$ZWRd4EM=Hc0!6bS zY$Oq&?DSHGIpqv-0Z9Bu~sHwBxZQgJu-C+5vnI67I?3ZtC&HBEz zw=`8`|C4oXCk*a{zMp5jDEPr6&8nQ~we#3A=3V-GXHn{eQ@ZRZm2^Z~;I*pAO7GPI`bU*6%<>F)$9AK>sf}0Vl#GTJ$ET+{ z8eOp&v-dmPW#@Y>9-uqz+2%V3dyg*+%+#LtV$+wHC$|lETsN2^DHP&$KWXjE ztERKFtVmgDJmJZ|3C%TYu7&NNl5tnps4MEO8?i% zwfNmAE8}xkZrKWpguh$%N*OB^O2{>IUs^UpJh4Y1yH9&h_4oa?40k+dEnr>nKoXQd NJzf1=);T3K0RV>qKXCv6 literal 0 HcmV?d00001 diff --git a/src/static/images/tab/ta_4.png b/src/static/images/tab/ta_4.png new file mode 100644 index 0000000000000000000000000000000000000000..360d429e316f7d0ad2a1edfd8433d5bfd9be2079 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSlLLH0T!A#h;>to`fnpT}N2*z)k&#LI^pPVWrbxxjesgePA41FP&d zOx0P{Q*`3vZJ?`UN`m}?8Q6ax-sNZ@`SJCwi+-M`PPFp1e0_3m^U@+~Qw=?@n?OG? zYI?djhIkx*JN0DVAp?Q7$GYd-%*tlGao~=<|Nmu`LT_}(+noxbS^K*Auc`N@)%DN) z-z{RvZ=?TU=L9}EAw&798Zp5&&yR`JIS7kCKkKwZan3>;uJVAEmu&`48EdDh7s3oYIkbME-78!H(Sl)m2#YhPv=qA$O-OGfL-)88v|Q_T5W!o_hPM%mF1Wu^MF+#h{!YOb2wbW*+hU6RqU<$mhmS Yrb9L@hjRaQo&?3Yr>mdKI;Vst0EHp>sQ>@~ literal 0 HcmV?d00001 diff --git a/src/static/images/tab/tab_1.png b/src/static/images/tab/tab_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2de1db92ac13b89a9c9b5c90c0e242ec5f57b4 GIT binary patch literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzS6#+gWu0VRrmMxn%Zw8W^zyQbw z(r^(V0}g=V5XEo>5UGtDHv+}CZQHhW>(=APkHgi&Wg!}YYJdPJ2;?qZG#%t9^^zdJ zUsLbdU0{+>eiMj7l+WQRWBGA80UJr zIEHu}e>?SNUbBISOK&)n#OCdhv-4*D|9^Oz$#jXUo@;GFbI&nPVs|_4@$AsMKjN$Q zntbxze0q&g(!=8`86QO1e~v7dZtpxhuV}7QZmC{iOhy-*q zvhx`HxgPVF{3PMC3VyqD_HGbg7(OV&6GP1&Z-^3k^`P}NPoQ!8y3LFWgsdxt4`K+Cd{Ptp7TKq4!s`*)7 pQMmH%i$~_(4ezhLIVb;^SvFbo6qkp+Auw(kJYD@<);T3K0RUQDKve($ literal 0 HcmV?d00001 diff --git a/src/static/images/tab/tab_2.png b/src/static/images/tab/tab_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e5dd78de7bb648c26dcf2c6056f8439d516cacb2 GIT binary patch literal 986 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSy#YQUu0VSC?%kUq8=^?G!1SYP!Py=Twd+~ zbdX+2kY6wZ``2IZUq4$eb4f{ezlb{b{e_jW#y3yQ4fJ*tKQg^O)plEPj>p-xZDs-= zCv-<1Ol?SDU|>4u>EamTar|xQ%UO#I1b93>cIZD9aC{PA^ZKuRKJU4A7L(7M`*Sb< zb^FgZ%O)*beQCn~ALS3c1op%$zI^QbGV7Yhjj>#{<{7r?HOKv`C-zZvr z*;HV`@yTCnXEHYRei!0+t?g=5=iPJX&VQNDa#t?>mOlN-qvXW(sv40s{rjJ_K5eUT zEizhSBkum(`%zz*3eTHcQ*J-s@~3M%Q&@|~nrW}*?8;7ku*>y+-{f?`_!TXj7a1kw zjz9YK76#gbW(w^!3|fdd*AofuWBg#vh#R~3Eh2V7NVQZnW^!O$FD|nLe3YJ!$Q%)+l+)gW5fmKPFw7+^m4~q zW7{WLo$LX{E43`0GsKH}A6fP#%$~h@!IDRxXA1w?&Kt8?hI^aln|H~=Zc|QI9S>Aa z%Q%^T$Kv&M{Sfa>>A_LWXQWeinjg{bd-5&s^x97wqL`bX&S~1uvUt+tqBZy0Ds;Kt z@2p%n`_8V1rOS?765|J7(tbrpl*wlrhFHo1j_{rN_P^Sx(mI&y%+@ zjy@i&*Q;(Bs;X76{=Q*+-}S-Dn|`~OzQ5AjAy|H6{n0RX9shd~3$)hk)Vkd>O>MRL z&o#SPyyaO|C*28u=J{fcah#2^yZxPY?wSY6(^VZ0<(*atm;E7hP4Bp{PX1h1(NoW6 z%rW-s{}^u{{!gPgS|;VWes50hv|}myn$L89vR(W6{cUVI=bMAKmo%*Y?yCN-{BiB7 zT|3V+MsH(epZe<0d%?85z4i-^URAbtjVS-5pz%0wey+?X`Tu%#jK+(dH@)(YP6g%( N22WQ%mvv4FO#sy}@__&V literal 0 HcmV?d00001 diff --git a/src/static/images/tab/tab_3.png b/src/static/images/tab/tab_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1f30df47ac200234d31d44a18d38f7500fe507 GIT binary patch literal 939 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzS69RlfT!HkaO`EoD+qQZ0W*`I3 z-U0>?5g-%D04e|~gD@b9w{G1EVE{=811<{@fg1~vg$P1Oi1|Pg$c2y)HS#jC&w*~z zFA4GsX86JW`{g5U4+G8XhveUO3w-uB+aY=HWCicD3sXbd97XpnnLjHoVnu_MYU-wf zwf!?HI%YF4FwORKaSZV|{&q@u(JKc5*J=|-%f&h_6HYwX{r~RXi^i$R8xDs2ocvky z>q@_@i{0Y&eTi&+`p=F(@ys_8{o!x+b>4-vYQ~?_S|(R03bLmC@XjyqFt{(ZB=9zK zvxoUKNBaOjw<|O99v3hF%d=(n9LB3f^J}K>u-Gwc>)OZHWcDsSbGF2yJpIirH>L?I zOV?HwZ#dKoxx%Jx0#9;`6UKL#=joa_E+so=GL8~ZOA0^w(_x3Ti4ewo;>%JL=R-%_C3}; zd$U)$h@RxJ=GR&}_U}IIaX;Lu#&u}+{K?<$9gwk5yXdv){BG&*Hw1F0FAv@v^o4iV zEIl59nQW>;ue)!5PrM}i24L$CI_-Ys`8-&nojp7PZXUe>JkEsxJH zcvk1wFCi1M(TM9<&ZgHofoXjjTVEJX;}(=~>#}Vvu8-h4k?6L6p$*rQW!*E+wD@Dbo zpG%qfQqT1Vv(B~B*7DG;eLLr9JDzl_cB^bPrH25@%^0mwNbaLR=;}tSx0N;jcdY@qO%`x zO7Fh-AXE5Fz-`{%yJ{I1HcQLR@-=WyG-pZUXDD}in(HU8@7^o>+TzGl(?2rmQvAGe z5v&1x5_9s`t=stR8PkKQcP=`n`m|MEJg<6Or>IbN$(v=LR-gEJ-Ag6zB zZ~h-)`=C;%zg%_WTgSf1H}%6~p4?Gge}%~pjMf!>TdZ1HGDXq(;LiB=%kv#4W=|=O zX><$LP@Yl3yNu1PXzNe5bKHvHI23kDgYjjpx&64K){Ea{8g_6lwOD*Ybao z7kJvX1%2iXX*?gWAS}U>&8PS2s>~fet?kb*TG#AUcHSJT#0rdR22WQ%mvv4FO#plF BM>+ri literal 0 HcmV?d00001 diff --git a/src/subpackage/menu/components/mine/line_tab.vue b/src/subpackage/menu/components/mine/line_tab.vue index 4a0d219..191ae01 100644 --- a/src/subpackage/menu/components/mine/line_tab.vue +++ b/src/subpackage/menu/components/mine/line_tab.vue @@ -1,5 +1,5 @@ @@ -27,7 +40,9 @@ export default { border-radius: 10upx; background: #fff; .di-line{ - @include ctf(space-between); + display: flex; + align-items: flex-start; + justify-content: space-between; &+.di-line{ margin-top: 10upx; } @@ -39,7 +54,6 @@ export default { flex-grow: 1; text-align: right; @include flcw(28upx, 40upx, #1a1a1a); - @include tHide; } } } diff --git a/src/subpackage/message/components/edit/upload_img.vue b/src/subpackage/message/components/edit/upload_img.vue index c410911..e7737b5 100644 --- a/src/subpackage/message/components/edit/upload_img.vue +++ b/src/subpackage/message/components/edit/upload_img.vue @@ -3,7 +3,7 @@ 上传照片(最多上传{{ max }}张,只支持.jpg、png 格式) - + diff --git a/src/subpackage/message/components/fixed_button.vue b/src/subpackage/message/components/fixed_button.vue index 5a301eb..bf33472 100644 --- a/src/subpackage/message/components/fixed_button.vue +++ b/src/subpackage/message/components/fixed_button.vue @@ -17,6 +17,7 @@ export default { bottom: 0; width: 100%; padding: 10upx 24upx; + @include isPd(10upx); .fb-btn{ @include clearBtn; text-align: center; diff --git a/src/subpackage/message/components/message_item.vue b/src/subpackage/message/components/message_item.vue index 40bdf5b..b25b83a 100644 --- a/src/subpackage/message/components/message_item.vue +++ b/src/subpackage/message/components/message_item.vue @@ -1,15 +1,15 @@ @@ -44,7 +44,6 @@ export default { margin-right: 24upx; width: 108upx; height: 108upx; - background: skyblue; } .mi-content{ flex-grow: 1; @@ -67,7 +66,7 @@ export default { @include flcw(24upx, 34upx, $mColor); } } - .mi-content{ + .mi-text{ margin-top: 18upx; @include flcw(28upx, 40upx, #9C9C9F); @include tHide(2); @@ -80,7 +79,6 @@ export default { margin-top: 8upx; width: 28upx; height: 28upx; - background: skyblue; } } } diff --git a/src/subpackage/message/js/api.js b/src/subpackage/message/js/api.js index a8137d6..2385d0b 100644 --- a/src/subpackage/message/js/api.js +++ b/src/subpackage/message/js/api.js @@ -4,7 +4,12 @@ export const MESSAGE_API = { zs_message_imgs:`${ORIGIN}/upload/file/zs_message_imgs`, // 投诉/工单图片 complaintSubmit:`${ORIGIN}/admin/assistant/complaint/submit`, // 投诉提交 complaintList:`${ORIGIN}/admin/assistant/complaint/list`, // 投诉列表 + complaintInfo:`${ORIGIN}/admin/assistant/complaint/info`, // 投诉详情 + complaintReply:`${ORIGIN}/admin/assistant/complaint/reply`, // 投诉回复 workorderSubmit:`${ORIGIN}/admin/assistant/workorder/submit`, // 工单提交 + workorderList:`${ORIGIN}/admin/assistant/workorder/list`, // 工单列表 + workorderInfo:`${ORIGIN}/admin/assistant/workorder/info`, // 工单详情 + workorderReply:`${ORIGIN}/admin/assistant/workorder/reply`, // 工单回复 } diff --git a/src/subpackage/message/pages/complaint/detail.vue b/src/subpackage/message/pages/complaint/detail.vue index 0097f5c..fe5ded5 100644 --- a/src/subpackage/message/pages/complaint/detail.vue +++ b/src/subpackage/message/pages/complaint/detail.vue @@ -1,14 +1,28 @@ @@ -16,16 +30,126 @@ import detailInfo from "../../components/detail/info.vue"; import imageFlow from "../../components/detail/image_flow.vue"; import answerItem from "../../components/detail/answer_item.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; +import { MESSAGE_API } from "../../js/api.js"; +import server from "../../js/server.js"; export default { components: { detailInfo, imageFlow, answerItem }, + computed: { + imgArr(){ + let { orderInfo } = this; + let _showimgs = orderInfo?.showimgs ?? []; + return _showimgs; + }, + commentArr(){ + let { orderInfo } = this; + let _comment = orderInfo?.comment ?? []; + return _comment; + } + }, + data(){ + return { + orderInfo: {} + } + }, + onLoad(options){ + this.complaintInfo({ + brand_id: options?.brand_id ?? '', + id: options?.id ?? '' + }) + }, + methods: { + replyBtn(){ + let { orderInfo } = this; + showModal({ + title: '回复', + showCancel: true, + editable: true, + placeholderText: '请输入回复内容', + success: mRes=>{ + console.log('replyBtn mRes --->', mRes); + if(mRes?.confirm && mRes?.content)this.complaintReply({ + brand_id: orderInfo?.brand_id ?? '', + id: orderInfo?.id ?? '', + reply_text: mRes?.content ?? '' + }) + .then(res =>{ + if(res === 'success'){ + setTimeout(_=>{ + this.complaintInfo({ + brand_id: orderInfo?.brand_id ?? '', + id: orderInfo?.id ?? '' + }) + }, 1000); + } + }) + } + }) + }, + complaintInfo({ brand_id, id }){ + showLoad(); + return server.post({ + url: MESSAGE_API.complaintInfo, + data: { brand_id: +brand_id, id: +id }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + let _info = _data?.data ?? {}; + return this.orderInfo = _info; + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ + title: '提示', + content: err.message || '加载失败!' + }) + console.warn('subpackage message pages complaint detail complaintInfo err --->', err); + // return Promise.reject(err); + }) + }, + complaintReply({ brand_id, id, reply_text }){ + showLoad(); + return server.post({ + url: MESSAGE_API.complaintReply, + data: { brand_id: +brand_id, id: +id, reply_text }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + showNone(_data?.message ?? '回复成功!'); + return 'success' + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ + title: '提示', + content: err.message || '操作失败!' + }) + console.warn('subpackage message pages complaint detail complaintReply err --->', err); + // return Promise.reject(err); + }) + }, + }, } \ No newline at end of file diff --git a/src/subpackage/message/pages/work_order/list.vue b/src/subpackage/message/pages/work_order/list.vue new file mode 100644 index 0000000..fdc725c --- /dev/null +++ b/src/subpackage/message/pages/work_order/list.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/message/static/images/arrow_b2.png b/src/subpackage/message/static/images/arrow_b2.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e1580592509f3a3c7ee7a3babe6a48283aabb8 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^{2;( zARCD0%$Wxk1hRqRAOsYdHf`z5nLw35L697=FMnFpdqQ;V(Zcp8-yY2Srg>n( z^aQU@42DyD(m4eWbidJ#TKo3CimcTZ>*sBut-s2z>umL4%n(VP)Px&c}YY;RA@u(m``jJbri=xZ>MdbHIi5(O-R(J$i;*M7sLb-Od6UHqtWO|iBY!O z_5{15Aso7dkU)1AE-mb~2lQ^DO*B^GpLnn}CLT<@v{i#1fHZ&tLZ$7_gDIQc7MIR% zmg!C@Gsphk@B7~8ec$~0n-x~+Bde5)2<$;~HgYU-Y=v|n8pRc2gmD>>W5%soA%T%& z^G2LbuVLojJt*xcZOAg;TogsPfN+MUM?U7=^na!UVeVMo-U#|R@Vu#bz;P2GyGdjw zO?1t`j_+Gbv-JzG(L{6^V6(G%?N32pEs4!x=~njUe)bX%WPK>Pg`)fjG~CgX&q!om^U^j0JC*w3 z_6xkNB>V@7%(Gs?fv)H6-$9?5*HlL7%D&{KZw8i6jRG&0#3o5(>wAFYQxgl`?=ceD zQj_nE7lBoEtPpQR*1bLdKP|Y&!I5w2>ielIS$D_ssr^7MIHt1FG)}_?x{v-n|ChRh z73}v>9a;vkOEmKo?_{rs1LkHOO6{bm>w|-fIY?}b&SQUtH;Td0EUi@cQFP1cKhR3k z&DOveV@(dl%YV{2I2)d0gUJpY8D4bd35M`j9&6dcn}=q?dB;wr(g?l5uq;w>KUmu6 z%1(s?=8mB?dl(_W!vlwyd_g?(QFx=c3|3W@4CU~s2V4YJ>GDH=3H}n;RqDqyqEFJ9 zyI7AYq>y|Z755ghwv=y#M7F~#x0z#wR4+=pBBp0Sz5%KHG$1;IFibrAb>%d(-$Hc< zB9>Pn)z{SmeHrBG^16_wGkeHO&kSt9Zo|@X;8733IT~Xx@Lu0I1-l2;ey;+2u3x1n zo9M}0@Y-hv=BniFU7();ElZ2a9)#CXeZ?!e&-LpdZ;;50nCvqLbJb3MunEgKh)O%? z6Yei7Rgzo*)|n(Xh*6L!M9)x+9ih9=of@OZAJ{@k)ym$2eeSlWcYj4+L*zrww-o5@ zRikRE1&P$Ow|20FMdVZG?*jV@vEqxqscI&xZDUYi-vir$e~3wvy?v*tvD39-{C`(4 zVD4qOVXmDb-r1w@YdY*^^wkz=7-;In|p hF`o?!J$%(Vb_?SVL`Fv$^*#Uq002ovPDHLkV1lW6&`|&Y literal 0 HcmV?d00001 diff --git a/src/utils/util.js b/src/utils/util.js index cb9c6d4..40ac2c6 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -80,7 +80,9 @@ export function showModal({ confirmColor='#009874', success, fail, - complete + complete, + editable = false, + placeholderText = '' }){ uni.showModal({ title, @@ -91,7 +93,9 @@ export function showModal({ confirmText, success, fail, - complete + complete, + editable, + placeholderText, }) } From 0ee0294ed6f92af2113b6016db01978f7148fe71 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Wed, 22 Jan 2025 15:02:22 +0800 Subject: [PATCH 05/15] reconstruction index authorization for tid1807 --- src/App.vue | 3 +- src/js/server.js | 12 + src/main.js | 3 +- src/pages.json | 14 +- src/pages/index/index.vue | 275 +++------------------ src/store/actions.js | 43 +++- src/store/index.js | 9 +- src/store/mutations.js | 13 + src/subpackage/authorization/components/login.vue | 190 ++++++++++++++ src/subpackage/authorization/js/api.js | 7 + src/subpackage/authorization/js/server.js | 10 + src/subpackage/authorization/pages/index.vue | 16 ++ .../authorization/static/images/author_modal.png | Bin 0 -> 14649 bytes 13 files changed, 342 insertions(+), 253 deletions(-) create mode 100644 src/subpackage/authorization/components/login.vue create mode 100644 src/subpackage/authorization/js/api.js create mode 100644 src/subpackage/authorization/js/server.js create mode 100644 src/subpackage/authorization/pages/index.vue create mode 100644 src/subpackage/authorization/static/images/author_modal.png diff --git a/src/App.vue b/src/App.vue index 5335f6f..65974ff 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,9 +3,8 @@ import util from './utils/util'; export default { onLaunch: function() { - // #ifndef H5 + this.$store.commit('setLoginState', { loginState: false }); this.updateManager(); - // #endif }, methods: { isLogin(){ diff --git a/src/js/server.js b/src/js/server.js index c671b75..dc191c7 100644 --- a/src/js/server.js +++ b/src/js/server.js @@ -1,5 +1,6 @@ import util from '../utils/util'; // import { app as vm } from '../main'; +import { app as vm } from '../main'; const islog = true; @@ -27,6 +28,9 @@ export class Server { method: method, data: res, }) + + handleUserExceptions({ res }); + if(isDefaultGet){ if(failMsg == '')throw Error('默认回调,失败提示不能为空 key -> failMsg'); defaultGet({ @@ -70,6 +74,14 @@ export class Server { reject({url,res,data}); } } + // 用户信息异常 + function handleUserExceptions({ res }){ + if(res?.data?.code === 401&&res?.data?.message?.indexOf('用户') !== -1){ + console.log('用户信息异常,请重新登录'); + const _store = vm.$store; + _store.commit('setLoginState', { loginState: false }); + } + } } get({url,data={},header={},isDefaultGet=true,failMsg=''}){ return this.request(url,data,'GET',header,isDefaultGet,failMsg); diff --git a/src/main.js b/src/main.js index 38f2407..049f478 100644 --- a/src/main.js +++ b/src/main.js @@ -6,8 +6,9 @@ Vue.config.productionTip = false App.mpType = 'app' -const app = new Vue({ +export const app = new Vue({ ...App, store }) app.$mount() + diff --git a/src/pages.json b/src/pages.json index 5e5e3a7..e1bf9d5 100644 --- a/src/pages.json +++ b/src/pages.json @@ -4,7 +4,8 @@ "path": "pages/index/index", "style": { "componentPlaceholder": { - "bottom-logo": "view" + "bottom-logo": "view", + "authorization-login": "view" } } }, @@ -969,6 +970,17 @@ } } ] + }, + { + "root": "subpackage/authorization", + "pages": [ + { + "path": "pages/index", + "style" : { + "navigationBarTitleText": "" + } + } + ] } ], "globalStyle": { diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 848b883..6751c16 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -2,22 +2,22 @@ - + {{indexData.brand_name || '-'}}(共{{indexData.stadium_num || '0'}}家) 点击登陆 今日总收入 - {{loginStatus?'¥':''}}{{loginStatus?(indexData.amount || '0'):'***'}} + {{loginState?'¥':''}}{{loginState?(indexData.amount || '0'):'***'}} 收款笔数 - {{loginStatus?(indexData.in_count || '0'):'**'}} + {{loginState?(indexData.in_count || '0'):'**'}} 退款笔数 - {{loginStatus?(indexData.out_count || '0'):'**'}} + {{loginState?(indexData.out_count || '0'):'**'}} @@ -52,33 +52,9 @@ - - - 微信授权 - 您的信息和数据将受到保护 - - - + - - - - - - - + 核销 @@ -91,7 +67,9 @@ import util from '../../utils/util'; import { servers } from '../../js/server'; import { API } from '../../js/api'; + import { mapGetters } from 'vuex'; import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; + import authorizationLogin from "@/subpackage/authorization/components/login.vue"; const tabList = [ { id: 0, @@ -176,57 +154,34 @@ ]; const app = getApp(); - - // #ifndef H5 - - const uniGetSetting = util.promisify(uni.getSetting); - const uniLogin = util.promisify(uni.login); - const uniGetUserInfo= util.promisify(uni.getUserInfo); const APPID = uni.getAccountInfoSync().miniProgram.appId; - - // #endif - - // #ifdef H5 - const APPID = "wx7106e84614cf0060" //TODO - // #endif export default { - components: { bottomLogo }, + components: { bottomLogo, authorizationLogin }, computed: { - isProfile: _=>util.isProfile(), - // loginStatus(){ - // return app.isLogin(); - // } + ...mapGetters([ 'loginState' ]), }, data() { return { tabList, - isShowAuthorModal: false, indexData: {}, - loginStatus: false, } }, async onLoad(options) { - try{ - util.showLoad(); + let _loginRes = {}; // 20230829 新增平台账户不绑定,不检验,每次进来走重新登陆绑定流程 - if(options.role !== 'ADMIN-PLATFORM')await this.checkUserAuthor(); - - util.hideLoad(); - this.loginStatus = app.isLogin(); - if(!!app.isLogin())this.getIndexInfo(); + if(options.role !== 'ADMIN-PLATFORM')_loginRes = await this.$store.dispatch('checkUserAuthor'); + // 20240325 新增openid绑定账号检测 + if(_loginRes?.data === '')this.webBrandUserCheck(); + if(_loginRes?.data)this.getIndexInfo(); }catch(err){ - util.hideLoad(); - uni.removeStorageSync('token'); - // util.showNone(err.message || '身份校验失败!'); - console.log('onLoad err',err); - this.loginStatus = app.isLogin(); + console.warn('pages index onLoad err--->', err); } }, onShow(){ - let { indexData } = this; - if(JSON.stringify(indexData)!='{}'&&!!app.isLogin())this.getIndexInfo(); + let { indexData, loginState, getIndexInfo } = this; + if(JSON.stringify(indexData)!='{}'&&loginState)getIndexInfo(); }, methods: { // 账号有开启了权限的才显示菜单,否则不显示【ID1000840】 @@ -238,13 +193,13 @@ return false; }, toNoticeList(){ - if(!app.isLogin())return this.showAuthor(); + if(!this.loginState)return this.showAuthor(); util.routeTo(`/pages/message/list/list`,'nT'); }, toPageInfo(tabInfo){ - let { indexData } = this; + let { indexData, loginState } = this; let _permission = indexData.permission || {}; - if(!app.isLogin())return this.showAuthor(); + if(!loginState)return this.showAuthor(); if(!tabInfo.path)return util.showNone('暂未开放!'); //if(tabInfo.id == 2)return util.routeTo(tabInfo.path,'nT'); //测试 if(!_permission[tabInfo.serverKey])return util.showNone('暂无权限,请联系管理员开启!') @@ -259,7 +214,6 @@ if([ 10, 11, 4 ].includes(tabInfo.id))return util.routeTo(tabInfo.path + `?brand_id=${indexData.brand.id}`,'nT'); if(tabInfo.id === 12){ - // if(!indexData.brand.mini_wechat_appid)return util.showNone('暂无appid!') let url = tabInfo.path + `?appid=${indexData.brand.mini_wechat_appid}` console.log(222,url) return util.routeTo(url,'nT'); @@ -280,137 +234,15 @@ this.$store.commit('setBrandInfo',res); }) }, - // 看是否授权,清除token - async checkUserAuthor(){ - try{ - let loginRes ="" - // #ifndef H5 - loginRes = await uniLogin(); - // #endif - // #ifdef H5 - loginRes = {errMsg: "login:ok", code: "0c3xEi0w3kr1t23zcU3w3ZQR3w3xEi0h"} //TODO 设置H5测试数据 - // #endif - console.log(loginRes) - return servers.get({ - url: API.wechatMiniAppLoginAndSync, - data: { - code: loginRes.code, - appid: APPID, - // #ifdef H5 - token:"3d2b0092-e761-11ee-8a66-5254005df464", //TODO - // #endif - }, - isDefaultGet: false, - }) - .then(res=>{ - util.hideLoad(); - let _data = res.data; - if(_data.code == 0){ - // let _data = res.data.data; - - if(_data.data == ''){ - uni.removeStorageSync('token'); - this.loginStatus = app.isLogin(); - // 20240325 新增openid绑定账号检测 - this.webBrandUserCheck(); - - // return util.routeTo(`/pages/login/login`,'rL'); - } - uni.setStorageSync('token',_data.data); - return _data; - }else{ - util.showNone(_data.message || '校验身份失败!'); - throw res.data || {}; - } - - }) - .catch(err=>{ - throw err; - }) - }catch(err){ - throw err; - } - }, showAuthor(){ - this.isShowAuthorModal = true - }, - closeAuthor(){ - this.isShowAuthorModal = false - }, - cancelAuthor(){ - this.closeAuthor(); - }, - getLoginQuery({ - userInfo, - loginRes - }){ - return { - appid: APPID, - code: loginRes.code, - encryptedData: userInfo.encryptedData, - // is_details: 1, - // 后端解密错误,直接传用户信息 - user_info: userInfo.userInfo, - user_raw_data: userInfo.rawData, - ...userInfo.userInfo, - } - }, - // 新获取用户信息 - profileConfirm(){ - uni.getUserProfile({ - lang: 'zh_CN', desc: '授权登陆', - success: res => { - this.confirmAuthor({detail: {...res}}); + this.$refs?.authorizationLogin?.alert?.({ + success: ()=>{ + setTimeout(this.getIndexInfo, 1000); }, - fail: function(err) { - util.showNone('获取用户信息失败!请重试'); - console.warn('getUserProfile Err', err) + fail: err =>{ + // console.warn('pages index showAuthor authorizationLogin Err ->', err) } }) - }, - - async confirmAuthor(userRes){ - if(!userRes.detail.userInfo){ - this.closeAuthor(); - return util.showNone('获取用户信息失败!请稍后重试'); - } - let loginRes = await uniLogin(); - - if(!loginRes.code){ - this.closeAuthor(); - return util.showNone('获取登陆凭证失败!稍后重试'); - } - - servers.post({ - url: API.wechatMiniAppLoginAndSync, - data: this.getLoginQuery({ - userInfo: userRes.detail, - loginRes - }), - isDefaultGet: false, - }) - .then(res=>{ - util.hideLoad(); - let _data = res.data || {}; - if(_data.code == 0){ - if(_data.data == '')return util.routeTo(`/pages/login/login`,'rL'); - util.showNone(_data.message || '登陆成功!'); - // let _data = res.data.data; - // if(_data.user.role == '')return util.routeTo(`/pages/merchant_login/merchant_login`,'rL'); - - uni.setStorageSync('token',_data.data); - setTimeout(_=>{ - this.getIndexInfo(); - this.closeAuthor(); - this.loginStatus = app.isLogin(); - }, 1200); - }else{ - util.showNone(_data.message || '后台登陆失败!'); - setTimeout(_=>this.closeAuthor(), 1200); - } - - }).catch(util.hideLoad) - }, webBrandUserCheck(){ @@ -456,8 +288,8 @@ }) }, toStoreList(){ - if(!app.isLogin())return this.showAuthor(); - let { indexData } = this; + let { indexData, loginState } = this; + if(!loginState)return this.showAuthor(); util.routeTo(`/pages/store_list/store_list?brand_id=${indexData.brand.id}`,'nT'); }, bindUserOpenid(){ @@ -687,57 +519,6 @@ } } - .ic-author-modal{ - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - padding-top: 60upx; - width: 662upx; - height: 884upx; - border-radius: 10upx; - background-color: #fff; - .iam-title{ - margin-bottom: 22upx; - text-align: center; - line-height: 60upx; - font-size: 44upx; - font-weight: 500; - color: #1a1a1a; - } - .iam-tip{ - margin-bottom: 52upx; - line-height: 40upx; - text-align: center; - font-size: 28upx; - color: #9c9c9f; - } - .iam-pic{ - margin: 0 auto 62upx; - display: block; - width: 488upx; - height: 416upx; - } - .iam-btns{ - @include centerFlex(center); - >button{ - margin: 0 20upx; - width: 240upx; - height: 92upx; - line-height: 88upx; - text-align: center; - border-radius: 46upx; - border: 2upx solid $themeColor; - font-size: 32upx; - color: $themeColor; - &+button{ - background-color: $themeColor; - color: #fff; - } - } - } - - } // fly_btn .fly_btn{ diff --git a/src/store/actions.js b/src/store/actions.js index 2babf68..c5ebddc 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -1,7 +1,7 @@ // 异步方法 import { servers } from '../js/server'; import { API } from '../js/api'; -import { showLoad, hideLoad, showModal } from '../utils/util'; +import { showLoad, hideLoad, showModal, promisify } from '../utils/util'; export default { getBrandInfo({commit, state}){ @@ -56,4 +56,45 @@ export default { // return Promise.reject(err); }) }, + // 看是否授权,清除token 也可以理解自动登陆 + async checkUserAuthor({ commit, state }){ + let loginRes = {}; + try{ + const uniLogin = promisify(uni.login); + loginRes = await uniLogin(); + }catch(err){ + console.warn('store actions checkUserAuthor login err', err); + showModal({ content: '获取登陆凭证失败!请稍后重新登录!' }); + return Promise.reject(err); + } + showLoad(); + return servers.post({ + url: API.wechatMiniAppLoginAndSync, + data: { + code: loginRes.code, + appid: state.APPID, + }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + if(_data.data === ''){ + commit('setLoginState', { loginState: false, token: '' }); + return _data; + } + commit('setLoginState', { loginState: true, token: _data.data }); + return _data; + }else{ + return Promise.reject(_data); + } + }) + .catch(err=>{ + console.warn('store actions checkUserAuthor wechatMiniAppLoginAndSync err --->', err); + hideLoad(); + showModal({ content: err?.message || '静默登录失败!请稍后重试!' }); + return Promise.reject(err); + }) + }, } \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 38ef2f5..6c1f777 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -54,7 +54,8 @@ export default new Vuex.Store({ typeInfo: {}, // 球场类型 venueList: [], // 选择场地列表 orderInfo: {}, // 订单信息 // 20230620 新增挂账需求,用于回显确认订单 - } + }, + isLogin: false, // 登陆状态 }, mutations, actions, @@ -69,6 +70,12 @@ export default new Vuex.Store({ } console.warn(_arr.length) return _arr; + }, + loginState: state =>{ + let _isLogin = state.isLogin; + let _token = uni.getStorageSync('token'); + // 只是想获得一个响应的token状态 + if(_isLogin || !_isLogin)return !!_token; } } }); diff --git a/src/store/mutations.js b/src/store/mutations.js index 0918706..4d9a91d 100644 --- a/src/store/mutations.js +++ b/src/store/mutations.js @@ -10,5 +10,18 @@ export default { // 场地占用信息 setOccupyInfo(state, _occupyInfo){ state.occupyInfo = _occupyInfo; + }, + + // + setLoginState(state, { loginState = false, token = '' }){ + console.log(loginState, token); + if(loginState&&token){ + uni.setStorageSync('token', token); + state.isLogin = loginState; + }else{ + uni.removeStorageSync('token', token); + state.isLogin = false; + } + } } \ No newline at end of file diff --git a/src/subpackage/authorization/components/login.vue b/src/subpackage/authorization/components/login.vue new file mode 100644 index 0000000..635810e --- /dev/null +++ b/src/subpackage/authorization/components/login.vue @@ -0,0 +1,190 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/authorization/js/api.js b/src/subpackage/authorization/js/api.js new file mode 100644 index 0000000..5b8b559 --- /dev/null +++ b/src/subpackage/authorization/js/api.js @@ -0,0 +1,7 @@ +import { ORIGIN } from '@/js/api'; + +export const AUTHOR_API = { + wechatMiniAppLoginAndSync: `${ORIGIN}/assistant/WechatMiniAppGetToken`, // 小程序授权获取token,为空就登录 +} + +export default AUTHOR_API; \ No newline at end of file diff --git a/src/subpackage/authorization/js/server.js b/src/subpackage/authorization/js/server.js new file mode 100644 index 0000000..ac1b071 --- /dev/null +++ b/src/subpackage/authorization/js/server.js @@ -0,0 +1,10 @@ +import { Server } from '@/js/server'; + +class _Server extends Server { + constructor(props){ + super(props) + } +} + + +export default new _Server(); \ No newline at end of file diff --git a/src/subpackage/authorization/pages/index.vue b/src/subpackage/authorization/pages/index.vue new file mode 100644 index 0000000..b3f8694 --- /dev/null +++ b/src/subpackage/authorization/pages/index.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/authorization/static/images/author_modal.png b/src/subpackage/authorization/static/images/author_modal.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3612314f6f3e6f628de1ea7b9493c670bec96e GIT binary patch literal 14649 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 ZF=3YyEyDvK{{39TP*>Ig)GFFU{U5=)GzI_w literal 0 HcmV?d00001 From 012285f53969993107efe12cbe410195fca3666f Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Wed, 22 Jan 2025 16:11:18 +0800 Subject: [PATCH 06/15] add tid1807 logic for mine --- src/App.vue | 2 +- src/js/api.js | 4 + src/pages.json | 3 +- src/pages/menu/forth.vue | 110 ++++++++++++++++++++--- src/pages/web_view/web_view.vue | 3 +- src/subpackage/menu/components/mine/header.vue | 36 ++++++-- src/subpackage/menu/components/mine/line_tab.vue | 4 +- 7 files changed, 135 insertions(+), 27 deletions(-) diff --git a/src/App.vue b/src/App.vue index 65974ff..541ee89 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,7 +3,7 @@ import util from './utils/util'; export default { onLaunch: function() { - this.$store.commit('setLoginState', { loginState: false }); + // this.$store.commit('setLoginState', { loginState: false }); this.updateManager(); }, methods: { diff --git a/src/js/api.js b/src/js/api.js index 550179d..a20f901 100644 --- a/src/js/api.js +++ b/src/js/api.js @@ -167,5 +167,9 @@ API['party'] = { bindingOpenId: `${ORIGIN}/assistant/bindingOpenId`, //改为小程序端绑定openid } +API['mine'] = { + userCurrent:`${ORIGIN}/user/current`, //获取账户信息, (不要传品牌id) +} + export default { ORIGIN, API }; diff --git a/src/pages.json b/src/pages.json index e1bf9d5..a0aded5 100644 --- a/src/pages.json +++ b/src/pages.json @@ -16,7 +16,8 @@ "componentPlaceholder": { "mine-header": "view", "bottom-logo": "view", - "line-tab": "view" + "line-tab": "view", + "authorization-login": "view" } } }, diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue index a34ac52..470db83 100644 --- a/src/pages/menu/forth.vue +++ b/src/pages/menu/forth.vue @@ -1,29 +1,49 @@ @@ -31,27 +51,89 @@ import mineHeader from "@/subpackage/menu/components/mine/header.vue"; import lineTab from "@/subpackage/menu/components/mine/line_tab.vue"; import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; -import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; +import authorizationLogin from "@/subpackage/authorization/components/login.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone, jsonStr } from "@/utils/util.js"; +import { mapGetters } from 'vuex'; +import { servers } from '../../js/server'; +import { API } from '../../js/api'; export default { components:{ mineHeader, lineTab, bottomLogo, + authorizationLogin, }, data(){ return { brand_id: '', - menuPackageLoaded: false + menuPackageLoaded: false, + userInfo: {}, + deadData: { + helpCenterLink: 'https://help.ouxuanzhineng.cn/', // 帮助中心 + cashierSystemLink: 'https://kb.ouxuanzhineng.cn/', // 收银系统 + backstageLink: 'https://admin.ouxuanzhineng.cn/', // 总后台 + assistantCoachAppid: 'wxd71043ec955dfecf', // 教练助手:AppID + }, } }, + computed: { + ...mapGetters([ 'loginState' ]), + extension(){ + return this.userInfo?.extension || {} + }, + }, onLoad(options){ this.brand_id = options?.brand_id ?? ''; + if(this.loginState)this.getUserInfo(); }, methods: { + toMiniProgram(appid){ + uni.navigateToMiniProgram({ appId: appid }); + }, + toWebView(url){ + routeTo(`/pages/web_view/web_view?src=${jsonStr(url)}`, 'nT'); + }, + copyLink(url){ + uni.setClipboardData({ data: url }); + }, toComplaint(){ let { brand_id } = this; routeTo(`/subpackage/message/pages/complaint/list?brand_id=${brand_id}`, 'nT'); }, + loginBtn(){ + this.$refs?.authorizationLogin?.alert?.({ + success: ()=>{ + this.getUserInfo(); + }, + fail: err =>{ + // console.warn('pages index showAuthor authorizationLogin Err ->', err) + } + }) + }, + getUserInfo(){ + showLoad(); + return servers.post({ + url: API.mine.userCurrent, + data: {}, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + this.userInfo = _data?.data || {}; + console.log('pages menu getUserInfo res --->', _data); + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ content: err?.message || '加载用户失败!' }); + console.warn('pages menu getUserInfo err --->', err); + // return Promise.reject(err); + }) + }, } } diff --git a/src/pages/web_view/web_view.vue b/src/pages/web_view/web_view.vue index 5b8a040..0437b78 100644 --- a/src/pages/web_view/web_view.vue +++ b/src/pages/web_view/web_view.vue @@ -2,6 +2,7 @@ \ No newline at end of file diff --git a/src/subpackage/menu/components/mine/header.vue b/src/subpackage/menu/components/mine/header.vue index 3ee60ac..712f6af 100644 --- a/src/subpackage/menu/components/mine/header.vue +++ b/src/subpackage/menu/components/mine/header.vue @@ -1,20 +1,42 @@ + + \ No newline at end of file diff --git a/src/subpackage/authorization/components/user_info/tuniaoui-wx-user-info.vue b/src/subpackage/authorization/components/user_info/tuniaoui-wx-user-info.vue new file mode 100644 index 0000000..0d9d7bc --- /dev/null +++ b/src/subpackage/authorization/components/user_info/tuniaoui-wx-user-info.vue @@ -0,0 +1,357 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/authorization/js/api.js b/src/subpackage/authorization/js/api.js index 5b8b559..19ed53b 100644 --- a/src/subpackage/authorization/js/api.js +++ b/src/subpackage/authorization/js/api.js @@ -2,6 +2,8 @@ import { ORIGIN } from '@/js/api'; export const AUTHOR_API = { wechatMiniAppLoginAndSync: `${ORIGIN}/assistant/WechatMiniAppGetToken`, // 小程序授权获取token,为空就登录 + zs_user_avatar:`${ORIGIN}/upload/file/zs_user_avatar`, // 头像图片上传 + changeAvatar: `${ORIGIN}/admin/assistant/changeAvatar`, // 修改用户头像、昵称 } export default AUTHOR_API; \ No newline at end of file From 7336471323fafedbfb1f8b596cef6227cd30f3ac Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Wed, 22 Jan 2025 17:22:49 +0800 Subject: [PATCH 08/15] finish tid1807 logic for index --- src/pages/index/index.vue | 51 +++++++++++++++++++++----------- src/static/images/icon/index/tab_13.png | Bin 0 -> 1246 bytes src/store/index.js | 13 ++++---- 3 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 src/static/images/icon/index/tab_13.png diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 6751c16..21e9c93 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -37,7 +37,8 @@ - + + {{e.name}} @@ -54,7 +55,7 @@ - + 核销 @@ -70,6 +71,16 @@ import { mapGetters } from 'vuex'; import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; import authorizationLogin from "@/subpackage/authorization/components/login.vue"; + /** + * tid1807 + * 1、去掉"核销查询“菜单(已有悬浮按钮) * + * 2、去掉“收款记录”(在收入统计页面已有入口进入收款记录) * + * 3、去掉“进场人数异常”(该入口计划放入新改版的“核销查询”页面) * + * 4、原“系统工具”文案改为“小程序管理”;原“钱包提现”文案改为“钱包&提现”: 原“设备管理”文案改为“智能设备”; * + * 5、增加底部 (工作台、推广营销、商家服务、我的) * + * 6、增加“工单”功能 + * + * */ const tabList = [ { id: 0, @@ -77,12 +88,12 @@ path: '/pages/turnover/turnover', serverKey: 1001 // 后端对应权限编号 }, - { - id: 1, - name: '收款记录', - path: '/subpackage/income/pages/details_record/details_record', - serverKey: 1002 // 后端对应权限编号 - }, + // { + // id: 1, + // name: '收款记录', + // path: '/subpackage/income/pages/details_record/details_record', + // serverKey: 1002 // 后端对应权限编号 + // }, { id: 2, name: '订单管理', @@ -132,25 +143,31 @@ path: '/pages/order_list/order_list?order_type=18', serverKey: 1014 // 后端对应权限编号 1014 }, - { - id: 10, - name: '进场人数异常', - path: '/subpackage/blacklist/pages/abnormal_list/abnormal_list', - serverKey: 1015 // 后端对应权限编号 1015 - }, + // { + // id: 10, + // name: '进场人数异常', + // path: '/subpackage/blacklist/pages/abnormal_list/abnormal_list', + // serverKey: 1015 // 后端对应权限编号 1015 + // }, { id: 11, - name: '钱包提现', + name: '钱包&提现', path: '/subpackage/wallet/pages/index/index', serverKey: 1017 // 后端对应权限编号 1017 }, {//需求要求更改ICON位置 id: 12, - name: '系统工具', + name: '小程序管理', path: '/subpackage/party/pages/index/index', serverKey: 1016 // 后端对应权限编号 1016 }, + { + id: 13, + name: '工单', + path: '/subpackage/message/pages/work_order/list', + serverKey: 1022 // 后端对应权限编号 1022 + }, ]; const app = getApp(); @@ -211,7 +228,7 @@ }); } - if([ 10, 11, 4 ].includes(tabInfo.id))return util.routeTo(tabInfo.path + `?brand_id=${indexData.brand.id}`,'nT'); + if([ 10, 11, 4, 13 ].includes(tabInfo.id))return util.routeTo(tabInfo.path + `?brand_id=${indexData.brand.id}`,'nT'); if(tabInfo.id === 12){ let url = tabInfo.path + `?appid=${indexData.brand.mini_wechat_appid}` diff --git a/src/static/images/icon/index/tab_13.png b/src/static/images/icon/index/tab_13.png new file mode 100644 index 0000000000000000000000000000000000000000..f499c7c45189451686f46793106f7be32da32d87 GIT binary patch literal 1246 zcmV<41R?v0P)Px(m`OxIRA@u(nO$sCWf;eQ&pF4fj0VW27-EnZZ;Zrnp+;1K(SRXhqA{VUL3H9) z7Q4|pReEhf4?hSV;{N3cqjr*bVZ8_{l68mZG#&x%s{UTVu>}bFiA}!yU%i9;!BV4hJ<9=-s9Y;;A~+c^M|` zDyWFDfq?lI&o-YK3^o*~y}lWdTA*xPhuGDVUqWOH;nt>+fufD`(9{2>*c2fRJ4WW*d+dcraZOu$f zGX^?0?I4^7xr=b?&wiGgbL{B4TR{(_OdIf#PEsWyUVP)XOrU7}ZK&Y_-H|p{IY>?G z!kiNp!mxea0Yn!J0y=^?A;N7xW&-VKoQ;!;0k@}(4L+ti@^~TY%sI!7wIAW|*dY6( z7-op-mhX!|IrpNUhMp>bF6IL<2}%pRiy;VUcpJdRG?!~65$w_iwL*; z>OGJfG1@p4N#2LUB>z>C6k;AD+;YU9IpjY<_PU!8YcWDOBL2Qd zI8Fle2;s;Oxt5+`^7x}HJV0F>w9KYCN)Lrw;lV%y2#f!tR2Bp~uC=nBYb$Xr6$h{_|Ncju+< z=uzSzyZS~#P2}|8FvA~Twyc^$pmZrJPoeq%U|b=00+DW13!#dG$mfW@Pdu@g+O3)M zI;TTs)Got`Psi*j>4QpH(-7U9@diF<4W;iroc*ZThSB@?=tao#OqKLt1WpsSFI_2S z{s+vrn<}t+-PfOovI4tD{SzQ{Bqo1Gtv#goJcGMJp!|V$ubxJaA^FLG9MWc)|?bhjOhZ7Be}2_-Py!%5)#g zBi*^W`fZoLLVi~?#`r~`F?OKu?nQ-s@8U5gC@M6@4)opqA5LyAQ$~8Km;e9(07*qo IM6N<$g7o=S4gdfE literal 0 HcmV?d00001 diff --git a/src/store/index.js b/src/store/index.js index 6c1f777..ebb04ce 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -33,19 +33,20 @@ export default new Vuex.Store({ // }, permissionObj: { // 权限代号对应 '1001': '营业额', - '1002': '收款记录', + // '1002': '收款记录', '1012': '订单管理', '1007': '员工管理', '1008': '核销查询', - '1009': '场地管理', + '1009': '场地看板', '1010': '设备管理', '1011': '商品零售', // '1013': '课程管理', '1014': '储值卡管理', - '1015': '进场人数异常', - '1016': '系统工具', - '1017': '钱包提现', - '1018': '退款权限' + // '1015': '进场人数异常', + '1016': '小程序管理', + '1017': '钱包&提现', + '1018': '退款权限', + '1022': '工单' }, // 场地占用提交页面信息 occupyInfo: { From 82b50d7c2049cc7a3db2e3c86d9da126ea858869 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Thu, 23 Jan 2025 14:35:54 +0800 Subject: [PATCH 09/15] finish tid1807 --- src/pages.json | 30 ++++++ src/pages/index/index.vue | 2 +- src/pages/menu/forth.vue | 29 +++-- src/pages/menu/second.vue | 32 ++++++ src/pages/menu/third.vue | 117 +++++++++++++++++++++ src/static/images/third_pages/banner.png | Bin 0 -> 23995 bytes src/static/images/third_pages/bg.png | Bin 0 -> 2519 bytes src/static/images/third_pages/tab_a.png | Bin 0 -> 2399 bytes src/static/images/third_pages/tab_b.png | Bin 0 -> 1962 bytes src/store/index.js | 2 +- .../authorization/components/user_info/impower.vue | 3 +- src/subpackage/menu/components/bottom_logo.vue | 37 ++++--- .../message/components/edit/upload_img.vue | 6 +- src/subpackage/message/components/fixed_button.vue | 2 +- src/subpackage/message/pages/complaint/list.vue | 2 +- src/subpackage/message/pages/work_order/list.vue | 2 +- 16 files changed, 237 insertions(+), 27 deletions(-) create mode 100644 src/pages/menu/second.vue create mode 100644 src/pages/menu/third.vue create mode 100644 src/static/images/third_pages/banner.png create mode 100644 src/static/images/third_pages/bg.png create mode 100644 src/static/images/third_pages/tab_a.png create mode 100644 src/static/images/third_pages/tab_b.png diff --git a/src/pages.json b/src/pages.json index d007de2..73c4bde 100644 --- a/src/pages.json +++ b/src/pages.json @@ -10,6 +10,24 @@ } }, { + "path": "pages/menu/second", + "style": { + "navigationBarTitleText": "推广营销", + "componentPlaceholder": { + "bottom-logo": "view" + } + } + }, + { + "path": "pages/menu/third", + "style": { + "navigationBarTitleText": "商家服务", + "componentPlaceholder": { + "bottom-logo": "view" + } + } + }, + { "path": "pages/menu/forth", "style": { "navigationBarTitleText": "个人中心", @@ -1003,6 +1021,18 @@ "selectedIconPath": "static/images/tab/ta_1.png" }, { + "pagePath": "pages/menu/second", + "text": "推广营销", + "iconPath": "static/images/tab/tab_2.png", + "selectedIconPath": "static/images/tab/ta_2.png" + }, + { + "pagePath": "pages/menu/third", + "text": "商家服务", + "iconPath": "static/images/tab/tab_3.png", + "selectedIconPath": "static/images/tab/ta_3.png" + }, + { "pagePath": "pages/menu/forth", "text": "我的", "iconPath": "static/images/tab/tab_4.png", diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 21e9c93..38e7e21 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -121,7 +121,7 @@ }, { id: 6, - name: '设备管理', + name: '智能设备', path: '/subpackage/device/pages/index/index', serverKey: 1010 // 后端对应权限编号 }, diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue index 9af5aa4..2fcc2b9 100644 --- a/src/pages/menu/forth.vue +++ b/src/pages/menu/forth.vue @@ -6,10 +6,11 @@ @click:login="loginBtn" :nickname="userInfo.nickname" :name="userInfo.actual_name" - :account="userInfo.mobile" + :account="userInfo.mobile || userInfo.username || ''" :photo="userInfo.avatar_url" @click:update="updateUser" > + @@ -29,15 +30,14 @@ (复制网址) - - - + + + 总后台({{ deadData.backstageLink }})复制 + - + 投诉建议 解绑退出 @@ -218,4 +218,19 @@ export default { .fm-copy{ @include flcw(32upx, 44upx, $mColor); } + .fm-admin{ + @include ctf; + .fa-txt{ + @include flcw(32upx, 44upx, #9A9A9D); + @include tHide; + .ft-txt{ + font-size: 28upx; + } + } + .fa-copy{ + padding: 0upx 10upx; + flex-shrink: 0; + @include flcw(28upx, 44upx, $mColor); + } + } \ No newline at end of file diff --git a/src/pages/menu/second.vue b/src/pages/menu/second.vue new file mode 100644 index 0000000..0e40ef5 --- /dev/null +++ b/src/pages/menu/second.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/pages/menu/third.vue b/src/pages/menu/third.vue new file mode 100644 index 0000000..92636e0 --- /dev/null +++ b/src/pages/menu/third.vue @@ -0,0 +1,117 @@ + + + + + \ No newline at end of file diff --git a/src/static/images/third_pages/banner.png b/src/static/images/third_pages/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..17323159ac94b1713aef580684980aa28b87751c GIT binary patch literal 23995 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 literal 0 HcmV?d00001 diff --git a/src/static/images/third_pages/tab_a.png b/src/static/images/third_pages/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..afc8d31dc3baae55c6875e6de4a5d615f37c8ebb GIT binary patch literal 2399 zcmV-l3840gP)Dt(^e(K`J=*+0_>)P$(%j(#<=f0EZ-@xeGyY=DC>b{iq>)q(Ql=R-l`PIGc=hN!o z$?D$0>e{^L)v@WfjOWv^>EFQT*tPTU=J4dv>cN`wFC6s>AH{d z)w}7qjQ8Tt_1?+q#-Q%$*YM7<^xeqkxsC15uk_i&_TkUyxs2}Bxb4QG=GD6GAaNc;l$_0qV)0T^z!QFyp;3v>GSdF^YiTG#+~=(*X6>P<-U{S zt9ka}&gROa@X)gF%&p|QjrHHm@zJ&P+{W|S!spJY_1?)!U` z(dgg7_~_Z|U!^xDMx^Xv2Q=kwRT@XoL7!=38Al=tJ) z=+(3G@8s_3*685D@zlBL&aCdprt80$>AH~c?A`3<&+FsJ<=4CE(68;rqUXn<`tauZ z?&Iv`⋙K^3}ZP%c$tdr02z*{r2(p;?U>b!{^+=?7^GryOR9$?eFT??da0x+P?DC zy6V-p=E9lz?BMO^(CXvH=-Ig8&$H&gmi_tl`tIcE;Ku3U#N*Ss>D05>xtr_2nd`om z`|;@c?cwO$#_HF);LEVy$*k$Qjq>i|@ax>^;>GLQzT(if=Dd>s{QB+Y*X`)k>*UPp z;mhjb$LHC^>)pcU*ud}0s@%e*+Q6aj>)Gt&)9d5T>E6uc)xPY(n&`HP=d*?D-^JeI8?y`JT-e)RF_-NdKl!=v86px(Qf=(dab>)`O`*YVlG z2J=Hubs*Vok4(#puj#l5<;v$BzDYH4*X00jU51-MB>K~zY`?UrX)QehOw zaogT|@4ffld+)uAk~ETtf>cOpNtq>KL&ZuoBq=Hrr4oru(?m0Krz1 zF4Xh%t)D(V_sjd^f6jS1SITdx-D1@61?|fEOdYUz*vPK6DSttY;jNfVvAa8;;l&N* zZFSv0toffRnhl~M=yawSEc=kf?ZMn}f1>EVOv2#^1RRb8G-7wY-m?AZkeXIIMo$v> zP%%CN4vo$P3)deCa@)RpinU>?aeSyA9v&0vjr#(Zzf(7|?!@>^v90+|poB5Jhm%p2*0su*gWT zC|Djo5;_ytLo_A8*Fr(nrR=I$oN9%0d!eksG$`QFDs|XaYlLaXBC%9rIw2KugrFE-o%xv4js# zQX+}GGD#;g$qX6?Cn<)bZ*VyQE&$y$3G_rbkWA8wj(U=ybV0-*NfCNtm^SttNE(t$ zh!IzyqiDoxA(s3wV&NOo3Dar#viZVEAzU`K@+dr27%m$~&}Ea7CmGDdQP^d0l&cPc z3rmBilSE5+`fDFAO&mx%Vlkb@K^9l(R;3bu0YinmVKJG00YO4Kow0mmp;A52CQ!gC zfG@E?f>uEptO8?863389dQEm`;w-R}0KAkW=1U2;q!)#Z&J1Lc7}ukZVLi%m5Pa37 zi6bba)arvQpy3DrjzmI3iyG}UA_#FydQ!+4<;8FpBaPveVO;jGO!RHFydal&G5GG_ z!HC6%mlrMuIs!qK+FF#<8nDlc0Uit=y}7t@ z&8B^`-d1RO)L7rN{rjy1uAsm%u*3JrlP7659b4FvonG5?^}N2%pFiKbckjFR==}cu zZlEwaqyd=)1$k*UL%aX#^tz_2=J(xez-J2Rh6a5$kWMW4qeRtb(+w|;Wm8q zq1y;=JxNJvc?Fq;DcZ-`Ii=Tu*Qvt9H$}z89}6=z`FUx6GFkg(CX%{=fo&YT4ICrL zg&<}U(0m3*#TFDLzmCoi=-9$2d4zCu(4S61}0SFb-8 zSA0Yg(WUbkV~6h(I6CC!=E`zq7(bm(l%Ju=QblWTfhIdACnr1m#p7Gr=#=AGu^H(h zBGDy4Bob94I($b@Jx2#W1G+kOMEP|!nT4v9Xsz}ZfmRzGtvVhRp{bjZo*oh+3PGf| z>Czh{UvC0+#{1wstEh&#qyf5x-83BAhbB(=+fMSi->rqKGH} zo_2+Ym&C;-UxuG#ySDWj*K1tmDL`3x!W<_%hzOs99I?o<3lo9=hL;@Pb+}67dR6OJ zb-GdsyeDQIF~`a7G9o!HIWDfG1q3I7BDQum8Zitpm%(n3xu RiQfPK002ovPDHLkV1j}*j5q)Q literal 0 HcmV?d00001 diff --git a/src/static/images/third_pages/tab_b.png b/src/static/images/third_pages/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..545b00be3776f3292d4bfdb91ef89fed87145792 GIT binary patch literal 1962 zcmX|B2UJtp77c_dMWm@rhCzf6!^kKI3Q`25gpV*%q$@3`hy|2Eq$q-bFpgprlo~{8 zAe2yoAd>*0BoLB70x7hB!q6lTdKv!JS?k}m-hJnuch1@S>~q&kz2sykb3o+)1Okz< zhg-XVw>5Z-C7@t$3XelUAi@@xF1p!(gTWXW7zAr*XqZZ+Q>iopp3v3VH8eCt zr_;ZD`NHLLX*60_S66RuAFvq==E%s%^71l=!(p*l1t`?`_&CVzXzyrlZXO*S<#4zZ z3YFAD>h0|%_4KgW942#!N~MA<=Jz!2t_~Cj$L{WK zB9X{qeRBfb_V)JH*48E*4p61j2S7T7(qE9D57Gf5r~^D8cyN#b{NF3HSu74PK)~Q2 zlSUf=9ZgM5k;!C01|atL(+36yN{Wly2yHc0RWma)z?qw!O`%XeefreV(Sfb4U0Pbg zH8v9P_eAxk#)bw! zgUcPs%g(Muqg$GrLF0u51!H4lB+@sv!GQ31JkX)DvlH|SfWChH3g}g!(S<00oC_#{ zHvgSzPY=1Rtqn*DSOKYppaX4IgIU3vnpbQ3s zsl(PaHa2EWcpHE_ln~+K_LTwKVCk5d0hY;SX8eSK|BAXr&s zF^HIV=?}x~Y)o}j_I7u-w>CD`mzNd+{Pbt`&=9q|t)adg^)e;$rl-5p1#?q_6B@F6 z+uK`P-vR|IEA!LSys^=d;bBTo7p}gp4qH|E>g68~A4J~t^>DUT_fbO8AP|wa_STke z@b1OT4WB`aBi*iYLY5*UF-xr*W8XKQ)7eFi^{Hphypi?kbgwB^)1KTMj$OKUJ7K$i zd3NgVqx`GL>DisxjbBMu%3y9Xo@1}cum2P>G}redy^BZx+Uubo9*?dnT?sBehg0+G zHu~FX!}P~iWpOu5Xz8xT=rOo&1-X}g9|AYHO(x>e-e)Us9uC%*H&G19xE%Y?ex~w; zy1ldQ0~oWZL|Y!;X=-dGH)?{lx3x!N+x5`}1ldPM8Sjs1czt+2r5VC{+E*qo4u{z& z1`Mh>!wgc%T_wyq&ETz|4+5yAC2ZB+)J-(#HH)O9@Sf>)ln4=5JGjkO)@3#e^7mrgMvQ_v=9hAQ;e0d?sGR8KzeY1ki z_E(;_#xZ`X9e>#QDVWR6Ju5m2LuY1go>!N|Y{kBUYq*=2bV!(pWuASsNqbgy`k9`r zeQIK7iUu;#sTOOYaRT$iOgcCEMh1VEa8En#?J;G^9bx$?M&jD3`tux9RqDZm&s|*| z+7|;gbRp41EJj(9)?k{P>fcTg%9zQGjxqC{L|`!uy6m~VG>yVOz6;Dn%#BD+4Uzma zi>oF7AA_A(v=}nmx<>WN@sl(f#KY`eSTBt73o`jq{Lh!W0^thVk&95~k*FZI8&1kM zSJ(X=%!CwERh+NUKa+yOyxz_UpQybN))(dbIx72qTQGCYIwnRAa=~hNG+`m|Xwk9z zT7dztes1Hi(`pkwpq|)-wS=xp8{Uc1zXHj^$YFimolV={obntL4Mb`lRF;&0szMJD zsJI1U9kC!SG2^t3cw(HsAuNy=fjD294kbYL)zt_WAW|IZ@?5=$Yq)^|$xo`fh;yfY zm#rK@c#A?M3ora2+>kPp!T3ikdcMr|asMg4-kGG}PWANi;S}jS!)nB%eZ)Y{s{BOH zQ>%+Ah8gn~0iB2+^_qO}Qz^$pWLlp)>gc82nbb%g#Q64W@CB) literal 0 HcmV?d00001 diff --git a/src/store/index.js b/src/store/index.js index ebb04ce..f4a60d0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -38,7 +38,7 @@ export default new Vuex.Store({ '1007': '员工管理', '1008': '核销查询', '1009': '场地看板', - '1010': '设备管理', + '1010': '智能设备', '1011': '商品零售', // '1013': '课程管理', '1014': '储值卡管理', diff --git a/src/subpackage/authorization/components/user_info/impower.vue b/src/subpackage/authorization/components/user_info/impower.vue index 5fb815a..e3f4571 100644 --- a/src/subpackage/authorization/components/user_info/impower.vue +++ b/src/subpackage/authorization/components/user_info/impower.vue @@ -27,7 +27,7 @@ export default { watch: { showAuthorizationModal(nVal, oVal){ let { initData } = this; - if(!nVal&&oVal)initData?.close(); + if(!nVal&&oVal)initData?.close?.(); } }, data() { @@ -51,6 +51,7 @@ export default { let _imgUrl = await this.uploadImg(info.avatar); let _editObj = { nickname: info.nickname, avatar_url: _imgUrl }; await userEdit(_editObj); + this.hide(); initData?.success?.(_editObj); }catch(err){ console.warn('authorize components user info impower updatedUserInfoEvent err --->', err) diff --git a/src/subpackage/menu/components/bottom_logo.vue b/src/subpackage/menu/components/bottom_logo.vue index 9806574..56a1a45 100644 --- a/src/subpackage/menu/components/bottom_logo.vue +++ b/src/subpackage/menu/components/bottom_logo.vue @@ -1,27 +1,40 @@