From 519211ac232866afe6b081ae4a97916ad5f1d7d2 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 27 一月 2026 17:58:57 +0800
Subject: [PATCH] fix: 排名样式修改
---
src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue | 40 +++++++++++++++++++++++++++++++++++-----
1 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue b/src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue
index 3f18a50..506ea9d 100644
--- a/src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue
+++ b/src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue
@@ -26,6 +26,7 @@
import Echarts from '@/components/Echarts/echarts.vue'
import PanelHeader from '../PanelHeader.vue'
import DateTypeSwitch from '../DateTypeSwitch.vue'
+import { customerContributionRanking } from '@/api/viewIndex.js'
const chartStyle = {
width: '100%',
@@ -49,7 +50,6 @@
// 鍘熷鏁版嵁锛堢粺涓�鎴� { NAME, NUM }锛�
const dataArr = ref([])
-// 浠呬繚鐣欓噾棰濇渶楂樼殑 5 鏉★紙骞舵寜浠庡皬鍒板ぇ灞曠ず锛岃瑙変笂鏈�楂樺湪鏈�涓嬫柟锛�
const dataArray = computed(() => {
const sortedAsc = [...dataArr.value].sort((a, b) => a.NUM - b.NUM)
return sortedAsc.length > 5 ? sortedAsc.slice(-5) : sortedAsc
@@ -127,10 +127,20 @@
inverse: false,
data: xdataName.value,
axisLabel: {
- formatter: (params) => `{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))
+ }
+ return lines.map((line) => `{a|${line}}`).join('\n')
+ },
rich: {
a: {
- width: 160,
+ width: 120,
fontSize: 14,
color: '#fff',
padding: [5, 4, 5, 0],
@@ -183,6 +193,7 @@
z: 6,
type: 'bar',
barWidth: 25,
+ tooltip: { show: false },
itemStyle: {
color: 'rgba(255,255,255,.1)',
barBorderRadius: [0, 20, 20, 0],
@@ -194,6 +205,7 @@
type: 'bar',
barWidth: 25,
barGap: '-100%',
+ tooltip: { show: false },
itemStyle: {
color: {
type: 'linear',
@@ -274,12 +286,30 @@
dataArr.value = getMockListByType(type).map(normalizeItem)
}
+const fetchCustomerRanking = () => {
+ customerContributionRanking({ type: dateType.value })
+ .then((res) => {
+ if (res.code === 200 && Array.isArray(res.data)) {
+ dataArr.value = res.data.map(item => ({
+ NAME: item.customerName,
+ NUM: item.totalAmount
+ }))
+ } else {
+ setMockData(dateType.value)
+ }
+ })
+ .catch((error) => {
+ console.error('鑾峰彇瀹㈡埛閲戦璐$尞鎺掑悕澶辫触:', error)
+ setMockData(dateType.value)
+ })
+}
+
const handleDateTypeChange = () => {
- setMockData(dateType.value)
+ fetchCustomerRanking()
}
onMounted(() => {
- setMockData(dateType.value)
+ fetchCustomerRanking()
})
</script>
--
Gitblit v1.9.3