From 5db4ae754437adbbcffa8078b3017570ce9f9eb4 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 25 十二月 2025 09:42:55 +0800
Subject: [PATCH] 1.海川开心-选择框添加筛选

---
 src/views/reportAnalysis/projectProfit/index.vue |  183 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 170 insertions(+), 13 deletions(-)

diff --git a/src/views/reportAnalysis/projectProfit/index.vue b/src/views/reportAnalysis/projectProfit/index.vue
index 82031bb..942b0dd 100644
--- a/src/views/reportAnalysis/projectProfit/index.vue
+++ b/src/views/reportAnalysis/projectProfit/index.vue
@@ -7,10 +7,12 @@
       <el-form-item>
         <el-button type="primary" @click="getTableData"> 鎼滅储 </el-button>
         <el-button @click="resetFilters"> 閲嶇疆 </el-button>
+        <el-button @click="handleOut"> 瀵煎嚭 </el-button>
       </el-form-item>
     </el-form>
     <div class="table_list">
       <PIMTable
+        rowKey="id"
         :column="columns"
         :tableLoading="loading"
         :tableData="dataList"
@@ -19,7 +21,7 @@
           size: pagination.pageSize,
           total: pagination.total,
         }"
-        @pagination="onCurrentChange"
+        @pagination="changePage"
       ></PIMTable>
     </div>
   </div>
@@ -28,7 +30,10 @@
 <script setup>
 import { usePaginationApi } from "@/hooks/usePaginationApi";
 import { getPurchaseList } from "@/api/procurementManagement/projectProfit";
-import { onMounted } from "vue";
+import { onMounted, getCurrentInstance } from "vue";
+import { ElMessageBox } from "element-plus";
+
+const { proxy } = getCurrentInstance();
 
 defineOptions({
   name: "椤圭洰鍒╂鼎",
@@ -40,7 +45,6 @@
   columns,
   dataList,
   pagination,
-  getTableData,
   resetFilters,
   onCurrentChange,
 } = usePaginationApi(
@@ -58,11 +62,6 @@
       label: "瀹㈡埛鍚嶇О",
       align: "center",
       prop: "customerName",
-    },
-    {
-      label: "椤圭洰鍚嶇О",
-      align: "center",
-      prop: "projectName",
     },
     {
       label: "鍚堝悓閲戦",
@@ -84,13 +83,167 @@
       align: "center",
       prop: "balanceRatio",
     },
-    {
-      label: "澧炲�肩◣",
-      align: "center",
-      prop: "balanceAmount",
-    },
   ]
 );
