chenrui
2025-06-09 ddd7b9af964842f308530907dc009a289fdf9ce6
src/views/procurementManagement/paymentLedger/index.vue
@@ -32,6 +32,7 @@
            tooltip-effect="dark"
            @row-click="rowClick"
            :show-summary="isShowSummary"
            :summary-method="summarizeMainTable"
            class="lims-table"
          >
            <el-table-column
@@ -78,6 +79,7 @@
            :isSelection="false"
            :tableLoading="tableLoadingSon"
            :isShowSummary="isShowSummarySon"
            :summaryMethod="summarizeMainTable1"
          ></PIMTable>
          <pagination
              v-show="sonTotal > 0"
@@ -126,11 +128,11 @@
});
const page = reactive({
  current: 1,
  size: 10,
  size: 100,
});
const sonPage = reactive({
  current: 1,
  size: 10,
  size: 100,
});
const total = ref(0);
const sonTotal = ref(0);
@@ -148,7 +150,7 @@
    prop: "happenTime",
  },
  {
    label: "发票金额",
    label: "发票金额(元)",
    prop: "invoiceAmount",
    formatData: (params) => {
      return parseFloat(params).toFixed(2);
@@ -175,15 +177,36 @@
const isShowSummarySon = ref(true);
const detailPageNum = ref(1);
const detailPageSize = ref(10);
const { proxy } = getCurrentInstance()
// 主表合计方法
const summarizeMainTable = (param) => {
  return proxy.summarizeTable(param, ['invoiceAmount', 'paymentAmount', 'payableAmount'], {
    ticketsNum: { noDecimal: true }, // 不保留小数
    futureTickets: { noDecimal: true }, // 不保留小数
  });
};
// 子表合计方法
const summarizeMainTable1 = (param) => {
  let summarizeTable = proxy.summarizeTable(param, ['invoiceAmount', 'currentPaymentAmount'], {
    ticketsNum: { noDecimal: true }, // 不保留小数
    futureTickets: { noDecimal: true }, // 不保留小数
  });
  if(originalTableDataSon.value.length > 0) {
    summarizeTable[summarizeTable.length -1] = originalTableDataSon.value[originalTableDataSon.value.length - 1].payableAmount.toFixed(2)
  }else {
    summarizeTable[summarizeTable.length -1] = 0.00
  }
  return summarizeTable
};
/** 搜索按钮操作 */
const handleQuery = () => {
  page.current = 1;
  getList();
};
const paginationSearch = ({ current, limit }) => {
  page.current = current;
  page.size = limit;
const paginationSearch = ( obj) => {
  page.current = obj.page;
  page.size = obj.limit;
  getList();
};
const getList = () => {
@@ -220,10 +243,10 @@
const handlePagination = ({ page, limit }) => {
  sonPage.current = page;
  sonPage.size = limit;
  const start = (page - 1) * limit;
  const end = start + limit;
  originalTableDataSon.value = tableDataSon.value.slice(start, end);
}