From 4cc27f93a1901e12eb12a198029911c483dd991f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 27 八月 2025 14:30:57 +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