Skip to content

Commit d1ab16c

Browse files
committed
feat(member): member manage
1 parent 2155a8a commit d1ab16c

File tree

15 files changed

+1334
-23
lines changed

15 files changed

+1334
-23
lines changed

frontend/src/api/workspace.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ export const workspaceUwsDelete = (data: any) => request.delete('/system/workspa
1414
export const workspaceDelete = (data: any) => request.delete('/system/workspace', { data })
1515
export const workspaceList = () => request.get('/system/workspace')
1616
export const workspaceDetail = (id: any) => request.get(`/system/workspace/${id}`)
17+
export const uwsOption = (params: any) => request.get('system/workspace/uws/option', { params })
788 Bytes
Loading
Lines changed: 2 additions & 2 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

frontend/src/components/layout/Menu.vue

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,16 @@ const routerList = computed(() => {
2525
if (showSysmenu.value) {
2626
return router.getRoutes().filter((route) => route.path.includes('/system') && !route.redirect)
2727
}
28+
2829
return router.getRoutes().filter((route) => {
2930
return (
3031
!route.path.includes('canvas') &&
32+
!route.path.includes('member') &&
33+
!route.path.includes('permission') &&
3134
!route.path.includes('preview') &&
3235
route.path !== '/login' &&
3336
!route.path.includes('/system') &&
34-
!route.redirect &&
37+
(route.path.includes('set') || !route.redirect) &&
3538
route.path !== '/:pathMatch(.*)*' &&
3639
!route.path.includes('dsTable')
3740
)
@@ -45,17 +48,28 @@ const routerList = computed(() => {
4548
</el-menu>
4649
</template>
4750

48-
<style lang="less" scoped>
51+
<style lang="less">
4952
.ed-menu-vertical {
5053
--ed-menu-item-height: 40px;
5154
--ed-menu-bg-color: transparent;
5255
--ed-menu-base-level-padding: 4px;
5356
border-right: none;
5457
.ed-menu-item {
55-
height: 40px;
58+
height: 40px !important;
59+
border-radius: 6px !important;
60+
&.is-active {
61+
background-color: #fff !important;
62+
border-radius: 6px;
63+
}
64+
}
65+
66+
.ed-sub-menu .ed-sub-menu__title:hover {
5667
border-radius: 6px;
57-
&.is-active.is-active.is-active {
58-
background-color: #1cba901a;
68+
}
69+
70+
.ed-sub-menu.is-active {
71+
.ed-sub-menu__title {
72+
color: #1cba90 !important;
5973
}
6074
}
6175
}

frontend/src/components/layout/MenuItem.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@ import model from '@/assets/svg/icon_dataset_filled.svg'
88
import ds from '@/assets/svg/ds.svg'
99
import dashboard from '@/assets/svg/dashboard.svg'
1010
import chat from '@/assets/svg/chat.svg'
11+
import setting from '@/assets/svg/icon_setting_filled.svg'
1112
import icon_user from '@/assets/svg/icon_user.svg'
13+
1214
const iconMap = {
1315
icon_ai: model,
1416
ds,
1517
dashboard,
1618
chat,
1719
user,
20+
setting,
1821
icon_user: icon_user,
1922
workspace,
2023
} as { [key: string]: any }
@@ -38,7 +41,9 @@ const MenuItem = defineComponent({
3841
const router = useRouter()
3942
4043
const handleMenuClick = (e: any) => {
41-
router.push(e.index)
44+
if (e.index) {
45+
router.push(e.redirect || e.index)
46+
}
4247
}
4348
4449
return () => {
@@ -50,7 +55,7 @@ const MenuItem = defineComponent({
5055
if (children?.length) {
5156
return h(
5257
ElSubMenu,
53-
{ index: path, onClick: (e: any) => handleMenuClick(e) },
58+
{ index: path, onClick: () => handleMenuClick(props.menu) },
5459
{
5560
title: () => titleWithIcon(props),
5661
default: () => children.map((ele: any) => h(MenuItem, { menu: ele })),

frontend/src/i18n/en.json

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"common": {
99
"input_content": "Please Input Content",
1010
"empty": " ",
11+
"may_not_exist": "No results yet, the user may not exist",
1112
"back": "Back",
1213
"confirm": "Confirm",
1314
"cancel": "Cancel",
@@ -299,7 +300,43 @@
299300
"there_are": "There are",
300301
"2_dashboards": "{msg} dashboards",
301302
"smart_data_centers": "{msg} smart data centers",
302-
"confirm_to_delete": "This data source is in use. Deleting it will cause these resources to not work properly. Confirm to delete?"
303+
"confirm_to_delete": "This data source is in use. Deleting it will cause these resources to not work properly. Confirm to delete?",
304+
"id_account_to_add": "Search user ID/account to add",
305+
"find_user": "Find user",
306+
"add_successfully": "Add successfully",
307+
"member_management": "Member management",
308+
"permission_configuration": "Permission configuration",
309+
"set": "Set"
310+
},
311+
"permission": {
312+
"search_rule_group": "Search rule group",
313+
"add_rule_group": "Add rule group",
314+
"permission_rule": "Permission rule",
315+
"restricted_user": "Restricted user",
316+
"set_rule": "Set rule",
317+
"set_user": "Set user",
318+
"2": "{msg}",
319+
"238_people": "{msg} people",
320+
"no_permission_rule": "No permission rule",
321+
"set_permission_rule": "Set permission rule",
322+
"basic_information": "Basic information",
323+
"rule_group_name": "Rule group name",
324+
"rule_name": "Rule name",
325+
"type": "Type",
326+
"data_source": "Data source",
327+
"data_table": "Data table",
328+
"select_restricted_user": "Select restricted user",
329+
"rule_group_1": "Delete rule group: {msg}?",
330+
"no_rule": "No rule",
331+
"row_permission": "Row permission",
332+
"column_permission": "Column permission",
333+
"rule_rule_1": "Delete rule: {msg}?",
334+
"no_content": "No content",
335+
"edit_column_permission": "Edit column permission",
336+
"edit_row_permission": "Edit row permission",
337+
"add_column_permission": "Add column permission",
338+
"add_row_permission": "Add row permission",
339+
"no_fields_yet": "No fields yet"
303340
},
304341
"chat": {
305342
"chart_type": {

frontend/src/i18n/zh-CN.json

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
2-
"menu": {
2+
"menu": {
33
"Data Q&A": "智能问数",
44
"Data Connections": "数据源",
55
"Dashboard": "仪表盘",
66
"AI Model Configuration": "模型配置"
77
},
88
"common": {
99
"input_content": "请输入内容",
10+
"may_not_exist": "暂无结果,用户可能不存在",
1011
"empty": "",
1112
"back": "返回",
1213
"confirm": "确认",
@@ -319,7 +320,42 @@
319320
"there_are": "",
320321
"2_dashboards": "{msg} 个仪表板",
321322
"smart_data_centers": "{msg} 个智能问数",
322-
"confirm_to_delete": "正在使用此数据源,删除后会导致这些资源无法正常使用,确认删除?"
323+
"confirm_to_delete": "正在使用此数据源,删除后会导致这些资源无法正常使用,确认删除?",
324+
"id_account_to_add": "搜索用户ID/账号添加",
325+
"find_user": "查找用户",
326+
"add_successfully": "添加成功",
327+
"member_management": "成员管理",
328+
"permission_configuration": "权限配置",
329+
"set": "设置"
330+
},
331+
"permission": {
332+
"search_rule_group": "搜索规则组",
333+
"add_rule_group": "添加规则组",
334+
"permission_rule": "权限规则",
335+
"restricted_user": "受限用户",
336+
"set_rule": "设置规则",
337+
"set_user": "设置用户",
338+
"2": "{msg} 个",
339+
"238_people": "{msg} 人",
340+
"no_permission_rule": "暂无权限规则",
341+
"set_permission_rule": "设置权限规则",
342+
"rule_group_name": "规则组名称",
343+
"rule_name": "规则名称",
344+
"type": "类型",
345+
"data_source": "数据源",
346+
"data_table": "数据表",
347+
"select_restricted_user": "选择受限用户",
348+
"rule_group_1": "是否删除规则组:{msg}?",
349+
"no_rule": "暂无规则",
350+
"row_permission": "行权限",
351+
"column_permission": "列权限",
352+
"rule_rule_1": "是否删除规则:{msg}?",
353+
"no_content": "暂无内容",
354+
"edit_column_permission": "编辑列权限",
355+
"edit_row_permission": "编辑行权限",
356+
"add_column_permission": "添加列权限",
357+
"add_row_permission": "添加行权限",
358+
"no_fields_yet": "暂无字段"
323359
},
324360
"chat": {
325361
"chart_type": {
@@ -357,4 +393,4 @@
357393
"back_community": "还原至社区版",
358394
"confirm_tips": "确定还原至社区版?"
359395
}
360-
}
396+
}

frontend/src/router/index.ts

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { createRouter, createWebHashHistory } from 'vue-router'
2-
32
import Layout from '@/components/layout/index.vue'
43
import LayoutDsl from '@/components/layout/LayoutDsl.vue'
54
import SinglePage from '@/components/layout/SinglePage.vue'
@@ -11,10 +10,14 @@ import DashboardPreview from '@//views/dashboard/preview/SQPreviewSingle.vue'
1110
import Dashboard from '@/views/dashboard/index.vue'
1211
import Model from '@/views/system/model/Model.vue'
1312
import assistant from '@/views/embedded/assistant.vue'
14-
// import User from "@/views/system/user/index.vue";
13+
import Member from '@/views/system/member/index.vue'
14+
import Permission from '@/views/system/permission/index.vue'
1515
import User from '@/views/system/user/User.vue'
1616
import Workspace from '@/views/system/workspace/index.vue'
17+
import { i18n } from '@/i18n'
1718
import { watchRouter } from './watch'
19+
20+
const t = i18n.global.t
1821
const router = createRouter({
1922
history: createWebHashHistory(),
2023
routes: [
@@ -32,7 +35,7 @@ const router = createRouter({
3235
path: 'index',
3336
name: 'chat',
3437
component: chat,
35-
meta: { title: 'Data Q&A', icon: 'chat' },
38+
meta: { title: t('menu.Data Q&A'), icon: 'chat' },
3639
},
3740
],
3841
},
@@ -57,7 +60,7 @@ const router = createRouter({
5760
path: 'index',
5861
name: 'ds',
5962
component: Datasource,
60-
meta: { title: 'Data Connections', icon: 'ds' },
63+
meta: { title: t('menu.Data Connections'), icon: 'ds' },
6164
},
6265
],
6366
},
@@ -70,7 +73,27 @@ const router = createRouter({
7073
path: 'index',
7174
name: 'dashboard',
7275
component: Dashboard,
73-
meta: { title: 'Dashboard', icon: 'dashboard' },
76+
meta: { title: t('dashboard.dashboard'), icon: 'dashboard' },
77+
},
78+
],
79+
},
80+
{
81+
path: '/set',
82+
component: LayoutDsl,
83+
redirect: '/set/member',
84+
meta: { title: t('workspace.set'), icon: 'setting' },
85+
children: [
86+
{
87+
path: '/set/member',
88+
name: 'member',
89+
component: Member,
90+
meta: { title: t('workspace.member_management') },
91+
},
92+
{
93+
path: '/set/permission',
94+
name: 'permission',
95+
component: Permission,
96+
meta: { title: t('workspace.permission_configuration') },
7497
},
7598
],
7699
},
@@ -127,13 +150,13 @@ const router = createRouter({
127150
path: 'user',
128151
name: 'user',
129152
component: User,
130-
meta: { title: '用户管理', icon: 'user' },
153+
meta: { title: t('user.user_management'), icon: 'user' },
131154
},
132155
{
133156
path: 'workspace',
134157
name: 'workspace',
135158
component: Workspace,
136-
meta: { title: '工作空间', icon: 'workspace' },
159+
meta: { title: t('user.workspace'), icon: 'workspace' },
137160
},
138161
{
139162
path: 'model',

0 commit comments

Comments
 (0)