gaoluyang
20 小时以前 5a537b356ffc7f36e3360bdb2d53496078149ad2
进销存升级
1.来票登记优化
已修改1个文件
42 ■■■■■ 文件已修改
src/views/procurementManagement/invoiceEntry/components/Modal.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -411,13 +411,15 @@
                    item.futureTicketsAmount !== undefined ? item.futureTicketsAmount : (item.taxInclusiveTotalPrice || 0)
                );
                // 新增时:本次开票默认不填(0),避免一打开就把“未来票数”扣成 0
                item.ticketsNum = 0;
                item.ticketsAmount = 0;
                // 页面展示的“未来票数/未来票金额”默认展示原始未来值
                item.futureTickets = item.tempFutureTickets;
                item.futureTicketsAmount = item.tempFutureTicketsAmount;
                // 新增时:本次开票数默认 = 未来票数(且不能大于未来票数)
                item.ticketsNum = Number(item.tempFutureTickets || 0);
                // 联动计算本次开票金额、未来票数、未来票金额
                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)
                );
            });
            
            form.productData = allProductData;
@@ -426,7 +428,7 @@
            const totalAmount = allProductData.reduce((sum, item) => {
                return sum + (Number(item.ticketsAmount) || 0);
            }, 0);
            form.invoiceAmount = totalAmount.toFixed(2);
            form.invoiceAmount = Number(totalAmount.toFixed(2));
            
            // 存储选中的合同数据
            selectedContracts.value = selectedRows;
@@ -467,11 +469,11 @@
        row.ticketsNum = Number(row.tempFutureTickets || 0);
    }
    // 计算本次来票金额
    row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2)
    row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
    // 计算未来票数
    row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
    row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
    // 计算未来票金额
    row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
    row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2));
    calculateinvoiceAmount();
};
@@ -494,12 +496,12 @@
        proxy.$modal.msgWarning("本次开票数不能大于未来票数");
        row.ticketsNum = Number(row.tempFutureTickets || 0);
        // 重新计算本次来票金额
        row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2);
        row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
    }
    // 计算未来票数
    row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
    row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
    // 计算未来票金额
    row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
    row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2));
    calculateinvoiceAmount();
};
@@ -510,7 +512,7 @@
            invoiceAmountTotal += Number(item.ticketsAmount);
        }
    });
    form.invoiceAmount = invoiceAmountTotal.toFixed(2);
    form.invoiceAmount = Number(invoiceAmountTotal.toFixed(2));
};
const open = async (type, selectedRows) => {
@@ -518,9 +520,15 @@
    
    // 如果是批量操作,设置标题
    if (Array.isArray(selectedRows) && selectedRows.length > 1) {
        modalOptions.title = `批量新增 (${selectedRows.length}条)`;
        modalOptions.value = {
            ...(modalOptions.value || {}),
            title: `批量新增 (${selectedRows.length}条)`,
        };
    } else {
        modalOptions.title = type === "add" ? "新增" : "编辑";
        modalOptions.value = {
            ...(modalOptions.value || {}),
            title: type === "add" ? "新增" : "编辑",
        };
    }
    
    // 如果是单个操作,获取id