From 9b41e2aa7f768b3c11b4c49c5052be485f20b0c1 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期三, 27 八月 2025 09:52:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_JLMY' into dev_JLMY
---
src/views/accountReceivableLedger/index.vue | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 224 insertions(+), 0 deletions(-)
diff --git a/src/views/accountReceivableLedger/index.vue b/src/views/accountReceivableLedger/index.vue
new file mode 100644
index 0000000..0dc1a0a
--- /dev/null
+++ b/src/views/accountReceivableLedger/index.vue
@@ -0,0 +1,224 @@
+<template>
+ <div class="app-container">
+ <el-form :model="searchForm" :inline="true">
+ <el-form-item label="瀹㈡埛鍚嶇О">
+ <el-input
+ v-model="searchForm.customer"
+ placeholder="杈撳叆瀹㈡埛鍚嶇О鎼滅储"
+ @change="handleQuery"
+ clearable
+ :prefix-icon="Search"
+ />
+ </el-form-item>
+ <el-form-item label="鐓ょ">
+ <el-input
+ v-model="searchForm.coal"
+ 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"
+ />
+ </el-form-item> -->
+ <el-form-item label="搴旀敹鏃ユ湡">
+ <el-date-picker
+ v-model="searchForm.receiptPaymentDate"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ type="daterange"
+ 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-form-item>
+ </el-form>
+ <div class="table_list">
+ <PIMTable
+ rowKey="id"
+ :column="tableColumn"
+ :tableData="tableData"
+ :page="page"
+ :isSelection="true"
+ :isShowSummary="isShowSummarySon"
+ :summaryMethod="summarizeMainTable1"
+ :tableLoading="tableLoading"
+ :total="page.total"
+ @pagination="pagination"
+ @selection-change="handleSelectionChange"
+ ></PIMTable>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+import { Search } from "@element-plus/icons-vue";
+import { receiptPaymentHistoryListPage } from "@/api/salesManagement/receiptPayment.js";
+import PIMTable from "@/components/PIMTable/PIMTable.vue";
+import useFormData from "@/hooks/useFormData";
+import dayjs from "dayjs";
+
+const { proxy } = getCurrentInstance();
+const tableColumn = ref([
+ {
+ label: "瀹㈡埛鍚嶇О",
+ prop: "customer",
+ width:300
+ },
+ {
+ label: "鐓ょ",
+ prop: "coal",
+ width:240
+ },
+ {
+ label: "搴旀敹鏃ユ湡",
+ prop: "receiptPaymentDate",
+ width:300
+ },
+ // {
+ // label: "瀹㈡埛鍚嶇О",
+ // prop: "customerName",
+ // width:240
+ // },
+ // {
+ // label: "椤圭洰鍚嶇О",
+ // prop: "projectName",
+ // width:200
+ // },
+ {
+ label: "搴旀敹閲戦锛堝厓锛�",
+ prop: "receiptPaymentAmount",
+ width:200,
+ formatData: (params) => {
+ return params ? parseFloat(params).toFixed(2) : 0;
+ },
+ },
+ {
+ label: "搴旀敹鏂瑰紡",
+ prop: "receiptPaymentType",
+ width:200,
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "鐢垫眹";
+ } else if (params == 1) {
+ return "鎵垮厬";
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ return "info";
+ },
+ },
+ {
+ label: "鐧昏浜�",
+ prop: "registrant",
+ width:200
+ },
+ {
+ label: "鐧昏鏃ユ湡",
+ prop: "createTime",
+ width:300
+ },
+]);
+const tableData = ref([]);
+const selectedRows = ref([]);
+const tableLoading = ref(false);
+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 00:00:00"),
+ receiptPaymentDateEnd: dayjs().endOf("month").format("YYYY-MM-DD 23:59:59"),
+ customerContractNo: undefined,
+ projectName: undefined,
+});
+const { receipt_payment_type } = proxy.useDict("receipt_payment_type");
+const isShowSummarySon = ref(true);
+// 鏌ヨ鍒楄〃
+/** 鎼滅储鎸夐挳鎿嶄綔 */
+const handleQuery = () => {
+ page.current = 1;
+ getList();
+};
+const pagination = (obj) => {
+ page.current = obj.page;
+ page.size = obj.limit;
+ getList();
+};
+const getList = () => {
+ tableLoading.value = true;
+ const { receiptPaymentDate, ...rest } = searchForm;
+ receiptPaymentHistoryListPage({ ...rest, ...page }).then((res) => {
+ tableLoading.value = false;
+ tableData.value = res.records;
+ page.total = res.total;
+ });
+};
+// 瀛愯〃鍚堣鏂规硶
+const summarizeMainTable1 = (param) => {
+ return proxy.summarizeTable(param, ["receiptPaymentAmount"], {
+ ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ });
+};
+// 琛ㄦ牸閫夋嫨鏁版嵁
+const handleSelectionChange = (selection) => {
+ selectedRows.value = selection;
+};
+
+const changeDateRange = (date) => {
+ if (date) {
+ 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();
+ }
+};
+
+const clearRange = () => {
+ searchForm.receiptPaymentDate = [];
+ searchForm.receiptPaymentDateStart = undefined;
+ searchForm.receiptPaymentDateEnd = undefined;
+ getList();
+};
+
+onMounted(() => {
+ getList();
+});
+</script>
+
+<style scoped lang="scss">
+.table_list {
+ margin-top: unset;
+}
+</style>
--
Gitblit v1.9.3