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 {
}
-