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