<template>
  <div>
    <Row>
      <!--查询-->
      <Col span="24">
        <Form id="task-assign-item-left" :label-width="70" inline onsubmit="return false">
        <label class="label-sign"></label>
        <Form-item class="search-item" label="检测项目:">
          <Input v-model="formObj.name" @on-enter="_formSearch" placeholder="请输入检测项目" clearable></Input>
        </Form-item>
        <Form-item class="search-btn">
          <Button @click="_formSearch" type="primary">搜索</Button>
        </Form-item>
      </Form>
      </Col>
      <Col span="24">
      <btn-list @on-result-change="_btnClick" :msg="btn" class="contHide" style="margin-bottom: 6px;"></btn-list>
      </Col>
      <!-- 表格 -->
      <Col span="24">
      <PTVXETable ref="pageTable" :page-columns="pageColumns"  :table-name="tableName"
                  :table-height="tableHeight"
                    :get-page="getPage" @on-result-change="_tableResultChange"  select-data>
        <vxe-table-column
          v-for="item in userColumns.length > 0 ?userColumns:pageColumns"
          :key="item.key"
          :field="item.key"
          :title="item.title"
          :min-width="item.width"
          :fixed="item.fixed?item.fixed:undefined"
          sortable>
          <template slot-scope="scope">
            <a v-if="item.detail" @click.stop="_detailModal(scope.row)">{{scope.row[item.key]}}</a>
            <span v-else-if="item.date">{{scope.row[item.key]?$dateformat(scope.row[item.key],'yyyy-mm-dd'):''}}</span>
            <span v-else>{{scope.row[item.key]}}</span>
          </template>
        </vxe-table-column>
      </PTVXETable>
      </Col>
    </Row>
  </div>
</template>
<script>
import { soilTest } from '../../../api'
export default {
  components: {},
  props: {
    rightSelectData: null
  },
  data() {
    return {
      currentComponent: '',
      formObj: {
        name: undefined
      },
      formObjSample: {
        name: undefined,
        entrustId: undefined
      },
      formObjBatchSample: {
        obj: {
          entrustId: '',
          nameList: []
        }
      },
      sampleIds: [],
      batchSampleIds: [],
      itemName: '',
      tableName: 'food-task-assign-item-left',
      // 用户自己选中的列
      userColumns: [],
      selectDataName: [],
      optionList: [
        { key: 'name', name: '检测项目', placeholder: '请输入检测项目' },
        { key: 'testBasis', name: '检测依据', placeholder: '请输入检测依据' }
      ],
      getPage: {},
      iconMsg: [],
      btn: [],
      id: '',
      selectId: '',
      pageColumns: [{ title: '检测项目', key: 'name', width: 120 }]
    }
  },
  computed: {
    tableHeight: function() {
      return this.$tableHeight('tabSearch')
    }
  },
  methods: {
    // 重置column
    _resetColumn(colList) {
      this.userColumns = colList
      this.$refs.pageTable._loadColumn(colList)
    },
    _modalResult() {
      if (this.currentComponent === 'AutoAssignModal') {
        this._formSearch()
      }
    },
    _selInputResult1(msg, data) {
      switch (msg) {
        case 'search':
          this._formSearch()
          break
      }
    },
    _open(id) {
      this.id = id
      this.selectId = ''
      this._page()
    },
    _searchParams() {
      const obj = {}
      const obj1 = this.$refs.selInput1._getFormObj()
      Object.assign(obj, obj1)
      return obj
    },
    _page: async function() {
      Object.assign(this.formObj, this.$refs.pageTable._searchParams())
      this.formObj.entrustId = this.id
      const result = await soilTest.pageDocumentByExp(
        this.$serializeForm(this.formObj)
      )
      if (result) {
        this.$refs.pageTable._hideLoading()
        this.getPage = result
      }
    },
    _tableResultChange(msg, data) {
      switch (msg) {
        case 'page':
          this._page()
          break
        case 'selectData':
          this.selectDataName = []
          for (let i = 0; i < data.length; i++) {
            this.selectDataName.push(data[i].name)
          }
          this.$emit('on-result-change', this.selectDataName)
          break
        case 'changeSize':
          this._page()
          break
      }
    },
    _formSearch() {
      this.$refs.pageTable._pageChange(1)
    },
    _btnClick(msg) {
      switch (msg) {
        case '生成项目报告':
          // this.$emit('on-result-change', data)
          this._itemReportMakeBatch()
          break
        case '自动分配':
          this._autoAssign()
          break
      }
    },
    _iconClick(res, data, currentComponent) {
      this.$nextTick(() => {
        switch (res) {
          case '生成项目报告':
            // this.$emit('on-result-change', data)
            this._itemReportMake(data)
            break
        }
      })
    }
  }
}
</script>
