From cb318d3ee60bc11c2e254d3e15f0a042526e96d8 Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Wed, 15 Nov 2023 17:42:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BA=94=E7=94=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/components/common-list/index.vue | 50 ++++++ ui/src/components/index.ts | 2 + ui/src/router/modules/application.ts | 66 +++++++- ui/src/router/modules/setting.ts | 12 ++ ui/src/styles/app.scss | 2 - ui/src/styles/variables.scss | 4 +- ui/src/views/app/index.vue | 8 - ui/src/views/application/AppOverview.vue | 8 + ui/src/views/application/AppSetting.vue | 8 + .../views/application/CreateApplication.vue | 8 + ui/src/views/application/DialogLog.vue | 8 + ui/src/views/application/index.vue | 148 ++++++++++++++++++ ui/src/views/setting/index.vue | 82 ++++------ ui/src/views/template/index.vue | 44 ++++++ 14 files changed, 386 insertions(+), 64 deletions(-) create mode 100644 ui/src/components/common-list/index.vue delete mode 100644 ui/src/views/app/index.vue create mode 100644 ui/src/views/application/AppOverview.vue create mode 100644 ui/src/views/application/AppSetting.vue create mode 100644 ui/src/views/application/CreateApplication.vue create mode 100644 ui/src/views/application/DialogLog.vue create mode 100644 ui/src/views/application/index.vue create mode 100644 ui/src/views/template/index.vue diff --git a/ui/src/components/common-list/index.vue b/ui/src/components/common-list/index.vue new file mode 100644 index 000000000..a214a027a --- /dev/null +++ b/ui/src/components/common-list/index.vue @@ -0,0 +1,50 @@ + + + diff --git a/ui/src/components/index.ts b/ui/src/components/index.ts index 0173c4248..1a35fe13a 100644 --- a/ui/src/components/index.ts +++ b/ui/src/components/index.ts @@ -11,6 +11,7 @@ import BackButton from './back-button/index.vue' import AppTable from './app-table/index.vue' import ReadWrite from './read-write/index.vue' import TagEllipsis from './tag-ellipsis/index.vue' +import CommonList from './common-list/index.vue' export default { install(app: App) { @@ -26,5 +27,6 @@ export default { app.component(AppTable.name, AppTable) app.component(ReadWrite.name, ReadWrite) app.component(TagEllipsis.name, TagEllipsis) + app.component(CommonList.name, CommonList) } } diff --git a/ui/src/router/modules/application.ts b/ui/src/router/modules/application.ts index 30b2844ae..da630133d 100644 --- a/ui/src/router/modules/application.ts +++ b/ui/src/router/modules/application.ts @@ -1,8 +1,68 @@ +import Layout from '@/layout/main-layout/index.vue' const applicationRouter = { - path: '/app', - name: 'app', + path: '/application', + name: 'application', meta: { icon: 'app-applicaiton', title: '应用', permission: 'APPLICATION:READ' }, - component: () => import('@/views/app/index.vue') + redirect: '/application', + children: [ + { + path: '/application', + name: 'application', + component: () => import('@/views/application/index.vue') + }, + { + path: '/application/create', // create + name: 'CreateApplication', + meta: { activeMenu: '/application' }, + component: () => import('@/views/application/CreateApplication.vue'), + hidden: true + }, + { + path: '/application/:appId', + name: 'ApplicationDetail', + meta: { title: '应用详情', activeMenu: '/application' }, + component: Layout, + hidden: true, + children: [ + { + path: 'overview', + name: 'AppOverview', + meta: { + icon: 'Document', + title: '概览', + active: 'overview', + parentPath: '/application/:appId', + parentName: 'ApplicationDetail' + }, + component: () => import('@/views/application/AppOverview.vue') + }, + { + path: 'setting', + name: 'AppSetting', + meta: { + icon: 'Setting', + title: '设置', + active: 'setting', + parentPath: '/application/:appId', + parentName: 'ApplicationDetail' + }, + component: () => import('@/views/application/AppSetting.vue') + }, + { + path: 'dialog', + name: 'DialogLog', + meta: { + icon: 'Setting', + title: '对话日志', + active: 'dialog', + parentPath: '/application/:appId', + parentName: 'ApplicationDetail' + }, + component: () => import('@/views/application/DialogLog.vue') + } + ] + }, + ] } export default applicationRouter diff --git a/ui/src/router/modules/setting.ts b/ui/src/router/modules/setting.ts index 48124a9a3..ac1c26490 100644 --- a/ui/src/router/modules/setting.ts +++ b/ui/src/router/modules/setting.ts @@ -16,6 +16,18 @@ const settingRouter = { parentName: 'setting' }, component: () => import('@/views/setting/index.vue') + }, + { + path: '/template', + name: 'template', + meta: { + icon: 'app-team', + title: '模版管理', + activeMenu: '/setting', + parentPath: '/setting', + parentName: 'setting' + }, + component: () => import('@/views/template/index.vue') } ] } diff --git a/ui/src/styles/app.scss b/ui/src/styles/app.scss index 07274de75..fbe03752a 100644 --- a/ui/src/styles/app.scss +++ b/ui/src/styles/app.scss @@ -292,5 +292,3 @@ h4 { .primary { color: var(--el-color-primary); } - - diff --git a/ui/src/styles/variables.scss b/ui/src/styles/variables.scss index d07549c49..81869b6d8 100644 --- a/ui/src/styles/variables.scss +++ b/ui/src/styles/variables.scss @@ -29,8 +29,8 @@ --card-min-height: 160px; --card-min-width: 220px; - /** team */ - --team-manage-left-width: 280px; + /** setting */ + --setting-left-width: 280px; /** dataset */ --create-dataset-height: calc( diff --git a/ui/src/views/app/index.vue b/ui/src/views/app/index.vue deleted file mode 100644 index 18c16060e..000000000 --- a/ui/src/views/app/index.vue +++ /dev/null @@ -1,8 +0,0 @@ - - - \ No newline at end of file diff --git a/ui/src/views/application/AppOverview.vue b/ui/src/views/application/AppOverview.vue new file mode 100644 index 000000000..77958af25 --- /dev/null +++ b/ui/src/views/application/AppOverview.vue @@ -0,0 +1,8 @@ + + + diff --git a/ui/src/views/application/AppSetting.vue b/ui/src/views/application/AppSetting.vue new file mode 100644 index 000000000..c0782e516 --- /dev/null +++ b/ui/src/views/application/AppSetting.vue @@ -0,0 +1,8 @@ + + + diff --git a/ui/src/views/application/CreateApplication.vue b/ui/src/views/application/CreateApplication.vue new file mode 100644 index 000000000..9e07d9608 --- /dev/null +++ b/ui/src/views/application/CreateApplication.vue @@ -0,0 +1,8 @@ + + + diff --git a/ui/src/views/application/DialogLog.vue b/ui/src/views/application/DialogLog.vue new file mode 100644 index 000000000..fc871dfdd --- /dev/null +++ b/ui/src/views/application/DialogLog.vue @@ -0,0 +1,8 @@ + + + diff --git a/ui/src/views/application/index.vue b/ui/src/views/application/index.vue new file mode 100644 index 000000000..cf3b4bb81 --- /dev/null +++ b/ui/src/views/application/index.vue @@ -0,0 +1,148 @@ + + + + \ No newline at end of file diff --git a/ui/src/views/setting/index.vue b/ui/src/views/setting/index.vue index 9da493e52..c8784b35e 100644 --- a/ui/src/views/setting/index.vue +++ b/ui/src/views/setting/index.vue @@ -11,40 +11,34 @@
-
- -
    - +
@@ -181,9 +175,9 @@ function isManage(type: String) { return type === 'manage' } -function clickMemberHandle(id: String) { - currentUser.value = id - MemberPermissions(id) +function clickMemberHandle(item: any) { + currentUser.value = item.id + MemberPermissions(item.id) } function addMember() { CreateMemberRef.value?.open() @@ -223,23 +217,13 @@ onMounted(() => { } .team-member { box-sizing: border-box; - width: var(--team-manage-left-width); - min-width: var(--team-manage-left-width); - .member-list { - li { - padding: 11px 16px; - &.active { - background: var(--el-color-primary-light-9); - border-radius: 4px; - color: var(--el-color-primary); - } - } - } + width: var(--setting-left-width); + min-width: var(--setting-left-width); } .permission-setting { box-sizing: border-box; - width: calc(100% - var(--team-manage-left-width)); + width: calc(100% - var(--setting-left-width)); flex-direction: column; } diff --git a/ui/src/views/template/index.vue b/ui/src/views/template/index.vue new file mode 100644 index 000000000..8ee68f28a --- /dev/null +++ b/ui/src/views/template/index.vue @@ -0,0 +1,44 @@ + + + + +