From b3af089315a98903163a394a3b1ca0e4c634b9ab Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 14 一月 2026 17:51:37 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New

---
 src/views/salesManagement/indicatorStats/index.vue |   47 ++++++++++++++++-------------------------------
 1 files changed, 16 insertions(+), 31 deletions(-)

diff --git a/src/views/salesManagement/indicatorStats/index.vue b/src/views/salesManagement/indicatorStats/index.vue
index 617ef6f..7bd609e 100644
--- a/src/views/salesManagement/indicatorStats/index.vue
+++ b/src/views/salesManagement/indicatorStats/index.vue
@@ -3,7 +3,7 @@
     <el-card class="box-card">
       <!-- KPI 姹囨�� -->
       <el-row :gutter="20" class="stats-row">
-        <el-col :span="6">
+        <el-col :span="8">
           <div class="stat-card">
             <div class="stat-icon" style="background: #ecf5ff;">
               <el-icon :size="30" color="#409eff"><Document /></el-icon>
@@ -14,7 +14,7 @@
             </div>
           </div>
         </el-col>
-        <el-col :span="6">
+        <el-col :span="8">
           <div class="stat-card">
             <div class="stat-icon" style="background: #f0f9ff;">
               <el-icon :size="30" color="#67c23a"><Tickets /></el-icon>
@@ -25,7 +25,7 @@
             </div>
           </div>
         </el-col>
-        <el-col :span="6">
+        <el-col :span="8">
           <div class="stat-card">
             <div class="stat-icon" style="background: #fef0f0;">
               <el-icon :size="30" color="#e6a23c"><Van /></el-icon>
@@ -33,17 +33,6 @@
             <div class="stat-content">
               <div class="stat-value">{{ indicatorKpis.shipmentRate }}%</div>
               <div class="stat-label">鍙戣揣鐜�</div>
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="6">
-          <div class="stat-card">
-            <div class="stat-icon" style="background: #f4f4f5;">
-              <el-icon :size="30" color="#f56c6c"><Wallet /></el-icon>
-            </div>
-            <div class="stat-content">
-              <div class="stat-value">{{ indicatorKpis.collectionRate }}%</div>
-              <div class="stat-label">鍥炴鐜�</div>
             </div>
           </div>
         </el-col>
@@ -93,7 +82,7 @@
       </div>
 
       <!-- 涓氱哗缁熻锛堝洟闃熺淮搴︼紝鏃犱釜浜哄鍚嶏級 -->
-      <el-table :data="teamPerformanceList" border stripe style="margin-top: 20px;">
+      <el-table v-if="showTeamPerformance" :data="teamPerformanceList" border stripe style="margin-top: 20px;">
         <el-table-column prop="team" label="閿�鍞洟闃�"/>
         <el-table-column prop="orderCount" label="璁㈠崟鏁�"/>
         <el-table-column prop="salesAmount" label="閿�鍞">
@@ -101,9 +90,6 @@
         </el-table-column>
         <el-table-column prop="shipmentRate" label="鍙戣揣鐜�">
           <template #default="scope">{{ scope.row.shipmentRate }}%</template>
-        </el-table-column>
-        <el-table-column prop="collectionRate" label="鍥炴鐜�">
-          <template #default="scope">{{ scope.row.collectionRate }}%</template>
         </el-table-column>
         <el-table-column prop="attainment" label="鐩爣杈炬垚鐜�">
           <template #default="scope">
@@ -119,15 +105,17 @@
 
 <script setup>
 import { ref, reactive, onMounted, nextTick } from 'vue'
-import { Document, Van, Tickets, Wallet } from '@element-plus/icons-vue'
+import { Document, Van, Tickets } from '@element-plus/icons-vue'
 import * as echarts from 'echarts'
 
 const indicatorKpis = reactive({
   orderCount: 1280,
   salesAmount: 9650000,
-  shipmentRate: 89.2,
-  collectionRate: 76.4
+  shipmentRate: 89.2
 })
