From 0e2d3f632e5286485321fc15a50b2531e53d6094 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 04 六月 2026 13:53:32 +0800
Subject: [PATCH] 马铃薯app 1.客户往来、供应商往来查询展示修改

---
 src/pages/procurementManagement/paymentLedger/detail.vue |  190 ++++++++++++++++++-----------------------------
 1 files changed, 73 insertions(+), 117 deletions(-)

diff --git a/src/pages/procurementManagement/paymentLedger/detail.vue b/src/pages/procurementManagement/paymentLedger/detail.vue
index 26f5cf5..a6d787b 100644
--- a/src/pages/procurementManagement/paymentLedger/detail.vue
+++ b/src/pages/procurementManagement/paymentLedger/detail.vue
@@ -3,27 +3,7 @@
     <!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
     <PageHeader title="渚涘簲鍟嗗線鏉ヨ鎯�"
                 @back="goBack" />
-    <!-- 缁熻淇℃伅 -->
-    <view class="summary-info"
-          v-if="tableData.length > 0">
-      <view class="summary-item">
-        <text class="summary-label">鎬昏褰曟暟</text>
-        <text class="summary-value">{{ tableData.length }}</text>
-      </view>
-      <view class="summary-item">
-        <text class="summary-label">寮�绁ㄦ�婚噾棰�</text>
-        <text class="summary-value">{{ formatAmount(invoiceTotal) }}</text>
-      </view>
-      <view class="summary-item">
-        <text class="summary-label">鍥炴鎬婚噾棰�</text>
-        <text class="summary-value highlight">{{ formatAmount(receiptTotal) }}</text>
-      </view>
-      <view class="summary-item">
-        <text class="summary-label">搴旀敹鎬婚噾棰�</text>
-        <text class="summary-value danger">{{ formatAmount(unReceiptTotal) }}</text>
-      </view>
-    </view>
-    <!-- 鍥炴璁板綍鏄庣粏鍒楄〃 -->
+    <!-- 閲囪喘鍙拌处鏄庣粏 -->
     <view class="detail-list"
           v-if="tableData.length > 0">
       <view v-for="(item, index) in tableData"
@@ -36,98 +16,98 @@
                        size="16"
                        color="#ffffff"></up-icon>
             </view>
-            <text class="item-index">{{ index + 1 }}</text>
+            <text class="item-index">{{ item.purchaseContractNumber }}</text>
           </view>
-          <view class="item-date">{{ item.happenTime }}</view>
+          <view class="item-status">
+            <text class="status-tag"
+                  :class="getReceiptStatusClass(item.status)">{{ receiptStatusText[item.status] || '鏈煡鐘舵��' }}</text>
+          </view>
         </view>
         <up-divider></up-divider>
         <view class="item-details">
           <view class="detail-row">
-            <text class="detail-label">鍙戠エ閲戦(鍏�)</text>
-            <text class="detail-value">{{ formatAmount(item.invoiceAmount) }}</text>
+            <text class="detail-label">鍚堝悓绛捐鏃ユ湡</text>
+            <text class="detail-value">{{ item.executionDate }}</text>
           </view>
           <view class="detail-row">
-            <text class="detail-label">浠樻閲戦(鍏�)</text>
-            <text class="detail-value highlight">{{ formatAmount(item.currentPaymentAmount) }}</text>
+            <text class="detail-label">椤圭洰鍚嶇О</text>
+            <text class="detail-value">{{ item.projectName }}</text>
           </view>
           <view class="detail-row">
-            <text class="detail-label">搴斾粯閲戦(鍏�)</text>
-            <text class="detail-value danger">{{ formatAmount(item.payableAmount) }}</text>
-          </view>
-          <view class="detail-row">
-            <text class="detail-label">鍙戠敓鏃ユ湡</text>
-            <text class="detail-value">{{ item.paymentDate }}</text>
+            <text class="detail-label">鍚堝悓閲戦(鍏�)</text>
+            <text class="detail-value">{{ formatAmount(item.contractAmount) }}</text>
           </view>
         </view>
       </view>
     </view>
     <view v-else
           class="no-data">
-      <text>鏆傛棤鍥炴璁板綍</text>
+      <text>鏆傛棤閲囪喘鍙拌处璁板綍</text>
     </view>
   </view>
 </template>
 
 <script setup>
-  import { ref, computed, onMounted } from "vue";
-  import { onShow } from "@dcloudio/uni-app";
-  import {
-    paymentLedgerList,
-    paymentRecordList,
-  } from "@/api/procurementManagement/paymentLedger";
+  import { ref, onMounted } from "vue";
+  import { gePurchaseListPage } from "@/api/procurementManagement/invoiceEntry.js";
 
