huminmin
2 天以前 a1eff60449d20fb54bfdf04690cfa23b3d8e7812
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;
   }