From 97300b158bbdb0dec57416051ee40e86d28cbe3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B3=95=E6=8B=8951246?= <719602854@qq.com> Date: Fri, 6 Jun 2025 18:53:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=A4=A7=E5=B1=8F=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=BC=82=E6=AD=A5=E5=8A=A0=E8=BD=BD=E4=B8=8D=E7=94=9F?= =?UTF-8?q?=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/Home/Index.vue | 138 ++++++------------ 1 file changed, 44 insertions(+), 94 deletions(-) diff --git a/yudao-ui/yudao-ui-admin-vue3/src/views/Home/Index.vue b/yudao-ui/yudao-ui-admin-vue3/src/views/Home/Index.vue index 1939bf4..15dd0fc 100644 --- a/yudao-ui/yudao-ui-admin-vue3/src/views/Home/Index.vue +++ b/yudao-ui/yudao-ui-admin-vue3/src/views/Home/Index.vue @@ -77,7 +77,7 @@ :data="homeInfoKhxzdjzbqk" :total="200" tooltipTip="客户性质等级占比情况" - + />
@@ -95,7 +95,7 @@ :data="homeInfoKhbffszbqk" :total="200" tooltipTip="客户拜访方式占比情况" - + />
@@ -103,7 +103,7 @@ :data="homeInfoKhbmzbqk" :total="200" tooltipTip="客户部门占比情况" - + />
@@ -211,127 +211,77 @@ const homeInfoBfrtjVal = ref('拜访日统计') // 获取图表数据 const getEcharts = async () => { error.value = '' - let params: any = { + loading.value = true + + const params: any = { companyName: searchKey.value, searchTimeString: timeRange.value } + try { - // 卡片数据 - homesApi - .getHomeInfoFirst(params) - .then((res: any) => { + const allTasks = [ + homesApi.getHomeInfoFirst(params).then((res) => { homeInfoFirst.value = res console.log('卡片数据:', res) - }) - .catch((err) => { - console.error('卡片数据获取失败:', err) - error.value = '卡片数据获取失败' - }) + }), - // 竖柱状图数据 - homesApi - .getHomeInfoBfztj(params) - .then((res: any) => { - console.log('竖柱状图数据:', res) + homesApi.getHomeInfoBfztj(params).then((res) => { homeInfoBfztj.value = res - }) - .catch((err) => { - console.error('竖柱状图数据获取失败:', err) - error.value = '竖柱状图数据获取失败' - }) + console.log('竖柱状图数据:', res) + }), - // 折线图数据 - homesApi - .getHomeInfoBfrtj(params) - .then((res: any) => { - console.log('折线图数据:', res) + homesApi.getHomeInfoBfrtj(params).then((res) => { homeInfoBfrtj.value = res - }) - .catch((err) => { - console.error('折线图数据获取失败:', err) - error.value = '折线图数据获取失败' - }) + console.log('折线图数据:', res) + }), - // 客户性质等级占比情况 - homesApi - .getHomeInfoKhxzdjzbqk(params) - .then((res: any) => { + homesApi.getHomeInfoKhxzdjzbqk(params).then((res) => { homeInfoKhxzdjzbqk.value = res.list - console.log('客户性质等级占比:', res.list, homeInfoKhxzdjzbqk) - }) - .catch((err) => { - console.error('客户性质等级占比获取失败:', err) - error.value = '客户性质等级占比获取失败' - }) + console.log('客户性质等级占比:', res.list) + }), - // 拜访人均分布情况 - homesApi - .getHomeInfoBfrjfbqk(params) - .then((res: any) => { - console.log('拜访人均分布:', res) + homesApi.getHomeInfoBfrjfbqk(params).then((res) => { homeInfoBfrjfbqk.value = res.list - }) - .catch((err) => { - console.error('拜访人均分布获取失败:', err) - error.value = '拜访人均分布获取失败' - }) + console.log('拜访人均分布:', res) + }), - // 客户拜访方式占比情况 - homesApi - .getHomeInfoKhbffszbqk(params) - .then((res: any) => { - console.log('客户拜访方式占比:', res) + homesApi.getHomeInfoKhbffszbqk(params).then((res) => { homeInfoKhbffszbqk.value = res.list - }) - .catch((err) => { - console.error('客户拜访方式占比获取失败:', err) - error.value = '客户拜访方式占比获取失败' - }) + console.log('客户拜访方式占比:', res) + }), - // 客户部门占比情况 - homesApi - .getHomeInfoKhbmzbqk(params) - .then((res: any) => { - console.log('客户部门占比:', res) + homesApi.getHomeInfoKhbmzbqk(params).then((res) => { homeInfoKhbmzbqk.value = res.list - }) - .catch((err) => { - console.error('客户部门占比获取失败:', err) - error.value = '客户部门占比获取失败' - }) + console.log('客户部门占比:', res) + }), - // 客户拜访类型占比情况 - homesApi - .getHomeInfoKhbflxzbqk(params) - .then((res: any) => { - console.log('客户拜访类型占比:', res) + homesApi.getHomeInfoKhbflxzbqk(params).then((res) => { homeInfoKhbflxzbqk.value = res.list - }) - .catch((err) => { - console.error('客户拜访类型占比获取失败:', err) - error.value = '客户拜访类型占比获取失败' - }) + console.log('客户拜访类型占比:', res) + }), - // 拜访产品类型占比情况 - homesApi - .getHomeInfoBfcplxzbqk(params) - .then((res: any) => { - console.log('拜访产品类型占比:', res) + homesApi.getHomeInfoBfcplxzbqk(params).then((res) => { homeInfoBfcplxzbqk.value = res.list + console.log('拜访产品类型占比:', res) }) - .catch((err) => { - console.error('拜访产品类型占比获取失败:', err) - error.value = '拜访产品类型占比获取失败' - }) + ] - loading.value = true + const results = await Promise.allSettled(allTasks) + + results.forEach((result, index) => { + if (result.status === 'rejected') { + console.error(`第 ${index + 1} 个接口调用失败:`, result.reason) + error.value = '部分数据获取失败' + } + }) } catch (err) { - console.error('数据获取出错:', err) + console.error('请求异常:', err) error.value = '数据获取出错,请重试' } finally { loading.value = false } } + onMounted(() => { getEcharts() }) -- 2.22.0