| | |
| | | import { ref, onMounted } from 'vue' |
| | | import * as echarts from 'echarts' |
| | | import Echarts from '@/components/Echarts/echarts.vue' |
| | | import { incomeExpenseAnalysis } from '@/api/viewIndex.js' |
| | | |
| | | const chartStyle = { width: '100%', height: '100%' } |
| | | const grid = { |
| | |
| | | }, |
| | | } |
| | | |
| | | // 先用本地假数据(后续如有接口可直接替换这里) |
| | | const setMockData = () => { |
| | | const dates = ['1/22', '1/23', '1/24', '1/25', '1/26', '1/27', '1/28'] |
| | | xAxis1.value[0].data = dates |
| | | lineSeries.value[0].data = [1200, 1800, 900, 1600, 1400, 2000, 1700] // 收入 |
| | | lineSeries.value[1].data = [800, 1100, 700, 1200, 1000, 1500, 1300] // 支出 |
| | | const fetchData = () => { |
| | | incomeExpenseAnalysis() |
| | | .then((res) => { |
| | | if (res.code === 200 && Array.isArray(res.data)) { |
| | | const list = res.data |
| | | xAxis1.value[0].data = list.map((d) => d.date) |
| | | lineSeries.value[0].data = list.map((d) => Number(d.income) || 0) |
| | | lineSeries.value[1].data = list.map((d) => Number(d.expense) || 0) |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.error('获取收支对比分析失败:', err) |
| | | }) |
| | | } |
| | | |
| | | onMounted(() => { |
| | | setMockData() |
| | | fetchData() |
| | | }) |
| | | </script> |
| | | |