From 0d084861e02dd25123419d7d2736a5dd11c7cdfd Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud <79562285+wangdan-fit2cloud@users.noreply.github.com> Date: Tue, 23 May 2023 13:51:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A6=82=E8=A7=88=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=20(#1109)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What this PR does / why we need it? #### Summary of your change #### Please indicate you've done the following: - [ ] Made sure tests are passing and test coverage is added if needed. - [ ] Made sure commit message follow the rule of [Conventional Commits specification](https://www.conventionalcommits.org/). - [ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed. --- frontend/components.d.ts | 2 + frontend/index.html | 2 +- frontend/src/assets/iconfont/iconfont.css | 12 +- frontend/src/assets/iconfont/iconfont.js | 2 +- frontend/src/assets/iconfont/iconfont.json | 7 + frontend/src/assets/iconfont/iconfont.svg | 2 + frontend/src/assets/iconfont/iconfont.ttf | Bin 14432 -> 14584 bytes frontend/src/assets/iconfont/iconfont.woff | Bin 8968 -> 9036 bytes frontend/src/assets/iconfont/iconfont.woff2 | Bin 7548 -> 7572 bytes frontend/src/components/app-status/index.vue | 1 - frontend/src/components/group/index.vue | 1 - frontend/src/components/index.ts | 11 ++ .../layout-content}/form-button.vue | 0 .../layout-content/index.vue} | 13 +- frontend/src/components/upload/index.vue | 1 - frontend/src/enums/app.ts | 4 + .../components/AppFooter.vue} | 13 +- .../AppMain.vue} | 0 .../src/layout/components/MobileHeader.vue | 24 +++ .../Sidebar}/components/Collapse.vue | 0 .../components/Sidebar}/components/Logo.vue | 0 .../Sidebar/components/SubItem.vue} | 2 +- .../components/Sidebar}/index.scss | 2 +- .../components/Sidebar}/index.vue | 11 +- frontend/src/layout/components/index.ts | 4 + frontend/src/layout/hooks/useResize.ts | 53 +++++++ .../index.vue => layout/index copy.vue} | 0 frontend/src/layout/index.scss | 37 ----- frontend/src/layout/index.vue | 149 +++++++++++++++--- frontend/src/layout/layout-footer.vue | 3 - frontend/src/layout/layout-menu.vue | 3 - frontend/src/main.ts | 2 + frontend/src/routers/constant.ts | 3 +- frontend/src/store/index.ts | 5 + frontend/src/store/interface/index.ts | 4 +- frontend/src/store/modules/menu.ts | 6 + frontend/src/styles/common.scss | 4 +- frontend/src/styles/element-dark.scss | 17 +- frontend/src/styles/element.scss | 3 +- frontend/src/styles/index.scss | 1 + frontend/src/styles/moblie.scss | 9 ++ frontend/src/views/app-store/apps/index.vue | 1 - frontend/src/views/app-store/detail/index.vue | 1 - frontend/src/views/app-store/index.vue | 2 - .../src/views/app-store/installed/index.vue | 1 - .../views/container/compose/detail/index.vue | 2 - .../src/views/container/compose/index.vue | 2 - .../src/views/container/container/index.vue | 2 - frontend/src/views/container/image/index.vue | 2 - frontend/src/views/container/index.vue | 2 - .../src/views/container/network/index.vue | 2 - frontend/src/views/container/repo/index.vue | 2 - .../src/views/container/setting/index.vue | 1 - .../src/views/container/template/index.vue | 2 - frontend/src/views/container/volume/index.vue | 2 - frontend/src/views/cronjob/index.vue | 3 - frontend/src/views/cronjob/record/index.vue | 1 - frontend/src/views/database/index.vue | 3 - frontend/src/views/database/mysql/index.vue | 2 - .../views/database/mysql/setting/index.vue | 1 - frontend/src/views/database/redis/index.vue | 1 - .../views/database/redis/setting/index.vue | 1 - .../redis/setting/persistence/index.vue | 1 - frontend/src/views/home/index.vue | 14 +- frontend/src/views/home/status/index.vue | 17 +- .../src/views/host/file-management/index.vue | 2 - frontend/src/views/host/firewall/index.vue | 2 - frontend/src/views/host/firewall/ip/index.vue | 2 - .../src/views/host/firewall/port/index.vue | 2 - frontend/src/views/host/monitor/index.vue | 2 - .../src/views/host/monitor/setting/index.vue | 1 - .../src/views/host/terminal/command/index.vue | 2 - .../src/views/host/terminal/host/index.vue | 2 - frontend/src/views/log/index.vue | 2 - frontend/src/views/log/login/index.vue | 2 - frontend/src/views/log/operation/index.vue | 2 - frontend/src/views/log/system/index.vue | 1 - frontend/src/views/setting/about/index.vue | 1 - .../views/setting/backup-account/index.vue | 1 - frontend/src/views/setting/index.vue | 2 - frontend/src/views/setting/panel/index.vue | 1 - frontend/src/views/setting/safe/index.vue | 1 - frontend/src/views/setting/snapshot/index.vue | 2 - frontend/src/views/website/runtime/index.vue | 3 - .../views/website/ssl/acme-account/index.vue | 1 - .../views/website/ssl/dns-account/index.vue | 1 - frontend/src/views/website/ssl/index.vue | 3 - .../website/config/basic/domain/index.vue | 1 - .../views/website/website/config/index.vue | 1 - .../config/safety/file-block-list/index.vue | 1 - .../config/safety/simple-list/index.vue | 1 - .../config/safety/value-list/index.vue | 1 - frontend/src/views/website/website/index.vue | 3 - .../src/views/website/website/nginx/index.vue | 1 - frontend/vite.config.ts | 2 +- 95 files changed, 326 insertions(+), 204 deletions(-) create mode 100644 frontend/src/components/index.ts rename frontend/src/{layout => components/layout-content}/form-button.vue (100%) rename frontend/src/{layout/layout-content.vue => components/layout-content/index.vue} (92%) create mode 100644 frontend/src/enums/app.ts rename frontend/src/{components/app-layout/footer/index.vue => layout/components/AppFooter.vue} (81%) rename frontend/src/layout/{layout-view.vue => components/AppMain.vue} (100%) create mode 100644 frontend/src/layout/components/MobileHeader.vue rename frontend/src/{components/app-layout/menu => layout/components/Sidebar}/components/Collapse.vue (100%) rename frontend/src/{components/app-layout/menu => layout/components/Sidebar}/components/Logo.vue (100%) rename frontend/src/{components/app-layout/menu/components/sub-item.vue => layout/components/Sidebar/components/SubItem.vue} (97%) rename frontend/src/{components/app-layout/menu => layout/components/Sidebar}/index.scss (98%) rename frontend/src/{components/app-layout/menu => layout/components/Sidebar}/index.vue (95%) create mode 100644 frontend/src/layout/components/index.ts create mode 100644 frontend/src/layout/hooks/useResize.ts rename frontend/src/{components/app-layout/index.vue => layout/index copy.vue} (100%) delete mode 100644 frontend/src/layout/index.scss delete mode 100644 frontend/src/layout/layout-footer.vue delete mode 100644 frontend/src/layout/layout-menu.vue create mode 100644 frontend/src/styles/moblie.scss diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 308d5dba1..b919c0cf1 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -77,8 +77,10 @@ declare module 'vue' { FileList: typeof import('./src/components/file-list/index.vue')['default'] FileRole: typeof import('./src/components/file-role/index.vue')['default'] Footer: typeof import('./src/components/app-layout/footer/index.vue')['default'] + FormButton: typeof import('./src/components/layout-content/form-button.vue')['default'] Group: typeof import('./src/components/group/index.vue')['default'] InfiniteScroll: typeof import('element-plus/es')['ElInfiniteScroll'] + LayoutContent: typeof import('./src/components/layout-content/index.vue')['default'] Line: typeof import('./src/components/v-charts/components/Line.vue')['default'] Loading: typeof import('element-plus/es')['ElLoadingDirective'] Logo: typeof import('./src/components/app-layout/menu/components/Logo.vue')['default'] diff --git a/frontend/index.html b/frontend/index.html index ab47872bb..67ed8e048 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,7 @@ - + loading... diff --git a/frontend/src/assets/iconfont/iconfont.css b/frontend/src/assets/iconfont/iconfont.css index 8789f7898..6505a38ac 100644 --- a/frontend/src/assets/iconfont/iconfont.css +++ b/frontend/src/assets/iconfont/iconfont.css @@ -1,9 +1,9 @@ @font-face { font-family: "panel"; /* Project id 3575356 */ - src: url('iconfont.woff2?t=1681715760705') format('woff2'), - url('iconfont.woff?t=1681715760705') format('woff'), - url('iconfont.ttf?t=1681715760705') format('truetype'), - url('iconfont.svg?t=1681715760705#panel') format('svg'); + src: url('iconfont.woff2?t=1684465849452') format('woff2'), + url('iconfont.woff?t=1684465849452') format('woff'), + url('iconfont.ttf?t=1684465849452') format('truetype'), + url('iconfont.svg?t=1684465849452#panel') format('svg'); } .panel { @@ -14,6 +14,10 @@ -moz-osx-font-smoothing: grayscale; } +.p-caidan:before { + content: "\e61d"; +} + .p-yanzhengma1:before { content: "\e744"; } diff --git a/frontend/src/assets/iconfont/iconfont.js b/frontend/src/assets/iconfont/iconfont.js index e6f806879..b13583654 100644 --- a/frontend/src/assets/iconfont/iconfont.js +++ b/frontend/src/assets/iconfont/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_3575356='',function(c){var l=(l=document.getElementsByTagName("script"))[l.length-1],h=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var a,t,v,p,i,z=function(l,h){h.parentNode.insertBefore(l,h)};if(h&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}a=function(){var l,h=document.createElement("div");h.innerHTML=c._iconfont_svg_string_3575356,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(l=document.body).firstChild?z(h,l.firstChild):l.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),a()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(v=a,p=c.document,i=!1,o(),p.onreadystatechange=function(){"complete"==p.readyState&&(p.onreadystatechange=null,m())})}function m(){i||(i=!0,v())}function o(){try{p.documentElement.doScroll("left")}catch(l){return void setTimeout(o,50)}m()}}(window); \ No newline at end of file +window._iconfont_svg_string_3575356='',function(c){var l=(l=document.getElementsByTagName("script"))[l.length-1],h=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var a,t,v,p,i,z=function(l,h){h.parentNode.insertBefore(l,h)};if(h&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}a=function(){var l,h=document.createElement("div");h.innerHTML=c._iconfont_svg_string_3575356,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(l=document.body).firstChild?z(h,l.firstChild):l.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),a()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(v=a,p=c.document,i=!1,o(),p.onreadystatechange=function(){"complete"==p.readyState&&(p.onreadystatechange=null,m())})}function m(){i||(i=!0,v())}function o(){try{p.documentElement.doScroll("left")}catch(l){return void setTimeout(o,50)}m()}}(window); \ No newline at end of file diff --git a/frontend/src/assets/iconfont/iconfont.json b/frontend/src/assets/iconfont/iconfont.json index 0b96a03b4..1d602c93b 100644 --- a/frontend/src/assets/iconfont/iconfont.json +++ b/frontend/src/assets/iconfont/iconfont.json @@ -5,6 +5,13 @@ "css_prefix_text": "p-", "description": "", "glyphs": [ + { + "icon_id": "7708032", + "name": "菜单", + "font_class": "caidan", + "unicode": "e61d", + "unicode_decimal": 58909 + }, { "icon_id": "7131916", "name": "验证码", diff --git a/frontend/src/assets/iconfont/iconfont.svg b/frontend/src/assets/iconfont/iconfont.svg index 4d48c5746..3bccc2519 100644 --- a/frontend/src/assets/iconfont/iconfont.svg +++ b/frontend/src/assets/iconfont/iconfont.svg @@ -14,6 +14,8 @@ /> + + diff --git a/frontend/src/assets/iconfont/iconfont.ttf b/frontend/src/assets/iconfont/iconfont.ttf index 243aa6c7368fe8bd2a1f3c66e2648ef2334a8fd7..f3b3ffcf06b53529bea96d5fb22b0d577c0bf4a1 100644 GIT binary patch delta 1367 zcmaKrOK4O{7==&W?!Mi*N%~=KccL>L&BK@(W7H%>CyEBf*Fr%-#79utByEHwX2vL) zLDCKkq9UU9pokk`1VM%ojVlpd2-1q1hzl1YK||g6Sh!HoV2r2wS5OhF`0CYFx9UIV z?~%SYza5*GIX8ZM3t(LV0bDz+VRhUvZx9Ne%R=HF(Y6%Q&CWo9gLYd9cI}G#%re zzxM6gUEJTaq-~JjzR!i~XueSdKt zf@M}&%(;f4a^gr~ z1qKLh&Jc!*jE-cir&>4Ki-C`PX_xnM=*1RYhe@ zQ*&cQL&CLv-yScuefuX$!|{07dTQFw#<_{%{Q6wB)~R^Xb(8UlJ+A3pwOr;HY7Nb- ZR}I;8^L9ry!fsFP>`3(v-EKaqJ^-Zt9gF|~ delta 1218 zcmZ{jOGuPa7>3{fpZmob$C>PI=BSmI)RMB0l8S_o=wd-F%9(Vs$ePH7K{N#}3@oaF z2->x%7Sc^<5e8Bs1}zezg+$qf^G_Kq3d0Dr_xMRv&^bK+xz9P@`@J)9d^CBnGIe9; zw<*B93ph#+9yyuV_V&&jz+DHF_P4ggnu|Nn?E^4MR<&}%d)nE=ejh1pZENosyfZZc z7@s*FICAVjZ1Rz}8*shixVbIXku(}G&hS{H=PRY1`Z0CJdDC{5LpMx4%c9R!_2wB~ zBVA@*TQf2}0pkU1)4ejbUfwbSyK#$Kx1tUX1du?xxpFwFpiJdbL6w^}ZQIkkY+WgX zd;Y9D@c+6SP5;z5{;pIMlRY%D=83Mqjz9dfh=OSK%oOF8Gd(*1@#<=1oO zwwaYmwuu?^iS`-Fxo4%o=VCZ2@ZnJ0qG1S>OJFci4uN4o>3xI&Lb(Kn3KdN04;KP# za|Ol^#Y;3)0;)!!CQ!8k)q$!Ps1ww7K__1A5vU#10f8z)wFuM`>Xd*~n4KpAMTQy@ zC^ytQfx<(*7f`|WgTP!sF?0>H0%Zxz4^&3b_EH}O<_zkS!0bVd0V(}qB4N?(8tqGK zv%uuSY804eSp3^*m~dE!1g0JqO|PK|U|kSs2UwQ{8Ut2ZphaNy2sBFy)@=?5eFN*B zKnKAZ6zC;nD7}WRLZ(@uzmS;}=roK`UXAwLblHMIqtSS5OqzA(1#`q!ZM$l(wGTP+ z9o^2CuB&di&v+KB^&Iv*^RDnFz1O`1z5-vT@2h`ZRzqN2;6ZRhuqXH>JCU6U1wz%K ny`lb`*I|EnC{h!-9O<7m+WXvHwA`ple_s_h&>LTU#W3&-ktPU# diff --git a/frontend/src/assets/iconfont/iconfont.woff b/frontend/src/assets/iconfont/iconfont.woff index d9c642fb509dad5b8e41d24158fe01bbe2f47313..9e851344397d6c4230513c210e0a92cd8717cd57 100644 GIT binary patch delta 8566 zcmV-+A&K6IM$ASOcTYw}00961001LQ01E&B0021nkrYdR_W%F|K&1MSTW4%}W&i*K zfB*m-7ytk)G=9JN$!KL^WB>pkm;e9(F#rGnHYV71aA;^{VE_Oh%m4rYAOHXWBno~8 zVQ6i1cmMz&>;M1&8~^|S$jYz(_-t=uVE_Oi2mk;8W&i*HW)L?7ENx+UZ~y=xZ~y=R z9{>OVAOTG(0QGKRZDjxeAdmn60Yd-)0z*fL69jN?b94XzA=Cf>0d)WX0wgp(Tz-=X z0fc|KP8(4e1>obsOBNDmbyjC{$l^F8h=zh91%ft6E`k(MfE|gRl7<(cfY(4sM z^Tonf9e>0JU2_dzu$+zWHwb2|u*w?iY;k{rlbqo!=eWo&SGdDH_Slc9n2vVL$5O1u zT5QB-Y{ho$=FPm5ANIRPN1FNcjHNSYJRk>VT>s;Y=eZU1=BG#d%<%~e1EVuA(#nqF zEh<{e>u6#Ow^79n-KU5*sNts8{RLj*C2rv!?xT$NxPXhQ#bpfR3a%o<13W|>kMMsO zPw*7a@J^L!;5qK%74Bd}4_!XzRru@H`t4}+f8F+9w&AqPKA#+oAtlYyLoc7uBWL5L zs$joist*WLrIbxm&A^hWdSKbo{H&NN3RVs2w`Qs`Shv(;Y+33*PM9(PP8!m6Gp1aC zvzGdnbEd3-i>B0oT~mI*6;qPH9aDd%z&%sCzym{ikME|$fjv|9K$=nrhNW)sRAT~@Lf!H+l z24c(7H!rqL{esvvbq?~TsfUnvOx=Y1(9~DxcMT)I0I|XVya0Hd<$8IX9Myk)XTA68 zuI}otuB-3+nyY7~d%Al@Gt<)=W*7-Ey3k0nG`f(`V1Y4`EimR9#N{<65CRx;8DnhA zQUDv1nBZ(If4sI~W9Oqlz;^J)5QxLt4tR~7tYdX)f3JE*5|S|ae6su3c2~WtUcKY@ ze#iIsUNMA$ANf4~2S#CRCc}R)D3#6+)GDd6W$@&^((^4_HBA-&Pa2+*ey;VmZn_sj z{An|07%{W8-=ML9Cfj+2!3=Z!2w_N*$uVWjBe{y(tLl5gmXxWj(z=nZ=4Ih7`0saV-ULj6h z);xFr4?Jj1FI0noVOWOs!t4+q@5+)ywq;E@8|x_pQ-QGZYM7 z)aYM7DE9P7YZ}cz>sWst+aNS*;c_B7nuSX%Zm!StNF&?O4{Q5oOX_4TAKK$w)cL*d z2J)S@@^&BX-zG=~u~H-2ogqnO3A*c3UDa0X^sLG(xh)^RqnCz3_h zlJzD+m_s581-pOBB0?hXVg3E(4{j)Ri(T(((@o$R%wmE^X3Nsm98@QqZ1nOxFYzM5 z810LsQ_)X`HjO|X7E5s>YYt&VcyGmva4lYz7$4B)CUTI>GhRjq>4-21kdOk?#q=^2 zrp^pAW6U|s6vODS?wVnNaMY@rgfb;GicrPO)Z2I0Vp@M#hzlp5Ww=w)pEP4AZsMPt zapzT({1=EGo0&PZZrzt>W}KOsFE3usiNePhQ)C{+%ww0Bad`bpDCPVVvTr$8&CuVv zb?az!Xy)Y4<@e*ylRqJKcWyBz?@B&zo|s0#u!d2AWVA}PQm&Pd0D@>5U8suhZ5{KO zrVszbXC8ku{XaZ*@9neIl^fCeo4R`n7xa?4Y$oH(s1RBk!{(#qbT_>&k=>~-o5v#oh2^7b3E(s+kFPHe*5Hd zZ<>EqWG)~qKm7HTVn!AeF20hgMghk4O&C{cfnRb=56Hmid#v38*HrVug8HsQNx3#a z^T0#7s#~F&Ig^>3yVniHdI!k$!H{JIL%&?Me96-03T0|aL2Exdv~eRT(J}i?(~r;3 z`K*?6$a(0RvBAq5!NDjbw|;rH`A@HpI}d-|KEC!e9v=c}J?m(7Z2+{n52+}I@}SD% zpylh;TA^Au^KK4k3t6FB9z$o0H-p)T&+)3^K+p{I2E!sp9J2&T+oQ8m=P?1la|W63 zLWacqeB2akdfy?E(v|lpN)UOq+a@pLEt=yD1qY5yHt+<(0>yt# z?PdbiT?@sV2B=?9-v&?hvq051)UV~Kb>fA5p_=c-z}tGpHY+BdN$0Czp_f=wP)W@m^BFJ-zFy>vr1aqm+*PDLkA2*&1eM znF~*+B!bD-Mp1@R3${N^4g|V?ojD_Za__81-K^>`7?JVj*qC zxQbXU<$}pnd^kV}f2s&LSBEVv@yO@nhANp{M+du&C4q#U$aCzmPfj7Csfs54k?r5r znUuUeJ)NCaK*|(6+Gru$NTGj2AV3TJwMds3lLEOOI-M#U%u6%)41mBY0J91Qldk96 zGGkDsSO%I66wa8f^ODa-md|;Dt}80++4F6`w$-a?-mRi1{ISz#GZxmIHv*wh07V0# z4|G*L#K1w{2h|`kbo)-@TkYXe%mRw?06{R?Ns7}FI1ch_TLPa39;binHU`SEHim2U zH1ESIh7k%pW&JUzMOPCf1p`N_kYH(2lar)#t%Sg(tL7S%9;2G|Lr7Fxd(p?svqs%jW8?x_(4uZ z$#3(`p#E5dL^?YBH$Q)46~ofZjO6tet!HlbcXUAcV|s9bKX2i`L_Q8HFv09&o?^bw zyb1GjL6`yZng*FJoFb$)@MOltX#hLZumClfRE45uq3lAlQM8~0EH0fd5O{AG!AeF@ z1D%>Mp#jpya0La{G(&4s5HnCICs12u47l(PkU4gH?x*-JPFH_FlctJ-_Cc$HRA7B! zKomtb5FLEQg_WR6DV*l>ZQK|~Zat6`w*dW&7iCt?3VzX}N#nbwE|^;%Nd-HqOB3-_ zRFQb1h)R4-->$8%M@DUx<0Av%!FmV!x$5O_;?%ld;kRyNRbP)^Wj9{Psp^0VnD183 z=k52aWWxs5>&JhOcCR;8!OL-Kd^}ZK67O8w7)+Fx7EH}+n+kL+dj+*`q&$%6UOhSx zudHZpy7KaCKfeF%S6)0QBES6SfA`9(4?X&&&-j9P%(uFGrI&bem7e~tbNsBwYlky} z%8{7Y!gAa&b>1%qInfi-SFV{@wvi)J$5>Sq6%OM-MD>60K67^V>oZ1J)9r8&oQ%#w z$Ec#AuladZ)|}hWeoa>V&aLPwzoG(Ub*44h<42b`_h^dG^Z=D&8sfcbJ{?S`A!9{% zww^OE<~Ww)1XYOy1S^>irr^;;Pj{Sp_jfsDbzG5jRAX!}2HNB`a?KSMannpi8 zaQUUprGxdYep%#iERG)d@Q22h;-zDke)z^hzp8(FybW0htl3rBZ$AzlR%AFSa9e9>N|2s{=hU%Vz{Z5Tn+Tf&PKc%SQ8|3jh&~q%%?Sp`rTL z9eXdH-8g)M*T-&H<_fdonc{iy~qDTqfYiV(>2mO5X! zQZWObzkVY9`Eg|n(R=cf!7K}7?HtT=o zYRP3jP+Xt~!3VX-d}|&bX+bZWT2JFI(!{(okKDV(;AZOx`t~Z$j;CW`MM)MqYJFDt z15b2y2x~|vp5BgiU%s=_YX)trIySwYG>^@b`Q|Z(eDT=RvzxG@G7E+Zuna`9iE;ltP}aN{^Z%6okV3UnJimOPSq}u~hIA z3VDE-`9cHN+ss|4(Yb;Yn6nKRPbZCSsxsT!75-HJ#}QS%aAPWorUC5%ElQwn z8*~$c96{ad_KtgH5n;a;AFdjv;tARc_J*uz*t-1kP%vyqyjZb=2zeFLs4jm=go!uq zw{*iJ2fTho5;<02SwA%t*$&h1_lmN2d~dO<8=H98*NTW3 zuagClwJumPc1j$U=uQ7V52$hG^wAso~1Y9R2s(*+lz#<6Sf3Y7V4bi;w~b&bn{ z;c@pf@YNfpSL`tacI=X|?9%mHW>Ph2Mir$yB!geWdDJn^G?G&*=QgbG9~kIgzkzW1 z+<~ZyQWsxYIRDOBGs%B@q;LSqMn^(XcwP&yh}>hC=Cv6~EiM^t&|v zXH`d+&<5fGs1r8a;HLJ=G&qS7e~7PQ3?|Dk65`#_QC#Sb3s9*+)dxki6gbf-pv#

33E7F(}~vMl19D5I57#eMYZYwfD^73a5EQBlM!)H>Ps2tJ>& zm^8!WGSz|hZef3nI>shIw>UOAEoD;Af!<_zwH)-DDbMQjiX)M3TWsBi>aV}};x7(9 zP>yPLzVb=b*Im)$`OJSsk4)=;w9JnYp+_-Dv)mJB8 zb$;^DL;v{j!?k!gmm$QHt(S49GrtGP^m=(AUezpqF5AS1o0nYD z%!eI@*2hdZ{|o2vJx%vF-;U7Co;{t-W+&JX%B!!FuMmS#nK)AhiDT+Em#bU6z=2K3 zl~C?vvd(|mxeVgsz_5!&U?Ot0vfxFzZFhm>aSwUTnDYgH*6(~FW|GzFiCon3pc~R? z7CGNTn~h-5SSY7SwAr5xIA1`U(d_Tfz45vgu@Uv4C>~Ttj>JaYly^z&&;19{od@N7 zPfn&Ka;_&2iIoQr9t2H6>3<0^bdDN?M1&m^Hmp|zqBCyQD3V?rF zp%m8X!hrp+63FCWt@P7gv!NpC3g`3Tduia@+u4bjdL%wdq+zIuP#eDvb>j<^rE zH^mbeR6E#~F-$j6YV`_V&(Ii3iDlC=!V6WJ;&mEU>4R#87tDO23bw$q1rtj11-jK_ z*)iNU<~5x*LjM97a<^%LHp&Z`nowysoY&hOd2tiABp(AgCnY%9J!mQV-pi& zD)~MQ5QZESyN}(9Nmac9At@V7MEgEvEVg8M+tA3e6_2i1 zHWKy?CX&g-V90-3f&6%XN77!tdUSvP>g9H_qkjnDaJL;er>`}p@XxYVKHiVFC2|(~ z7n~Ay>KBbSQ1EjXu|d=rA6$rN5qr@~v_e1BL|4$a${~dhBGPwG!0vvszcaPiMXIxZ z$T=SBw)KfV4lPs&xA(-4kV9k{vmUtM9_C@-*aED+yItVAGQM_H$mE3#HQ0Z2hnQ}p z!3Fjl7{fK@t|L6wjvxms*`T-tycc?C0$093%_6K^!R4r43JG9k>#l8r#kDD8)e>~u z0v1@vwGW!wCtx<8c6ay;^3XWPjSCz>kpV2|(%PPyAFDE1wHnJR_SbsWO1gjtB8cV0 zah4qi2>0%qxVXAN-d&Y&cd~yhf1W?QC6VpU2Rgd~xvp$tYe-wcL-`7ScxxitmDjpD z1NrW3VoNBn!ufUIn%>?u+i8$U&5n=Hjw5w2wj?&l8xlFcfnk8LoH+yisBpVmqZ5zUB=U+SfmvVS`i5Xu${Et$i)aJLRBp5U$jehu~~n}q{1=3ZwJR+ zsQTmKbh@~-Xtf`t!*RcQA5+ez;m*x)_Oem*DTvZ-|Au6 zThE$A-QbcYE$h>6gv?L-O%t*%AAqcHC(RSyXBY6nh`XP78byCxJCv$Y*qfreX>`WJ zs7(QK8YQ@svu?KL=}|MLVe0|h*E)Lgc7F5>;W$ErZ=6V>j}+~+4Hs$Z-ec}*HfehG zWk;P~9d(jN(T_ONN9#i1eC1^NHyVA%X4+>*e@DJcdYAwp&jLlg)M$ZTg7JbwO;2DD zFlHU_!s3ttJ4ka z*gfYsyXO$Id+x^FbDvFgC*VTK;U3wmfoEBW_!a-kQ(q&(41>{0>|UzXiV>zXm!6&{Zy-uhk_mk_|+CEZ{!W^cq-3yPOAQ9EeD0UQwKR zQ86MS)MhU;U;qav8Ok&%rWMj z%Ki6Oet@oazJrE0;qy1On7^t#041-iV*c;8B^-Z0etaI1PqJ;|SBFTpdS( zX1QRtuBA$7(OnkYJu6bFSL_NA>NWuQ3Wd1~cSV3Tw&BLNp>y>pLQ%c-0>sX4)2}%OY6oPt-ris%a$#R`-#tzecEw_pLKW(tc>=>A$J-G)1qlU=0aLg9YO#vq>Vwj2nl-QEkXSL>QpbHPl( zhXC+q+(Sr>o(|*$`k{{o2uSEpyYR}rC=`F9XsLlH;b{BNcw%99nKs3?zbJ8o1OgaE zehZj}mt~}Icl*6sw#QE-5$mGNDyGeGfsle!4ohBM7i2pdh-ms#KGDmv3gUGSrx<+_ zZ$}gv9DLd1_vmO@ET~#O*-wyO)D-U)VzFODKAsRkOm-p6MVu#eO~kz+j{t~@;C_Ee zVhJyc0tVnBKMi=tJ1DR$))Hn?V|hi5X}Tc^tjPAO0+H|Hy$Z}9BX%=xu(EFO&^Ld# zCP)Zjf;@uCixP_vVtK$ms=~?`V?ofr=9L4M9zwo=hnLM>iSrZZ^AQ+0{h9?4)+2^h zeij9JQI&kNTs(0ZLVnDN$+$CyF*JY3@qY9~Eb1kI>2aSdW5O#U&vKk7{h0t|EKf{T z;^-$Zg6J0%7N9Z4(p`c_7GS0v;y0bx+xQm9l+1)F_tS5+D7)L7W~d0HfUat)97p(# z)@-aVhW<-xNdP7DOY^M<3QP0&9Z2D=gYYB~eZiqc`K1N)PNCWU#^4A!05*TwVv@`h zvyQojxt6)bwHzt}^&h7_HK>HSFx&>tG^uUNbM1p_dQ9aWfYDQ^n0wB!a41$CC}CpJ zFR@e{M|yiZ=6&ACpM*8|Zs+59I?_D)83X}szt;WK{&2QCd8_E$)-h4^>fUH?taCIw zl!9cy*IBVT>m7pT5s2jTdwG8>U2E3j#mS-?P$PZOE~uDRp`zM3U|k;%gfuM_AWfh| z>%lffFdOXFuFwLXxgspwln#H~_udOJ>Yh9MJgkah2 zi-zbi)1t3!sZW7W|$?y4S&Sy+6eT>H?+P$ijamWBdD#!r6=e z5dD61AIIG%tEzmnYN$8U#OVcpkTAE?V=L8Z(H9Vbr04Vk_k5dv$904I{RG|HtTT+B z=FjrYR(lRA#keV&27ZRgaBgU)zyZsj`Hj}z|3SNQ18{JBKDqU42tft^dZ7qrFdskj z>#RTVnJSFc^d0hE8iG-s5`@v!cQOEZ=5)=gQeD&;0IaDfFCL%Bb#n ze|x?2?tasHW;b&MGtb<~Ji>g1Il>%eUVTpn) zF#iXhi{pHFoMT{QU|;}ZF}V{A@%%Pl8Ms*(K;S{oOiLL3|L6Y(w&l!?KrROZ6G#*Q zCy5K&0001ZoMV%h9~XZF0Fyoi?0B4GVPIfjp#Zb3qf9?;{QoB!|35zU0710{ZvX%Q z0024wgaH5njsg4vI0AYC$O9AuZUfQ;b_D_jS_Q@j5C_r-ItaQ6RtcmE1`2EnstVi+ z{tH|Sz6>l3cnyXQcn61%wO?|G|6)043N0L$gyLNdbS^cGEBrhW*!$qr{~wW#6}! zvIKB?(e-d^foM~Z+3U*n2z7HlLVLY$aoMO*eyvO5r1jFpvTsu_*>pBubt?JwADlEHNnmFX+#ZEU-^cTNdnA!jU07MjoNB{r; delta 8492 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 a-}q5s*tSxqF&{5>O_wBp0b%);KL7w2I7I#c diff --git a/frontend/src/assets/iconfont/iconfont.woff2 b/frontend/src/assets/iconfont/iconfont.woff2 index e29342605df214e8159179b754f7c1b2ea1d2482..bb96c94f4a3b2be68a53f189fc8ecfbb9c2ef809 100644 GIT binary patch literal 7572 zcmV;F9c$uuPew8T0RR9103DP73jhEB066#n03AdC0RR9100000000000000000000 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 SmRJhpxl{G6J*7IC0000Y+@>r5 diff --git a/frontend/src/components/app-status/index.vue b/frontend/src/components/app-status/index.vue index 1877a5721..e5ef65401 100644 --- a/frontend/src/components/app-status/index.vue +++ b/frontend/src/components/app-status/index.vue @@ -71,7 +71,6 @@ import { onMounted, reactive, ref } from 'vue'; import Status from '@/components/status/index.vue'; import { ElMessageBox } from 'element-plus'; import i18n from '@/lang'; -import LayoutContent from '@/layout/layout-content.vue'; import { MsgSuccess } from '@/utils/message'; const props = defineProps({ diff --git a/frontend/src/components/group/index.vue b/frontend/src/components/group/index.vue index 2c01f7123..78d850c65 100644 --- a/frontend/src/components/group/index.vue +++ b/frontend/src/components/group/index.vue @@ -58,7 +58,6 @@ + + + diff --git a/frontend/src/components/app-layout/menu/components/Collapse.vue b/frontend/src/layout/components/Sidebar/components/Collapse.vue similarity index 100% rename from frontend/src/components/app-layout/menu/components/Collapse.vue rename to frontend/src/layout/components/Sidebar/components/Collapse.vue diff --git a/frontend/src/components/app-layout/menu/components/Logo.vue b/frontend/src/layout/components/Sidebar/components/Logo.vue similarity index 100% rename from frontend/src/components/app-layout/menu/components/Logo.vue rename to frontend/src/layout/components/Sidebar/components/Logo.vue diff --git a/frontend/src/components/app-layout/menu/components/sub-item.vue b/frontend/src/layout/components/Sidebar/components/SubItem.vue similarity index 97% rename from frontend/src/components/app-layout/menu/components/sub-item.vue rename to frontend/src/layout/components/Sidebar/components/SubItem.vue index 29f64bf19..50945994f 100644 --- a/frontend/src/components/app-layout/menu/components/sub-item.vue +++ b/frontend/src/layout/components/Sidebar/components/SubItem.vue @@ -3,7 +3,7 @@