From 0881225fdae49a0418c0d48337678046434e025b Mon Sep 17 00:00:00 2001 From: MTrun <1262327911@qq.com> Date: Tue, 21 Dec 2021 14:57:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E6=96=B0=E5=BC=80?= =?UTF-8?q?=E9=A1=B5=E7=9A=84=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/enums/pageEnum.ts | 6 + src/layout/components/HeaderPro/index.ts | 3 + src/layout/components/HeaderPro/index.vue | 13 ++ src/plugins/icon.ts | 7 +- src/plugins/naive.ts | 2 + src/router/index.ts | 6 +- src/router/modules/chart.route.ts | 20 ++++ src/router/modules/index.ts | 4 +- src/utils/page.ts | 28 +++-- src/views/chart/index.vue | 27 +++++ src/views/project/index.vue | 6 +- .../Create/components/CreateModal/index.ts | 3 + .../Create/components/CreateModal/index.vue | 112 ++++++++++++++++++ .../layout/components/Create/index.vue | 69 ++++++----- 14 files changed, 262 insertions(+), 44 deletions(-) create mode 100644 src/layout/components/HeaderPro/index.ts create mode 100644 src/layout/components/HeaderPro/index.vue create mode 100644 src/router/modules/chart.route.ts create mode 100644 src/views/chart/index.vue create mode 100644 src/views/project/layout/components/Create/components/CreateModal/index.ts create mode 100644 src/views/project/layout/components/Create/components/CreateModal/index.vue diff --git a/src/enums/pageEnum.ts b/src/enums/pageEnum.ts index 3facd572..49d68fa1 100644 --- a/src/enums/pageEnum.ts +++ b/src/enums/pageEnum.ts @@ -1,5 +1,11 @@ import { ResultEnum } from '@/enums/httpEnum' +export enum ChartEnum { + // 图表创建 + CHART_HOME = '/chart', + CHART_HOME_NAME = 'Chart', +} + export enum PageEnum { // 登录 BASE_LOGIN = '/login', diff --git a/src/layout/components/HeaderPro/index.ts b/src/layout/components/HeaderPro/index.ts new file mode 100644 index 00000000..b134fd42 --- /dev/null +++ b/src/layout/components/HeaderPro/index.ts @@ -0,0 +1,3 @@ +import HeaderPro from './index.vue' + +export { HeaderPro } \ No newline at end of file diff --git a/src/layout/components/HeaderPro/index.vue b/src/layout/components/HeaderPro/index.vue new file mode 100644 index 00000000..fee219be --- /dev/null +++ b/src/layout/components/HeaderPro/index.vue @@ -0,0 +1,13 @@ + + diff --git a/src/plugins/icon.ts b/src/plugins/icon.ts index 7ee11153..8d2be5bf 100644 --- a/src/plugins/icon.ts +++ b/src/plugins/icon.ts @@ -28,7 +28,8 @@ import { HelpCircleOutline as HelpOutlineIcon, CodeSlash as CodeSlashIcon, Duplicate as DuplicateIcon, - DuplicateOutline as DuplicateOutlineIcon + DuplicateOutline as DuplicateOutlineIcon, + Fish as FishIcon } from '@vicons/ionicons5' // ionicons5 在这里 @@ -92,7 +93,9 @@ const ionicons5 = { // 文档 DocumentTextIcon, // 语言 - LanguageIcon + LanguageIcon, + // 新项目(鱼) + FishIcon } // https://www.xicons.org/#/ 还有很多 diff --git a/src/plugins/naive.ts b/src/plugins/naive.ts index 347fdbb0..9c6618d0 100644 --- a/src/plugins/naive.ts +++ b/src/plugins/naive.ts @@ -12,6 +12,7 @@ import { NConfigProvider, NMessageProvider, NDialogProvider, + NGradientText, NInput, NImage, NButton, @@ -93,6 +94,7 @@ const naive = create({ NMessageProvider, NDialogProvider, NConfigProvider, + NGradientText, NInput, NButton, NForm, diff --git a/src/router/index.ts b/src/router/index.ts index 9c399345..eeccfcd9 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -3,10 +3,11 @@ import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' import { RedirectRoute } from '@/router/base' import { createRouterGuards } from './router-guards' import { PageEnum } from '@/enums/pageEnum' -import modules from '@/router/modules' import { HttpErrorPage, LoginRoute } from '@/router/base' import { Layout } from '@/router/constant' +import modules from '@/router/modules' + const RootRoute: Array = [ { path: '/', @@ -18,7 +19,8 @@ const RootRoute: Array = [ }, children: [ ...HttpErrorPage, - modules.projectRoutes + modules.projectRoutes, + modules.chartRoutes ] } ] diff --git a/src/router/modules/chart.route.ts b/src/router/modules/chart.route.ts new file mode 100644 index 00000000..345afff5 --- /dev/null +++ b/src/router/modules/chart.route.ts @@ -0,0 +1,20 @@ +import { RouteRecordRaw } from 'vue-router' +import { ChartEnum } from '@/enums/pageEnum' + +// 引入路径 +const importPath = { + 'ChartEnum.CHART_HOME_NAME': () => import('@/views/chart/index.vue') +} + +const chartRoutes: RouteRecordRaw = { + path: ChartEnum.CHART_HOME, + name: ChartEnum.CHART_HOME_NAME, + component: importPath['ChartEnum.CHART_HOME_NAME'], + meta: { + title: '图表', + isRoot: true + } +} + + +export default chartRoutes \ No newline at end of file diff --git a/src/router/modules/index.ts b/src/router/modules/index.ts index 3840b989..5363caf2 100644 --- a/src/router/modules/index.ts +++ b/src/router/modules/index.ts @@ -1,5 +1,7 @@ import projectRoutes from './project.router' +import chartRoutes from './chart.route' export default { - projectRoutes + projectRoutes, + chartRoutes } \ No newline at end of file diff --git a/src/utils/page.ts b/src/utils/page.ts index cff50273..3a0393e3 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -7,7 +7,14 @@ import { docPath, giteeSourceCodePath } from '@/settings/pathConst' * * 根据名字跳转路由 * @param pageName */ -export const routerTurnByName = (pageName: string, isReplace?: boolean) => { +export const routerTurnByName = (pageName: string, isReplace?: boolean, windowOpen?: boolean) => { + if (windowOpen) { + const path = router.resolve({ + name: pageName + }) + openNewWindow(path.href) + return + } if (isReplace) { router.replace({ name: pageName @@ -38,12 +45,20 @@ export const logout = () => { routerTurnByName(PageEnum.BASE_LOGIN_NAME) } +/** + * * 新开页面 + * @param url + */ + export const openNewWindow = (url: string) => { + window.open(url, 'blank') +} + /** * * 打开项目文档 * @param url */ export const openDoc = () => { - window.open(docPath, 'blank') + openNewWindow(docPath) } /** @@ -51,13 +66,6 @@ export const openDoc = () => { * @param url */ export const openGiteeSourceCode = () => { - window.open(giteeSourceCodePath, 'blank') + openNewWindow(giteeSourceCodePath) } -/** - * * 新开页面 - * @param url - */ -export const openNewWindow = (url: string) => { - window.open(url, 'blank') -} diff --git a/src/views/chart/index.vue b/src/views/chart/index.vue new file mode 100644 index 00000000..f564af5f --- /dev/null +++ b/src/views/chart/index.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/views/project/index.vue b/src/views/project/index.vue index 162acddf..45582fb6 100644 --- a/src/views/project/index.vue +++ b/src/views/project/index.vue @@ -5,8 +5,9 @@ -
+ import { Sider } from './layout/components/Sider' -import { Header } from './layout/components/Header/index' +// import { Header } from './layout/components/Header/index' +import { HeaderPro } from '@/layout/components/HeaderPro' import { TransitionMain } from '@/layout/components/TransitionMain/index' diff --git a/src/views/project/layout/components/Create/components/CreateModal/index.ts b/src/views/project/layout/components/Create/components/CreateModal/index.ts new file mode 100644 index 00000000..6d5e114d --- /dev/null +++ b/src/views/project/layout/components/Create/components/CreateModal/index.ts @@ -0,0 +1,3 @@ +import CreateModal from './index.vue' + +export { CreateModal } diff --git a/src/views/project/layout/components/Create/components/CreateModal/index.vue b/src/views/project/layout/components/Create/components/CreateModal/index.vue new file mode 100644 index 00000000..4aa291b6 --- /dev/null +++ b/src/views/project/layout/components/Create/components/CreateModal/index.vue @@ -0,0 +1,112 @@ + + + + diff --git a/src/views/project/layout/components/Create/index.vue b/src/views/project/layout/components/Create/index.vue index 25f74cdc..340e53df 100644 --- a/src/views/project/layout/components/Create/index.vue +++ b/src/views/project/layout/components/Create/index.vue @@ -1,35 +1,40 @@