From c08964ee34804d76d3f2acd5949f3883446d3aad Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Thu, 27 Jul 2023 14:01:00 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9AccountFormatter=20?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=96=B9=E6=B3=95=E4=B8=BApost?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssetPermissionAccount.vue | 10 ++++++++ .../components/AccountFormatter.vue | 23 ++++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAccount.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAccount.vue index 2ed365eda..cf4ddf2e3 100644 --- a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAccount.vue +++ b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAccount.vue @@ -18,6 +18,8 @@ @@ -54,6 +56,14 @@ export default { } } }, + computed: { + assetIds() { + return this.object.assets.map(asset => asset.id) + }, + nodeIds() { + return this.object.nodes.map(node => node.id) + } + }, methods: { async updateAccount(accounts) { const url = `/api/v1/perms/asset-permissions/${this.object.id}/` diff --git a/src/views/perms/AssetPermission/components/AccountFormatter.vue b/src/views/perms/AssetPermission/components/AccountFormatter.vue index 88f315df5..154d97f3b 100644 --- a/src/views/perms/AssetPermission/components/AccountFormatter.vue +++ b/src/views/perms/AssetPermission/components/AccountFormatter.vue @@ -180,16 +180,17 @@ export default { } }, autocomplete: (query, cb) => { - this.$axios.get('/api/v1/accounts/accounts/username-suggestions/', { - params: { - username: query, - assets: this.assets.slice(0, 20).join(','), - nodes: this.nodes.slice(0, 20).map(item => { - return typeof item === 'object' ? item.pk : item - }).join(','), - oid: this.oid - } - }).then(res => { + const data = { + username: query, + assets: this.assets.slice(0, 20), + nodes: this.nodes.slice(0, 20).map(item => { + return typeof item === 'object' ? item.pk : item + }) + } + this.$axios.post( + '/api/v1/accounts/accounts/username-suggestions/', + data, { params: { oid: this.oid }} + ).then(res => { if (!res) res = [] const data = res .filter(item => vm.value.indexOf(item) === -1) @@ -270,7 +271,7 @@ export default { } -