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