zhangwencui
8 小时以前 55a05b8dfe9a760feb8f6fb6f8b4e0089d88b111
编辑来票台账来票数和未来票数关系
已修改1个文件
45 ■■■■■ 文件已修改
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }