From 64b8f42d5acfa4059a1a43790cc69ce043ad3e40 Mon Sep 17 00:00:00 2001 From: zhangjf Date: Sun, 15 Feb 2026 17:02:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=B9=E8=BF=9B=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E9=AA=8C=E8=AF=81=E5=92=8C=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化内容: 1. 角色管理和菜单管理的 handleSubmit 增加表单验证错误捕获 2. 修复角色分配菜单时的数据访问错误(menuRes.data -> menuRes) 3. 添加 console.error 日志便于调试 4. 统一错误提示信息 这样在表单验证失败或请求失败时,用户可以看到明确的错误提示 --- fund-admin/src/views/system/menu.vue | 9 ++++++++- fund-admin/src/views/system/role.vue | 14 +++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/fund-admin/src/views/system/menu.vue b/fund-admin/src/views/system/menu.vue index 4be7855..04105f6 100644 --- a/fund-admin/src/views/system/menu.vue +++ b/fund-admin/src/views/system/menu.vue @@ -231,7 +231,13 @@ const handleEdit = (row) => { } const handleSubmit = async () => { - await formRef.value.validate() + 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 || '操作失败') } } diff --git a/fund-admin/src/views/system/role.vue b/fund-admin/src/views/system/role.vue index 88755e4..abef997 100644 --- a/fund-admin/src/views/system/role.vue +++ b/fund-admin/src/views/system/role.vue @@ -232,7 +232,13 @@ const handleEdit = (row) => { } const handleSubmit = async () => { - await formRef.value.validate() + 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('加载菜单失败') } }