态势感知平台-武汉市开源生态建设-鸿蒙项目城市分布接口对接

This commit is contained in:
d266377
2026-01-29 17:28:43 +08:00
parent 9caa5322ba
commit 33a617ef91

View File

@@ -338,9 +338,10 @@
import { ref, onMounted, nextTick, onUnmounted } from 'vue'; import { ref, onMounted, nextTick, onUnmounted } from 'vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import HMStatsBar from './HMStatsBar.vue'; import HMStatsBar from './HMStatsBar.vue';
import { hmCityDataPage3 } from '@/api/jyh/situation';
// ================= 数据定义 ================= // ================= 数据定义 =================
const hmCityData = [ const hmCityData = ref([
{ name: '广东', value: 185 }, { name: '广东', value: 185 },
{ name: '北京', value: 95 }, { name: '北京', value: 95 },
{ name: '上海', value: 88 }, { name: '上海', value: 88 },
@@ -351,7 +352,7 @@ const hmCityData = [
{ name: '福建', value: 30 }, { name: '福建', value: 30 },
{ name: '陕西', value: 28 }, { name: '陕西', value: 28 },
{ name: '山东', value: 24 } { name: '山东', value: 24 }
]; ]);
const hmDevCityData = [ const hmDevCityData = [
{ name: '其他地区', value: 25.7 }, { name: '其他地区', value: 25.7 },
@@ -776,10 +777,10 @@ const initHmCityChart = () => {
cityChart.setOption({ cityChart.setOption({
tooltip: { trigger: 'axis' }, tooltip: { trigger: 'axis' },
grid: { left: '3%', right: '4%', bottom: '3%', top: '10%', containLabel: true }, grid: { left: '3%', right: '4%', bottom: '3%', top: '10%', containLabel: true },
xAxis: { type: 'category', data: hmCityData.map(i => i.name), axisLabel: { color: '#64748b' } }, xAxis: { type: 'category', data: hmCityData.value.map(i => i.name), axisLabel: { color: '#64748b' } },
yAxis: { type: 'value', name: '单位:个', axisLabel: { color: '#64748b' } }, yAxis: { type: 'value', name: '单位:个', axisLabel: { color: '#64748b' } },
series: [{ series: [{
type: 'bar', barWidth: '40%', data: hmCityData.map(i => i.value), type: 'bar', barWidth: '40%', data: hmCityData.value.map(i => i.value),
itemStyle: { itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#3b82f6' }, { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#3b82f6' }, {
offset: 1, offset: 1,
@@ -790,6 +791,50 @@ const initHmCityChart = () => {
}); });
}; };
// 获取鸿蒙项目城市分布数据
const fetchHmCityData = async () => {
try {
const response = await hmCityDataPage3();
if (response.code === 200 && response.data) {
hmCityData.value = response.data;
// 重新初始化图表以显示新数据
initHmCityChart();
} else {
console.error('获取鸿蒙项目城市分布数据失败:', response.msg || '未知错误');
// 使用默认数据
hmCityData.value = [
{ name: '广东', value: 185 },
{ name: '北京', value: 95 },
{ name: '上海', value: 88 },
{ name: '江苏', value: 70 },
{ name: '浙江', value: 52 },
{ name: '湖北', value: 38 },
{ name: '四川', value: 32 },
{ name: '福建', value: 30 },
{ name: '陕西', value: 28 },
{ name: '山东', value: 24 }
];
initHmCityChart();
}
} catch (error) {
console.error('获取鸿蒙项目城市分布数据异常:', error);
// 使用默认数据
hmCityData.value = [
{ name: '广东', value: 185 },
{ name: '北京', value: 95 },
{ name: '上海', value: 88 },
{ name: '江苏', value: 70 },
{ name: '浙江', value: 52 },
{ name: '湖北', value: 38 },
{ name: '四川', value: 32 },
{ name: '福建', value: 30 },
{ name: '陕西', value: 28 },
{ name: '山东', value: 24 }
];
initHmCityChart();
}
};
const initHmEntCityChart = () => { const initHmEntCityChart = () => {
const chartDom = document.getElementById('hmEntCityChart'); const chartDom = document.getElementById('hmEntCityChart');
if (!chartDom) return; if (!chartDom) return;
@@ -1004,8 +1049,11 @@ const handleResize = () => {
entCityChart?.resize(); entCityChart?.resize();
}; };
onMounted(() => { onMounted(async () => {
nextTick(() => { nextTick(async () => {
// 先获取鸿蒙项目城市分布数据
await fetchHmCityData();
initHmCityChart(); initHmCityChart();
initHmEnterpriseChart(); initHmEnterpriseChart();
initHmEntCityChart(); initHmEntCityChart();