diff --git a/nezha-fronted/src/assets/css/main.css b/nezha-fronted/src/assets/css/main.css index 11deb373c..a4c25ba6a 100644 --- a/nezha-fronted/src/assets/css/main.css +++ b/nezha-fronted/src/assets/css/main.css @@ -267,7 +267,7 @@ html { } /*此处自定义弹框尺寸,不同功能可能需要的尺寸不一样,需自行添加*/ -.right-box-account, .right-box-prom, .right-box-alert-config, .right-box-project, .right-box-module, .right-box-edit-endpoint { +.right-box-account, .right-box-prom, .right-box-alert-config, .right-box-project, .right-box-module, .right-box-edit-endpoint ,.right-box-panel { width: 520px; height: calc(100% - 100px); } diff --git a/nezha-fronted/src/components/common/header.vue b/nezha-fronted/src/components/common/header.vue index d37a91dfe..dd65b80bb 100644 --- a/nezha-fronted/src/components/common/header.vue +++ b/nezha-fronted/src/components/common/header.vue @@ -23,11 +23,17 @@ - - - {{$t('overall.dashboard')}} - - + + + {{$t('overall.dashboard')}} + + + {{$t('dashboard.panel.title')}} + + + {{$t('dashboard.metricPreview.title')}} + + {{$t('overall.project')}} diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index 8396fba6c..92533f849 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -16,6 +16,23 @@ const cn = { add: '新增', option: "操作" }, + dashboard:{ + title:'仪表盘', + panel:{ + title:'看板', + //侧滑框 + createPanelTitle: "创建面板", + createPanelTitleSec:"创建新面板", + editPanelTitle: "编辑面板", + panelForm:{ + panelName:"面板名称" , + panelId:"ID" + } + }, + metricPreview:{ + title:'指标预览', + } + }, asset: { tableTitle: { id: 'ID', diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 99b1425e3..2067495b1 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -21,6 +21,24 @@ const en = { cover: 'Cover', signOut: 'Sign Out' }, + dashboard:{ + title:'Dashboard', + panel:{ + title:'Panel', + //侧滑框 + createPanelTitle: "Create Panel", + createPanelTitleSec:"Create New Panel", + editPanelTitle: "Panel", + panelForm:{ + panelName:"Panel Name", + panelId:"ID" + } + }, + metricPreview:{ + title:'MetricPreview', + } + }, + search: { searchTip: 'Press Enter or click to search', recentSearch: 'Recent Searches', diff --git a/nezha-fronted/src/components/page/dashboard/metricPreview.vue b/nezha-fronted/src/components/page/dashboard/metricPreview.vue new file mode 100644 index 000000000..9f1ac12fa --- /dev/null +++ b/nezha-fronted/src/components/page/dashboard/metricPreview.vue @@ -0,0 +1,49 @@ + + + + + {{$t('dashboard.title')}} + + {{$t('dashboard.panel.title')}} + {{$t('dashboard.metricPreview.title')}} + + + + + + + + + + diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue new file mode 100644 index 000000000..75f773b59 --- /dev/null +++ b/nezha-fronted/src/components/page/dashboard/panel.vue @@ -0,0 +1,318 @@ + + + + + {{$t('dashboard.title')}} + + {{$t('dashboard.panel.title')}} + {{$t('dashboard.metricPreview.title')}} + + + + + + {{$t('overall.add')}} + + + + + {{$t('dashboard.panel.createPanelTitleSec')}} + + + {{item.name}} + + + + + + + + + + + + + + + + + + + + + {{$t('overall.esc')}} + + + + + + {{$t('overall.save')}} + + + + + + {{$t('overall.delete')}} + + + + + + {{rightBox.title}} + + + + + + {{$t('dashboard.panel.panelForm.panelName')}} + + + + + + + + + + {{$t('overall.cancel')}}{{panel.id == '' ? $t('overall.create') : $t('overall.save')}} + + + + + + + + + diff --git a/nezha-fronted/src/router/index.js b/nezha-fronted/src/router/index.js index 768a1ec2f..fd5f8ef0a 100644 --- a/nezha-fronted/src/router/index.js +++ b/nezha-fronted/src/router/index.js @@ -21,6 +21,14 @@ export default new Router({ path: '/dashboard', component: resolve => require(['../components/page/dashboard.vue'], resolve), }, + { + path: '/panel', + component: resolve => require(['../components/page/dashboard/panel.vue'], resolve), + }, + { + path: '/metricPreview', + component: resolve => require(['../components/page/dashboard/metricPreview.vue'], resolve), + }, { path: '/project', component: resolve => require(['../components/page/project/project.vue'], resolve),