chenrui
2 天以前 d3a2a0df67f0e3a97d7d66685a2fbe81101ef232
来票登记功能修改
已修改1个文件
54 ■■■■■ 文件已修改
src/views/procurementManagement/invoiceEntry/index.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/index.vue
@@ -107,26 +107,28 @@
          <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"
@@ -356,13 +358,6 @@
  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(
@@ -403,7 +398,7 @@
    proxy.$modal.msg("已取消")
  })
}
//本次开票失焦操作
//本次来票数失焦操作
const invoiceNumBlur = (row) => {
  if (!row.ticketsNum || row.ticketsNum === '') {
      row.ticketsNum = 0
@@ -413,11 +408,28 @@
    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
}