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