diff --git a/src/components/AccountListTable/AccountCreateUpdate.vue b/src/components/AccountListTable/AccountCreateUpdate.vue index 7aa9ad578..63b460e60 100644 --- a/src/components/AccountListTable/AccountCreateUpdate.vue +++ b/src/components/AccountListTable/AccountCreateUpdate.vue @@ -111,19 +111,12 @@ export default { } else { let result if (error) { + console.log('Error: ', error) result = error.response.data } else { result = resp } - const iResult = [] - for (const [host, value] of Object.entries(result)) { - iResult.push({ - asset: host, - ...value - }) - } - console.log('bulk-create-done', [iResult, error]) - this.$emit('bulk-create-done', iResult) + this.$emit('bulk-create-done', result) } }, setFieldError(error) { diff --git a/src/components/AccountListTable/BulkCreateResultDialog.vue b/src/components/AccountListTable/BulkCreateResultDialog.vue index 8d2812366..0ab753d17 100644 --- a/src/components/AccountListTable/BulkCreateResultDialog.vue +++ b/src/components/AccountListTable/BulkCreateResultDialog.vue @@ -6,6 +6,9 @@ @confirm="closeDialog" v-on="$listeners" > + + {{ item.label }}: {{ item.value }} + @@ -50,7 +53,7 @@ export default { prop: 'state', label: this.$t('common.Status'), width: '200px', - formatter: (row, column, cellValue) => { + formatter: (row) => { if (row.error) { return { errorProp }: { row.error } } else if (row.state) { @@ -65,6 +68,26 @@ export default { } } }, + computed: { + summary() { + const labels = { + total: this.$tc('common.Total'), + created: this.$tc('common.Created'), + updated: this.$tc('common.Updated'), + skipped: this.$tc('common.Skipped') + } + const grouped = _.groupBy(this.result, 'state') + const groupedLength = _.mapValues(grouped, 'length') + groupedLength['total'] = this.result.length + return _.map(groupedLength, (value, key) => { + return { + label: labels[key], + value: value, + key: key + } + }) + } + }, methods: { closeDialog() { this.$emit('update:visible', false) diff --git a/src/utils/common.js b/src/utils/common.js index 2c77a4fbe..fdac73aa8 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -1,5 +1,6 @@ import i18n from '@/i18n/i18n' import { message } from '@/utils/message' + const _ = require('lodash') const moment = require('moment') @@ -244,10 +245,10 @@ export function getDayFuture(days, now) { export function getErrorResponseMsg(error) { let msg = '' let data = '' - if (error.response.status === 500) { + if (error?.response?.status === 500) { data = i18n.t('common.ServerError') } else { - data = error.response && error.response.data || error + data = error?.response && error?.response.data || error } if (data && (data.error || data.msg || data.detail)) { msg = data.error || data.msg || data.detail