zhangwencui
7 小时以前 a4203d1c0e24a69b3de3a4cf9f3cb1d727602224
src/views/procurementManagement/invoiceEntry/index.vue
@@ -1,35 +1,30 @@
<template>
  <div class="app-container">
    <div class="search_form">
      <el-form :model="filters" :inline="true">
      <el-form :model="filters"
               :inline="true">
        <el-form-item label="供应商名称">
          <el-input
              v-model="filters.supplierName"
          <el-input v-model="filters.supplierName"
              placeholder="请输入名称搜索"
              clearable
              prefix-icon="Search"
              @change="getTableData"
          />
                    @change="getTableData" />
        </el-form-item>
        <el-form-item label="采购订单号:">
          <el-input
            v-model="filters.purchaseContractNumber"
          <el-input v-model="filters.purchaseContractNumber"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="getTableData"
          />
                    @change="getTableData" />
        </el-form-item>
        <el-form-item label="销售合同号">
          <el-input
              v-model="filters.salesContractNo"
          <el-input v-model="filters.salesContractNo"
              placeholder="请输入销售合同号"
              clearable
          />
                    clearable />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="getTableData"> 搜索 </el-button>
          <el-button type="primary"
                     @click="getTableData"> 搜索 </el-button>
          <el-button @click="resetFilters"> 重置 </el-button>
        </el-form-item>
      </el-form>
@@ -38,17 +33,18 @@
      <div class="actions">
        <div></div>
        <div>
          <el-button @click="handleExport" style="margin-right: 10px">导出</el-button>
          <el-button type="primary" @click="handleAdd('add')">
          <el-button @click="handleExport"
                     style="margin-right: 10px">导出</el-button>
          <el-button type="primary"
                     @click="handleAdd('add')">
            新增登记
          </el-button>
<!--          <el-button type="danger" plain @click="handleDelete">删除</el-button>-->
        </div>
      </div>
      <PIMTable
        rowKey="id"
      <PIMTable rowKey="id"
        :column="columns"
        :tableData="filteredDataList"
                :tableData="dataList"
        :tableLoading="loading"
        :isSelection="true"
        :page="{
@@ -61,30 +57,31 @@
        :isShowSummary="true"
        @expand-change="expandChange"
        @selection-change="handleSelectionChange"
        @pagination="changePage"
      >
                @pagination="changePage">
        <template #expand="{ row }">
          <ExpandTable ref="expandTableRef" />
        </template>
        <template #operation="{ row }">
          <el-button
            text
          <el-button text
            type="primary"
            size="small"
            @click="handleEdit('edit', row.id)"
          >
                     @click="handleEdit('edit', row.id)">
            编辑
          </el-button>
        </template>
      </PIMTable>
    </div>
    <Modal ref="modalRef" @refreshList="getTableData"></Modal>
    <Modal ref="modalRef"
           @refreshList="getTableData"></Modal>
  </div>
</template>
<script setup>
import { usePaginationApi } from "@/hooks/usePaginationApi";
import {delRegistration, gePurchaseListPage} from "@/api/procurementManagement/invoiceEntry.js";
  import {
    delRegistration,
    gePurchaseListPage,
  } from "@/api/procurementManagement/invoiceEntry.js";
import { nextTick, onMounted, getCurrentInstance, ref } from "vue";
import ExpandTable from "./components/ExpandTable.vue";
import Modal from "./components/Modal.vue";
@@ -123,17 +120,17 @@
    {
      label: "采购订单号",
      prop: "purchaseContractNumber",
      width:150
        width: 150,
    },
    {
      label: "销售合同号",
      prop: "salesContractNo",
      width:150
        width: 150,
    },
    {
      label: "供应商名称",
      prop: "supplierName",
      width:300
        width: 300,
    },
    {
      label: "录入人",
@@ -142,13 +139,13 @@
    {
      label: "录入日期",
      prop: "entryDate",
      width:110
        width: 110,
    },
    {
      label: "合同金额(元)",
      prop: "contractAmount",
      width:200,
      formatData: (val) => {
        formatData: val => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
    },
@@ -156,7 +153,7 @@
      label: "已来票金额(元)",
      prop: "receiptPaymentAmount",
      width:200,
      formatData: (val) => {
        formatData: val => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
    },
@@ -164,7 +161,7 @@
      label: "待来票金额(元)",
      prop: "unReceiptPaymentAmount",
      width:200,
      formatData: (val) => {
        formatData: val => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
    },
@@ -179,16 +176,17 @@
  ]
);
// 计算属性过滤 审批通过approvalStatus=1 的数据
const filteredDataList = computed(() => {
  return dataList.value.filter(item => item.approvalStatus == 1);
});
const handleSelectionChange = (selection) => {
  // const filteredDataList = computed(() => {
  //   // return dataList.value.filter(item => item.approvalStatus == 1);
  //   return dataList;
  // });
  const handleSelectionChange = selection => {
  selectedRows.value = selection.filter(
    (item) => item.purchaseContractNumber !== undefined
      item => item.purchaseContractNumber !== undefined
  );
};
const handleAdd = (type) => {
  const handleAdd = type => {
   if (selectedRows.value.length < 1) {
      proxy.$modal.msgWarning("请至少选中一条数据");
      return;
@@ -235,12 +233,14 @@
   let ids = [];
   if (selectedRows.value.length > 0) {
    // 新增判断:如果有选中的数据没有ticketRegistrationId,提示并终止
    const noTicket = selectedRows.value.some(item => !item.ticketRegistrationId);
      const noTicket = selectedRows.value.some(
        item => !item.ticketRegistrationId
      );
    if (noTicket) {
      proxy.$modal.msgWarning("采购台账还未进行来票登记,无法进行删除操作");
      return;
    }
      ids = selectedRows.value.map((item) => item.ticketRegistrationId);
      ids = selectedRows.value.map(item => item.ticketRegistrationId);
   } else {
      proxy.$modal.msgWarning("请选择数据");
      return;
@@ -251,7 +251,7 @@
      type: "warning",
   })
      .then(() => {
         delRegistration(ids).then((res) => {
        delRegistration(ids).then(res => {
            proxy.$modal.msgSuccess("删除成功");
            getList();
         });
@@ -274,7 +274,7 @@
  onCurrentChange(page);
};
// 主表合计方法
const summarizeMainTable = (param) => {
  const summarizeMainTable = param => {
   return proxy.summarizeTable(
      param,
      ["contractAmount", "receiptPaymentAmount", "unReceiptPaymentAmount"],