+
+// 鏄惁灞曠ず閿�鍞洟闃熸槑缁嗚〃锛屾寜闇�寮�鍚�
+const showTeamPerformance = ref(false)
 
 const indicatorFilter = reactive({
   product: '',
@@ -140,10 +128,10 @@
 let indicatorChart = null
 
 const teamPerformanceList = ref([
-  { team: '鍗庝笢澶у尯', orderCount: 320, salesAmount: 2850000, shipmentRate: 90, collectionRate: 80, attainment: 105 },
-  { team: '鍗庡寳澶у尯', orderCount: 280, salesAmount: 2150000, shipmentRate: 86, collectionRate: 73, attainment: 92 },
-  { team: '鍗庡崡澶у尯', orderCount: 210, salesAmount: 1850000, shipmentRate: 88, collectionRate: 70, attainment: 78 },
-  { team: '瑗垮崡澶у尯', orderCount: 180, salesAmount: 1500000, shipmentRate: 83, collectionRate: 68, attainment: 74 }
+  { team: '鍗庝笢澶у尯', orderCount: 320, salesAmount: 2850000, shipmentRate: 90, attainment: 105 },
+  { team: '鍗庡寳澶у尯', orderCount: 280, salesAmount: 2150000, shipmentRate: 86, attainment: 92 },
+  { team: '鍗庡崡澶у尯', orderCount: 210, salesAmount: 1850000, shipmentRate: 88, attainment: 78 },
+  { team: '瑗垮崡澶у尯', orderCount: 180, salesAmount: 1500000, shipmentRate: 83, attainment: 74 }
 ])
 
 const initIndicatorChart = () => {
@@ -153,7 +141,7 @@
   const option = {
     title: { text: '澶氱淮搴﹂攢鍞寚鏍囪秼鍔�', left: 'center' },
     tooltip: { trigger: 'axis' },
-    legend: { data: ['璁㈠崟鏁�', '閿�鍞', '鍙戣揣鐜�', '鍥炴鐜�'], top: 30 },
+    legend: { data: ['璁㈠崟鏁�', '閿�鍞', '鍙戣揣鐜�'], top: 30 },
     grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
     xAxis: { type: 'category', data: ['2024-12', '2025-01', '2025-02', '2025-03', '2025-04', '2025-05'] },
     yAxis: [
@@ -163,8 +151,7 @@
     series: [
       { name: '璁㈠崟鏁�', type: 'bar', data: [180, 220, 210, 260, 205, 225], itemStyle: { color: '#409eff' } },
       { name: '閿�鍞', type: 'bar', data: [820, 950, 910, 1080, 980, 1020], itemStyle: { color: '#67c23a' } },
-      { name: '鍙戣揣鐜�', type: 'line', yAxisIndex: 1, data: [86, 89, 88, 91, 87, 90], itemStyle: { color: '#e6a23c' } },
-      { name: '鍥炴鐜�', type: 'line', yAxisIndex: 1, data: [72, 76, 74, 79, 75, 78], itemStyle: { color: '#f56c6c' } }
+      { name: '鍙戣揣鐜�', type: 'line', yAxisIndex: 1, data: [86, 89, 88, 91, 87, 90], itemStyle: { color: '#e6a23c' } }
     ]
   }
   indicatorChart.setOption(option)
@@ -178,7 +165,6 @@
   indicatorKpis.orderCount = random(1280, 120)
   indicatorKpis.salesAmount = random(9650000, 350000)
   indicatorKpis.shipmentRate = (85 + Math.random() * 10).toFixed(1) * 1
-  indicatorKpis.collectionRate = (70 + Math.random() * 12).toFixed(1) * 1
   setTimeout(() => initIndicatorChart(), 200)
 }
 
@@ -191,13 +177,12 @@
 }
 
 const exportIndicatorTable = () => {
-  const header = ['閿�鍞洟闃�', '璁㈠崟鏁�', '閿�鍞', '鍙戣揣鐜�(%)', '鍥炴鐜�(%)', '鐩爣杈炬垚鐜�(%)']
+  const header = ['閿�鍞洟闃�', '璁㈠崟鏁�', '閿�鍞', '鍙戣揣鐜�(%)', '鐩爣杈炬垚鐜�(%)']
   const rows = teamPerformanceList.value.map(r => [
     r.team,
     r.orderCount,
     r.salesAmount,
     r.shipmentRate,
-    r.collectionRate,
     r.attainment
   ])
   const csv = [header, ...rows].map(r => r.join(',')).join('\n')

--
Gitblit v1.9.3