gongchunyi
12 小时以前 ce5179a02af0239ec32cd1fa0cd1c1476e02a2c0
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -430,8 +430,12 @@
               // 新增时:本次开票数默认 = 未来票数(且不能大于未来票数)
               item.ticketsNum = Number(item.tempFutureTickets || 0);
               // 联动计算本次开票金额、未来票数、未来票金额
               const unitPrice = Number(item.taxInclusiveUnitPrice || 0);
               item.ticketsAmount = Number((item.ticketsNum * unitPrice).toFixed(2));
               if (Number(item.ticketsNum) === Number(item.tempFutureTickets)) {
                  item.ticketsAmount = Number(item.tempFutureTicketsAmount || 0);
               } else {
                  const unitPrice = Number(item.taxInclusiveUnitPrice || 0);
                  item.ticketsAmount = Number((item.ticketsNum * unitPrice).toFixed(2));
               }
               item.futureTickets = Number((item.tempFutureTickets - item.ticketsNum).toFixed(2));
               item.futureTicketsAmount = Number(
                  (item.tempFutureTicketsAmount - item.ticketsAmount).toFixed(2)
@@ -515,8 +519,14 @@
      proxy.$modal.msgWarning("本次开票数不能大于未来票数");
      row.ticketsNum = Number(row.tempFutureTickets || 0);
   }
   // 计算本次来票金额
   row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
   if (Number(row.ticketsNum) === Number(row.tempFutureTickets)) {
      row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
   } else {
      // 计算本次来票金额
      row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
   }
   // 计算未来票数
   row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
   // 计算未来票金额
@@ -534,16 +544,26 @@
      proxy.$modal.msgWarning("本次来票金额不得大于未来票金额");
      row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
   }
   // 计算本次来票数
   row.ticketsNum = Number(
      (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
   );
   if (Number(row.ticketsAmount) === Number(row.tempFutureTicketsAmount)) {
      row.ticketsNum = Number(row.tempFutureTickets || 0);
   } else {
      // 计算本次来票数
      row.ticketsNum = Number(
         (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
      );
   }
   // 检查本次开票数是否大于未来票数
   if (Number(row.ticketsNum) > Number(row.tempFutureTickets)) {
      proxy.$modal.msgWarning("本次开票数不能大于未来票数");
      row.ticketsNum = Number(row.tempFutureTickets || 0);
      // 重新计算本次来票金额
      row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
      if (Number(row.ticketsNum) === Number(row.tempFutureTickets)) {
         row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
      } else {
         // 重新计算本次来票金额
         row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
      }
   }
   // 计算未来票数
   row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));