-  // 瀹㈡埛淇℃伅
-  const supplierId = ref("");
+  const supplierName = ref("");
 
   // 琛ㄦ牸鏁版嵁
   const tableData = ref([]);
 
-  const invoiceTotal = computed(() => {
-    return tableData.value.reduce((sum, item) => {
-      return sum + (parseFloat(item.invoiceAmount) || 0);
-    }, 0);
-  });
+  // 鏀惰揣鐘舵�佹枃鏈槧灏�
+  const receiptStatusText = {
+    1: '寰呮敹璐�',
+    2: '鏀惰揣涓�',
+    3: '宸叉敹璐�'
+  };
 
-  const receiptTotal = computed(() => {
-    return tableData.value.reduce((sum, item) => {
-      return sum + (parseFloat(item.receiptAmount) || 0);
-    }, 0);
-  });
-
-  const unReceiptTotal = computed(() => {
-    return tableData.value.reduce((sum, item) => {
-      return sum + (parseFloat(item.unReceiptAmount) || 0);
-    }, 0);
-  });
+  // 鏀惰揣鐘舵�佹爣绛炬牱寮�
+  const getReceiptStatusClass = (status) => {
+    const classMap = {
+      1: 'status-info',
+      2: 'status-warning',
+      3: 'status-success'
+    };
+    return classMap[status] || 'status-info';
+  };
 
   // 杩斿洖涓婁竴椤�
   const goBack = () => {
-    uni.removeStorageSync("supplierId");
+    uni.removeStorageSync("supplierName");
     uni.navigateBack();
   };
 
   // 鑾峰彇椤甸潰鍙傛暟
   const getPageParams = () => {
-    // 浠庢湰鍦板瓨鍌ㄨ幏鍙栦緵搴斿晢ID
-    const storedSupplierId = uni.getStorageSync("supplierId");
-    if (storedSupplierId) {
-      supplierId.value = storedSupplierId;
+    const storedSupplierName = uni.getStorageSync("supplierName");
+    if (storedSupplierName) {
+      supplierName.value = storedSupplierName;
     }
   };
 
   // 鏌ヨ鍒楄〃
   const getList = () => {
-    if (!supplierId.value) {
+    if (!supplierName.value) {
       uni.showToast({
-        title: "瀹㈡埛淇℃伅缂哄け",
+        title: "渚涘簲鍟嗕俊鎭己澶�",
         icon: "error",
       });
       return;
     }
     showLoadingToast("鍔犺浇涓�...");
-    paymentRecordList({ supplierId: supplierId.value })
+    gePurchaseListPage({ supplierName: supplierName.value, current: 1, size: 1000 })
       .then(res => {
-        tableData.value = res.data;
+        let orders = [];
+        if (res.data) {
+          if (Array.isArray(res.data)) {
+            orders = res.data;
+          } else if (res.data.records && Array.isArray(res.data.records)) {
+            orders = res.data.records;
+          }
+        }
+        tableData.value = orders;
         closeToast();
       })
       .catch(() => {
@@ -173,46 +153,6 @@
 
   .u-divider {
     margin: 0 !important;
-  }
-
-  .summary-info {
-    background: #ffffff;
-    margin: 20px 20px 0 20px;
-    border-radius: 12px;
-    padding: 16px;
-    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
-  }
-
-  .summary-item {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    margin-bottom: 8px;
-
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-
-  .summary-label {
-    font-size: 14px;
-    color: #666;
-  }
-
-  .summary-value {
-    font-size: 14px;
-    color: #333;
-    font-weight: 500;
-  }
-
-  .summary-value.highlight {
-    color: #2979ff;
-    font-weight: 600;
-  }
-
-  .summary-value.danger {
-    color: #ff4757;
-    font-weight: 600;
   }
 
   .detail-list {
@@ -262,6 +202,32 @@
     color: #666;
   }
 
+  .item-status {
+    display: flex;
+    align-items: center;
+  }
+
+  .status-tag {
+    font-size: 12px;
+    padding: 2px 8px;
+    border-radius: 4px;
+  }
+
+  .status-success {
+    color: #67c23a;
+    background: rgba(103, 194, 58, 0.1);
+  }
+
+  .status-warning {
+    color: #e6a23c;
+    background: rgba(230, 162, 60, 0.1);
+  }
+
+  .status-info {
+    color: #909399;
+    background: rgba(144, 147, 153, 0.1);
+  }
+
   .item-details {
     padding: 16px 0;
   }
@@ -289,16 +255,6 @@
     text-align: right;
     flex: 1;
     margin-left: 16px;
-  }
-
-  .detail-value.highlight {
-    color: #2979ff;
-    font-weight: 500;
-  }
-
-  .detail-value.danger {
-    color: #ff4757;
-    font-weight: 500;
   }
 
   .no-data {

--
Gitblit v1.9.3