zhangwencui
2 天以前 8d724fa252334ae30f7dac104dd9f9c822967cec
来票台账接口报错修改
已修改3个文件
77 ■■■■ 文件已修改
src/api/procurementManagement/procurementInvoiceLedger.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/procurementManagement/procurementInvoiceLedger.js
@@ -83,11 +83,18 @@
  });
}
export function getProductRecordById(params) {
// export function getProductRecordById(params) {
//   return request({
//     url: "/purchase/registration/getProductRecordById",
//     method: "get",
//     params: params,
//   });
// }
export function getProductRecordById(data) {
  return request({
    url: "/purchase/registration/getProductRecordById",
    method: "get",
    params: params,
     method: "post",
    data: data,
  });
}
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -23,17 +23,28 @@
      </el-col>
      <el-col :span="12">
        <el-form-item label="发票号:">
          <el-input disabled v-model="form.invoiceNumber" />
          <el-input disabled
                    v-model="form.invoiceNumber" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="来票数:">
          <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsNum" @change="inputTicketsNum" :precision="2"/>
          <el-input-number :step="0.1"
                           :min="0"
                           style="width: 100%"
                           v-model="form.ticketsNum"
                           @change="inputTicketsNum"
                           :precision="2" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="本次来票金额(元):">
                    <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsAmount" @change="inputTicketsAmount" :precision="2"/>
          <el-input-number :step="0.1"
                           :min="0"
                           style="width: 100%"
                           v-model="form.ticketsAmount"
                           @change="inputTicketsAmount"
                           :precision="2" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
@@ -48,12 +59,12 @@
<script setup>
import useFormData from "@/hooks/useFormData";
import { getProductRecordById } from "@/api/procurementManagement/procurementInvoiceLedger";
const { proxy } = getCurrentInstance()
  const { proxy } = getCurrentInstance();
defineOptions({
  name: "来票台账表单",
});
const temFutureTickets = ref(0)
  const temFutureTickets = ref(0);
const { form, resetForm } = useFormData({
  id: undefined,
  purchaseContractNumber: undefined, // 采购合同号
@@ -65,8 +76,12 @@
    taxInclusiveUnitPrice: undefined, // 含税单价
});
const load = async (id) => {
  const { code, data } = await getProductRecordById({ id });
  const load = async (id, purchaseLedgerId, productModelId) => {
    const { code, data } = await getProductRecordById({
      id: id,
      purchaseLedgerId: purchaseLedgerId,
      productModelId: productModelId,
    });
  if (code === 200) {
    form.id = data.id;
    form.purchaseContractNumber = data.purchaseContractNumber;
@@ -81,7 +96,7 @@
  }
};
const inputTicketsNum = (val) => {
  const inputTicketsNum = val => {
    // 确保含税单价存在且不为零
    if (!form.taxInclusiveUnitPrice || Number(form.taxInclusiveUnitPrice) === 0) {
        proxy.$modal.msgWarning("含税单价不能为零或未定义");
@@ -89,16 +104,18 @@
    }
    if (Number(form.ticketsNum) > Number(temFutureTickets.value)) {
        proxy.$modal.msgWarning("开票数不得大于未开票数");
        form.ticketsNum = temFutureTickets.value
      form.ticketsNum = temFutureTickets.value;
    }
    
    // 确保所有数值都转换为数字类型进行计算
    const ticketsAmount = Number(form.ticketsNum) * Number(form.taxInclusiveUnitPrice);
    const futureTickets = Number(temFutureTickets.value) - Number(form.ticketsNum);
    const ticketsAmount =
      Number(form.ticketsNum) * Number(form.taxInclusiveUnitPrice);
    const futureTickets =
      Number(temFutureTickets.value) - Number(form.ticketsNum);
    form.futureTickets = Number(futureTickets.toFixed(2));
    form.ticketsAmount = Number(ticketsAmount.toFixed(2));
};
const inputTicketsAmount = (val) => {
  const inputTicketsAmount = val => {
    // 确保含税单价存在且不为零
    if (!form.taxInclusiveUnitPrice || Number(form.taxInclusiveUnitPrice) === 0) {
        proxy.$modal.msgWarning("含税单价不能为零或未定义");
@@ -107,9 +124,12 @@
    
    if (Number(val) > Number(form.futureTickets*form.taxInclusiveUnitPrice)) {
        proxy.$modal.msgWarning("本次来票金额不得大于总金额");
        form.ticketsAmount = (form.futureTickets*form.taxInclusiveUnitPrice).toFixed(2)
        const ticketsNum = Number(form.ticketsAmount) / Number(form.taxInclusiveUnitPrice);
        form.ticketsNum = Number(ticketsNum.toFixed(2))
      form.ticketsAmount = (
        form.futureTickets * form.taxInclusiveUnitPrice
      ).toFixed(2);
      const ticketsNum =
        Number(form.ticketsAmount) / Number(form.taxInclusiveUnitPrice);
      form.ticketsNum = Number(ticketsNum.toFixed(2));
        return;
    }
    
src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
@@ -1,8 +1,12 @@
<template>
  <el-dialog :title="modalOptions.title" v-model="visible" @close="close">
  <el-dialog :title="modalOptions.title"
             v-model="visible"
             @close="close">
    <EditForm ref="editFormRef" />
    <template #footer>
            <el-button type="primary" :loading="loading" @click="sendForm">
      <el-button type="primary"
                 :loading="loading"
                 @click="sendForm">
                {{ modalOptions.confirmText }}
            </el-button>
      <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button>
@@ -21,7 +25,7 @@
});
const emits = defineEmits(["success"]);
const saleLedgerProjectId = ref('')
  const saleLedgerProjectId = ref("");
const editFormRef = ref();
const {
  id,
@@ -33,11 +37,11 @@
  closeModal,
} = useModal({ title: "来票台账" });
const open = async (row) => {
  const open = async row => {
  openModal(row.id);
    saleLedgerProjectId.value = row.saleLedgerProjectId;
  await nextTick();
  editFormRef.value.load(row.id);
    editFormRef.value.load(row.id, row.purchaseLedgerId, row.productModelId);
};
const close = () => {