| | |
| | | <el-form-item label="产品信息:" prop="entryDate"> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-table :data="productData" border @selection-change="productSelected" show-summary |
| | | :summary-method="summarizeChildrenTable"> |
| | | <el-table :data="productData" border @selection-change="productSelected" show-summary style="width: 100%"> |
| | | :summary-method="summarizeChildrenTable" |
| | | > |
| | | <el-table-column align="center" label="序号" type="index" width="60" /> |
| | | <el-table-column label="产品大类" prop="productCategory" /> |
| | | <el-table-column label="规格型号" prop="specificationModel" /> |
| | | <el-table-column label="单位" prop="unit" /> |
| | | <el-table-column label="数量" prop="quantity" /> |
| | | <el-table-column label="税率(%)" prop="taxRate" /> |
| | | <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="不含税总价(元)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="单位" prop="unit" width="70" /> |
| | | <el-table-column label="数量" prop="quantity" width="70"/> |
| | | <el-table-column label="税率(%)" prop="taxRate" width="80" /> |
| | | <el-table-column label="含税单价(元)" width="150" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="含税总价(元)" width="150" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="不含税总价(元)" width="150" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" /> |
| | | <el-table-column label="本次来票数" prop="ticketsNum" width="170"> |
| | | <template #default="scope"> |
| | | <el-input-number v-model="scope.row.ticketsNum" placeholder="请选择" min="0" :step="0.1" clearable style="width: 100%" |
| | | @change="invoiceNumBlur(scope.row)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="本次来票金额(元)" prop="ticketsAmount" :formatter="formattedNumber"> |
| | | <el-table-column label="本次来票金额(元)" prop="ticketsAmount" min="0" :step="0.1" :formatter="formattedNumber" @change="invoiceAmountBlur" width="170"> |
| | | <template #default="scope"> |
| | | {{ scope.row.ticketsAmount || 0 }} |
| | | <el-input-number v-model="scope.row.ticketsAmount" placeholder="请选择" min="0" :step="0.1" clearable style="width: 100%" |
| | | @change="invoiceAmountBlur(scope.row)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="未来票数" prop="futureTickets" |
| | |
| | | proxy.resetForm("formRef") |
| | | dialogFormVisible.value = false |
| | | } |
| | | // 填写数据 |
| | | const openProductEdit = (row) => { |
| | | const index = productData.value.findIndex(item => item.id === row.id); |
| | | if (index > -1) { |
| | | productData.value[index].editFlag = !productData.value[index].editFlag |
| | | } |
| | | } |
| | | // 导出 |
| | | const handleOut = () => { |
| | | ElMessageBox.confirm( |
| | |
| | | proxy.$modal.msg("已取消") |
| | | }) |
| | | } |
| | | //本次开票失焦操作 |
| | | //本次来票数失焦操作 |
| | | const invoiceNumBlur = (row) => { |
| | | if (!row.ticketsNum || row.ticketsNum === '') { |
| | | row.ticketsNum = 0 |
| | |
| | | row.ticketsNum = 0 |
| | | return |
| | | } |
| | | // 计算本次开票金额 |
| | | // 计算本次来票金额 |
| | | row.ticketsAmount = row.ticketsNum * row.taxInclusiveUnitPrice |
| | | // 计算未开票数 |
| | | // 计算未来票数 |
| | | row.futureTickets = row.tempFutureTickets - row.ticketsNum |
| | | // 计算未开票金额 |
| | | // 计算未来票金额 |
| | | row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount |
| | | } |
| | | // 本次来票金额失焦操作 |
| | | const invoiceAmountBlur = (row) => { |
| | | if(!row.ticketsAmount){ |
| | | row.ticketsAmount = 0 |
| | | } |
| | | // 计算是否超过来票总金额 |
| | | if(row.ticketsAmount > row.tempFutureTicketsAmount){ |
| | | proxy.$modal.msgWarning('本次来票金额不得大于未来票金额') |
| | | row.ticketsAmount = 0 |
| | | } |
| | | // 计算本次来票数 |
| | | row.ticketsNum = (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2) |
| | | // 计算未来票数 |
| | | row.futureTickets = row.tempFutureTickets - row.ticketsNum |
| | | // 计算未来票金额 |
| | | row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount |
| | | } |
| | | |