From 0152b0200faff12f0ece317cdb32dcbcf486757d Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期日, 04 一月 2026 14:32:03 +0800
Subject: [PATCH] 添加库存核算统计页面,调整固定资产页面图表

---
 src/views/financialManagement/accounting/index.vue |  110 +++++++++++++++++++-----------------------------------
 1 files changed, 39 insertions(+), 71 deletions(-)

diff --git a/src/views/financialManagement/accounting/index.vue b/src/views/financialManagement/accounting/index.vue
index ad998e4..f8e4a9f 100644
--- a/src/views/financialManagement/accounting/index.vue
+++ b/src/views/financialManagement/accounting/index.vue
@@ -2,43 +2,13 @@
   <div style="padding: 20px;">
     <!-- 椤甸潰鏍囬鍜岀瓫閫夋潯浠� -->
     <div class="w-full md:w-auto flex items-center gap-3" style="margin-bottom: 20px;">
-      <el-date-picker
-        v-model="dateRange"
-        type="daterange"
-        format="YYYY-MM-DD"
-        value-format="YYYY-MM-DD"
-        range-separator="鑷�"
-        start-placeholder="寮�濮嬫棩鏈�"
-        end-placeholder="缁撴潫鏃ユ湡"
-        clearable
-        @change="handleDateChange"
-        class="w-full md:w-auto"
-        style="margin-right: 30px;"
-      />
-
-      <!-- 璁惧绫诲瀷绛涢�� -->
-      <el-select
-        v-model="equipmentType"
-        placeholder="璁惧绫诲瀷"
-        clearable
-        @change="handleFilterChange"
-        style="margin-right: 20px; width: 150px;"
-      >
-        <el-option
-          v-for="item in equipmentTypeOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        />
-      </el-select>
-
       <el-button
         type="primary"
         icon="Refresh"
         @click="resetFilters"
         size="default"
       >
-        閲嶇疆
+        鏌ヨ
       </el-button>
     </div>
 
@@ -117,9 +87,9 @@
           :header-cell-style="{ background: '#f5f7fa', color: '#606266' }"
         >
           <el-table-column prop="id" label="璧勪骇缂栧彿" width="120" />
-          <el-table-column prop="deviceName" label="璁惧鍚嶇О" width="150" />
-          <el-table-column prop="deviceModel" label="鍨嬪彿瑙勬牸" width="150" />
-          <el-table-column prop="supplierName" label="渚涘簲鍟�" width="120" />
+          <el-table-column prop="deviceName" label="璁惧鍚嶇О" width="250" />
+          <el-table-column prop="deviceModel" label="鍨嬪彿瑙勬牸" min-width="150" />
+          <el-table-column prop="supplierName" label="渚涘簲鍟�" min-width="120" />
           <el-table-column prop="unit" label="鍗曚綅" width="120" />
           <el-table-column prop="number" label="鏁伴噺" width="120" />
           <el-table-column prop="originalValue" label="鍘熷��(鍏�)" width="120">
@@ -358,33 +328,42 @@
     if (equipmentListRes.code === 200) {
       equipmentList.value = equipmentListRes.data.records;
       pagination.value.total = equipmentListRes.data.total;
-    }
 
-    // // 鑾峰彇璁惧绫诲瀷鍒嗗竷鏁版嵁
-    // const typeDistributionRes = await getEquipmentTypes({
-    //   startDate: dateRange.value ? dateRange.value[0] : null,
-    //   endDate: dateRange.value ? dateRange.value[1] : null,
-    //   equipmentType: equipmentType.value
-    // });
-    // if (typeDistributionRes.code === 200) {
-    //   typeDistributionData.value = typeDistributionRes.data.map(item => ({
-    //     name: item.typeName,
-    //     value: item.count,
-    //     count: item.count,
-    //     amount: `楼${formatCurrency(item.totalValue)}`
-    //   }));
-    //
-    //   // 鏋勫缓鎶樼嚎鍥炬暟鎹�
-    //   typeDistributionLineSeries.value = [
-    //     {
-    //       name: '璁惧鏁伴噺',
-    //       type: 'line',
-    //       data: typeDistributionRes.data.map(item => item.count)
-    //     }
-    //   ];
-    //   // 鏇存柊x杞存暟鎹�
-    //   xAxis.value[0].data = typeDistributionRes.data.map(item => item.typeName);
-    // }
+      // 鏍规嵁 equipmentList 鎸� deviceName 杩涜鍒嗙被缁熻
+      const deviceNameMap = {};
+      equipmentList.value.forEach(item => {
+        const deviceName = item.deviceName;
+        if (!deviceNameMap[deviceName]) {
+          deviceNameMap[deviceName] = {
+            name: deviceName,
+            count: 0,
+            totalValue: 0
+          };
+        }
+        deviceNameMap[deviceName].count += item.number || 1; // 鍋囪 number 涓鸿澶囨暟閲�
+        deviceNameMap[deviceName].totalValue += item.taxIncludingPriceTotal || 0; // 绱姞鍚◣鎬讳环
+      });
+
+      // 杞崲涓� typeDistributionData 鏍煎紡
+      typeDistributionData.value = Object.values(deviceNameMap).map(item => ({
+        name: item.name,
+        value: item.count,
+        count: item.count,
+        amount: `楼${formatCurrency(item.totalValue)}`
+      }));
+
+      // 鏇存柊x杞存暟鎹�
+      xAxis.value[0].data = typeDistributionData.value.map(item => item.name);
+
+      // 鏋勫缓鎶樼嚎鍥炬暟鎹�
+      typeDistributionLineSeries.value = [
+        {
+          name: '璁惧鏁伴噺',
+          type: 'line',
+          data: typeDistributionData.value.map(item => item.count)
+        }
+      ];
+    }
   } catch (error) {
     console.error('鑾峰彇鍥哄畾璧勪骇鏁版嵁澶辫触锛�', error);
   }
@@ -416,17 +395,6 @@
     default:
       return 'info';
   }
-};
-
-// 澶勭悊鏃ユ湡鑼冨洿鍙樺寲
-const handleDateChange = (newRange) => {
-  dateRange.value = newRange;
-  fetchData();
-};
-
-// 澶勭悊绛涢�夋潯浠跺彉鍖�
-const handleFilterChange = () => {
-  fetchData();
 };
 
 // 閲嶇疆绛涢�夋潯浠�

--
Gitblit v1.9.3