| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted, computed } from 'vue' |
| | | import { ref, onMounted, computed, inject, watch } from 'vue' |
| | | import Echarts from '@/components/Echarts/echarts.vue' |
| | | import PanelHeader from '../PanelHeader.vue' |
| | | import DateTypeSwitch from '../DateTypeSwitch.vue' |
| | |
| | | textStyle: { fontSize: '100%' }, |
| | | formatter: function (params) { |
| | | let result = params[0].axisValueLabel + '<br/>' |
| | | result += `<div style="">${params[0].marker}${params[0].value}</div>` |
| | | result += `<div>${params[0].marker}${params[0].value}元</div>` |
| | | return result |
| | | }, |
| | | } |
| | |
| | | inverse: false, |
| | | data: xdataName.value, |
| | | axisLabel: { |
| | | formatter: (params) => { |
| | | return `{a|${params}}` |
| | | formatter: (value) => { |
| | | if (!value) return '' |
| | | const maxLen = 6 // 每行最多字符数,可按需调整 |
| | | if (value.length <= maxLen) return `{a|${value}}` |
| | | |
| | | const lines = [] |
| | | for (let i = 0; i < value.length; i += maxLen) { |
| | | lines.push(value.slice(i, i + maxLen)) |
| | | } |
| | | // 多行文本,每行都套同一个 rich 样式 |
| | | return lines.map((line) => `{a|${line}}`).join('\n') |
| | | }, |
| | | rich: { |
| | | a: { |
| | | width: 160, |
| | | width: 120, |
| | | fontSize: 14, |
| | | color: '#fff', |
| | | padding: [5, 4, 5, 0], |
| | |
| | | fetchSupplierRanking() |
| | | } |
| | | |
| | | const dataDashboardRefreshTick = inject('dataDashboardRefreshTick', null) |
| | | if (dataDashboardRefreshTick) { |
| | | watch(dataDashboardRefreshTick, () => { |
| | | fetchSupplierRanking() |
| | | }) |
| | | } |
| | | |
| | | onMounted(() => { |
| | | fetchSupplierRanking() |
| | | }) |