From b3ed7238e9c4a32330e10becc32c0273651d34b2 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Sun, 2 Mar 2025 22:46:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=A1=E7=90=86=E5=B7=A6=E4=BE=A7?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/plugins.ts | 3 +- src/assets/images/bg/bg-count.png | Bin 0 -> 1906 bytes src/assets/images/bg/bg-frame-4.png | Bin 0 -> 704 bytes src/assets/images/manage-forms/frame-1.png | Bin 0 -> 3585 bytes .../styles/animations/src/transition.scss | 34 ++- src/assets/styles/common/src/element.scss | 16 ++ src/assets/styles/global.scss | 2 + src/assets/styles/views/src/manage-forms.scss | 30 +++ src/assets/styles/views/views.scss | 1 + src/router/index.ts | 8 +- src/router/modules/home.ts | 22 +- src/utils/digte-formatter.ts | 10 + .../components/manage-left/index.vue | 205 ++++++++++++++++-- .../components/manage-right/index.vue | 50 ++--- src/views/manage-forms/index.vue | 11 +- uno.config.ts | 1 + 16 files changed, 310 insertions(+), 83 deletions(-) create mode 100644 src/assets/images/bg/bg-count.png create mode 100644 src/assets/images/bg/bg-frame-4.png create mode 100644 src/assets/images/manage-forms/frame-1.png create mode 100644 src/assets/styles/views/src/manage-forms.scss create mode 100644 src/assets/styles/views/views.scss create mode 100644 src/utils/digte-formatter.ts diff --git a/build/plugins.ts b/build/plugins.ts index bc6b743..2cef478 100644 --- a/build/plugins.ts +++ b/build/plugins.ts @@ -1,7 +1,7 @@ import UnoCssIcons from '@unocss/preset-icons'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; -import { presetIcons, presetUno } from 'unocss'; +import { presetIcons } from 'unocss'; import UnoCSS from 'unocss/vite'; import type { PluginOption } from 'vite'; import { vitePluginFakeServer } from 'vite-plugin-fake-server'; @@ -37,7 +37,6 @@ export const plugins = (mode): PluginOption[] => { display: 'inline-block', }, }), - presetUno(), ], }), compressPack(mode), diff --git a/src/assets/images/bg/bg-count.png b/src/assets/images/bg/bg-count.png new file mode 100644 index 0000000000000000000000000000000000000000..769b106a4098b53bc4c292db06527bee3cd91f97 GIT binary patch literal 1906 zcmV-&2aWiNP)t>s|fCBQK_eP(^^mMYESz|^mG4! zp3~FQ_H$diAG>eIsvsze%8n=`fj|;MLI@xbDFrdTZ?-oKnSSVr;Z4WG86S6;H@|sz z`MrDZ=uUhz9t4%+!K54JToz6mn`VHNob76tK9=9lxrgDwgoC?xf*}tQ@ki~La$4Wk z{m;O7f(z3V5b)U7fPVCF8GBb?z2?%mR6VYk8N9Zx z)7;7gd}A=@9Ej+HhHJ9;%&m~Ttpt45&Qm;?2`Ahiy$3p-4uZiTo&nFe8X6cAFe$mE z;2XHjgPHd_5KKQJki9Piq=oV3tQ<(qE9b$~zV&&K*u~27l59o9m0|ykh6GWYV!-Df zuF+MU`B>F8hfA*`ai2N=NR_VQ^anv=8=OjUwnA)1d*k_OXO*tz>?gs8%YVb8rN0ED zr>Z5|42M&43T(+YL~VkNvGK4l<*nr$!0ea}CI@c|Pb@w-ze3_lku#5oEqP*gA!HWs zLI=>sd$apaD}uQd3Dpk!97)@XA+uyR1vBFu1mC@z#AN77;1cNYpR_W(NiioUVDzQ? zz$32A^ymPBxk2BW;0&Z+Fg#91@|#t*Uk>ITc<)?WV!d+zDH28f0Ls-QeoDpolBVIK$?cfZ4X|7=mfxy_wI_39j}FbOR%jF|`d1L-LH` zS_JbH+KdFI0~|Mh*QCu5FgbgkrfN1Z&<@UV7vpj z!Exhf-ezRRE=GKTl`$#LKrngxo})J7MUpvs{U=3mr?Fj0&G-x1kn79#LEiooGB9`B zz<%uqP1+0rW3GFFg7Ng<0Q=SNlrKE=-ebMVm}35{iUW{;@I|C!f;St#(+a~a=jqCb z#xL$P86Ia<)Iq_a)8G=pxcjcbaPzle-vvhEhK9;RP+0$x3{3A;ur+-xBg-_i$vZc8 z$HuBBpz!d^6wFvp3k)@VxjH)|sg_D2kP*45x*m#-yh?3mtosUBFMlDWlSK8PaYpbB zLb{11xe@7qal>oi=@J}(tE&mDm(E2(#lt>_3F&{ylW)kuG{WG8Pc@lqHX;4re(X(D zvnHN3ySf^|a`7`QZDS+?l3m+?D|42DAvR;VcrHXeMrr)Y`px>wjnzcWUY9w5o@TJ2 z1CVk60`t&TkVtG~$58yb53I?6?&DS_d) z0N;z{7ul9s=B;UYhAFweoNNJ3$+pe7IU8yHF%l{s_Br(B`@wwRBu&rq+h)uGh}?^2 zGgbvs7UlZVz5KRWtj~~yhO_M#jx~!qq6saN84|j#l*P;W~c|;9hX#%Ul~|f@@i=X)m%wKYSALart$7ZhO00%f2xcc z=>=0fagGhJ}@x#?rY5 zOXs1QeO9wn_WI9~bIZYqrE>}fTN)?&TQ!*jNX{$6riKGBHQdkJ%(MgBO^`WC zCMD%rUwM+yZX$spjX;w~Hf7X|^Tx^?0E_Y@?3^WJlLPbY`}QE|?4GoCQ2-$tLmfT3F%S(C@57$GU!4D()l9p4G)7=#(p*Q~)K(UcGANNN1mt|NSprqcp54(vD= z*|CPs2}U!dVgHQZ+9!Z<*SrVm^1;Qz)HpYP ze1-`U@FNE0u^~DJ+vnrJ@3Nox*N=h7rzo??4v3eFO*7&fD2pT(n8SYSdCw>}e}W+& zU#3}gexJi~Tvz{2vo+Mm8N?YZFFsg!7?=q>!v9CbCB$snoSdZQBxLb4r0x9|`O?B{ sU}a%`fy^Hrza<`j64d4oEG{?v18&Cw0|;jxI{*Lx07*qoM6N<$f+!}R0{{R3 literal 0 HcmV?d00001 diff --git a/src/assets/images/bg/bg-frame-4.png b/src/assets/images/bg/bg-frame-4.png new file mode 100644 index 0000000000000000000000000000000000000000..b01f882a25e9d616d853fb03b86a3e58cf7b359e GIT binary patch literal 704 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 ({ top: 0, behavior: 'smooth' }), + scrollBehavior: () => ({ left: 0, top: 0, behavior: 'smooth' }), }); /** 全局注册 router */ @@ -22,10 +22,4 @@ export const resetRouter = () => { router.replace({ path: '/' }).then(); }; -// router.afterEach((to, from) => { -// const toDepth = to.path.split('/').length; -// const fromDepth = from.path.split('/').length; -// to.meta.transition = toDepth < fromDepth ? 'slide-right' : 'slide-left'; -// }); - export default router; diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts index 9514e09..3ac3a43 100644 --- a/src/router/modules/home.ts +++ b/src/router/modules/home.ts @@ -1,3 +1,4 @@ +import Layout from '@/layout/index.vue'; import type { RouteConfigsTable } from '@/types/router/Route'; const routes: RouteConfigsTable[] = [ @@ -7,6 +8,14 @@ const routes: RouteConfigsTable[] = [ component: () => import('@/views/welcome/index.vue'), meta: { transition: 'fade', title: '后台管理系统大标题' }, }, + + { + path: '/manage-forms', + name: 'manageForms', + component: () => import('@/views/manage-forms/index.vue'), + meta: { title: '智慧经营监管中心', subtitle: '园区经营可视化' }, + }, + { path: '/smart-parking', name: 'smartParking', @@ -14,10 +23,15 @@ const routes: RouteConfigsTable[] = [ meta: { title: '智慧智能监管中心', subtitle: '车辆监控中心' }, }, { - path: '/manage-forms', - name: 'manageForms', - component: () => import('@/views/manage-forms/index.vue'), - meta: { title: '智慧经营监管中心', subtitle: '园区经营可视化' }, + path: '/redirect', + component: Layout, + meta: { hidden: true }, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue'), + }, + ], }, ]; diff --git a/src/utils/digte-formatter.ts b/src/utils/digte-formatter.ts new file mode 100644 index 0000000..92dfe06 --- /dev/null +++ b/src/utils/digte-formatter.ts @@ -0,0 +1,10 @@ +export function formatter(number) { + const numbers = number.toString().split('').reverse(); + const segs = []; + + while (numbers.length) segs.push(numbers.splice(0, 3).join('')); + + return segs.join(',').split('').reverse().join(''); +} + +export default formatter; diff --git a/src/views/manage-forms/components/manage-left/index.vue b/src/views/manage-forms/components/manage-left/index.vue index 07be843..df8f8e0 100644 --- a/src/views/manage-forms/components/manage-left/index.vue +++ b/src/views/manage-forms/components/manage-left/index.vue @@ -1,42 +1,201 @@ - + diff --git a/src/views/manage-forms/components/manage-right/index.vue b/src/views/manage-forms/components/manage-right/index.vue index 07be843..1243395 100644 --- a/src/views/manage-forms/components/manage-right/index.vue +++ b/src/views/manage-forms/components/manage-right/index.vue @@ -1,42 +1,40 @@ diff --git a/src/views/manage-forms/index.vue b/src/views/manage-forms/index.vue index 532c591..5096c1c 100644 --- a/src/views/manage-forms/index.vue +++ b/src/views/manage-forms/index.vue @@ -5,18 +5,9 @@ import ManageRight from '@/views/manage-forms/components/manage-right/index.vue' - - diff --git a/uno.config.ts b/uno.config.ts index a7e32fe..6426baf 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -24,6 +24,7 @@ export default defineConfig({ primary: '#027AFF', 'primary-secondary': '#00FFFF', info: '#7CC1FF', + 'info-secondary': '#707070', warning: '#FFBE44', 'warning-secondary': '#FEDB65', },