gaoluyang
2025-02-25 6d44d9fd513442c9aff8c17cd8cce97ada1efc44
成品抽样搬迁
已修改1个文件
已添加3个文件
785 ■■■■■ 文件已修改
src/api/business/finishedProductSampling.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/lims-table.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/finishedProductSampling/components/addQuarterItem.vue 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/finishedProductSampling/index.vue 448 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/finishedProductSampling.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
// æˆå“æŠ½æ ·è¯¦æƒ…页面相关接口
import request from '@/utils/request'
// åŽŸææ–™æ ¹æ®id报检
export function getIfsStock(query) {
  return request({
    url: '/finishProductSpotCheck/getIfsStock',
    method: 'post',
    data: query
  })
}
// å­£åº¦æŠ½æ£€æŸ¥çœ‹è¯¦æƒ…
export function getQuarter(query) {
  return request({
    url: '/finishProductSpotCheck/getQuarter',
    method: 'get',
    params: query
  })
}
// æäº¤å­£åº¦æŠ½æ ·
export function addQuarter(query) {
  return request({
    url: '/finishProductSpotCheck/addQuarter',
    method: 'post',
    data: query
  })
}
// ç¼–辑季度检验
export function updateQuarterOnOrder(query) {
  return request({
    url: '/finishProductSpotCheck/updateQuarterOnOrder',
    method: 'post',
    data: query
  })
}
src/components/Table/lims-table.vue
@@ -64,7 +64,8 @@
          <!-- æŒ‰é’® -->
          <div v-else-if="item.dataType == 'action'">
            <template v-for="(o, key) in item.operation">
              <el-button v-if="o.type != 'upload'" size="mini" v-show="o.showHide ? o.showHide(scope.row) : true"
              <el-button v-show="o.type != 'upload'" size="mini"
                         v-if="o.showHide ? o.showHide(scope.row) : true"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
                :style="{ color: o.name === '删除' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)"
                @click="o.clickFun(scope.row)" :key="key">
@@ -79,7 +80,8 @@
                :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
                  ? o.accept
                  : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                  " v-if="o.type == 'upload'" style="display: inline-block; width: 50px"
                  "
                v-if="o.type == 'upload'" style="display: inline-block; width: 50px"
                v-show="o.showHide ? o.showHide(scope.row) : true"
                :headers="uploadHeader"
                :on-error="onError"
