Merge remote-tracking branch 'origin/dev_pro_河南鹤壁' into dev_pro_河南鹤壁
| | |
| | | clearInitTimer() |
| | | }) |
| | | |
| | | defineExpose({ |
| | | resize: windowResizeListener, |
| | | }) |
| | | |
| | | // Watch all reactive props that affect the chart |
| | | watch( |
| | | () => [props.xAxis, props.yAxis, props.series, props.legend, props.tooltip, props.visualMap], |
| | |
| | | <DateTypeSwitch v-model="dateType" @change="handleDateTypeChange" /> |
| | | </div> |
| | | <Echarts |
| | | ref="chart" |
| | | ref="chartRef" |
| | | :chartStyle="chartStyle" |
| | | :grid="grid" |
| | | :legend="lineLegend" |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted, inject, watch } from 'vue' |
| | | import { ref, onMounted, inject, watch, nextTick } from 'vue' |
| | | import * as echarts from 'echarts' |
| | | import Echarts from '@/components/Echarts/echarts.vue' |
| | | import { inputOutputAnalysis } from '@/api/viewIndex.js' |
| | | import DateTypeSwitch from "@/views/reportAnalysis/productionAnalysis/components/DateTypeSwitch.vue"; |
| | | |
| | | const dateType = ref(3) // 1=周 2=月 3=季度 |
| | | const chartRef = ref(null) |
| | | const chartStyle = { width: '100%', height: '100%' } |
| | | const grid = { |
| | | left: '3%', |
| | |
| | | xAxis1.value[0].data = list.map((d) => d.date) |
| | | lineSeries.value[0].data = list.map((d) => Number(d.outputSum) || 0) |
| | | lineSeries.value[1].data = list.map((d) => Number(d.inputSum) || 0) |
| | | scheduleChartResize() |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.error('获取投入产出分析失败:', err) |
| | | }) |
| | | } |
| | | |
| | | const scheduleChartResize = () => { |
| | | nextTick(() => { |
| | | ;[0, 150, 400].forEach((ms) => { |
| | | setTimeout(() => chartRef.value?.resize?.(), ms) |
| | | }) |
| | | }) |
| | | } |
| | | |
| | |
| | | |
| | | onMounted(() => { |
| | | fetchData() |
| | | scheduleChartResize() |
| | | }) |
| | | </script> |
| | | |
| | |
| | | width: 50px; |
| | | height: 50px; |
| | | } |
| | | |
| | | .filters-row { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | </style> |