From 4f6275648bb8da724825c0e6c580c83aaa1cb9bf Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 31 十月 2025 15:52:41 +0800
Subject: [PATCH] 营销管理-添加导出功能
---
src/views/salesManagement/receiptPaymentHistory/index.vue | 77 +++++++++++++++++++++++++++++++-------
1 files changed, 63 insertions(+), 14 deletions(-)
diff --git a/src/views/salesManagement/receiptPaymentHistory/index.vue b/src/views/salesManagement/receiptPaymentHistory/index.vue
index 5dd4e7a..589d567 100644
--- a/src/views/salesManagement/receiptPaymentHistory/index.vue
+++ b/src/views/salesManagement/receiptPaymentHistory/index.vue
@@ -4,8 +4,25 @@
<el-form-item label="瀹㈡埛鍚嶇О">
<el-input
v-model="searchForm.searchText"
- style="width: 240px"
placeholder="杈撳叆瀹㈡埛鍚嶇О鎼滅储"
+ @change="handleQuery"
+ clearable
+ :prefix-icon="Search"
+ />
+ </el-form-item>
+ <el-form-item label="瀹㈡埛鍚堝悓鍙�">
+ <el-input
+ v-model="searchForm.customerContractNo"
+ placeholder="杈撳叆瀹㈡埛鍚堝悓鍙�"
+ @change="handleQuery"
+ clearable
+ :prefix-icon="Search"
+ />
+ </el-form-item>
+ <el-form-item label="椤圭洰鍚嶇О">
+ <el-input
+ v-model="searchForm.projectName"
+ placeholder="杈撳叆椤圭洰鍚嶇О"
@change="handleQuery"
clearable
:prefix-icon="Search"
@@ -20,33 +37,36 @@
start-placeholder="寮�濮嬫椂闂�"
end-placeholder="缁撴潫鏃堕棿"
clearable
+ style="width: 300px"
@change="changeDateRange"
@clear="clearRange"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
+ <el-button @click="handleExport">瀵煎嚭</el-button>
</el-form-item>
</el-form>
<div class="table_list">
<PIMTable
+ rowKey="id"
:column="tableColumn"
:tableData="tableData"
:page="page"
:isSelection="true"
:isShowSummary="isShowSummarySon"
:summaryMethod="summarizeMainTable1"
- :handleSelectionChange="handleSelectionChange"
:tableLoading="tableLoading"
+ :total="page.total"
@pagination="pagination"
- :total="total"
+ @selection-change="handleSelectionChange"
></PIMTable>
</div>
</div>
</template>
<script setup>
-import { ref } from "vue";
+import { ref, reactive, getCurrentInstance } from "vue";
import { Search } from "@element-plus/icons-vue";
import { receiptPaymentHistoryListPage } from "@/api/salesManagement/receiptPayment.js";
import useFormData from "@/hooks/useFormData";
@@ -55,18 +75,36 @@
const { proxy } = getCurrentInstance();
const tableColumn = ref([
{
+ label: "閿�鍞悎鍚屽彿",
+ prop: "salesContractNo",
+ width:240
+ },
+ {
+ label: "瀹㈡埛鍚堝悓鍙�",
+ prop: "customerContractNo",
+ width:240
+ },
+ {
label: "鍥炴鏃ユ湡",
prop: "receiptPaymentDate",
+ width:100
},
{
label: "瀹㈡埛鍚嶇О",
prop: "customerName",
+ width:240
+ },
+ {
+ label: "椤圭洰鍚嶇О",
+ prop: "projectName",
+ width:200
},
{
label: "鍥炴閲戦锛堝厓锛�",
prop: "receiptPaymentAmount",
+ width:200,
formatData: (params) => {
- return parseFloat(params).toFixed(2);
+ return params ? parseFloat(params).toFixed(2) : 0;
},
},
{
@@ -93,6 +131,7 @@
{
label: "鐧昏鏃ユ湡",
prop: "createTime",
+ width:100
},
]);
const tableData = ref([]);
@@ -101,17 +140,17 @@
const page = reactive({
current: 1,
size: 100,
+ total: 0,
});
const total = ref(0);
const { form: searchForm } = useFormData({
searchText: undefined,
- receiptPaymentDate: [
- dayjs().startOf("month").format("YYYY-MM-DD"),
- dayjs().endOf("month").format("YYYY-MM-DD"),
- ],
- receiptPaymentDateStart: dayjs().startOf("month").format("YYYY-MM-DD"),
- receiptPaymentDateEnd: dayjs().endOf("month").format("YYYY-MM-DD"),
+ receiptPaymentDate: [],
+ receiptPaymentDateStart: undefined,
+ receiptPaymentDateEnd: undefined,
+ customerContractNo: undefined,
+ projectName: undefined,
});
const { receipt_payment_type } = proxy.useDict("receipt_payment_type");
const isShowSummarySon = ref(true);
@@ -132,7 +171,7 @@
receiptPaymentHistoryListPage({ ...rest, ...page }).then((res) => {
tableLoading.value = false;
tableData.value = res.records;
- total.value = res.total;
+ page.total = res.total;
});
};
// 瀛愯〃鍚堣鏂规硶
@@ -149,8 +188,12 @@
const changeDateRange = (date) => {
if (date) {
- searchForm.receiptPaymentDateStart = date[0];
- searchForm.receiptPaymentDateEnd = date[1];
+ searchForm.receiptPaymentDateStart = dayjs(date[0]).format(
+ "YYYY-MM-DD 00:00:00"
+ );
+ searchForm.receiptPaymentDateEnd = dayjs(date[1]).format(
+ "YYYY-MM-DD 23:59:59"
+ );
getList();
}
};
@@ -162,6 +205,12 @@
getList();
};
+// 瀵煎嚭
+const handleExport = () => {
+ const { receiptPaymentDate, ...rest } = searchForm;
+ proxy.download("/receiptPayment/exportOne", { ...rest, ...page }, "鍥炴娴佹按.xlsx");
+};
+
onMounted(() => {
getList();
});
--
Gitblit v1.9.3