<!--
  @description: 专家库-专家信息列表
  @Modifier: 高铭昱
  @routerPath: /procurement/procExpert-list
  @date: 2021/2/28
-->
<template>
  <table-crud
    ref="tableCrud"
    :search-form="searchForm"
    search-label-width="96px"
    :page-flag="true"
    @on-load="queryExpertList"
  >
    <template v-slot:header>
      专家信息列表
    </template>
    <template v-slot:search="search">
      <!-- 专家编号-->
      <el-form-item label="专家编号">
        <el-input
          v-model.trim="searchForm.code"
          placeholder="请输入专家编号"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 专家姓名 -->
      <el-form-item label="专家姓名">
        <el-input
          v-model.trim="searchForm.name"
          placeholder="请输入专家姓名"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 身份证号 -->
      <el-form-item label="身份证号">
        <el-input
          v-model.trim="searchForm.idcardNo"
          placeholder="请输入身份证号"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 邮箱 -->
      <el-form-item label="邮箱">
        <el-input
          v-model.trim="searchForm.address"
          placeholder="请输入邮箱"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 联系电话 -->
      <el-form-item label="邮箱">
        <el-input
          v-model.trim="searchForm.telephone"
          placeholder="请输入邮箱"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 专业 -->
      <el-form-item label="专业">
        <el-input
          v-model.trim="searchForm.profession"
          placeholder="请输入专业"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 职称 -->
      <el-form-item label="职称">
        <el-input
          v-model.trim="searchForm.title"
          placeholder="请输入职称"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <!-- 状态-->
      <el-form-item label="状态">
        <el-select v-model="searchForm.useStatus" placeholder="请选择专家使用状态">
          <el-option
            v-for="(item,index) in expertUseStatus_List"
            :key="index"
            :label="item.typename"
            :value="item.typecode"
          />
        </el-select>
      </el-form-item>
    </template>
    <template v-slot:GXTable>
      <el-table
        ref="smallTable"
        v-loading="loading"
        :data="formData"
      >
        <el-table-column
          type="index"
          label="序号"
          width="50px"
          align="center"
        />
        <!-- 专家编号 -->
        <el-table-column
          prop="code"
          align="center"
          label="专家编号"
          width="120"
        />
        <!-- 专家姓名 -->
        <el-table-column
          header-align="center"
          prop="name"
          align="left"
          label="专家姓名"
          min-width="160"
        />
        <!-- 性别 -->
        <el-table-column
          align="center"
          prop="sex"
          label="性别"
          width="80"
        >
          <template slot-scope="scope">
            {{ filterDictText(expertSex_List, scope.row.sex) }}
          </template>
        </el-table-column>
        <!-- 身份证号 -->
        <el-table-column
          align="center"
          prop="idcardNo"
          label="身份证号"
          width="160"
        />
        <!-- 联系电话 -->
        <el-table-column
          align="center"
          prop="telephone"
          label="联系电话"
          width="140"
        />
        <!-- 邮箱 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="address"
          label="邮箱"
          min-width="160"
        />
        <!-- 单位电话 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="companylinkTel"
          label="单位电话"
          width="160"
        />
        <!-- 所在单位 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="company"
          label="所在单位"
          min-width="230"
        />
        <!-- 专业 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="profession"
          label="专业"
          min-width="200"
        />
        <!-- 专业技术职务 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="technicalPosition"
          label="专业技术职务"
          min-width="200"
        />
        <!-- 职称 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="title"
          label="职称"
          min-width="200"
        />
        <!-- 精通产品分类 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="spectial"
          label="精通产品分类"
          min-width="200"
        />
        <!-- 所在地区 -->
        <el-table-column
          header-align="center"
          align="left"
          prop="locationArea"
          label="所在地区"
          min-width="230"
        />
        <!-- 使用状态 -->
        <el-table-column
          align="center"
          label="状态"
          width="140"
        >
          <template slot-scope="scope">
            {{ filterDictText(expertUseStatus_List, scope.row.useStatus) }}
          </template>
        </el-table-column>
      </el-table>
    </template>
  </table-crud>
</template>
<script>
/* 接口*/
import { getAllExpertsList } from '@/api/procurement/procurementEvaluation'// 专家列表
/* 公用方法*/
import { filterDictText } from '@/assets/js/utils'// 常用方法
/* 混合开发方法-参数字段*/
import { procExpertGrounpMixins } from '../mixins/procExpertGrounpMixin'// 字典信息

export default {
  name: 'ProcExpertlist',
  mixins: [procExpertGrounpMixins],
  data() {
    return {
      loading: true,
      // 搜索
      searchForm: {
        name: '', //  专家姓名
        code: '', // 专家编号
        idcardNo: '', // 专家身份证号
        address: '', // 邮箱
        telephone: '', // 联系电话
        profession: '', // 专业
        title: '', // 职称
        useStatus: '' // 专家状态 00停用 01启用

      },
      formData: [] // 专家数据
    }
  },
  created() {
  },
  methods: {
    filterDictText, // 字典值替换文本通用方法
    // 查询专家列表
    queryExpertList(params, callback) {
      getAllExpertsList(params).then(response => {
        this.loading = false
        this.formData = Object.freeze(response.data.records)
        callback(response.data.total)
      }).catch(() => {
        this.loading = false
      })
    },
    // 查看
    preview(row) {
      this.$router.push({
        name: 'BasicInfo',
        params: {
          expertId: row.id
        }
      })
    }
  }
}
</script>
<style lang="less" scoped>

</style>
