diff --git a/src/views/Jyh/Community/components/HarmonyEcoCharts.vue b/src/views/Jyh/Community/components/HarmonyEcoCharts.vue index 5a7a375..ca5a1b4 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 } from '@/api/jyh/situation'; +import { hmCityDataPage3, hmProjectsPage3, whProjectsPage3, hmDevCityDataPage3 } from '@/api/jyh/situation'; // ================= 数据定义 ================= const hmCityData = ref([ @@ -354,20 +354,7 @@ const hmCityData = ref([ { name: '山东', value: 24 } ]); -const hmDevCityData = [ - { name: '其他地区', value: 25.7 }, - { name: '北京', value: 17 }, - { name: '广东', value: 12 }, - { name: '河北', value: 8.3 }, - { name: '上海', value: 7.2 }, - { name: '浙江', value: 5.6 }, - { name: '山东', value: 5.1 }, - { name: '江苏', value:4.6 }, - { name: '湖南', value: 4.3 }, - { name: '福建', value: 3.5 }, - { name: '河南', value: 3.4 }, - { name: '湖北', value: 3.3 } -]; +const hmDevCityData = ref([]); const hmEnterpriseCityData = [ { name: '广东', value: 133 }, @@ -1017,6 +1004,55 @@ const fetchHmCityData = async () => { } }; +// 获取开发者分布数据 +const fetchHmDevCityData = async () => { + try { + const response = await hmDevCityDataPage3(); + const businessData = response.data; + if (businessData.code === 200 && businessData.data) { + hmDevCityData.value = businessData.data; + // 重新初始化图表以显示新数据 + initHmDevCityChart(); + } else { + console.error('获取开发者分布数据失败:', businessData.msg || '未知错误'); + // 使用默认数据 + hmDevCityData.value = [ + { name: '其他地区', value: 25.7 }, + { name: '北京', value: 17 }, + { name: '广东', value: 12 }, + { name: '河北', value: 8.3 }, + { name: '上海', value: 7.2 }, + { name: '浙江', value: 5.6 }, + { name: '山东', value: 5.1 }, + { name: '江苏', value: 4.6 }, + { name: '湖南', value: 4.3 }, + { name: '福建', value: 3.5 }, + { name: '河南', value: 3.4 }, + { name: '湖北', value: 3.3 } + ]; + initHmDevCityChart(); + } + } catch (error) { + console.error('获取开发者分布数据异常:', error); + // 使用默认数据 + hmDevCityData.value = [ + { name: '其他地区', value: 25.7 }, + { name: '北京', value: 17 }, + { name: '广东', value: 12 }, + { name: '河北', value: 8.3 }, + { name: '上海', value: 7.2 }, + { name: '浙江', value: 5.6 }, + { name: '山东', value: 5.1 }, + { name: '江苏', value: 4.6 }, + { name: '湖南', value: 4.3 }, + { name: '福建', value: 3.5 }, + { name: '河南', value: 3.4 }, + { name: '湖北', value: 3.3 } + ]; + initHmDevCityChart(); + } +}; + const initHmEntCityChart = () => { const chartDom = document.getElementById('hmEntCityChart'); if (!chartDom) return; @@ -1065,7 +1101,7 @@ const initHmDevCityChart = () => { itemWidth: 14, itemHeight: 14, textStyle: { color: '#64748b', fontSize: 12 }, - data: hmDevCityData.map(i => i.name) + data: hmDevCityData.value.map(i => i.name) }, series: [ { @@ -1095,7 +1131,7 @@ const initHmDevCityChart = () => { lineStyle: { width: 1.5, color: '#94a3b8' } }, // 关键修改部分:映射数据时判断城市名 - data: hmDevCityData.map((item, index) => { + data: hmDevCityData.value.map((item, index) => { const isHubei = item.name === '湖北'; return { @@ -1233,8 +1269,8 @@ const handleResize = () => { onMounted(async () => { nextTick(async () => { - // 先获取鸿蒙项目城市分布数据和鸿蒙开源项目数据 - await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects()]); + // 先获取鸿蒙项目城市分布数据、鸿蒙开源项目数据和开发者分布数据 + await Promise.all([fetchHmCityData(), fetchHmProjects(), fetchWhProjects(), fetchHmDevCityData()]); initHmCityChart(); initHmEnterpriseChart();