src/views/business/finishedProductSampling/components/addQuarterItem.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,296 @@
<template>
  <div>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="quarterSampleDia" title="季度抽样" width="90%" @close="quarterSampleDia = false">
      <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 10px">
        <div style="width: 30%;display: flex;align-items: center;" >
          <span style="width: 50px">编号:</span>
          <el-input v-model="quarterSampleForm.quarterNo" :disabled="operationType !== 'add'" size="small"></el-input>
        </div>
        <div v-if="operationType === 'add'">
          <el-button size="small" type="primary" @click="addQuarter">添加</el-button>
          <el-button size="small" type="danger" @click="clearTable">清空</el-button>
        </div>
      </div>
      <div>
        <el-table v-loading="tableLoading" :data="quarterItems" border height="420" style="width: 100%">
          <el-table-column label="产品类型" prop="productType" width="200">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.productType" size="small"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column label="责任人" prop="dutyUser" width="100"></el-table-column>
          <el-table-column label="型号" prop="productModel" width="120">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.productModel" size="small" :disabled="operationType === 'view'"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column label="抽样数量" min-width="340" prop="spotCheckNumber">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.spotCheckNumber" size="small" :disabled="operationType === 'view'"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column v-if="operationType === 'add'" label="数量" min-width="120" prop="number">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.number" size="small" :disabled="operationType === 'view'"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column v-if="operationType !== 'add'" label="抽样时间" prop="spotCheckTime" width="160">
            <template slot-scope="{row}">
              <template>
                <el-date-picker v-model="row.spotCheckTime"
                                format="yyyy-MM-dd"
                                :disabled="operationType === 'view'"
                                placeholder="选择日期"
                                size="small"
                                clearable
                                style="width:100%"
                                type="date"
                                value-format="yyyy-MM-dd">
                </el-date-picker>
              </template>
            </template>
          </el-table-column>
          <el-table-column v-if="operationType !== 'add'" label="试样结论" prop="result" width="130">
            <template v-slot="scope">
              <el-select v-model="scope.row.result" placeholder="请选择" size="small" clearable :disabled="operationType === 'view'">
                <el-option label="合格" value="合格"></el-option>
                <el-option label="不合格" value="不合格"></el-option>
              </el-select>
            </template>
          </el-table-column>
          <el-table-column v-if="operationType !== 'add'" label="取样人员" prop="samplingUser" width="120">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.samplingUser" size="small" :disabled="operationType === 'view'"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column label="备注" prop="itemRemark" width="200">
            <template slot-scope="{row}">
              <template>
                <el-input v-model="row.itemRemark" size="small" :disabled="operationType === 'view'"/>
              </template>
            </template>
          </el-table-column>
          <el-table-column v-if="operationType !== 'view'" fixed="right" label="操作" width="100">
            <template slot-scope="scope">
              <el-button size="small" style="color: #f56c6c" type="text" @click="deleteScope(scope.$index)">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <div style="display: flex;align-items: center;margin: 10px 0">
        <span style="width: 70px">备注:</span>
        <el-input v-model="quarterSampleForm.remark" :disabled="operationType === 'view'" size="small" style="width: 43%" type="textarea"></el-input>
      </div>
      <div v-if="operationType !== 'add'">
        <el-form ref="form" :model="editForm" label-width="70px">
          <el-col :span="12">
            <el-form-item label="编制人:">
              <el-select v-model="editForm.writeUser" :disabled="operationType !=='edit'" placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="会签人:">
              <el-select v-model="editForm.countersignUser" :disabled="operationType !=='edit'" multiple placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="审核人:">
              <el-select v-model="editForm.examineUser" :disabled="operationType !=='edit'" placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="批准人:">
              <el-select v-model="editForm.ratifyUser" :disabled="operationType !=='edit'" placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-form>
      </div>
      <span v-if="operationType !== 'view'" slot="footer" class="dialog-footer">
        <el-button v-if="operationType !== 'add'" @click="quarterSampleDia = false">取 æ¶ˆ</el-button>
        <el-button v-if="operationType === 'add'" @click="quarterSampleDia = false">保 å­˜</el-button>
        <el-button type="primary" @click="handleSample">ç¡® å®š</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import {addQuarter, getQuarter, updateQuarterOnOrder} from "@/api/business/finishedProductSampling";
