From f32aea98aa5e6f6922aaa4cb969b202301a3faab Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 六月 2025 14:23:33 +0800
Subject: [PATCH] 分页修改

---
 src/views/procurementManagement/paymentHistory/index.vue |    3 +
 src/views/procurementManagement/paymentEntry/index.vue   |   15 ++++++-
 src/layout/components/Settings/index.vue                 |    4 +-
 src/views/procurementManagement/paymentLedger/index.vue  |   65 ++++++++++++++++++++------------
 4 files changed, 58 insertions(+), 29 deletions(-)

diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue
index 679e4d9..55ccec2 100644
--- a/src/layout/components/Settings/index.vue
+++ b/src/layout/components/Settings/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <el-drawer v-model="showSettings" :withHeader="false" direction="rtl" size="300px">
+  <el-drawer v-model="showSettings" direction="rtl" size="300px">
     <div class="setting-drawer-title">
       <h3 class="drawer-title">涓婚椋庢牸璁剧疆</h3>
     </div>
@@ -96,7 +96,7 @@
 const theme = ref(settingsStore.theme)
 const sideTheme = ref(settingsStore.sideTheme)
 const storeSettings = computed(() => settingsStore)
-const predefineColors = ref(["#409EFF", "#ff4500", "#ff8c00", "#ffd700", "#90ee90", "#00ced1", "#1e90ff", "#c71585"])
+const predefineColors = ref(["#800020", "#81D8D0", "#E85827", "#008C8C", "#002FA7", "#F9DC24", "#B05923", "#003153", "#8F4B28", "#4C0009"])
 
 /** 鏄惁闇�瑕乼opnav */
 function topNavChange(val) {
diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index edea198..11635a1 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -139,15 +139,24 @@
   },
   {
     label: '鍙戠エ閲戦(鍏�)',
-    prop: 'invoiceAmount'
+    prop: 'invoiceAmount',
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
   {
     label: '宸蹭粯娆鹃噾棰�(鍏�)',
-    prop: 'paymentAmountTotal'
+    prop: 'paymentAmountTotal',
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
   {
     label: '寰呬粯娆鹃噾棰�(鍏�)',
-    prop: 'unPaymentAmountTotal'
+    prop: 'unPaymentAmountTotal',
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
 ])
 const tableData = ref([])
diff --git a/src/views/procurementManagement/paymentHistory/index.vue b/src/views/procurementManagement/paymentHistory/index.vue
index ec6616a..08cd462 100644
--- a/src/views/procurementManagement/paymentHistory/index.vue
+++ b/src/views/procurementManagement/paymentHistory/index.vue
@@ -35,6 +35,9 @@
   {
     label: '浠樻閲戦',
     prop: 'currentPaymentAmount',
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
   {
     label: '浠樻鏂瑰紡',
diff --git a/src/views/procurementManagement/paymentLedger/index.vue b/src/views/procurementManagement/paymentLedger/index.vue
index 4d24bbb..2d340a7 100644
--- a/src/views/procurementManagement/paymentLedger/index.vue
+++ b/src/views/procurementManagement/paymentLedger/index.vue
@@ -17,11 +17,12 @@
       </div>
       <div></div>
     </div>
-    <el-row>
+    <el-row :gutter="20">
       <el-col :span="14">
         <div class="table_list">
           <el-table
             ref="multipleTable"
+            border
             v-loading="tableLoading"
             :data="tableData"
             :header-cell-style="{ background: '#F0F1F5', color: '#333333' }"
@@ -55,6 +56,7 @@
               :sortable="!!item.sortable"
               :type="item.type"
               :width="item.width"
+              :formatter="formattedNumber"
             >
             </el-table-column>
           </el-table>
@@ -72,7 +74,7 @@
         <div class="table_list">
           <PIMTable
             :column="tableColumnSon"
-            :tableData="tableDataSon"
+            :tableData="originalTableDataSon"
             :isSelection="false"
             :tableLoading="tableLoadingSon"
             :isShowSummary="isShowSummarySon"
@@ -95,6 +97,7 @@
 import { ref, toRefs } from "vue";
 import { Search } from "@element-plus/icons-vue";
 import { paymentLedgerList,paymentRecordList } from "@/api/procurementManagement/paymentLedger.js";
+import Pagination from "../../../components/PIMTable/Pagination.vue";
 
 const tableColumn = ref([
   {
@@ -147,17 +150,27 @@
   {
     label: "鍙戠エ閲戦",
     prop: "invoiceAmount",
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
   {
     label: "浠樻閲戦(鍏�)",
     prop: "currentPaymentAmount",
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
   {
     label: "搴斾粯閲戦(鍏�)",
     prop: "payableAmount",
+    formatData: (params) => {
+      return parseFloat(params).toFixed(2);
+    }
   },
 ]);
 const tableDataSon = ref([]);
+const originalTableDataSon = ref([]);
 const tableLoadingSon = ref(false);
 const isShowSummarySon = ref(true);
 const detailPageNum = ref(1);
@@ -171,11 +184,10 @@
 const paginationSearch = ({ current, limit }) => {
   page.current = current;
   page.size = limit;
-  tableDataSon.value = [];
   getList();
 };
 const getList = () => {
-  tableLoading.value = false;
+  tableLoading.value = true;
   paymentLedgerList({
     ...searchForm.value,
     ...page,
@@ -195,33 +207,42 @@
 };
 
 const getPaymenRecordtList = (supplierId) => {
+  tableLoadingSon.value = true;
   paymentRecordList(supplierId).then(res => {
+    tableLoadingSon.value = false;
     tableDataSon.value = res.data
+    handlePagination({ page: 1, limit: sonPage.size });
     sonTotal.value = res.data.length
+  }).catch((e) => {
+    tableLoadingSon.value = false;
   })
 }
-
-const sonPaginationSearch = ({ current, limit }) => {
-  sonPage.current = current;
+const handlePagination = ({ page, limit }) => {
+  sonPage.current = page;
   sonPage.size = limit;
-};
+  
+  const start = (page - 1) * limit;
+  const end = start + limit;
+  
+  originalTableDataSon.value = tableDataSon.value.slice(start, end);
+}
 
+const sonPaginationSearch = (pagination) => {
+  // 鎺ユ敹鍒嗛〉鍣ㄥ弬鏁� { page, limit }
+  handlePagination(pagination);
+}
+const formattedNumber = (row, column, cellValue) => {
+  if (column.property !== 'supplierName') {
+    return parseFloat(cellValue).toFixed(2);
+  } else {
+    return cellValue
+  }
+};
 getList();
 </script>
 
 <style scoped lang="scss">
-.el-row {
-  .el-col-14 {
-    .table_list {
-      padding-right: 0px;
-    }
-  }
-  .el-col-10 {
-    .table_list {
-      padding-left: 0px;
-    }
-  }
-}
+
 .el-pagination {
   width: 100%;
   height: 55px;
@@ -236,9 +257,5 @@
 }
 .pagination-container {
   margin-top: 0;
-}
-.table_list {
-  height: calc(100vh - 13.5em);
-  overflow: auto;
 }
 </style>

--
Gitblit v1.9.3