diff --git a/src/components/Cards/DetailCard/ItemValue.vue b/src/components/Cards/DetailCard/ItemValue.vue index 2916b4ced..57713d3bd 100644 --- a/src/components/Cards/DetailCard/ItemValue.vue +++ b/src/components/Cards/DetailCard/ItemValue.vue @@ -17,6 +17,11 @@ export default { default: null } }, + data() { + return { + formatterData: '' + } + }, computed: { displayValue() { if ([null, undefined, ''].includes(this.value)) { @@ -65,7 +70,17 @@ export default { }, render(h) { if (typeof this.formatter === 'function') { - return this.formatter(this.item, this.value) + const data = this.formatter(this.item, this.value) + if (data instanceof Promise) { + data.then(res => { + this.formatterData = res + }) + } else { + this.formatterData = data + } + return ( + {this.formatterData} + ) } if (this.value instanceof Array) { const newArr = this.value || [] diff --git a/src/views/myassets/index.vue b/src/views/myassets/index.vue index bac1bbea3..c509fa0f8 100644 --- a/src/views/myassets/index.vue +++ b/src/views/myassets/index.vue @@ -68,7 +68,14 @@ export default { }, { key: this.$t('assets.Protocols'), - value: row.protocols.map(item => item.name).join(', ') + formatter: () => { + return this.$axios.get(`/api/v1/perms/users/self/assets/${row.id}/`).then(res => { + const protocols = res.permed_protocols + const names = protocols.map(item => item.name).join(', ') + console.log('Names: ', names) + return names + }) + } }, { key: this.$t('assets.Category'), diff --git a/src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue b/src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue index ed97e76aa..fcf6a8712 100644 --- a/src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue +++ b/src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue @@ -96,7 +96,7 @@ export default { el: { resource: this.$t('assets.Protocol'), select2: { - url: '/api/v1/assets/categories/protocols/', + url: '/api/v1/assets/protocols/', ajax: { transformOption: (item) => { return { label: item.label, value: item.value }