| | |
| | | prop: "taxInclusiveUnitPrice", |
| | | width: 150, |
| | | formatData: (val) => { |
| | | return val ? parseFloat(val).toFixed(2) : 0; |
| | | return val ? parseFloat(val).toFixed(3) : 0; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | prop: "taxInclusiveTotalPrice", |
| | | width: 150, |
| | | formatData: (val) => { |
| | | return parseFloat(val).toFixed(2) ?? 0; |
| | | return parseFloat(val).toFixed(3) ?? 0; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | prop: "taxExclusiveTotalPrice", |
| | | width: 150, |
| | | formatData: (val) => { |
| | | return parseFloat(val).toFixed(2) ?? 0; |
| | | return parseFloat(val).toFixed(3) ?? 0; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | ]; |
| | | const formattedNumber = (row, column, cellValue) => { |
| | | if (cellValue == 0) { |
| | | return parseFloat(cellValue).toFixed(2); |
| | | return parseFloat(cellValue).toFixed(3); |
| | | } |
| | | if (cellValue) { |
| | | return parseFloat(cellValue).toFixed(2); |
| | | return parseFloat(cellValue).toFixed(3); |
| | | } else { |
| | | return cellValue; |
| | | } |
| | |
| | | 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.ticketsAmount = Number((item.ticketsNum * unitPrice).toFixed(3)); |
| | | item.futureTickets = Number((item.tempFutureTickets - item.ticketsNum).toFixed(3)); |
| | | item.futureTicketsAmount = Number( |
| | | (item.tempFutureTicketsAmount - item.ticketsAmount).toFixed(2) |
| | | (item.tempFutureTicketsAmount - item.ticketsAmount).toFixed(3) |
| | | ); |
| | | } |
| | | }); |
| | |
| | | const totalAmount = allProductData.reduce((sum, item) => { |
| | | return sum + (Number(item.ticketsAmount) || 0); |
| | | }, 0); |
| | | form.invoiceAmount = Number(totalAmount.toFixed(2)); |
| | | form.invoiceAmount = Number(totalAmount.toFixed(3)); |
| | | |
| | | // 存储选中的合同数据 |
| | | selectedContracts.value = selectedRows; |
| | |
| | | row.ticketsNum = Number(row.tempFutureTickets || 0); |
| | | } |
| | | // 计算本次来票金额 |
| | | row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2)); |
| | | row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(3)); |
| | | // 计算未来票数 |
| | | row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2)); |
| | | row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(3)); |
| | | // 计算未来票金额 |
| | | row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2)); |
| | | row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(3)); |
| | | calculateinvoiceAmount(); |
| | | }; |
| | | |
| | |
| | | } |
| | | // 计算本次来票数 |
| | | row.ticketsNum = Number( |
| | | (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2) |
| | | (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(3) |
| | | ); |
| | | // 检查本次开票数是否大于未来票数 |
| | | 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)); |
| | | row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(3)); |
| | | } |
| | | // 计算未来票数 |
| | | row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2)); |
| | | row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(3)); |
| | | // 计算未来票金额 |
| | | row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2)); |
| | | row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(3)); |
| | | calculateinvoiceAmount(); |
| | | }; |
| | | |
| | |
| | | invoiceAmountTotal += Number(item.ticketsAmount); |
| | | } |
| | | }); |
| | | form.invoiceAmount = Number(invoiceAmountTotal.toFixed(2)); |
| | | form.invoiceAmount = Number(invoiceAmountTotal.toFixed(3)); |
| | | }; |
| | | |
| | | // 判断产品是否可以继续来票操作:如果未来票数和未来票金额都为0或小于等于0,则禁用 |