@@ -15,7 +15,7 @@
+
+
\ No newline at end of file
diff --git a/frontend/src/views/system/user/form.vue b/frontend/src/views/system/user/form.vue
deleted file mode 100644
index b3d5fcfe98..0000000000
--- a/frontend/src/views/system/user/form.vue
+++ /dev/null
@@ -1,352 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.man') }}
- {{ $t('commons.woman') }}
-
-
-
-
- {{ $t('commons.enable') }}
- {{ $t('commons.disable') }}
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.confirm') }}
- {{ $t('commons.reset') }}
-
-
-
-
- {{ $t('commons.default_pwd') + ':' + defaultPWD }}
-
- {{ $t('commons.copy') }}
-
-
-
-
-
-
-
-
-
-
diff --git a/frontend/src/views/system/user/index.vue b/frontend/src/views/system/user/index.vue
index 1c7486137e..3ee38f3059 100644
--- a/frontend/src/views/system/user/index.vue
+++ b/frontend/src/views/system/user/index.vue
@@ -1,142 +1,212 @@
-
-
-
- {{ $t('user.create') }}
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.from === 0 ? 'LOCAL' : scope.row.from === 1 ? 'LDAP' : 'OIDC' }}
-
-
-
-
-
-
- {{ scope.row.dept && scope.row.dept.deptName }}
-
-
-
-
-
-
-
-
-
-
{{ role.roleName }}
-
...
-
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.createTime | timestampFormatDate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.man') }}
- {{ $t('commons.woman') }}
-
-
-
-
- {{ $t('commons.enable') }}
- {{ $t('commons.disable') }}
-
-
-
-
-
-
-
+
+
+ {{ $t("user.create") }}
+
+
+
+
+ 筛选
+
+ 列表项
-
-
-
-
-
-
+
+ 请选择列表中要展示的信息
+ 全选
+
+ {{
+ $t(column.label)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.from === 0
+ ? "LOCAL"
+ : scope.row.from === 1
+ ? "LDAP"
+ : "OIDC"
+ }}
+
+
+
+
+
+
+ {{ scope.row.dept && scope.row.dept.deptName || "-" }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.createTime | timestampFormatDate }}
+
+
+
+
+
+ {{ $t("commons.edit") }}
+
+
+ 是否恢复为初始密码?
+
+ {{
+ $t("commons.default_pwd") + ":" + defaultPWD
+ }}
+
+ {{ $t("commons.copy") }}
+
+
+
+
+ {{ $t("member.edit_password") }}
+
+ {{ $t("commons.delete") }}
+
+
+
+
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/views/system/user/userEditer.vue b/frontend/src/views/system/user/userEditer.vue
new file mode 100644
index 0000000000..d416887bb0
--- /dev/null
+++ b/frontend/src/views/system/user/userEditer.vue
@@ -0,0 +1,578 @@
+
+
+
+
+
+ {{
+ $t("commons.default_pwd") + ":" + defaultPWD
+ }}
+
+ {{ $t("commons.copy") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From c3326875d1260262b7496fab63051a810d8fb3d4 Mon Sep 17 00:00:00 2001
From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com>
Date: Thu, 21 Jul 2022 15:59:39 +0800
Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E7=94=A8=E6=88=B7=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E4=BC=98=E5=8C=96=20=E4=BE=A7=E8=BE=B9=E5=AF=BC?=
=?UTF-8?q?=E8=88=AA=E6=A0=8F=E4=BC=98=E5=8C=96=20=E6=B7=BB=E5=8A=A0babel?=
=?UTF-8?q?=E5=8F=AF=E9=80=89=E9=93=BE=E6=94=AF=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/babel.config.js | 3 +-
frontend/package.json | 1 +
.../src/components/AsyncComponent/index.vue | 48 +-
frontend/src/components/back-button/index.vue | 4 +-
.../components/business/DeLayoutContent.vue | 82 ++
.../components/dataease/DeAsideContainer.vue | 22 +-
frontend/src/components/gridTable/index.vue | 223 ++++
.../src/components/gridTable/tableBody.vue | 24 +
frontend/src/icons/svg/field_time.svg | 5 +-
frontend/src/lang/en.js | 84 +-
frontend/src/lang/tw.js | 83 +-
frontend/src/lang/zh.js | 89 +-
.../src/layout/components/Sidebar/index.vue | 135 +-
frontend/src/layout/index.vue | 7 +-
frontend/src/styles/variables.scss | 1 +
frontend/src/views/panel/template/index.vue | 2 +-
frontend/src/views/system/plugin/dynamic.vue | 12 +-
frontend/src/views/system/user/filterUser.vue | 363 ++++++
frontend/src/views/system/user/form.vue | 352 -----
frontend/src/views/system/user/index.vue | 1144 ++++++++++-------
frontend/src/views/system/user/userEditer.vue | 578 +++++++++
21 files changed, 2413 insertions(+), 849 deletions(-)
create mode 100644 frontend/src/components/business/DeLayoutContent.vue
create mode 100644 frontend/src/components/gridTable/index.vue
create mode 100644 frontend/src/components/gridTable/tableBody.vue
create mode 100644 frontend/src/views/system/user/filterUser.vue
delete mode 100644 frontend/src/views/system/user/form.vue
create mode 100644 frontend/src/views/system/user/userEditer.vue
diff --git a/frontend/babel.config.js b/frontend/babel.config.js
index ba179669a1..119f81f9ee 100644
--- a/frontend/babel.config.js
+++ b/frontend/babel.config.js
@@ -1,5 +1,6 @@
module.exports = {
presets: [
'@vue/app'
- ]
+ ],
+ plugins: ['@babel/plugin-proposal-optional-chaining']
}
diff --git a/frontend/package.json b/frontend/package.json
index ff69f74ec5..c42f945220 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -76,6 +76,7 @@
},
"devDependencies": {
"@babel/core": "^7.4.0-0",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.6",
"@babel/register": "7.0.0",
"@vue/cli-plugin-babel": "3.6.0",
"@vue/cli-plugin-eslint": "^3.9.1",
diff --git a/frontend/src/components/AsyncComponent/index.vue b/frontend/src/components/AsyncComponent/index.vue
index b1d4964692..9e1e53a1ae 100644
--- a/frontend/src/components/AsyncComponent/index.vue
+++ b/frontend/src/components/AsyncComponent/index.vue
@@ -11,7 +11,6 @@
+
+
diff --git a/frontend/src/components/dataease/DeAsideContainer.vue b/frontend/src/components/dataease/DeAsideContainer.vue
index 7b53d3a455..25ea438df6 100644
--- a/frontend/src/components/dataease/DeAsideContainer.vue
+++ b/frontend/src/components/dataease/DeAsideContainer.vue
@@ -5,7 +5,7 @@
:style="{'margin-left': !asideHidden ? 0 : '-' + currentWidth}"
>
-
+
@@ -20,6 +20,10 @@ export default {
type: String,
default: '260px'
},
+ isCollapseWidth: {
+ type: String,
+ default: ''
+ },
enableAsideHidden: {
type: Boolean,
default: true
@@ -28,6 +32,10 @@ export default {
type: Boolean,
default: true
},
+ isTemplate: {
+ type: Boolean,
+ default: false
+ },
type: {
type: String,
default: null
@@ -40,7 +48,11 @@ export default {
},
computed: {
currentWidth() {
- return this.type && getLayout(this.type) || this.width
+ return this.isCollapseWidth || this.type && getLayout(this.type) || this.width
+ },
+ isSystem() {
+ // 系统管理不需要拖拽菜单
+ return this.isTemplate || (!this.$route.fullPath.includes('system') && this.showDragBar)
}
}
}
@@ -50,15 +62,19 @@ export default {
.ms-aside-container {
/* border: 1px solid #E6E6E6; */
- padding: 10px;
border-radius: 2px;
box-sizing: border-box;
background-color: var(--SiderBG, #FFF);
height: calc(100vh - 56px);
border-right: 0px;
position: relative;
+ padding-bottom: 50px;
}
+ /* .collapse-style {
+ height: calc(100vh - 56px);
+ } */
+
.hiddenBottom {
width: 8px;
height: 50px;
diff --git a/frontend/src/components/gridTable/index.vue b/frontend/src/components/gridTable/index.vue
new file mode 100644
index 0000000000..711977679f
--- /dev/null
+++ b/frontend/src/components/gridTable/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/gridTable/tableBody.vue b/frontend/src/components/gridTable/tableBody.vue
new file mode 100644
index 0000000000..f34a63a077
--- /dev/null
+++ b/frontend/src/components/gridTable/tableBody.vue
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/frontend/src/icons/svg/field_time.svg b/frontend/src/icons/svg/field_time.svg
index 3a2e07c6ff..77a79164c4 100644
--- a/frontend/src/icons/svg/field_time.svg
+++ b/frontend/src/icons/svg/field_time.svg
@@ -1 +1,4 @@
-
+
\ No newline at end of file
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index 6dbcdf12a3..6cfe191bcb 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -131,9 +131,13 @@ export default {
default_login: 'Normal'
},
commons: {
+ manage_member: 'Managing members',
+ user_confirm_remove_cancel:'Are you sure you want to remove the user from the role?',
+ confirm_remove_cancel: 'Are you sure to delete the role?',
default_value: 'Default Value',
params_value: 'Param Value',
publish: 'publish',
+ input_role_name: 'Enter a role name',
unpublished: 'unpublished',
default_pwd: 'Default Pwd',
stop: 'Stop',
@@ -159,6 +163,7 @@ export default {
button: 'Button',
man: 'Man',
woman: 'Woman',
+ keep_secret: 'keep secret',
nick_name: 'Name',
confirmPassword: 'Confirm Password',
upload: 'Upload',
@@ -210,6 +215,8 @@ export default {
member: 'Member',
email: 'Email',
phone: 'Phone',
+ mobile_phone: 'Please enter your mobile phone number',
+ mobile_phone_number: 'Phone number',
role: 'Role',
personal_info: 'Personal Info',
api_keys: 'API Keys',
@@ -503,7 +510,7 @@ export default {
please_choose_member: 'Please choose member',
search_by_name: 'Search by name',
modify_personal_info: 'Modify personal info',
- edit_password: 'Edit Password',
+ edit_password: 'Reset Password',
edit_information: 'Edit Information',
input_name: 'Input Name',
input_email: 'Input Email',
@@ -525,6 +532,12 @@ export default {
modify: 'Modify User',
input_name: 'Please enter user name',
input_id: 'Please enter user ID',
+ id_mandatory: 'id is mandatory',
+ name_mandatory: 'name is mandatory',
+ email_mandatory: 'email is mandatory',
+ role_mandatory: 'role is mandatory',
+ phone_format: 'mobile phone number format is incorrect',
+ select_gender: 'Please select gender',
input_email: 'Please input email',
input_password: 'Please input a password',
input_phone: 'Please enter the phone number',
@@ -536,7 +549,8 @@ export default {
apikey_delete_confirm: 'Confirm to delete this API key?',
input_id_placeholder: 'Please enter ID (Chinese is not supported)',
source: 'User Source',
- choose_org: 'Choose Organization',
+ choose_org: 'Please select a role',
+ choose_role: '请选择角色',
reset_password: 'Reset Password',
current_user: 'Current User',
origin_passwd: 'Origin Password',
@@ -601,7 +615,20 @@ export default {
confirm_delete: 'Confirm delete role ',
role_name: 'Role Name ',
search_by_name: 'Search by name',
- pls_input_name: 'please input name'
+ pls_input_name: 'please input name',
+ search_by_name_email: 'Search by name or email',
+ api_role: 'API role',
+ role_exist: 'Failed to add, the role already exists',
+ add_api_role: 'Add API role',
+ can_not_move: `Can't be removed, keep at least one administrator`,
+ manage_can_not_move: 'Administrator is a preset role of the system. By default, he has all the permissions of system management and cannot be deleted',
+ manage_can_not_update: 'Administrator is a preset role of the system. By default, he has all the permissions of system management and cannot be edit',
+ role_name: 'Role name',
+ role_description: 'Role description',
+ editer_role: 'Edit role',
+ add_role: 'Add role',
+ role_name_exist: 'The role name already exists',
+ search_by_role: 'Search by role name',
},
menu: {
parent_category: 'Parent Category',
@@ -636,7 +663,26 @@ export default {
select_organization: 'Please select organization',
search_by_name: 'Search by name',
special_characters_are_not_supported: 'Format error (special characters are not supported and cannot start and end with \'-\')',
- select: 'Select organization'
+ select: 'Select organization',
+ member: 'member',
+ organization: 'organization',
+ add_user: 'Add user',
+ search_by_name: 'Search by organization name',
+ sure_move_user: 'Are you sure to remove this user from the organization?',
+ move_success: 'Removed successfully',
+ user: 'user',
+ add_organization: 'Add organization',
+ defalut_organization_canot_move: 'The default organization cannot be deleted',
+ organization_name: 'Organization name',
+ input_organization_name: 'Please enter the organization name',
+ relate_top_organization: 'Associated parent organization',
+ organization_name_exist: 'Organization name already exists',
+ canot_delete: 'Cannot delete',
+ remove_user_first: 'Please remove all users in the organization before deleting the organization',
+ sure_delete_organization: 'Are you sure to delete this organization?',
+ delete: 'delete',
+ add_child_org: 'Add sub organization',
+ edite_organization: 'Edit organization',
},
system_parameter_setting: {
mailbox_service_settings: 'Mail Settings',
@@ -1834,6 +1880,7 @@ export default {
dept: 'Dept',
role: 'Role',
user: 'User',
+ set_rules: 'Set rules',
sysParams_type: {
user_id: 'User ID',
user_name: 'User Name',
@@ -1857,7 +1904,34 @@ export default {
view: 'View',
use: 'Use',
export: 'Export',
- manage: 'Manage'
+ manage: 'Manage',
+ row_column: 'Row and column permission settings',
+ row_permission: 'Row permission rules',
+ enable_row: 'Enable row permissions',
+ add_condition: 'Add condition',
+ add_relationship: 'Add relationship',
+ white_list: 'White list',
+ white_user_not: 'The above permission rules do not take effect for white list users',
+ organization_or_role: 'Please select an organization or role',
+ column_permission: 'Column permission rule',
+ enable_column: 'Enable column permissions',
+ search_by_field: 'Search by field name',
+ add_condition: 'Add condition',
+ add_relationship: 'Add relationship',
+ filter_fields: 'Filter fields',
+ selct_filter_fields: 'Please select a filter field',
+ enter_keywords: 'Please enter keywords',
+ screen_method: 'Screening method',
+ select: 'Please select',
+ fixed_value: 'Fixed value',
+ defalut_method: 'Default condition',
+ select_all: 'Select all',
+ added: 'Added',
+ manual_input: 'Manual input',
+ please_fill: 'Please fill in one line and add 500 at most. Duplicate options and added options will be automatically filtered when identifying and entering',
+ close: 'close',
+ add: 'add to',
+ sure: 'determine',
},
about: {
auth_to: 'Authorized to',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index ad13363808..7d8a88d4c5 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -131,9 +131,13 @@ export default {
default_login: '普通登錄'
},
commons: {
+ manage_member: '管理成員',
+ user_confirm_remove_cancel: '確定將該用戶從角色中移除嗎?',
+ confirm_remove_cancel: '確定刪除該角色嗎?',
default_value: '默認值',
params_value: '参数值',
publish: '發布',
+ input_role_name: '請輸入角色名稱',
unpublished: '取消發布',
default_pwd: '初始密碼',
stop: '停止',
@@ -159,6 +163,7 @@ export default {
gender: '性別',
man: '男',
woman: '女',
+ keep_secret: '保密',
nick_name: '姓名',
confirmPassword: '確認密碼',
upload: '上傳',
@@ -210,6 +215,8 @@ export default {
member: '成員',
email: '郵箱',
phone: '電話',
+ mobile_phone: '請輸入手機號',
+ mobile_phone_number: '手機號碼',
role: '角色',
personal_info: '個人信息',
api_keys: 'API Keys',
@@ -503,7 +510,7 @@ export default {
please_choose_member: '請選擇成員',
search_by_name: '根據名稱搜索',
modify_personal_info: '修改個人信息',
- edit_password: '修改密碼',
+ edit_password: '重置密码',
edit_information: '編輯信息',
input_name: '請輸入名稱',
input_email: '請輸入郵箱',
@@ -525,6 +532,12 @@ export default {
modify: '修改用戶',
input_name: '請輸入用戶姓名',
input_id: '請輸入ID',
+ id_mandatory: 'ID為必填',
+ name_mandatory: '姓名為必填',
+ email_mandatory: '郵箱為必填',
+ role_mandatory: '角色為必填',
+ phone_format: '手機號碼格式錯誤',
+ select_gender: '請選擇性別',
input_email: '請輸入郵箱',
input_password: '請輸入密碼',
input_phone: '請輸入電話號碼',
@@ -537,7 +550,7 @@ export default {
apikey_delete_confirm: '這個 API Key 確定要刪除嗎?',
input_id_placeholder: '請輸入ID (不支持中文)',
source: '用戶來源',
- choose_org: '選擇組織',
+ choose_org: '請選擇組織',
reset_password: '重置密碼',
current_user: '當前用戶',
origin_passwd: '原始密碼',
@@ -603,7 +616,20 @@ export default {
confirm_delete: '確認刪除角色 ',
role_name: '角色名稱',
search_by_name: '按名稱搜索',
- pls_input_name: '請輸入名稱'
+ pls_input_name: '請輸入名稱',
+ search_by_name_email: '通過姓名或郵箱搜索',
+ api_role: 'API角色',
+ role_exist: '添加失敗,該角色已存在',
+ add_api_role: '添加API角色',
+ can_not_move: '不可移除,至少保留一位管理員',
+ manage_can_not_move: '管理員是系統預置角色,默認擁有系統管理全部權限,無法刪除',
+ manage_can_not_update: '管理員是系統預置角色,默認擁有系統管理全部權限,無法編輯',
+ role_name: '角色名稱',
+ role_description: '角色描述',
+ editer_role: '編輯角色',
+ add_role: '添加角色',
+ role_name_exist: '該角色名稱已存在',
+ search_by_role: '通過角色名稱搜索',
},
menu: {
parent_category: '上級目錄',
@@ -638,7 +664,26 @@ export default {
select_organization: '請選擇組織',
search_by_name: '根據名稱搜索',
special_characters_are_not_supported: '格式錯誤(不支持特殊字符,且不能以\'-\'開頭結尾)',
- select: '選擇組織'
+ select: '選擇組織',
+ member: '成員',
+ organization: '組織',
+ add_user: '添加用戶',
+ search_by_name: '通過組織名稱搜索',
+ sure_move_user: '確定將該用戶從組織中移除嗎?',
+ move_success: '移除成功',
+ user: '用戶',
+ add_organization: '添加組織',
+ defalut_organization_canot_move: '默認組織無法刪除',
+ organization_name: '組織名稱',
+ input_organization_name: '請輸入組織名稱',
+ relate_top_organization: '關聯上級組織',
+ organization_name_exist: '組織名稱已存在',
+ canot_delete: '無法刪除',
+ remove_user_first: '請先移除組織中所有用戶,再進行刪除組織操作。',
+ sure_delete_organization: '確定刪除該組織嗎?',
+ delete: '刪除',
+ add_child_org: '添加子組織',
+ edite_organization: '編輯組織',
},
system_parameter_setting: {
mailbox_service_settings: '郵件設置',
@@ -1844,6 +1889,7 @@ export default {
dept: '組織',
role: '角色',
user: '用戶',
+ set_rules: '設置規則',
sysParams: '系統變量',
sysParams_type: {
user_id: '用戶ID',
@@ -1869,7 +1915,34 @@ export default {
view: '查看',
use: '使用',
export: '導出',
- manage: '管理'
+ manage: '管理',
+ row_column: '行列權限設置',
+ row_permission: '行權限規則',
+ enable_row: '啟用行權限',
+ add_condition: '添加條件',
+ add_relationship: '添加關系',
+ white_list: '白名單',
+ white_user_not: '以上權限規則對白名單用戶不生效',
+ organization_or_role: '請選擇組織或角色',
+ column_permission: '列權限規則',
+ enable_column: '啟用列權限',
+ search_by_field: '通過字段名稱搜索',
+ add_condition: '添加條件',
+ add_relationship: '添加關系',
+ filter_fields: '篩選字段',
+ selct_filter_fields: '請選擇篩選字段',
+ enter_keywords: '請輸關鍵字',
+ screen_method: '篩選方式',
+ select: '請選擇',
+ fixed_value: '固定值',
+ defalut_method: '默認條件',
+ select_all: '全 選',
+ added: '已添加',
+ manual_input: '手工輸入',
+ please_fill: '請一行填一個,最多添加500個,識別錄入時會自動過濾重復的選項和已經添加過的選項',
+ close: '關 閉',
+ add: '添 加',
+ sure: '確 定',
},
about: {
auth_to: '授權給',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index d0776d6fa7..bb46e8a0a4 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -131,8 +131,12 @@ export default {
default_login: '普通登录'
},
commons: {
+ manage_member: '管理成员',
+ confirm_remove_cancel: '确定删除该角色吗?',
+ user_confirm_remove_cancel:'确定将该用户从角色中移除吗?',
default_value: '默认值',
params_value: '参数值',
+ input_role_name: '请输入角色名称',
publish: '发布',
unpublished: '取消发布',
default_pwd: '初始密码',
@@ -159,6 +163,7 @@ export default {
gender: '性别',
man: '男',
woman: '女',
+ keep_secret: '保密',
nick_name: '姓名',
confirmPassword: '确认密码',
upload: '上传',
@@ -211,6 +216,8 @@ export default {
member: '成员',
email: '邮箱',
phone: '电话',
+ mobile_phone: '请输入手机号',
+ mobile_phone_number: '手机号码',
role: '角色',
personal_info: '个人信息',
api_keys: 'API Keys',
@@ -504,7 +511,7 @@ export default {
please_choose_member: '请选择成员',
search_by_name: '根据名称搜索',
modify_personal_info: '修改个人信息',
- edit_password: '修改密码',
+ edit_password: '重置密码',
edit_information: '编辑信息',
input_name: '请输入名称',
input_email: '请输入邮箱',
@@ -522,15 +529,21 @@ export default {
no_such_user: '无此用户信息, 请输入正确的用户 ID 或者 用户邮箱!'
},
user: {
- create: '新建用户',
- modify: '修改用户',
- input_name: '请输入用户姓名',
+ create: '添加用户',
+ modify: '编辑用户',
+ input_name: '请输入姓名',
input_id: '请输入ID',
+ id_mandatory: 'ID为必填',
+ name_mandatory: '姓名为必填',
+ email_mandatory: '邮箱为必填',
+ role_mandatory: '角色为必填',
+ phone_format: '手机号码格式错误',
input_email: '请输入邮箱',
input_password: '请输入密码',
input_phone: '请输入电话号码',
input_roles: '请选择角色',
select_users: '请选择用户',
+ select_gender: '请选择性别',
special_characters_are_not_supported: '不支持特殊字符',
mobile_number_format_is_incorrect: '手机号码格式不正确',
email_format_is_incorrect: '邮箱格式不正确',
@@ -538,7 +551,7 @@ export default {
apikey_delete_confirm: '这个 API Key 确定要删除吗?',
input_id_placeholder: '请输入ID (不支持中文)',
source: '用户来源',
- choose_org: '选择组织',
+ choose_org: '请选择组织',
reset_password: '重置密码',
current_user: '当前用户',
origin_passwd: '原始密码',
@@ -604,7 +617,20 @@ export default {
confirm_delete: '确认删除角色 ',
role_name: '角色名称',
search_by_name: '按名称搜索',
- pls_input_name: '请输入名称'
+ pls_input_name: '请输入名称',
+ search_by_name_email: '通过姓名或邮箱搜索',
+ api_role: 'API角色',
+ role_exist: '添加失败,该角色已存在',
+ add_api_role: '添加API角色',
+ can_not_move: '不可移除,至少保留一位管理员',
+ manage_can_not_move: '管理员是系统预置角色,默认拥有系统管理全部权限,无法删除',
+ manage_can_not_update: '管理员是系统预置角色,默认拥有系统管理全部权限,无法编辑',
+ role_name: '角色名称',
+ role_description: '角色描述',
+ editer_role: '编辑角色',
+ add_role: '添加角色',
+ role_name_exist: '该角色名称已存在',
+ search_by_role: '通过角色名称搜索',
},
menu: {
parent_category: '上级目录',
@@ -639,7 +665,26 @@ export default {
select_organization: '请选择组织',
search_by_name: '根据名称搜索',
special_characters_are_not_supported: '格式错误(不支持特殊字符,且不能以\'-\'开头结尾)',
- select: '选择组织'
+ select: '选择组织',
+ member: '成员',
+ organization: '组织',
+ add_user: '添加用户',
+ search_by_name: '通过组织名称搜索',
+ sure_move_user: '确定将该用户从组织中移除吗?',
+ move_success: '移除成功',
+ user: '用户',
+ add_organization: '添加组织',
+ defalut_organization_canot_move: '默认组织无法删除',
+ organization_name: '组织名称',
+ input_organization_name: '请输入组织名称',
+ relate_top_organization: '关联上级组织',
+ organization_name_exist: '组织名称已存在',
+ canot_delete: '无法删除',
+ remove_user_first: '请先移除组织中所有用户,再进行删除组织操作。',
+ sure_delete_organization: '确定删除该组织吗?',
+ delete: '删除',
+ add_child_org: '添加子组织',
+ edite_organization: '编辑组织',
},
system_parameter_setting: {
mailbox_service_settings: '邮件设置',
@@ -1853,6 +1898,7 @@ export default {
dept: '组织',
role: '角色',
user: '用户',
+ set_rules: '设置规则',
sysParams: '系统变量',
sysParams_type: {
user_id: '用户ID',
@@ -1878,7 +1924,34 @@ export default {
view: '查看',
use: '使用',
export: '导出',
- manage: '管理'
+ manage: '管理',
+ row_column: '行列权限设置',
+ row_permission: '行权限规则',
+ enable_row: '启用行权限',
+ add_condition: '添加条件',
+ add_relationship: '添加关系',
+ white_list: '白名单',
+ white_user_not: '以上权限规则对白名单用户不生效',
+ organization_or_role: '请选择组织或角色',
+ column_permission: '列权限规则',
+ enable_column: '启用列权限',
+ search_by_field: '通过字段名称搜索',
+ add_condition: '添加条件',
+ add_relationship: '添加关系',
+ filter_fields: '筛选字段',
+ selct_filter_fields: '请选择筛选字段',
+ enter_keywords: '请输关键字',
+ screen_method: '筛选方式',
+ select: '请选择',
+ fixed_value: '固定值',
+ defalut_method: '默认条件',
+ select_all: '全 选',
+ added: '已添加',
+ manual_input: '手工输入',
+ please_fill: '请一行填一个,最多添加500个,识别录入时会自动过滤重复的选项和已经添加过的选项',
+ close: '关 闭',
+ add: '添 加',
+ sure: '确 定',
},
about: {
auth_to: '授权给',
diff --git a/frontend/src/layout/components/Sidebar/index.vue b/frontend/src/layout/components/Sidebar/index.vue
index cfbac3949c..aa711cb469 100644
--- a/frontend/src/layout/components/Sidebar/index.vue
+++ b/frontend/src/layout/components/Sidebar/index.vue
@@ -1,60 +1,147 @@
-
+
-
+
+
diff --git a/frontend/src/layout/index.vue b/frontend/src/layout/index.vue
index 221a405f0d..d48b87825d 100644
--- a/frontend/src/layout/index.vue
+++ b/frontend/src/layout/index.vue
@@ -4,8 +4,8 @@
-
-
+
+ sideWidth = side" class="sidebar-container" />
@@ -51,7 +51,8 @@ export default {
componentName: 'PanelMain',
showTips: false,
finishLoad: false,
- buttonDisable: false
+ buttonDisable: false,
+ sideWidth: "",
}
},
computed: {
diff --git a/frontend/src/styles/variables.scss b/frontend/src/styles/variables.scss
index f823d8a86c..5c1dd3d73b 100644
--- a/frontend/src/styles/variables.scss
+++ b/frontend/src/styles/variables.scss
@@ -21,6 +21,7 @@ $--border-color-lighter: #e6ebf5;
$--table-border: 1px solid #dfe6ec;
$--font-path: "~element-ui/lib/theme-chalk/fonts";
+$--color-primary: #3370ff;
@import "~element-ui/packages/theme-chalk/src/index";
// topBar
diff --git a/frontend/src/views/panel/template/index.vue b/frontend/src/views/panel/template/index.vue
index 786f244dbd..b128637e71 100644
--- a/frontend/src/views/panel/template/index.vue
+++ b/frontend/src/views/panel/template/index.vue
@@ -1,6 +1,6 @@
-
+
{{ $t('panel.user_template') }}
diff --git a/frontend/src/views/system/plugin/dynamic.vue b/frontend/src/views/system/plugin/dynamic.vue
index eefb31c3ba..bca7a95527 100644
--- a/frontend/src/views/system/plugin/dynamic.vue
+++ b/frontend/src/views/system/plugin/dynamic.vue
@@ -1,10 +1,10 @@
-
+
未知组件无法展示
-
+
@@ -15,7 +15,7 @@
+
+
\ No newline at end of file
diff --git a/frontend/src/views/system/user/form.vue b/frontend/src/views/system/user/form.vue
deleted file mode 100644
index b3d5fcfe98..0000000000
--- a/frontend/src/views/system/user/form.vue
+++ /dev/null
@@ -1,352 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.man') }}
- {{ $t('commons.woman') }}
-
-
-
-
- {{ $t('commons.enable') }}
- {{ $t('commons.disable') }}
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.confirm') }}
- {{ $t('commons.reset') }}
-
-
-
-
- {{ $t('commons.default_pwd') + ':' + defaultPWD }}
-
- {{ $t('commons.copy') }}
-
-
-
-
-
-
-
-
-
-
diff --git a/frontend/src/views/system/user/index.vue b/frontend/src/views/system/user/index.vue
index 1c7486137e..3ee38f3059 100644
--- a/frontend/src/views/system/user/index.vue
+++ b/frontend/src/views/system/user/index.vue
@@ -1,142 +1,212 @@
-
-
-
- {{ $t('user.create') }}
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.from === 0 ? 'LOCAL' : scope.row.from === 1 ? 'LDAP' : 'OIDC' }}
-
-
-
-
-
-
- {{ scope.row.dept && scope.row.dept.deptName }}
-
-
-
-
-
-
-
-
-
-
{{ role.roleName }}
-
...
-
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.createTime | timestampFormatDate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.man') }}
- {{ $t('commons.woman') }}
-
-
-
-
- {{ $t('commons.enable') }}
- {{ $t('commons.disable') }}
-
-
-
-
-
-
-
+
+
+ {{ $t("user.create") }}
+
+
+
+
+ 筛选
+
+ 列表项
-
-
-
-
-
-
+
+ 请选择列表中要展示的信息
+ 全选
+
+ {{
+ $t(column.label)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.from === 0
+ ? "LOCAL"
+ : scope.row.from === 1
+ ? "LDAP"
+ : "OIDC"
+ }}
+
+
+
+
+
+
+ {{ scope.row.dept && scope.row.dept.deptName || "-" }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.createTime | timestampFormatDate }}
+
+
+
+
+
+ {{ $t("commons.edit") }}
+
+
+ 是否恢复为初始密码?
+
+ {{
+ $t("commons.default_pwd") + ":" + defaultPWD
+ }}
+
+ {{ $t("commons.copy") }}
+
+
+
+
+ {{ $t("member.edit_password") }}
+
+ {{ $t("commons.delete") }}
+
+
+
+
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/views/system/user/userEditer.vue b/frontend/src/views/system/user/userEditer.vue
new file mode 100644
index 0000000000..d416887bb0
--- /dev/null
+++ b/frontend/src/views/system/user/userEditer.vue
@@ -0,0 +1,578 @@
+
+
+
+
+
+ {{
+ $t("commons.default_pwd") + ":" + defaultPWD
+ }}
+
+ {{ $t("commons.copy") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+