fix: 改进前端表单验证和错误处理
优化内容: 1. 角色管理和菜单管理的 handleSubmit 增加表单验证错误捕获 2. 修复角色分配菜单时的数据访问错误(menuRes.data -> menuRes) 3. 添加 console.error 日志便于调试 4. 统一错误提示信息 这样在表单验证失败或请求失败时,用户可以看到明确的错误提示
This commit is contained in:
parent
db4d89144d
commit
64b8f42d5a
@ -231,7 +231,13 @@ const handleEdit = (row) => {
|
||||
}
|
||||
|
||||
const handleSubmit = async () => {
|
||||
try {
|
||||
await formRef.value.validate()
|
||||
} catch (error) {
|
||||
ElMessage.warning('请检查表单填写是否完整')
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
if (form.menuId) {
|
||||
await updateMenu(form.menuId, form)
|
||||
@ -243,6 +249,7 @@ const handleSubmit = async () => {
|
||||
dialogVisible.value = false
|
||||
loadTableData()
|
||||
} catch (error) {
|
||||
console.error('菜单操作失败:', error)
|
||||
ElMessage.error(error.message || '操作失败')
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,7 +232,13 @@ const handleEdit = (row) => {
|
||||
}
|
||||
|
||||
const handleSubmit = async () => {
|
||||
try {
|
||||
await formRef.value.validate()
|
||||
} catch (error) {
|
||||
ElMessage.warning('请检查表单填写是否完整')
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
if (form.roleId) {
|
||||
await updateRole(form.roleId, form)
|
||||
@ -244,6 +250,7 @@ const handleSubmit = async () => {
|
||||
dialogVisible.value = false
|
||||
loadTableData()
|
||||
} catch (error) {
|
||||
console.error('角色操作失败:', error)
|
||||
ElMessage.error(error.message || '操作失败')
|
||||
}
|
||||
}
|
||||
@ -269,7 +276,7 @@ const handleAssignMenu = async (row) => {
|
||||
try {
|
||||
// 加载菜单树
|
||||
const menuRes = await getMenuTree()
|
||||
menuTreeData.value = buildMenuTree(menuRes.data)
|
||||
menuTreeData.value = buildMenuTree(menuRes)
|
||||
|
||||
// 加载角色已有菜单
|
||||
const menuIdsRes = await getRoleMenuIds(row.roleId)
|
||||
@ -277,9 +284,10 @@ const handleAssignMenu = async (row) => {
|
||||
|
||||
// 等待对话框渲染完成后设置选中
|
||||
setTimeout(() => {
|
||||
menuTreeRef.value.setCheckedKeys(menuIdsRes.data || [])
|
||||
menuTreeRef.value.setCheckedKeys(menuIdsRes || [])
|
||||
}, 100)
|
||||
} catch (error) {
|
||||
console.error('加载菜单失败:', error)
|
||||
ElMessage.error('加载菜单失败')
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user