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

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 * as echarts from 'echarts';
import HMStatsBar from './HMStatsBar.vue';
import { hmCityDataPage3 } from '@/api/jyh/situation';
// ================= 数据定义 =================
const hmCityData = [
const hmCityData = ref([
{ name: '广东', value: 185 },
{ name: '北京', value: 95 },
{ name: '上海', value: 88 },
@@ -351,7 +352,7 @@ const hmCityData = [
{ name: '福建', value: 30 },
{ name: '陕西', value: 28 },
{ name: '山东', value: 24 }
];
]);
const hmDevCityData = [
{ name: '其他地区', value: 25.7 },
@@ -776,10 +777,10 @@ const initHmCityChart = () => {
cityChart.setOption({
tooltip: { trigger: 'axis' },
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' } },
series: [{
type: 'bar', barWidth: '40%', data: hmCityData.map(i => i.value),
type: 'bar', barWidth: '40%', data: hmCityData.value.map(i => i.value),
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#3b82f6' }, {
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 chartDom = document.getElementById('hmEntCityChart');
if (!chartDom) return;
@@ -1004,8 +1049,11 @@ const handleResize = () => {
entCityChart?.resize();
};
onMounted(() => {
nextTick(() => {
onMounted(async () => {
nextTick(async () => {
// 先获取鸿蒙项目城市分布数据
await fetchHmCityData();
initHmCityChart();
initHmEnterpriseChart();
initHmEntCityChart();