huminmin
19 小时以前 9af1256e9e86154aa319c1b0fe79afa87730f515
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -28,12 +28,22 @@
      </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 +58,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, // 采购合同号
@@ -66,7 +76,7 @@
   ticketRegistrationId: undefined, // 含税单价
});
const load = async (id) => {
  const load = async id => {
  const { code, data } = await getProductRecordById({ id });
  if (code === 200) {
    form.id = data.id;
@@ -78,12 +88,14 @@
    form.ticketsAmount = data.ticketsAmount.toFixed(2);
    form.taxInclusiveUnitPrice = data.taxInclusiveUnitPrice;
    form.futureTickets = data.futureTickets;
    temFutureTickets.value = data.futureTickets;
      // temFutureTickets.value = data.futureTickets;
      temFutureTickets.value = data.quantity;
      form.ticketRegistrationId = data.ticketRegistrationId;
  }
};
const inputTicketsNum = (val) => {
  const inputTicketsNum = val => {
   // 确保含税单价存在且不为零
   if (!form.taxInclusiveUnitPrice || Number(form.taxInclusiveUnitPrice) === 0) {
      proxy.$modal.msgWarning("含税单价不能为零或未定义");
@@ -91,16 +103,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("含税单价不能为零或未定义");
@@ -109,9 +123,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;
   }