From f68311c42b262298b2187fe5b8b284c31e6a1cdf Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 一月 2026 14:53:47 +0800
Subject: [PATCH] fix: 完成进销存大屏数据分析接口联调
---
src/views/reportAnalysis/PSIDataAnalysis/components/left-bottom.vue | 87 ++++++++++++++-----------------------------
1 files changed, 29 insertions(+), 58 deletions(-)
diff --git a/src/views/reportAnalysis/PSIDataAnalysis/components/left-bottom.vue b/src/views/reportAnalysis/PSIDataAnalysis/components/left-bottom.vue
index 9ddab7f..3970b71 100644
--- a/src/views/reportAnalysis/PSIDataAnalysis/components/left-bottom.vue
+++ b/src/views/reportAnalysis/PSIDataAnalysis/components/left-bottom.vue
@@ -26,7 +26,7 @@
import Echarts from '@/components/Echarts/echarts.vue'
import PanelHeader from './PanelHeader.vue'
import CarouselCards from './CarouselCards.vue'
-import { productCategoryDistribution } from '@/api/viewIndex.js'
+import { rawMaterialPurchaseAmountRatio } from '@/api/viewIndex.js'
/**
* @introduction 鎶婃暟缁勪腑key鍊肩浉鍚岀殑閭d竴椤规彁鍙栧嚭鏉ワ紝缁勬垚涓�涓璞�
@@ -48,16 +48,6 @@
// 鍗$墖鏁版嵁
const cardItems = ref([])
-// 鍋囨暟鎹�
-const mockCardData = [
- { name: '鐢靛瓙浜у搧', value: 156, rate: '28.5' },
- { name: '鏈烘璁惧', value: 132, rate: '24.1' },
- { name: '鍘熸潗鏂�', value: 98, rate: '17.9' },
- { name: '鍖栧伐浜у搧', value: 87, rate: '15.9' },
- { name: '绾虹粐鍝�', value: 45, rate: '8.2' },
- { name: '鍏朵粬', value: 31, rate: '5.7' },
-]
-
// 棰滆壊鍒楄〃
const landColors = ['#26FFCB', '#24CBFF', '#35FBF4', '#2651FF', '#D1E4F5', '#5782F7', '#2F67EF', '#82BAFF']
@@ -77,13 +67,13 @@
return {
orient: 'vertical',
top: 'center',
- left: '60%',
+ left: '52%',
itemGap: 30,
data: data,
formatter: function (name) {
const item = landObjData.value[name]
if (!item) return name
- return `{title|${name}}{value|${item.value}}{unit|浠秨{percent|${item.rate}}{unit|%}`
+ return `{title|${name}}{value|${item.value}}{unit|鍏儅{percent|${item.rate}}{unit|%}`
},
textStyle: {
rich: {
@@ -91,7 +81,7 @@
color: '#43e8fc',
fontSize: 14,
fontWeight: 600,
- padding: [0, 0, 0, 30],
+ padding: [0, 0, 0, 10],
},
unit: {
color: '#82baff',
@@ -117,7 +107,7 @@
// 鎻愮ず妗�
const landTooltip = {
trigger: 'item',
- formatter: '{a} <br/>{b} : {c} ({d}%)',
+ formatter: '{a} <br/>{b} : {c}鍏� ({d}%)',
}
// 鍙屽眰鐜舰楗煎浘
@@ -174,52 +164,33 @@
textStyle: { color: '#B8C8E0' },
}
-const setMockData = () => {
- // 鍗$墖鏁版嵁
- cardItems.value = mockCardData.map(item => ({
- label: item.name,
- value: item.value,
- unit: '浠�',
- rate: item.rate
- }))
- // 鍥捐〃鏁版嵁
- dataList.value = mockCardData.map((it) => ({
- name: it.name,
- value: Number(it.value || 0),
- rate: it.rate,
- children: [],
- }))
- landSeries.value[0].data = dataList.value
-}
-
-const loadData = async () => {
- setMockData()
- // try {
- // const res = await productCategoryDistribution()
- // const items = res?.data?.items || []
- // dataList.value = items.map((it) => ({
- // name: it.name,
- // value: Number(it.value || 0),
- // rate: it.rate,
- // children: Array.isArray(it.children) ? it.children : [],
- // }))
- // // 鍗$墖鏁版嵁
- // cardItems.value = items.map(item => ({
- // label: item.name,
- // value: parseInt(item.value),
- // unit: '浠�',
- // rate: item.rate
- // }))
- // landLegend.data = dataList.value.map((d) => d.name)
- // landSeries.value[0].data = dataList.value
- // } catch (e) {
- // console.error('鑾峰彇浜у搧澶х被鍒嗗竷澶辫触:', e)
- // setMockData()
- // }
+const fetchData = () => {
+ rawMaterialPurchaseAmountRatio()
+ .then((res) => {
+ if (res.code === 200 && Array.isArray(res.data)) {
+ const items = res.data
+ cardItems.value = items.map((item) => ({
+ label: item.name,
+ value: item.value,
+ unit: '鍏�',
+ rate: item.rate,
+ }))
+ dataList.value = items.map((it) => ({
+ name: it.name,
+ value: parseFloat(it.value) || 0,
+ rate: it.rate,
+ children: [],
+ }))
+ landSeries.value[0].data = dataList.value
+ }
+ })
+ .catch((err) => {
+ console.error('鑾峰彇鍘熸潗鏂欓噰璐噾棰濆崰姣斿け璐�:', err)
+ })
}
onMounted(() => {
- loadData()
+ fetchData()
})
</script>
--
Gitblit v1.9.3