import {selectUserCondition} from "@/api/business/inspectionTask";
import {mapGetters} from "vuex";
export default {
  name: "addQuarterItem",
  // import å¼•入的组件需要注入到对象中才能使用
  components: {},
  data() {
    // è¿™é‡Œå­˜æ”¾æ•°æ®
    return {
      tableLoading: false,
      quarterSampleDia: false, // å­£åº¦æŠ½æ ·å¼¹æ¡†
      quarterSampleForm: {
        quarterNo: '', // ç¼–号
      },
      quarterItems: [],
      quarterTemItems: [],
      operationType: '',
      editForm: {
        quarterId: '',
        writeUser: '', // ç¼–制人
        countersignUser: [], // ä¼šç­¾äºº
        examineUser: '', // å®¡æ ¸äºº
        ratifyUser: '', // æ‰¹å‡†äºº
      },
      userList: [],
      quarterRow: {},
    }
  },
  computed: {
    ...mapGetters(["nickName"]),
  },
  mounted() {
    this.getUserList()
  },
  // æ–¹æ³•集合
  methods: {
    openDia (quarterTemItems, type) {
      this.quarterSampleDia = true
      this.operationType = type
      if (type === 'add') {
        if (quarterTemItems.length > 0) {
          this.quarterItems = quarterTemItems
        }
        this.quarterSampleForm.quarterNo = getCurrentMonthTwoDigits()
      } else {
        this.tableLoading = true
        this.quarterRow = quarterTemItems
        getQuarter({quarterId: quarterTemItems.quarterId}).then(res => {
          this.tableLoading = false
          if (res.code === 200) {
            this.quarterItems = res.data.quarterItems
            this.quarterSampleForm.quarterNo = res.data.quarterNo
            this.quarterSampleForm.remark = res.data.remark
            this.editForm.quarterId = res.data.quarterId
            this.editForm.writeUser = res.data.writeUser
            this.editForm.examineUser = res.data.examineUser
            this.editForm.ratifyUser = res.data.ratifyUser
            if (res.data.countersignUser) {
              this.editForm.countersignUser = res.data.countersignUser.split(",").map(Number)
            }
          }
        }).catch(err => {
          this.tableLoading = false
        })
      }
    },
    // æ‰‹åŠ¨æ·»åŠ 
    addQuarter () {
      this.quarterItems.push({
        productType: '',
        dutyUser: this.nickName,
        productModel: '',
        spotCheckNumber: '',
        number: '',
        spotCheckTime: '',
        result: '',
        samplingUser: '',
        itemRemark: '',
      })
    },
    // æäº¤å­£åº¦æŠ½æ ·
    handleSample () {
      this.$confirm('是否提交该数据', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        if (this.operationType === 'add') {
          this.quarterSampleForm.quarterItems = JSON.parse(JSON.stringify(this.quarterItems))
          this.quarterSampleForm.quarterItems.forEach(item => {
            item.spotCheckNumber = item.spotCheckNumber + ' ' + (item.number == null ? "" : item.number)
          })
          addQuarter(this.quarterSampleForm).then(res => {
            if (res.code == 200) {
              this.$message.success('提交成功')
              this.quarterItems = []
              this.$parent.quarterTemItems = []
              this.closeQuarterSampleDia()
            }
          })
        } else {
          const params = {...this.editForm}
          if (params.countersignUser.length > 0) {
            params.countersignUser = params.countersignUser.join(',')
          } else {
            params.countersignUser = ''
          }
          params.quarterItems = JSON.parse(JSON.stringify(this.quarterItems))
          updateQuarterOnOrder(params).then(res => {
            if (res.code == 200) {
              this.$message.success('提交成功')
              this.quarterItems = []
              this.closeQuarterSampleDia()
            }
          })
        }
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消'
        });
      });
    },
    // æ¸…空抽样计划
    clearTable () {
      this.quarterItems = []
      this.$parent.quarterTemItems = []
    },
    // æ‰‹åŠ¨åˆ é™¤
    deleteScope (index) {
      this.quarterItems.splice(index, 1)
    },
    // å…³é—­å­£åº¦æŠ½æ ·å¼¹æ¡†
    closeQuarterSampleDia () {
      this.quarterSampleDia = false
      if (this.operationType === 'add') {
        this.$parent.handleStockList()
      } else {
        this.$parent.refreshTable('page')
      }
    },
    getUserList(){
      selectUserCondition({ type: 0 }).then((res) => {
        this.userList = res.data;
      })
    },
  },
}
function getCurrentMonthTwoDigits() {
  const currentDate = new Date();
  const year = currentDate.getFullYear();
  const currentMonth = currentDate.getMonth() + 1;
  return year + currentMonth.toString().padStart(2, '0');
}
</script>
<style scoped>
</style>
src/views/business/finishedProductSampling/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,448 @@
<!--成品抽样页面-->
<template>
  <div style="padding: 10px 0">
    <div class="card">
      <div class="title">
        <el-button size="small" type="primary" @click="addTemQuarter">新增</el-button>
        <el-button size="small" type="primary" @click="quarterSample">季度抽样</el-button>
        <el-button size="small" type="primary" @click="handleStockList">刷新</el-button>
      </div>
      <el-table
        ref="finishedproducttransferTable"
        v-loading="tableLoading"
        :data="stockList"
        :header-cell-style="lineSideWarehouseTableHeaderCellStyle"
        :row-class-name="lineSideWarehouseTableRowClassName"
        class="finishedproducttransfer-table"
        height="calc(100vh - 240px)"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="45"></el-table-column>
        <el-table-column
          :show-overflow-tooltip="true"
          align="center"
          label="客户订单编号"
          prop="customerOrderNo"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">客户订单编号</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.customerOrderNo"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.customerOrderNo }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="成品零件号"
          prop="partNo"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">成品零件号</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.partNo"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.partNo }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="零件名称"
          prop="partName"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">零件名称</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.partName"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.partName }}</span>
          </template>
        </el-table-column>
        <el-table-column
          :show-overflow-tooltip="true"
          align="center"
          label="仓库"
          prop="warehouseName"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">仓库</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.warehouseName"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.warehouseName }}</span>
          </template>
        </el-table-column>
        <el-table-column
          :show-overflow-tooltip="true"
          align="center"
          label="库位号"
          prop="locationNo"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">库位号</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.locationNo"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.locationNo }}</span>
          </template>
        </el-table-column>
        <el-table-column
          :show-overflow-tooltip="true"
          align="center"
          label="库位名称"
          prop="locationName"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">库位名称</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.locationName"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.locationName }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="批次号"
          prop="partBatchNo"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">批次号</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.partBatchNo"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.partBatchNo }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="入库来源"
          prop="inSource"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">入库来源</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.inSource"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.inSource }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="外护颜色"
          prop="outerColor"
          width="140"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;margin-bottom: 6px">外护颜色</div>
            <div class="th" @click.stop>
              <el-input
                v-model="queryParamOne.outerColor"
                clearable
                size="mini"
                type="text"
                @clear="handleStockList"
                @keyup.enter.native="handleStockList"
              ></el-input>
            </div>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.outerColor }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          label="库存数量"
          prop="stockQuantity"
          width="140"
        >
        </el-table-column>
        <el-table-column
          align="center"
          label="可用库存数量"
          prop="availableStockQuantity"
          width="140"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.availableStockQuantity }}</span>
          </template>
        </el-table-column>
      </el-table>
      <div class="pagin-page" style="margin-top: 0;margin-bottom: 0;">
        <el-pagination
          background
          :current-page="queryReport.current"
          :page-size="queryReport.size"
          :page-sizes="[10, 15, 20, 50, 100]"
          :total="queryReport.total"
          layout="total, sizes, prev, pager, next, jumper"
          style="text-align:right;padding: 20px 16px;"
          @size-change="handleSizeChangeReport"
          @current-change="handleCurrentChangeReport"
        >
        </el-pagination>
      </div>
    </div>
    <add-quarter-item ref="addQuarterItem"></add-quarter-item>
  </div>
