fix: 修复资产详情创建、更新账号时error提示不准确问题

This commit is contained in:
“huailei000”
2023-02-08 18:10:00 +08:00
committed by huailei
parent ae4962eb45
commit 4b06a29f10
2 changed files with 32 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
<template>
<AutoDataForm
v-if="!loading"
ref="AutoDataForm"
v-bind="$data"
@submit="confirm"
/>

View File

@@ -12,6 +12,7 @@
>
<AccountCreateUpdateForm
v-if="!loading"
ref="form"
:account="account"
:asset="asset"
@add="addAccount"
@@ -94,7 +95,7 @@ export default {
this.iVisible = false
this.$emit('add', true)
this.$message.success(this.$tc('common.createSuccessMsg'))
})
}).catch(error => this.setFieldError(error))
},
editAccount(form) {
const data = { ...form }
@@ -102,7 +103,35 @@ export default {
this.iVisible = false
this.$emit('add', true)
this.$message.success(this.$tc('common.updateSuccessMsg'))
})
}).catch(error => this.setFieldError(error))
},
setFieldError(error) {
const response = error.response
const data = response.data
const refsAutoDataForm = this.$refs.form.$refs.AutoDataForm
if (response.status === 400) {
for (const key of Object.keys(data)) {
let err = ''
let current = key
let errorTips = data[current]
if (errorTips instanceof Array) {
errorTips = _.filter(errorTips, (item) => Object.keys(item).length > 0)
for (const i of errorTips) {
if (i instanceof Object) {
err += i?.port?.join(',')
} else {
err += errorTips
}
}
} else {
err = errorTips
}
if (current === 'secret') {
current = refsAutoDataForm.form.secret_type?.value || key
}
refsAutoDataForm.setFieldError(current, err)
}
}
}
}
}