diff --git a/frontend/index.html b/frontend/index.html
index eea14bc38..a07356c3f 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -6,7 +6,6 @@
-
权限中心 | 蓝鲸智云
diff --git a/frontend/src/common/util.js b/frontend/src/common/util.js
index 873fdf058..7c979018c 100644
--- a/frontend/src/common/util.js
+++ b/frontend/src/common/util.js
@@ -827,5 +827,5 @@ export function getCopyValue (value) {
*/
export const getRoutePath = (subPath) => {
const path = subPath.startsWith('/') ? subPath.slice(1) : subPath;
- return rootPath ? `${rootPath}${path}` : path;
+ return rootPath ? `${rootPath}${path}` : subPath;
};
diff --git a/frontend/src/components/iam-resource-cascade-search/index.vue b/frontend/src/components/iam-resource-cascade-search/index.vue
index 4040f99ac..cf5230628 100644
--- a/frontend/src/components/iam-resource-cascade-search/index.vue
+++ b/frontend/src/components/iam-resource-cascade-search/index.vue
@@ -335,11 +335,11 @@
name: this.$t(`m.userGroup['用户组名']`),
default: true
},
- {
- id: 'id',
- name: 'ID',
- default: true
- },
+ // {
+ // id: 'id',
+ // name: 'ID',
+ // default: true
+ // },
{
id: 'description',
name: this.$t(`m.common['描述']`),
diff --git a/frontend/src/language/lang/en.js b/frontend/src/language/lang/en.js
index 44481a260..f14916ce0 100644
--- a/frontend/src/language/lang/en.js
+++ b/frontend/src/language/lang/en.js
@@ -395,8 +395,7 @@ export const m = {
'模板名称不能为空': 'Template name cannot be empty',
'模板成员不能为空': 'Template member cannot be empty',
'模板名称必填, 不允许输入表情字符': 'Template name is required and emoji characters are not allowed to be entered',
- '用户组名不允许输入表情字符': 'User group name does not allow input of emoticons',
- 'ID必须是一个正整数': 'ID must be a positive integer'
+ '用户组名不允许输入表情字符': 'User group name does not allow input of emoticons'
},
info: {
'加入用户组申请成功': 'Apply to join the group successfully',
@@ -811,7 +810,7 @@ export const m = {
'直接加入人员模板的用户组权限': 'Directly add user group permissions to personnel templates',
'通过组织加入人员模板的用户组权限': 'User group permissions for joining member templates through organization',
'通过人员模板加入': 'Through Member Template',
- '输入ID、用户组名、描述等按回车键进行搜索': 'Enter ID, user group name and description, etc. Press Enter to search'
+ '输入用户组名、描述等按回车键进行搜索': 'Enter user group name and description, etc. Press Enter to search'
},
permTemplate: {
'模板名': 'Template name',
diff --git a/frontend/src/language/lang/zh.js b/frontend/src/language/lang/zh.js
index 69ab8686f..536c163a6 100644
--- a/frontend/src/language/lang/zh.js
+++ b/frontend/src/language/lang/zh.js
@@ -395,8 +395,7 @@ export const m = {
'模板名称不能为空': '模板名称不能为空',
'模板成员不能为空': '模板成员不能为空',
'模板名称必填, 不允许输入表情字符': '模板名称必填, 不允许输入表情字符',
- '用户组名不允许输入表情字符': '用户组名不允许输入表情字符',
- 'ID必须是一个正整数': 'ID必须是一个正整数'
+ '用户组名不允许输入表情字符': '用户组名不允许输入表情字符'
},
info: {
'加入用户组申请成功': '加入用户组申请成功',
@@ -811,7 +810,7 @@ export const m = {
'直接加入人员模板的用户组权限': '直接加入人员模板的用户组权限',
'通过组织加入人员模板的用户组权限': '通过组织加入人员模板的用户组权限',
'通过人员模板加入': '通过人员模板加入',
- '输入ID、用户组名、描述等按回车键进行搜索': '输入ID、用户组名、描述等按回车键进行搜索'
+ '输入用户组名、描述等按回车键进行搜索': '输入用户组名、描述等按回车键进行搜索'
},
permTemplate: {
'模板名': '模板名',
diff --git a/frontend/src/router/ce.js b/frontend/src/router/ce.js
index 54413d7cd..87118155f 100644
--- a/frontend/src/router/ce.js
+++ b/frontend/src/router/ce.js
@@ -25,7 +25,6 @@
*/
import il8n from '@/language';
-import { rootPath } from '@blueking/sub-saas/dist/main.js';
import { getRoutePath } from '@/common/util';
// const SITE_URL = window.SITE_URL;
@@ -210,9 +209,11 @@ const NotFound = () => import(/* webpackChunkName: 'none' */ '../views/404');
// Main
const MainEntry = () => import(/* webpackChunkName: 'index' */ '../views');
+const SITE_URL = getRoutePath(window.SITE_URL);
+
export const routes = [
{
- path: rootPath,
+ path: SITE_URL,
name: 'iamMain',
component: MainEntry,
children: [
diff --git a/frontend/src/router/ee.js b/frontend/src/router/ee.js
index 4b5c4a988..cf90171ee 100644
--- a/frontend/src/router/ee.js
+++ b/frontend/src/router/ee.js
@@ -25,7 +25,6 @@
*/
import il8n from '@/language';
-import { rootPath } from '@blueking/sub-saas/dist/main.js';
import { getRoutePath } from '@/common/util';
// 系统接入
@@ -208,9 +207,11 @@ const NotFound = () => import(/* webpackChunkName: 'none' */ '../views/404');
// Main
const MainEntry = () => import(/* webpackChunkName: 'index' */ '../views');
+const SITE_URL = getRoutePath(window.SITE_URL);
+
export const routes = [
{
- path: rootPath,
+ path: SITE_URL,
name: 'iamMain',
component: MainEntry,
children: [
diff --git a/frontend/src/router/ieod.js b/frontend/src/router/ieod.js
index 6649378ef..016bc69dc 100644
--- a/frontend/src/router/ieod.js
+++ b/frontend/src/router/ieod.js
@@ -25,7 +25,6 @@
*/
import il8n from '@/language';
-import { rootPath } from '@blueking/sub-saas/dist/main.js';
import { getRoutePath } from '@/common/util';
// 系统接入
@@ -208,10 +207,13 @@ const NotFound = () => import(/* webpackChunkName: 'none' */ '../views/404');
// Main
const MainEntry = () => import(/* webpackChunkName: 'index' */ '../views');
+// 兼容容器化部署外部环境非根路径的path
+const SITE_URL = getRoutePath(window.SITE_URL);
+
export const routes = [
{
// path: window.SITE_URL,
- path: rootPath,
+ path: SITE_URL,
name: 'iamMain',
component: MainEntry,
children: [
diff --git a/frontend/src/views/group/components/add-group-perm-sideslider.vue b/frontend/src/views/group/components/add-group-perm-sideslider.vue
index 8e9a39b16..eebca7eb0 100644
--- a/frontend/src/views/group/components/add-group-perm-sideslider.vue
+++ b/frontend/src/views/group/components/add-group-perm-sideslider.vue
@@ -32,12 +32,13 @@
:data="searchData"
:value="searchValue"
:quick-search-method="quickSearchMethod"
- style="width: 240px; display: inline-block;" />
-
+
@@ -361,7 +362,6 @@
showSelectionCount: false
});
this.currentBackup = 1;
- this.currentSelectList = [];
this.requestQueueBySys = [];
this.requestQueueByTemplate = [];
this.selection = [];
diff --git a/frontend/src/views/manage-spaces/secondary-manage-space/components/add-group-perm-sideslider.vue b/frontend/src/views/manage-spaces/secondary-manage-space/components/add-group-perm-sideslider.vue
index f994a250a..aef472fd8 100644
--- a/frontend/src/views/manage-spaces/secondary-manage-space/components/add-group-perm-sideslider.vue
+++ b/frontend/src/views/manage-spaces/secondary-manage-space/components/add-group-perm-sideslider.vue
@@ -32,12 +32,13 @@
:data="searchData"
:value="searchValue"
:quick-search-method="quickSearchMethod"
- style="width: 240px; display: inline-block;" />
-
+
@@ -351,7 +352,6 @@
showSelectionCount: false
});
this.currentBackup = 1;
- this.currentSelectList = [];
this.requestQueueBySys = [];
this.requestQueueByTemplate = [];
this.selection = [];
diff --git a/frontend/src/views/my-manage-space/add-member-boundary/index.vue b/frontend/src/views/my-manage-space/add-member-boundary/index.vue
index 40b257614..6c2fa9720 100644
--- a/frontend/src/views/my-manage-space/add-member-boundary/index.vue
+++ b/frontend/src/views/my-manage-space/add-member-boundary/index.vue
@@ -666,7 +666,6 @@
}
},
created () {
- this.fetchInitData();
this.$once('hook:beforeDestroy', () => {
bus.$off('edit-member-boundary');
});
diff --git a/frontend/src/views/perm-apply/apply-join-user-group/index.vue b/frontend/src/views/perm-apply/apply-join-user-group/index.vue
index 1f9f00af9..3c59faa9b 100644
--- a/frontend/src/views/perm-apply/apply-join-user-group/index.vue
+++ b/frontend/src/views/perm-apply/apply-join-user-group/index.vue
@@ -581,6 +581,7 @@
remoteMethod: this.handleGradeAdmin
}
],
+ searchData: [],
enableGroupInstanceSearch: window.ENABLE_GROUP_INSTANCE_SEARCH.toLowerCase() === 'true',
curSelectMenu: '',
curInputText: '',
@@ -644,7 +645,7 @@
'is_selected': true
}
];
- this.searchData = this.enableGroupInstanceSearch ? this.initSearchData.filter(item => ['name', 'id', 'description', 'role_id'].includes(item.id)) : this.initSearchData;
+ this.searchData = this.enableGroupInstanceSearch ? this.initSearchData.filter(item => ['name', 'id', 'description', 'system_id', 'role_id'].includes(item.id)) : this.initSearchData;
this.setCurrentQueryCache(this.refreshCurrentQuery());
const isObject = (payload) => {
return Object.prototype.toString.call(payload) === '[object Object]';
@@ -1267,6 +1268,17 @@
// this.requestQueue.shift()
}
},
+
+ async handleRemoteSystem (value) {
+ const params = {};
+ if (this.externalSystemId) {
+ params.hidden = false;
+ }
+ const result = await this.$store.dispatch('system/getSystems', params).then(({ data }) => {
+ return data.map(({ id, name }) => ({ id, name })).filter((item) => item.name.indexOf(value) > -1);
+ });
+ return result || [];
+ },
// 管理空间数据
handleGradeAdmin (value) {
diff --git a/frontend/src/views/perm/index.vue b/frontend/src/views/perm/index.vue
index f3c320c69..9f045fcec 100644
--- a/frontend/src/views/perm/index.vue
+++ b/frontend/src/views/perm/index.vue
@@ -87,7 +87,7 @@
{
diff --git a/frontend/src/views/user/components/render-depart.vue b/frontend/src/views/user/components/render-depart.vue
index 7dc523f2e..cb44ac1fc 100644
--- a/frontend/src/views/user/components/render-depart.vue
+++ b/frontend/src/views/user/components/render-depart.vue
@@ -17,7 +17,7 @@
:custom-select-width="customSelectWidth"
:min-select-width="'165px'"
:max-select-width="'200px'"
- :search-select-place-holder="$t(`m.perm['输入ID、用户组名、描述等按回车键进行搜索']`)"
+ :search-select-place-holder="$t(`m.perm['输入用户组名、描述等按回车键进行搜索']`)"
@on-remote-table="handleRemoteTable"
@on-refresh-table="handleRefreshTable"
@on-input-value="handleInputValue"
@@ -398,13 +398,6 @@
},
async fetchRemoteTable (isRefreshCurCount = false) {
- if (this.curSearchParams.id) {
- const exp = /^[1-9]\d*$/;
- if (!exp.test(this.curSearchParams.id)) {
- this.curEmptyData = formatCodeData(0, { ...this.curEmptyData, ...{ tipType: 'search' } }, true);
- return this.messageWarn(this.$t(`m.verify['ID必须是一个正整数']`));
- }
- }
const typeMap = {
GroupPerm: async () => {
this.emptyData = _.cloneDeep(this.curEmptyData);
diff --git a/frontend/src/views/user/components/render-user.vue b/frontend/src/views/user/components/render-user.vue
index fac59d892..6c8723d55 100644
--- a/frontend/src/views/user/components/render-user.vue
+++ b/frontend/src/views/user/components/render-user.vue
@@ -10,7 +10,7 @@
:active="active"
:min-select-width="'165px'"
:max-select-width="'200px'"
- :search-select-place-holder="$t(`m.perm['输入ID、用户组名、描述等按回车键进行搜索']`)"
+ :search-select-place-holder="$t(`m.perm['输入用户组名、描述等按回车键进行搜索']`)"
@on-remote-table="handleRemoteTable"
@on-refresh-table="handleRefreshTable"
@on-input-value="handleInputValue"
@@ -505,13 +505,6 @@
async fetchRemoteTable (isRefreshCurCount = false) {
// 这里需要拿到所有tab项的total,所以需要调所有接口, 且需要在当前页动态加载tab的label
- if (this.curSearchParams.id) {
- const exp = /^[1-9]\d*$/;
- if (!exp.test(this.curSearchParams.id)) {
- this.curEmptyData = formatCodeData(0, { ...this.curEmptyData, ...{ tipType: 'search' } }, true);
- return this.messageWarn(this.$t(`m.verify['ID必须是一个正整数']`));
- }
- }
const typeMap = {
GroupPerm: async () => {
this.emptyData = _.cloneDeep(this.curEmptyData);
diff --git a/saas/VERSION b/saas/VERSION
index 4cbb00665..9fa8be307 100644
--- a/saas/VERSION
+++ b/saas/VERSION
@@ -1 +1 @@
-1.10.32
+1.10.33
diff --git a/saas/resources/version_log/change_log.md b/saas/resources/version_log/change_log.md
index 892076106..ebcaaaf96 100644
--- a/saas/resources/version_log/change_log.md
+++ b/saas/resources/version_log/change_log.md
@@ -1,3 +1,14 @@
+
+# V1.10.33 版本更新日志
+
+### 缺陷修复
+
+* 申请加入用户组资源实例搜索增加系统筛选
+* 组权限添加权限模板去掉刷新icon
+* 兼容容器化部署外部环境非根路径的path
+
+---
+
# V1.10.32 版本更新日志
diff --git a/saas/resources/version_log/change_log_en.md b/saas/resources/version_log/change_log_en.md
index 618a0827f..92bcbaea5 100644
--- a/saas/resources/version_log/change_log_en.md
+++ b/saas/resources/version_log/change_log_en.md
@@ -1,3 +1,14 @@
+
+# V1.10.33 Version Update Log
+
+### Bug Fixes
+
+* Added system filter to the resource instance search when applying to join a user group.
+* Removed the refresh icon from the permission template addition in group permissions.
+* Compatible with non-root path deployment in containerized external environments.
+
+---
+
# V1.10.32 Version Update Log