From ff13b0e8d25544e10309c834950aac0594e76bd9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 9 Jan 2026 12:16:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E9=92=89=E9=92=89=E7=BB=84=E7=BB=87=E7=9A=84=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=87=B3120=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/Settings.vue | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/views/Settings.vue b/frontend/src/views/Settings.vue index 6919ccf..b9f7782 100644 --- a/frontend/src/views/Settings.vue +++ b/frontend/src/views/Settings.vue @@ -3383,17 +3383,19 @@ const loadDepartments = async () => { // 同步钉钉组织架构 const handleSyncOrganization = async () => { syncingOrganization.value = true + message.loading({ content: '正在同步钉钉组织架构,请稍候...', key: 'sync', duration: 0 }) try { - const response = await request.post('/dingtalk/sync-organization') + // 同步操作需要较长时间,设置120秒超时 + const response = await request.post('/dingtalk/sync-organization', {}, { timeout: 120000 }) if (response.code === 200) { const result = response.data as any - message.success(`同步完成!更新${result.updatedUsers}人,跳过${result.skippedUsers}人,失败${result.errorUsers}人`) + message.success({ content: `同步完成!更新${result.updatedUsers}人,跳过${result.skippedUsers}人,失败${result.errorUsers}人`, key: 'sync' }) // 如果有错误信息,显示详情 if (result.errors && result.errors.length > 0) { Modal.warning({ title: '部分用户同步失败', - content: result.errors.join('\n'), + content: result.errors.slice(0, 10).join('\n') + (result.errors.length > 10 ? `\n...等${result.errors.length}条` : ''), width: 500 }) } @@ -3401,11 +3403,11 @@ const handleSyncOrganization = async () => { // 刷新部门和用户数据 await Promise.all([loadDepartments(), loadDepartmentUsers()]) } else { - message.error(response.message || '同步失败') + message.error({ content: response.message || '同步失败', key: 'sync' }) } } catch (error: any) { console.error('同步钉钉组织架构失败:', error) - message.error(error?.response?.data?.message || error?.message || '同步失败') + message.error({ content: error?.response?.data?.message || error?.message || '同步失败,请重试', key: 'sync' }) } finally { syncingOrganization.value = false }