| | |
| | | <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip/> |
| | | <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip/> |
| | | <el-table-column label="发票号" prop="invoiceNo" show-overflow-tooltip/> |
| | | <el-table-column label="发票金额(元)" prop="invoiceTotal" show-overflow-tooltip/> |
| | | <el-table-column label="发票金额(元)" prop="invoiceTotal" show-overflow-tooltip :formatter="formattedNumber"/> |
| | | <el-table-column label="税率" prop="taxRate" show-overflow-tooltip/> |
| | | <el-table-column label="回款金额(元)" prop="receiptPaymentAmountTotal" show-overflow-tooltip/> |
| | | <el-table-column label="待回款金额(元)" prop="noReceiptAmount" show-overflow-tooltip/> |
| | | <el-table-column label="回款金额(元)" prop="receiptPaymentAmountTotal" show-overflow-tooltip :formatter="formattedNumber"/> |
| | | <el-table-column label="待回款金额(元)" prop="noReceiptAmount" show-overflow-tooltip :formatter="formattedNumber"/> |
| | | </el-table> |
| | | <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" |
| | | :limit="page.size" @pagination="paginationChange" /> |
| | |
| | | const { searchForm, form, rules } = toRefs(data) |
| | | const { receipt_payment_type } = proxy.useDict("receipt_payment_type") |
| | | |
| | | const formattedNumber = (row, column, cellValue) => { |
| | | return parseFloat(cellValue).toFixed(2); |
| | | }; |
| | | // 查询列表 |
| | | /** 搜索按钮操作 */ |
| | | const handleQuery = () => { |
| | | page.current = 1 |
| | | getList() |
| | | } |
| | | const paginationChange = ({ current, limit }) => { |
| | | page.current = current; |
| | | page.size = limit; |
| | | const paginationChange = (obj) => { |
| | | page.current = obj.page; |
| | | page.size = obj.limit; |
| | | getList() |
| | | } |
| | | const getList = () => { |
| | |
| | | } |
| | | // 主表合计方法 |
| | | const summarizeMainTable = (param) => { |
| | | const { columns, data } = param; |
| | | const sums = []; |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = '合计'; |
| | | return; |
| | | } |
| | | const prop = column.property; |
| | | if (['invoiceAmount','receiptPaymentAmount'].includes(prop)) { |
| | | const values = data.map(item => Number(item[prop])); |
| | | if (!values.every(value => isNaN(value))) { |
| | | sums[index] = values.reduce((acc, val) => (!isNaN(val) ? acc + val : acc), 0); |
| | | } else { |
| | | sums[index] = ''; |
| | | } |
| | | } else { |
| | | sums[index] = ''; |
| | | } |
| | | }) |
| | | return sums; |
| | | return proxy.summarizeTable(param, ['invoiceTotal', 'receiptPaymentAmountTotal', 'noReceiptAmount'], { |
| | | ticketsNum: { noDecimal: true }, // 不保留小数 |
| | | futureTickets: { noDecimal: true }, // 不保留小数 |
| | | }); |
| | | }; |
| | | // 打开弹框 |
| | | const openForm = () => { |