diff --git a/frontend/src/assets/img/none-dashboard.png b/frontend/src/assets/img/none-dashboard.png new file mode 100644 index 00000000..1c3dc6ca Binary files /dev/null and b/frontend/src/assets/img/none-dashboard.png differ diff --git a/frontend/src/assets/img/none.png b/frontend/src/assets/img/none.png index 358dfdd8..124f6804 100644 Binary files a/frontend/src/assets/img/none.png and b/frontend/src/assets/img/none.png differ diff --git a/frontend/src/assets/svg/dv-sort-asc.svg b/frontend/src/assets/svg/dv-sort-asc.svg new file mode 100644 index 00000000..253a3ce5 --- /dev/null +++ b/frontend/src/assets/svg/dv-sort-asc.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/svg/dv-sort-desc.svg b/frontend/src/assets/svg/dv-sort-desc.svg new file mode 100644 index 00000000..4b666610 --- /dev/null +++ b/frontend/src/assets/svg/dv-sort-desc.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/svg/icon_dashboard.svg b/frontend/src/assets/svg/icon_dashboard.svg index 1da45d61..7fd632b9 100644 --- a/frontend/src/assets/svg/icon_dashboard.svg +++ b/frontend/src/assets/svg/icon_dashboard.svg @@ -1,4 +1,6 @@ - - + + + + diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index a267e7d4..6ec465da 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -31,6 +31,16 @@ "password_reset_successful": "Password reset successful" }, "dashboard": { + "rename_dashboard": "Rename Dashboard", + "dashboard_name": "Dashboard Name", + "select_dashboard_tips": "Please select a dashboard on the left", + "no_dashboard": "No Dashboards", + "no_dashboard_info": "No content yet, click the button below to add", + "search": "Search", + "time_asc": "Sort by Time (Ascending)", + "time_desc": "Sort by Time (Descending)", + "name_asc": "Sort by Name (Ascending)", + "name_desc": "Sort by Name (Descending)", "select_dashboard": "Please Select Dashboard", "view": "View", "text": "Text", @@ -336,4 +346,4 @@ "back_community": "Restore to Community Edition", "confirm_tips": "Are you sure to restore to Community Edition?" } -} \ No newline at end of file +} diff --git a/frontend/src/i18n/zh-CN.json b/frontend/src/i18n/zh-CN.json index 66bb2feb..86fe0fbb 100644 --- a/frontend/src/i18n/zh-CN.json +++ b/frontend/src/i18n/zh-CN.json @@ -33,6 +33,16 @@ "password_reset_successful": "重置密码成功" }, "dashboard": { + "rename_dashboard": "重命名仪表板", + "dashboard_name": "仪表板名称", + "select_dashboard_tips": "请在左侧选择仪表板", + "no_dashboard": "暂无仪表板", + "no_dashboard_info": "暂无内容,点击下列按钮进行添加", + "search": "搜索", + "time_asc": "按时间升序", + "time_desc": "按时间降序", + "name_asc": "按名称升序", + "name_desc": "按名称降序", "select_dashboard": "请选择仪表板", "name": "名称", "view": "图表", diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 2df029b4..5607be38 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,5 +1,5 @@ import { createRouter, createWebHashHistory } from 'vue-router' - +// @ts-expect-error eslint-disable-next-line @typescript-eslint/ban-ts-comment import Layout from '@/components/layout/index.vue' import LayoutDsl from '@/components/layout/LayoutDsl.vue' import SinglePage from '@/components/layout/SinglePage.vue' @@ -11,7 +11,6 @@ import DashboardPreview from '@//views/dashboard/preview/SQPreviewSingle.vue' import Dashboard from '@/views/dashboard/index.vue' import Model from '@/views/system/model/Model.vue' import assistant from '@/views/embedded/assistant.vue' -// import User from "@/views/system/user/index.vue"; import User from '@/views/system/user/User.vue' import Workspace from '@/views/system/workspace/index.vue' import { watchRouter } from './watch' @@ -63,7 +62,7 @@ const router = createRouter({ }, { path: '/dashboard', - component: Layout, + component: LayoutDsl, redirect: '/dashboard/index', children: [ { diff --git a/frontend/src/views/dashboard/common/EmptyBackground.vue b/frontend/src/views/dashboard/common/EmptyBackground.vue index f87aa97d..e6f894fd 100644 --- a/frontend/src/views/dashboard/common/EmptyBackground.vue +++ b/frontend/src/views/dashboard/common/EmptyBackground.vue @@ -3,6 +3,7 @@ import { type PropType } from 'vue' import nothingInput from '@/assets/img/nothing-input.png' import nothingSelect from '@/assets/img/nothing-select.png' import nothingTable from '@/assets/img/nothing-table.png' +import nothingSelectDashoard from '@/assets/img/none-dashboard.png' import none from '@/assets/img/none.png' import error from '@/assets/img/error.png' import nothingTree from '@/assets/img/nothing-tree.png' @@ -10,7 +11,7 @@ import nothingNone from '@/assets/img/nothing-none.png' defineProps({ imgType: { type: String as PropType< - 'input' | 'select' | 'table' | 'none' | 'noneWhite' | 'tree' | 'error' + 'input' | 'select' | 'table' | 'none' | 'noneWhite' | 'tree' | 'error' | 'selectDashboard' >, default: 'table', }, @@ -29,6 +30,7 @@ const getAssetsFile = { table: nothingTable, noneWhite: nothingNone, tree: nothingTree, + selectDashboard: nothingSelectDashoard, error, none, } diff --git a/frontend/src/views/dashboard/common/ResourceGroupOpt.vue b/frontend/src/views/dashboard/common/ResourceGroupOpt.vue index 91e971a9..ac988a1d 100644 --- a/frontend/src/views/dashboard/common/ResourceGroupOpt.vue +++ b/frontend/src/views/dashboard/common/ResourceGroupOpt.vue @@ -14,7 +14,7 @@ const state = reactive({ placeholder: '', nodeType: 'folder', parentSelect: false, - resourceFormNameLabel: t('dashboard.name'), + resourceFormNameLabel: t('dashboard.dashboard_name'), dialogTitle: '', tData: [], tDataSource: [], @@ -30,7 +30,7 @@ const getTitle = (opt: string) => { case 'newFolder': return t('dashboard.new_folder') case 'rename': - return t('dashboard.rename') + return t('dashboard.rename_dashboard') default: return } diff --git a/frontend/src/views/dashboard/common/ResourceTree.vue b/frontend/src/views/dashboard/common/ResourceTree.vue index 61d6b849..6a4c7c4e 100644 --- a/frontend/src/views/dashboard/common/ResourceTree.vue +++ b/frontend/src/views/dashboard/common/ResourceTree.vue @@ -1,15 +1,16 @@