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 () => {
|
const handleSubmit = async () => {
|
||||||
|
try {
|
||||||
await formRef.value.validate()
|
await formRef.value.validate()
|
||||||
|
} catch (error) {
|
||||||
|
ElMessage.warning('请检查表单填写是否完整')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (form.menuId) {
|
if (form.menuId) {
|
||||||
await updateMenu(form.menuId, form)
|
await updateMenu(form.menuId, form)
|
||||||
@ -243,6 +249,7 @@ const handleSubmit = async () => {
|
|||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
loadTableData()
|
loadTableData()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.error('菜单操作失败:', error)
|
||||||
ElMessage.error(error.message || '操作失败')
|
ElMessage.error(error.message || '操作失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -232,7 +232,13 @@ const handleEdit = (row) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
|
try {
|
||||||
await formRef.value.validate()
|
await formRef.value.validate()
|
||||||
|
} catch (error) {
|
||||||
|
ElMessage.warning('请检查表单填写是否完整')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (form.roleId) {
|
if (form.roleId) {
|
||||||
await updateRole(form.roleId, form)
|
await updateRole(form.roleId, form)
|
||||||
@ -244,6 +250,7 @@ const handleSubmit = async () => {
|
|||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
loadTableData()
|
loadTableData()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.error('角色操作失败:', error)
|
||||||
ElMessage.error(error.message || '操作失败')
|
ElMessage.error(error.message || '操作失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -269,7 +276,7 @@ const handleAssignMenu = async (row) => {
|
|||||||
try {
|
try {
|
||||||
// 加载菜单树
|
// 加载菜单树
|
||||||
const menuRes = await getMenuTree()
|
const menuRes = await getMenuTree()
|
||||||
menuTreeData.value = buildMenuTree(menuRes.data)
|
menuTreeData.value = buildMenuTree(menuRes)
|
||||||
|
|
||||||
// 加载角色已有菜单
|
// 加载角色已有菜单
|
||||||
const menuIdsRes = await getRoleMenuIds(row.roleId)
|
const menuIdsRes = await getRoleMenuIds(row.roleId)
|
||||||
@ -277,9 +284,10 @@ const handleAssignMenu = async (row) => {
|
|||||||
|
|
||||||
// 等待对话框渲染完成后设置选中
|
// 等待对话框渲染完成后设置选中
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
menuTreeRef.value.setCheckedKeys(menuIdsRes.data || [])
|
menuTreeRef.value.setCheckedKeys(menuIdsRes || [])
|
||||||
}, 100)
|
}, 100)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.error('加载菜单失败:', error)
|
||||||
ElMessage.error('加载菜单失败')
|
ElMessage.error('加载菜单失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user