gaoluyang
4 天以前 e093877b02cb5725fef570ee49ca2bca31f51871
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -54,14 +54,10 @@
        </el-col>
        <el-col :span="12">
          <el-form-item label="发票金额(元):" prop="invoiceAmount">
            <el-input
              type="number"
              :step="0.01"
              :min="0"
            <el-input-number :step="0.01" :min="0" style="width: 100%"
              v-model="form.invoiceAmount"
              placeholder="自动填充"
              clearable
              :disabled="true"
            />
          </el-form-item>
        </el-col>
@@ -101,18 +97,30 @@
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="录入日期:" prop="enterDate">
            <el-date-picker
              style="width: 100%"
              v-model="form.enterDate"
              type="date"
              clearable
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-form-item label="产品信息:" prop="entryDate"> </el-form-item>
      <el-form-item label="产品信息:"> </el-form-item>
      <PIMTable
        rowKey="id"
        :column="columns"
        :tableData="form.productData"
            :summaryMethod="summarizeChildrenTable"
            :isShowSummary="true"
        height="auto"
      >
        <template #ticketsNumRef="{ row }">
          <el-input-number
            v-model="row.ticketsNum"
            placeholder="请选择"
            placeholder="请输入"
            :min="0"
            :step="0.1"
            clearable
@@ -123,7 +131,7 @@
        <template #ticketsAmountRef="{ row }">
          <el-input-number
            v-model="row.ticketsAmount"
            placeholder="请选择"
            placeholder="请输入"
            :min="0"
            :step="0.1"
            clearable
@@ -155,6 +163,7 @@
import { getPurchaseById } from "@/api/procurementManagement/procurementLedger.js";
import { getToken } from "@/utils/auth";
import useUserStore from "@/store/modules/user";
import dayjs from "dayjs";
defineOptions({
  name: "来票登记模态框",
@@ -175,6 +184,7 @@
  issUer: userStore.nickName, // 录入人
  entryDate: undefined, // 开票日期
  salesContractNoId: undefined, // 开票日期
  enterDate: dayjs().format("YYYY-MM-DD"),
  productData: [], // 表格
  tempFileIds: [], // 文件
});
@@ -187,6 +197,8 @@
  invoiceAmount: [
    { required: true, message: "请输入发票金额", trigger: "blur" },
  ],
  entryDate: [{ required: true, message: "请选择开票日期", trigger: "change" }],
  enterDate: [{ required: true, message: "请选择录入日期", trigger: "change" }],
});
const {
@@ -235,7 +247,7 @@
    prop: "taxInclusiveUnitPrice",
    width: 150,
    formatData: (val) => {
      return parseFloat(val).toFixed(2) ?? 0;
      return val ? parseFloat(val).toFixed(2) : 0;
    },
  },
  {
@@ -273,10 +285,12 @@
  {
    label: "未来票数",
    prop: "futureTickets",
      width: 100,
  },
  {
    label: "未来票金额(元)",
    prop: "futureTicketsAmount",
      width: 200,
  },
];
@@ -306,7 +320,19 @@
    form.productData = data.productData;
  }
};
// 子表合计方法
const summarizeChildrenTable = (param) => {
   return proxy.summarizeTable(param, [
      "taxInclusiveUnitPrice",
      "taxInclusiveTotalPrice",
      "taxExclusiveTotalPrice",
      "ticketsNum",
      "ticketsAmount",
      "ticketsAmountRef",
      "futureTickets",
      "futureTicketsAmount",
   ]);
};
//本次来票数失焦操作
const invoiceNumBlur = (row) => {
  if (!row.ticketsNum || row.ticketsNum === "") {
@@ -318,11 +344,11 @@
    return;
  }
  // 计算本次来票金额
  row.ticketsAmount = row.ticketsNum * row.taxInclusiveUnitPrice;
  row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2)
  // 计算未来票数
  row.futureTickets = row.tempFutureTickets - row.ticketsNum;
  row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
  // 计算未来票金额
  row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount;
  row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
  calculateinvoiceAmount();
};
@@ -341,9 +367,9 @@
    (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
  );
  // 计算未来票数
  row.futureTickets = row.tempFutureTickets - row.ticketsNum;
  row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
  // 计算未来票金额
  row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount;
  row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
  calculateinvoiceAmount();
};
@@ -385,17 +411,21 @@
        salesContractNo: form.salesContractNo,
        projectName: form.projectName,
        productData: form.productData,
        issUerId: form.issUerId, // 录入人
        issueDate: form.entryDate,
        issUerId: form.issUerId, // 录入人id
        issUer: form.issUer, // 录入人
        salesContractNoId: form.salesContractNoId,
        supplierName: form.supplierName,
        tempFileIds: form.tempFileIds,
        enterDate: form.enterDate,
        type: 4,
      });
      modalLoading.value = false;
      if (code == 200) {
        closeModal();
      }
    } else {
      modalLoading.value = false;
    }
  });
};