+
+// 璁剧疆鍋囨暟鎹�
+const mockData = [
+  {
+    customerContractNo: "HCKX20251220011",
+    customerName: "宸存鍘块珮瀹忓啗 - 鏂扮枂鍚嶅埄鍟嗚锤鏈夐檺鍏徃",
+    contractAmount: "10189.00",
+    purchaseAmount: "6113.00",
+    balance: "4076.00",
+    balanceRatio: "40.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220002", 
+    customerName: "鍠�浠�绂忔柊婧愬晢璐告湁闄愬叕鍙�",
+    contractAmount: "35321.00",
+    purchaseAmount: "19436.00",
+    balance: "15885.00",
+    balanceRatio: "45.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220001",
+    customerName: "閮戝窞鎸嚎鍟嗚锤鏈夐檺鍏徃",
+    contractAmount: "26491.00",
+    purchaseAmount: "13245.50",
+    balance: "13245.50",
+    balanceRatio: "50.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220009",
+    customerName: "闃滃悍鑻楃华娑�",
+    contractAmount: "58868.00",
+    purchaseAmount: "35321.00",
+    balance: "23547.00",
+    balanceRatio: "40.0%"
+  },
+  {
+    customerContractNo: "HCKX20251210013",
+    customerName: "娌冲寳鎻寸枂寮曟搸绉戞妧鏈夐檺鍏徃",
+    contractAmount: "41678.00",
+    purchaseAmount: "18755.10",
+    balance: "22922.90",
+    balanceRatio: "55.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220015",
+    customerName: "鐜嬫枃 - 闃垮厠鑻忓弸閼晢璐告湁闄愬叕鍙�",
+    contractAmount: "37358.00",
+    purchaseAmount: "20547.00",
+    balance: "16811.00",
+    balanceRatio: "45.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220010",
+    customerName: "闃垮嫆娉板紶钂�",
+    contractAmount: "203773.60",
+    purchaseAmount: "81509.44",
+    balance: "122264.16",
+    balanceRatio: "60.0%"
+  },
+  {
+    customerContractNo: "HCKX20250930002",
+    customerName: "涔岄瞾鏈ㄩ綈甯備紬绛瑰晢璐告湁闄愬叕鍙�",
+    contractAmount: "56612.30",
+    purchaseAmount: "28306.15",
+    balance: "28306.15",
+    balanceRatio: "50.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220016",
+    customerName: "鏂扮枂澶╂鼎鍟嗚锤鏈夐檺鍏徃",
+    contractAmount: "89245.00",
+    purchaseAmount: "53547.00",
+    balance: "35698.00",
+    balanceRatio: "40.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220017",
+    customerName: "鍝堝瘑甯傚畯杈捐锤鏄撴湁闄愬叕鍙�",
+    contractAmount: "123456.00",
+    purchaseAmount: "55555.20",
+    balance: "67900.80",
+    balanceRatio: "55.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220018",
+    customerName: "浼婄妬鍝堣惃鍏嬭嚜娌诲窞璐告槗鍏徃",
+    contractAmount: "78912.00",
+    purchaseAmount: "31564.80",
+    balance: "47347.20",
+    balanceRatio: "60.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220019",
+    customerName: "鍏嬫媺鐜涗緷鐭虫补璐告槗鏈夐檺鍏徃",
+    contractAmount: "156789.00",
+    purchaseAmount: "78394.50",
+    balance: "78394.50",
+    balanceRatio: "50.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220020",
+    customerName: "鐭虫渤瀛愬啘涓氳锤鏄撳叕鍙�",
+    contractAmount: "234567.00",
+    purchaseAmount: "129011.85",
+    balance: "105555.15",
+    balanceRatio: "45.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220021",
+    customerName: "鍚愰瞾鐣憽钀勮锤鏄撴湁闄愬叕鍙�",
+    contractAmount: "98765.00",
+    purchaseAmount: "59259.00",
+    balance: "39506.00",
+    balanceRatio: "40.0%"
+  },
+  {
+    customerContractNo: "HCKX20251220022",
+    customerName: "鍜岀敯鐜夌煶璐告槗鍏徃",
+    contractAmount: "345678.00",
+    purchaseAmount: "138271.20",
+    balance: "207406.80",
+    balanceRatio: "60.0%"
+  }
+];
+
+// 閲嶅啓鑾峰彇琛ㄦ牸鏁版嵁鐨勬柟娉曪紝浣跨敤鍋囨暟鎹�
+const loadMockData = () => {
+  loading.value = true;
+  setTimeout(() => {
+    dataList.value = mockData;
+    pagination.total = mockData.length;
+    loading.value = false;
+  }, 500);
+};
+
+// 閲嶅啓getTableData鏂规硶
+const getTableData = () => {
+  loadMockData();
+};
+
+const changePage = ({ page }) => {
+  pagination.currentPage = page;
+  onCurrentChange(page);
+};
+
+// 瀵煎嚭
+const handleOut = () => {
+  ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      proxy.download("/purchase/report/export", {}, "椤圭洰鍒╂鼎.xlsx");
+    })
+    .catch(() => {
+      proxy.$modal.msg("宸插彇娑�");
+    });
+};
 
 onMounted(() => {
   getTableData();
@@ -101,3 +254,7 @@
   margin-top: unset;
 }
 </style>
+
+
+
+

--
Gitblit v1.9.3