diff --git a/frontend/src/components/choose-ip/topology-tree.vue b/frontend/src/components/choose-ip/topology-tree.vue index 555bbe07f..6533d27fe 100644 --- a/frontend/src/components/choose-ip/topology-tree.vue +++ b/frontend/src/components/choose-ip/topology-tree.vue @@ -234,7 +234,7 @@ @@ -669,7 +669,7 @@ } if (!async && expanded) { return { - 'paddingLeft': `${16 + level * 8}px` + 'paddingLeft': `16px` }; } }; diff --git a/frontend/src/views/perm-template/index.vue b/frontend/src/views/perm-template/index.vue index b67196055..4e4353ab6 100644 --- a/frontend/src/views/perm-template/index.vue +++ b/frontend/src/views/perm-template/index.vue @@ -147,7 +147,7 @@ import IamGuide from '@/components/iam-guide/index.vue'; import { fuzzyRtxSearch } from '@/common/rtx'; import { buildURLParams } from '@/common/url'; - import { formatCodeData, getWindowHeight } from '@/common/util'; + import { formatCodeData, getWindowHeight, delLocationHref } from '@/common/util'; export default { name: '', components: { @@ -290,9 +290,8 @@ refreshCurrentQuery () { const params = {}; const queryParams = { - ...this.searchParams, - ...this.$route.query, - ...this.queryParams + ...this.searchParams, + ...this.queryParams }; if (Object.keys(queryParams).length) { window.history.replaceState({}, '', `?${buildURLParams(queryParams)}`); @@ -341,6 +340,11 @@ count: 0 }); }, + + resetLocationHref () { + const urlFields = [...this.searchData.map(item => item.id), ...['current', 'limit']]; + delLocationHref(urlFields); + }, async handleEmptyClear () { this.searchParams = {}; @@ -380,9 +384,9 @@ this.tableLoading = isLoading; this.setCurrentQueryCache(this.refreshCurrentQuery()); const params = { - ...this.searchParams, - limit: this.pagination.limit, - offset: this.pagination.limit * (this.pagination.current - 1) + ...this.searchParams, + limit: this.pagination.limit, + offset: this.pagination.limit * (this.pagination.current - 1) }; delete params.current; try { @@ -475,7 +479,12 @@ this.searchParams = payload; this.searchList = result; this.emptyData.tipType = 'search'; + this.queryParams = Object.assign(this.queryParams, { current: 1, limit: 10 }); this.resetPagination(); + if (!result.length) { + this.resetLocationHref(); + window.localStorage.removeItem('templateList'); + } this.fetchTemplateList(true); }, diff --git a/saas/backend/apps/group/views.py b/saas/backend/apps/group/views.py index 0f59c3d99..4114e4ed1 100644 --- a/saas/backend/apps/group/views.py +++ b/saas/backend/apps/group/views.py @@ -567,7 +567,7 @@ class GroupsMemberRenewViewSet(GenericViewSet): group_biz = GroupBiz() @swagger_auto_schema( - operation_description="批量用户组添加成员", + operation_description="批量用户组成员续期", request_body=BatchGroupMemberUpdateExpiredAtSLZ(label="成员"), responses={status.HTTP_200_OK: serializers.Serializer()}, tags=["group"], @@ -598,7 +598,9 @@ def create(self, request, *args, **kwargs): ) # 写入审计上下文 - audit_context_setter(group=group, members=data["members"]) + audit_context_setter(group=group, members=group_member) + provider = GroupMemberRenewAuditProvider(request) + log_api_event(request, provider) return Response({})