<template>
    <div class="order-wraper">
        <div class="search-confirm-wrap">
            <div class="search-wrap">
                <div class="search-item">
                    <div class="search-label">车间</div>
                    <div class="filter_input_wraper">
                        <el-select v-model="value1" filterable clearable placeholder="请选择">
                            <el-option
                              v-for="item in options1"
                              :key="item.stor_id"
                              :label="item.stor_name"
                              :value="item.stor_id">
                          </el-option>
                        </el-select>
                    </div>
                </div>
                <div class="search-item">
                    <div class="search-label">规格</div>
                    <div class="filter_input_wraper">
                        <input type="text" class="filter-input">
                    </div>
                </div>
                <div class="search-item flexend">
                    <button class="button button--primary" @click="searchMater">查询</button>
                    <button class="button button--primary" :class="{'button--defalut': pkId === ''}" @click="delRow">确认上料</button>
                    <button class="button button--primary" :disabled="disabled1" :class="{'button--defalut': value1 === '' || dataList.length === 0}" @click="_checkCreate">人工倒料</button>
                </div>
            </div>
        </div>
        <div class="grid_wraper">
            <table class="filter-table">
                <thead>
                    <tr>
                        <th>选择</th>
                        <th>设备号</th>
                        <th>物料编号</th>
                        <th>物料规格</th>
                        <th>重量(g)</th>
                        <th>数量</th>
                        <th>存在任务</th>
                    </tr>
                </thead>
                <tbody>
                    <tr v-for="e in dataList" :key="e.struct_name" :class="{'selected_icon': pkId === e.struct_name}" @click="toRadio(e)">
                        <td>{{ e.sect_name }}</td>
                        <td>{{e.struct_name}}</td>
                        <td>{{e.material_code}}</td>
                        <td>{{e.material_spec}}</td>
                        <td>{{e.canuse_qty | numeric(3)}}</td>
                        <td>{{ e.qty | numeric(3)  }}</td>
                        <td>{{ e.storagevehicle_code }}</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</template>

<script>
import {accMul} from '@config/utils.js'
import {checkGetBcpStor, checkCreate} from '@config/getData2.js'
export default {
  name: 'semifinishedcheck',
  data () {
    return {
      options1: [],
      value1: '',
      options2: [{device_code: '32', device_name: '临时盘点'}],
      value2: '32',
      remark: '',
      dataList: [],
      pkId: '',
      pkObj: {},
      disabled1: false
    }
  },
  beforeRouteLeave (to, from, next) {
    if (to.path === '/home' || to.path === '/login') {
      this.$store.dispatch('setKeepAlive', [])
    }
    next()
  },
  activated () {
    if (this.$store.getters.materArr.length > 0) {
      let arr = this.$store.getters.materArr
      this.removeRepeat(this.dataList, arr)
      this.dataList = [...this.dataList, ...arr]
      this.dataList.map(el => {
        let res = accMul(el.canuse_qty, el.unit_weight)
        this.$set(el, 'base_qty', res)
      })
    }
  },
  created () {
    this._checkGetBcpStor()
  },
  methods: {
    // 数组去重
    removeRepeat (arr1, arr2) {
      for (let i = 0; i < arr1.length; i++) {
        for (let j = 0; j < arr2.length; j++) {
          if (arr1[i].struct_name === arr2[j].struct_name) {
            arr2.splice(j, 1)
            j--
          }
        }
      }
    },
    // 仓库下拉框
    async _checkGetBcpStor () {
      let res = await checkGetBcpStor()
      this.options1 = [...res.data]
    },
    // 生产盘点单
    async _checkCreate () {
      this.disabled1 = true
      if (this.value1 === '' || this.dataList.length === 0) {
        this.disabled1 = false
        return
      }
      try {
        let from = {
          stor_id: this.value1,
          check_type: '32',
          remark: this.remark,
          rows: this.dataList
        }
        let res = await checkCreate(from)
        this.toast(res.message)
        this.valu1 = ''
        this.remark = ''
        this.$store.dispatch('setMaterArr', [])
        this.dataList = []

        this.disabled1 = false
      } catch (e) {
        this.disabled1 = false
      }
    },
    searchMater () {
      this.$store.dispatch('setMaterArr', [])
      this.$router.push('/structmatersearch')
    },
    toJumpSearch () {
      this.$router.push('/semifinishedchecksearch')
    },
    toRadio (e) {
      this.pkId = this.pkId === e.struct_name ? '' : e.struct_name
      this.pkObj = this.pkId === e.struct_name ? e : {}
    },
    delRow () {
      if (!this.pkId) {
        return
      }
      this.dataList = this.dataList.filter(el => el.struct_name !== this.pkId)
      this.$store.dispatch('setMaterArr', this.dataList)
    }
  }
}
</script>

<style lang="stylus" scoped>
.grid_wraper
    height calc(100% - 95px)
</style>
