From 261f2ed00235d47df3754291a4fdca9ba5cb8e7a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 21 五月 2026 17:16:09 +0800
Subject: [PATCH] fix: 合并财务数据
---
src/views/financialManagement/payable/purchaseReturn.vue | 113 ++++++++++++++++++--------------------------------------
1 files changed, 36 insertions(+), 77 deletions(-)
diff --git a/src/views/financialManagement/payable/purchaseReturn.vue b/src/views/financialManagement/payable/purchaseReturn.vue
index e7ca665..eeec383 100644
--- a/src/views/financialManagement/payable/purchaseReturn.vue
+++ b/src/views/financialManagement/payable/purchaseReturn.vue
@@ -1,26 +1,20 @@
<template>
<!-- 閲囪喘閫�璐� -->
-
<div class="app-container">
<el-form :model="filters" :inline="true">
<el-form-item label="閫�璐у崟鍙�:">
- <el-input
- v-model="filters.returnNo"
- placeholder="璇疯緭鍏ラ��璐у崟鍙�"
- clearable
- style="width: 200px"
- />
+ <el-input v-model="filters.returnNo" placeholder="璇疯緭鍏ラ��璐у崟鍙�" clearable style="width: 200px;" />
</el-form-item>
-
<el-form-item label="渚涘簲鍟�:">
- <el-input
- v-model="filters.supplierName"
- placeholder="璇疯緭鍏ヤ緵搴斿晢"
- clearable
- style="width: 200px"
- />
+ <el-select v-model="filters.supplierId" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable filterable style="width: 200px;">
+ <el-option
+ v-for="item in supplierList"
+ :key="item.id"
+ :label="item.supplierName"
+ :value="item.id"
+ />
+ </el-select>
</el-form-item>
-
<el-form-item label="閫�璐ф棩鏈�:">
<el-date-picker
v-model="filters.dateRange"
@@ -33,23 +27,18 @@
clearable
/>
</el-form-item>
-
<el-form-item>
<el-button type="primary" @click="onSearch">鎼滅储</el-button>
-
<el-button @click="resetFilters">閲嶇疆</el-button>
</el-form-item>
</el-form>
-
<div class="table_list">
<div class="actions">
<div></div>
-
<div>
<el-button @click="handleOut" icon="Download">瀵煎嚭</el-button>
</div>
</div>
-
<PIMTable
rowKey="id"
:column="columns"
@@ -57,9 +46,7 @@
:tableLoading="tableLoading"
:page="{
current: pagination.currentPage,
-
size: pagination.pageSize,
-
total: pagination.total,
}"
@pagination="changePage"
@@ -68,14 +55,11 @@
</div>
</template>
-
-
<script setup>
import { ref, reactive, onMounted, getCurrentInstance } from "vue";
-
import { ElMessage } from "element-plus";
-
import { listPageAccountPurchaseReturn } from "@/api/financialManagement/accountPurchase";
+import { listSupplier } from "@/api/basicData/supplierManageFile.js";
defineOptions({
name: "閲囪喘閫�璐�",
@@ -85,38 +69,26 @@
const filters = reactive({
returnNo: "",
-
- supplierName: "",
-
+ supplierId: "",
dateRange: [],
});
const pagination = reactive({
currentPage: 1,
-
pageSize: 10,
-
total: 0,
});
const columns = [
{ label: "閫�璐у崟鍙�", prop: "returnNo", minWidth: "150" },
-
{ label: "渚涘簲鍟�", prop: "supplierName", minWidth: "180" },
-
{ label: "鍏宠仈鍏ュ簱鍗曞彿", prop: "inboundBatches", minWidth: "150" },
-
{ label: "閫�璐ф棩鏈�", prop: "preparedAt", minWidth: "170" },
-
{
label: "閫�娆炬�婚",
-
prop: "totalAmount",
-
minWidth: "150",
-
align: "right",
-
formatData: (val) =>
val === null || val === undefined || val === ""
? ""
@@ -125,66 +97,65 @@
maximumFractionDigits: 2,
}),
},
-
{ label: "閫�璐ф柟寮�", prop: "returnType", minWidth: "150" },
-
{ label: "閲囪喘璁㈠崟鍙�", prop: "purchaseContractNumber", minWidth: "150" },
];
const dataList = ref([]);
-
const tableLoading = ref(false);
+const supplierList = ref([]);
-function buildFilterParams() {
- const params = {
- returnNo: filters.returnNo || undefined,
-
- supplierName: filters.supplierName || undefined,
- };
-
- if (filters.dateRange && filters.dateRange.length === 2) {
+const buildFilterParams = () => {
+ const params = {};
+ if (filters.returnNo) {
+ params.returnNo = filters.returnNo;
+ }
+ if (filters.supplierId) {
+ params.supplierId = filters.supplierId;
+ }
+ if (filters.dateRange?.length === 2) {
params.startDate = filters.dateRange[0];
-
params.endDate = filters.dateRange[1];
}
-
return params;
-}
+};
+
+const getSupplierList = () => {
+ listSupplier({ current: -1, size: -1, isWhite: 0 }).then((res) => {
+ if (res.code === 200) {
+ supplierList.value = res.data?.records ?? [];
+ }
+ });
+};
const onSearch = () => {
pagination.currentPage = 1;
-
getTableData();
};
const getTableData = () => {
tableLoading.value = true;
-
listPageAccountPurchaseReturn({
...buildFilterParams(),
-
current: pagination.currentPage,
-
size: pagination.pageSize,
})
.then((res) => {
const ok = res.code === 200 || res.code === 0;
-
if (ok && res.data) {
pagination.total = res.data.total ?? 0;
-
dataList.value = res.data.records ?? [];
} else {
ElMessage.error(res.msg || "鏌ヨ澶辫触");
-
dataList.value = [];
+ pagination.total = 0;
}
})
-
.catch(() => {
dataList.value = [];
+ pagination.total = 0;
+ ElMessage.error("鏌ヨ澶辫触");
})
-
.finally(() => {
tableLoading.value = false;
});
@@ -192,48 +163,36 @@
const resetFilters = () => {
filters.returnNo = "";
-
- filters.supplierName = "";
-
+ filters.supplierId = "";
filters.dateRange = [];
-
pagination.currentPage = 1;
-
getTableData();
};
const changePage = ({ page, limit }) => {
pagination.currentPage = page;
-
pagination.pageSize = limit;
-
getTableData();
};
const handleOut = () => {
proxy.download(
"/accountPurchase/exportAccountPurchaseReturn",
-
buildFilterParams(),
-
- `閲囪喘閫�璐${new Date().getTime()}.xlsx`
+ `閲囪喘閫�璐${Date.now()}.xlsx`
);
};
onMounted(() => {
+ getSupplierList();
getTableData();
});
</script>
-
-
<style lang="scss" scoped>
.actions {
display: flex;
-
justify-content: space-between;
-
margin-bottom: 15px;
}
</style>
-
--
Gitblit v1.9.3