From a65dbc23d6c8da392b6713ff2149c1a22e2d8981 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 21 八月 2026 10:22:56 +0800
Subject: [PATCH] 天津-环境工程 1.回款方式改为字典查询

---
 src/views/salesManagement/indicatorStats/index.vue |   69 +++-------------------------------
 1 files changed, 6 insertions(+), 63 deletions(-)

diff --git a/src/views/salesManagement/indicatorStats/index.vue b/src/views/salesManagement/indicatorStats/index.vue
index 8cbeb24..52f1e6b 100644
--- a/src/views/salesManagement/indicatorStats/index.vue
+++ b/src/views/salesManagement/indicatorStats/index.vue
@@ -2,7 +2,7 @@
   <div class="app-container indicator-stats">
     <!-- KPI 姹囨�� -->
     <el-row :gutter="20" class="stats-row">
-      <el-col :xs="24" :sm="12" :md="8">
+      <el-col :xs="24" :sm="12" :md="12">
         <div class="stat-card stat-card-blue">
           <div class="stat-icon-wrapper">
             <div class="stat-icon">
@@ -16,7 +16,7 @@
           <div class="stat-bg-decoration"></div>
         </div>
       </el-col>
-      <el-col :xs="24" :sm="12" :md="8">
+      <el-col :xs="24" :sm="12" :md="12">
         <div class="stat-card stat-card-green">
           <div class="stat-icon-wrapper">
             <div class="stat-icon">
@@ -26,20 +26,6 @@
           <div class="stat-content">
             <div class="stat-value">楼{{ indicatorKpis.salesAmount.toLocaleString() }}</div>
             <div class="stat-label">閿�鍞</div>
-          </div>
-          <div class="stat-bg-decoration"></div>
-        </div>
-      </el-col>
-      <el-col :xs="24" :sm="12" :md="8">
-        <div class="stat-card stat-card-orange">
-          <div class="stat-icon-wrapper">
-            <div class="stat-icon">
-              <el-icon :size="32"><Van /></el-icon>
-            </div>
-          </div>
-          <div class="stat-content">
-            <div class="stat-value">{{ indicatorKpis.shipRate }}%</div>
-            <div class="stat-label">鍙戣揣鐜�</div>
           </div>
           <div class="stat-bg-decoration"></div>
         </div>
@@ -98,11 +84,11 @@
               <label class="filter-label">鏃ユ湡鑼冨洿</label>
               <el-date-picker 
                 v-model="indicatorFilter.dateRange" 
-                type="daterange" 
+                type="monthrange"
                 range-separator="鑷�"
                 start-placeholder="寮�濮嬫棩鏈�" 
                 end-placeholder="缁撴潫鏃ユ湡" 
-                value-format="YYYY-MM-DD" 
+                value-format="YYYY-MM"
                 style="width: 100%" 
               />
             </div>
@@ -127,47 +113,12 @@
         <div ref="indicatorChartRef" class="chart-wrapper"></div>
       </div>
     </el-card>
-
-    <!-- 涓氱哗缁熻锛堝洟闃熺淮搴︼紝鏃犱釜浜哄鍚嶏級 -->
-    <el-card v-if="showTeamPerformance" class="table-card" shadow="hover">
-      <template #header>
-        <div class="card-header">
-          <span class="card-title">鍥㈤槦涓氱哗缁熻</span>
-        </div>
-      </template>
-      <el-table 
-        :data="teamPerformanceList" 
-        border 
-        stripe 
-        style="width: 100%"
-        :header-cell-style="{ background: '#f5f7fa', color: '#606266', fontWeight: 'bold' }"
-      >
-        <el-table-column prop="team" label="閿�鍞洟闃�" min-width="120"/>
-        <el-table-column prop="orderCount" label="璁㈠崟鏁�" align="right" min-width="100"/>
-        <el-table-column prop="salesAmount" label="閿�鍞" align="right" min-width="140">
-          <template #default="scope">楼{{ scope.row.salesAmount.toLocaleString() }}</template>
-        </el-table-column>
-        <el-table-column prop="shipRate" label="鍙戣揣鐜�" align="right" min-width="100">
-          <template #default="scope">{{ scope.row.shipRate }}%</template>
-        </el-table-column>
-        <el-table-column prop="attainment" label="鐩爣杈炬垚鐜�" align="center" min-width="120">
-          <template #default="scope">
-            <el-tag 
-              :type="scope.row.attainment >= 100 ? 'success' : scope.row.attainment >= 80 ? 'warning' : 'danger'"
-              effect="dark"
-            >
-              {{ scope.row.attainment }}%
-            </el-tag>
-          </template>
-        </el-table-column>
-      </el-table>
-    </el-card>
   </div>
 </template>
 
 <script setup>
 import { ref, reactive, onMounted, onUnmounted, nextTick } from 'vue'
-import { Document, Van, Tickets, Search, Refresh } from '@element-plus/icons-vue'
+import { Document, Tickets, Search, Refresh } from '@element-plus/icons-vue'
 import * as echarts from 'echarts'
 import { getTotalStatistics, getStatisticsTable } from '@/api/salesManagement/indicatorStats'
 import { productTreeList } from '@/api/basicData/product.js'
@@ -195,13 +146,6 @@
 
 const productOptions = ref([])
 const customerOption = ref([])
-
-const teamPerformanceList = ref([
-  { team: '鍗庝笢澶у尯', orderCount: 320, salesAmount: 2850000, shipRate: 90, attainment: 105 },
-  { team: '鍗庡寳澶у尯', orderCount: 280, salesAmount: 2150000, shipRate: 86, attainment: 92 },
-  { team: '鍗庡崡澶у尯', orderCount: 210, salesAmount: 1850000, shipRate: 88, attainment: 78 },
-  { team: '瑗垮崡澶у尯', orderCount: 180, salesAmount: 1500000, shipRate: 83, attainment: 74 }
-])
 
 // 杞崲浜у搧鏍戞暟鎹紝灏� id 鏀逛负 value
 function convertIdToValue(data) {
@@ -277,7 +221,7 @@
       indicatorKpis.orderCount = res.data.total || 0
       indicatorKpis.salesAmount = res.data.contractAmountTotal || 0
       // 鍙戣揣鐜囧鏋滄帴鍙f病鏈夎繑鍥烇紝淇濇寔鍘熷�兼垨璁句负0
-      // indicatorKpis.shipRate = res.data.shipRate || 0
+      indicatorKpis.shipRate = res.data.shipRate || 0
     }
   } catch (error) {
     console.error('鑾峰彇澶撮儴缁熻澶辫触:', error)
@@ -448,7 +392,6 @@
 <style scoped lang="scss">
 .indicator-stats {
   padding: 20px;
-  background: #f5f7fa;
   min-height: calc(100vh - 84px);
 }
 

--
Gitblit v1.9.3