gongchunyi
14 小时以前 ce5179a02af0239ec32cd1fa0cd1c1476e02a2c0
fix: 来票登记未来票金额计算错误
已修改1个文件
40 ■■■■ 文件已修改
src/views/procurementManagement/invoiceEntry/components/Modal.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));