From bbad6ce7e2d0c49ae6c74055971734cbd9d67962 Mon Sep 17 00:00:00 2001 From: d266377 Date: Mon, 2 Feb 2026 15:45:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=81=E5=8A=BF=E6=84=9F=E7=9F=A5=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0-=E6=AD=A6=E6=B1=89=E5=B8=82=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E7=94=9F=E6=80=81=E5=BB=BA=E8=AE=BE-=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=88=86=E5=B8=83=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Community/components/HarmonyEcoCharts.vue | 72 ++++++++++++------- 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/src/views/Jyh/Community/components/HarmonyEcoCharts.vue b/src/views/Jyh/Community/components/HarmonyEcoCharts.vue index 7f9a25f..a798f68 100644 --- a/src/views/Jyh/Community/components/HarmonyEcoCharts.vue +++ b/src/views/Jyh/Community/components/HarmonyEcoCharts.vue @@ -338,7 +338,7 @@ import { ref, onMounted, nextTick, onUnmounted } from 'vue'; import * as echarts from 'echarts'; import HMStatsBar from './HMStatsBar.vue'; -import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3, whHmDevelopersPage3 } from '@/api/jyh/situation'; +import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3, hmDevelopersPage3, whHmDevelopersPage3, hmEnterpriseCityDataPage3 } from '@/api/jyh/situation'; // ================= 数据定义 ================= const hmCityData = ref([ @@ -356,24 +356,7 @@ const hmCityData = ref([ const hmDevCityData = ref([]); -const hmEnterpriseCityData = [ - { name: '广东', value: 133 }, - { name: '北京', value: 72 }, - { name: '上海', value: 65 }, - { name: '江苏', value: 55 }, - { name: '浙江', value: 42 }, - { name: '湖北', value: 30 }, - { name: '四川', value: 28 }, - { name: '福建', value: 25 }, - { name: '陕西', value: 22 }, - { name: '山东', value: 20 } - // { name: '湖南', value: 18 }, - // { name: '重庆', value: 16 }, - // { name: '天津', value: 14 }, - // { name: '河南', value: 13 }, - // { name: '安徽', value: 12 }, - // { name: '辽宁', value: 8 } -]; +const hmEnterpriseCityData = ref([]); const hmProjects = ref([ { @@ -438,6 +421,47 @@ const hmProjects = ref([ } ]); +// 获取鸿蒙企业城市分布数据 +const fetchHmEnterpriseCityData = async () => { + try { + const response = await hmEnterpriseCityDataPage3(); + const businessData = response.data; + if (businessData.code === 200 && businessData.data) { + hmEnterpriseCityData.value = businessData.data; + } else { + console.error('获取鸿蒙企业城市分布数据失败:', businessData.msg || '未知错误'); + // 使用默认数据 + hmEnterpriseCityData.value = [ + { name: '广东', value: 133 }, + { name: '北京', value: 72 }, + { name: '上海', value: 65 }, + { name: '江苏', value: 55 }, + { name: '浙江', value: 42 }, + { name: '湖北', value: 30 }, + { name: '四川', value: 28 }, + { name: '福建', value: 25 }, + { name: '陕西', value: 22 }, + { name: '山东', value: 20 } + ]; + } + } catch (error) { + console.error('获取鸿蒙企业城市分布数据异常:', error); + // 使用默认数据 + hmEnterpriseCityData.value = [ + { name: '广东', value: 133 }, + { name: '北京', value: 72 }, + { name: '上海', value: 65 }, + { name: '江苏', value: 55 }, + { name: '浙江', value: 42 }, + { name: '湖北', value: 30 }, + { name: '四川', value: 28 }, + { name: '福建', value: 25 }, + { name: '陕西', value: 22 }, + { name: '山东', value: 20 } + ]; + } +}; + // 获取鸿蒙开源项目数据 const fetchHmProjects = async () => { try { @@ -1029,10 +1053,10 @@ const initHmEntCityChart = () => { entCityChart.setOption({ tooltip: { trigger: 'axis' }, grid: { left: '3%', right: '4%', bottom: '3%', top: '10%', containLabel: true }, - xAxis: { type: 'category', data: hmEnterpriseCityData.map(i => i.name), axisLabel: { color: '#64748b' } }, + xAxis: { type: 'category', data: hmEnterpriseCityData.value.map(i => i.name), axisLabel: { color: '#64748b' } }, yAxis: { type: 'value', name: '单位:个', axisLabel: { color: '#64748b' } }, series: [{ - type: 'bar', barWidth: '40%', data: hmEnterpriseCityData.map(i => i.value), + type: 'bar', barWidth: '40%', data: hmEnterpriseCityData.value.map(i => i.value), itemStyle: { // 使用橙色/黄色渐变,区别于项目的蓝色 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ @@ -1352,10 +1376,10 @@ const handleResize = () => { entCityChart?.resize(); }; -onMounted(async () => { - nextTick(async () => { +onMounted(async() => { + nextTick(async() => { // 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据、开发者分布数据、开发者贡献榜数据和武汉开发者贡献榜数据 - await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers()]); + await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData(), fetchHmDevelopers(), fetchWhHmDevelopers(), fetchHmEnterpriseCityData()]); initHmCityChart(); initHmEnterpriseChart();