From 29207d2e3c6c5bc0cec5554efd730e08d33f6d0b Mon Sep 17 00:00:00 2001 From: zhangjf Date: Sun, 15 Feb 2026 17:51:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=B9=E8=BF=9B=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=92=8C=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化内容: 1. 所有 fetchData 调用改为 await fetchData() 确保等待刷新完成 2. 改进表单验证逻辑,分离验证和提交逻辑 3. 添加更明确的错误提示信息 4. 删除操作优化:删除最后一条时自动返回上一页 5. 重置密码后也刷新列表(虽然不影响显示) 修复后确保: - 添加用户后立即刷新列表 - 编辑用户后立即刷新列表 - 启用/禁用用户后立即刷新列表 - 删除用户后立即刷新列表 --- fund-admin/src/views/system/user.vue | 48 +++++++++++++++++----------- fundplatform | 2 +- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/fund-admin/src/views/system/user.vue b/fund-admin/src/views/system/user.vue index 12aa1b8..a923082 100644 --- a/fund-admin/src/views/system/user.vue +++ b/fund-admin/src/views/system/user.vue @@ -239,23 +239,27 @@ const resetForm = () => { const handleSubmit = async () => { if (!formRef.value) return - await formRef.value.validate(async (valid) => { - if (valid) { - try { - if (form.userId) { - await updateUser(form.userId, form) - ElMessage.success('更新成功') - } else { - await createUser(form) - ElMessage.success('创建成功') - } - dialogVisible.value = false - fetchData() - } catch (error) { - console.error('保存失败:', error) - } + try { + await formRef.value.validate() + } catch (error) { + ElMessage.warning('请检查表单填写是否完整') + return + } + + try { + if (form.userId) { + await updateUser(form.userId, form) + ElMessage.success('更新成功') + } else { + await createUser(form) + ElMessage.success('创建成功') } - }) + dialogVisible.value = false + await fetchData() + } catch (error) { + console.error('保存失败:', error) + ElMessage.error(error.message || '操作失败') + } } const handleResetPassword = (row) => { @@ -273,8 +277,10 @@ const handlePasswordSubmit = async () => { await resetPassword(passwordForm.userId, passwordForm.newPassword) ElMessage.success('密码重置成功') passwordDialogVisible.value = false + await fetchData() } catch (error) { console.error('密码重置失败:', error) + ElMessage.error(error.message || '密码重置失败') } } @@ -289,9 +295,10 @@ const handleToggleStatus = (row) => { try { await updateUserStatus(row.userId, newStatus) ElMessage.success(`${actionText}成功`) - fetchData() + await fetchData() } catch (error) { console.error('状态更新失败:', error) + ElMessage.error(error.message || '操作失败') } }) } @@ -305,9 +312,14 @@ const handleDelete = (row) => { try { await deleteUser(row.userId) ElMessage.success('删除成功') - fetchData() + // 如果删除的是当前页最后一条且不是第一页,返回上一页 + if (tableData.value.length === 1 && page.current > 1) { + page.current-- + } + await fetchData() } catch (error) { console.error('删除失败:', error) + ElMessage.error(error.message || '删除失败') } }) } diff --git a/fundplatform b/fundplatform index 60e29de..fb2653f 160000 --- a/fundplatform +++ b/fundplatform @@ -1 +1 @@ -Subproject commit 60e29de355ce8eaea6bac706fb17947b1294e6f4 +Subproject commit fb2653fb5c2e5c0003168a35655c8fba1f2c32c2