</template>
<script>
import AddQuarterItem from "./components/addQuarterItem.vue";
import {getIfsStock} from "@/api/business/finishedProductSampling";
import {mapGetters} from "vuex";
export default {
  data() {
    return {
      stockList: [],
      queryParamOne: {
        partNo: null,
        partName: null,
        warehouseName: null,
        locationName: null,
        locationNo: null,
        partBatchNo: null,
        stockQuantity: null,
        availableStockQuantity: null,
        outerColor: null,
        customerOrderNo: null,
        inSource: null,
      },
      queryReport: {
        current: 1,
        size: 20,
        total: 0
      },
      tableLoading: false,
      multipleSelection: [], // table所选中的对象
      showEditForm: false,
      showMoveForm: false,
      showMoveAllForm: false,
      erpfinishstock: {},
      isAvaliable: false,
      isPackage: false,
      quarterTemItems: [],
      operationType: ''
    }
  },
  components: {AddQuarterItem},
  mounted() {
    this.getIfsStock()
  },
  updated() {
    this.$nextTick(() => {
      this.$refs.finishedproducttransferTable.doLayout()
    })
  },
  computed: {
    ...mapGetters(["nickName"]),
  },
  methods: {
    // å­£åº¦æŠ½æ ·
    quarterSample () {
      this.$refs.addQuarterItem.openDia(this.quarterTemItems, 'add')
    },
    addTemQuarter () {
      if (this.multipleSelection.length > 0) {
        const multipleSelection = JSON.parse(JSON.stringify(this.multipleSelection))
        if (multipleSelection.length > 0) {
          multipleSelection.forEach(item => {
            if (item.partName.includes(' ')) {
              const list = item.partName.match(/^(\S+)\s(.*)/).slice(1)
              console.log('list', list)
              item.productType = list[0]
              item.spotCheckNumber = list[1]
            }
            item.dutyUser = this.nickName
            item.itemRemark = item.partBatchNo;
            this.quarterTemItems.push(item)
          })
        }
        this.$message.success('暂存成功')
        this.$refs.finishedproducttransferTable.clearSelection()
      } else {
        this.$message.warning('请选择数据')
      }
    },
    // èŽ·å–æ•°æ®åˆ—è¡¨
    getIfsStock() {
      this.tableLoading = true
      this.stockList = []
      const newReqParam = this.getFinalParam()
      getIfsStock(newReqParam)
        .then((response) => {
          const resData = response.data
          this.queryReport.total = resData.total
          const resStockList = resData.data
          resStockList.forEach((item) => {
            this.stockList.push({
              partNo: item.PART_NO,
              partName: item.PART_DESC,
              warehouseName: item.WAREHOUSE_ID,
              locationName: item.LOCATION_DESC,
              locationNo: item.LOCATION_NO,
              partBatchNo: item.LOT_BATCH_NO,
              stockQuantity: item.QTY_ONHAND,
              availableStockQuantity: item.QTY_AVAILABLE,
              outerColor: item.ATTR4,
              customerOrderNo: item.ATTR6,
              inSource: item.ATTR23,
            })
          })
          this.tableLoading = false
        })
        .catch(() => {
          this.tableLoading = false
        })
    },
    getFinalParam() {
      const newReqParam = {
        partNo: this.queryParamOne.partNo,
        partDescription: this.queryParamOne.partName,
        warehouse: this.queryParamOne.warehouseName
          ? this.queryParamOne.warehouseName + '%'
          : null,
        locDesc: this.queryParamOne.locationName,
        locNo: this.queryParamOne.locationNo,
        lotBatchNo: this.queryParamOne.partBatchNo,
        quantityFlag: this.queryParamOne.stockQuantity,
        outerColor: this.queryParamOne.outerColor,
        otcOrderNo: this.queryParamOne.customerOrderNo,
        availableStockQuantity: this.queryParamOne.availableStockQuantity,
        inSource: this.queryParamOne.inSource,
        page: this.queryReport.current,
        limit: this.queryReport.size
      }
      return newReqParam
    },
    lineSideWarehouseTableHeaderCellStyle({row, column, rowIndex, columnIndex}) {
      let headerStyle = 'background:#FAFAFA;color:#666;'
      if (columnIndex === 0) {
        headerStyle += 'border-radius: 6px 0px 0px 0px;'
      } else if (columnIndex === 13) {
        headerStyle += 'border-radius: 0px 6px 0px 0px;'
      }
      return headerStyle
    },
    lineSideWarehouseTableRowClassName({ row, rowIndex }) {
      if (rowIndex % 2 === 1) {
        return 'stripe-row'
      } else {
        return ''
      }
    },
    handleSizeChangeReport(val) {
      this.queryReport.size = val
      this.queryReport.current = 1
      this.getIfsStock()
    },
    handleCurrentChangeReport(val) {
      this.queryReport.current = val
      this.getIfsStock()
    },
    handleStockList() {
      this.queryReport.current = 1
      this.getIfsStock()
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
    }
  }
}
</script>
<style scoped>
>>>.el-table__header {
  height: 70px;
}
.card {
  height: calc(100% - 40px);
  background: #ffffff;
  padding: 10px;
}
.title {
  text-align: right;
  margin-bottom: 10px;
}
</style>