<template> 
 | 
  <el-dialog 
 | 
      class="center-title" 
 | 
      :title="title" 
 | 
      width="500px" 
 | 
      top="30vh" 
 | 
      :visible.sync="visible" 
 | 
      :confirm-working="isWorking" 
 | 
      @confirm="confirm" 
 | 
  > 
 | 
    <p class="tip-warn"><i class="el-icon-warning"></i>导入说明:<br> 
 | 
      1.请先下载文件模板,并按照模板要去填写表格内容;<br> 
 | 
    </p> 
 | 
    <el-form class="demo-form-inline" > 
 | 
      <el-form-item label="人员培训期名单" required> 
 | 
        <div style="width: 100%;display: flex;align-items: center;"> 
 | 
          <el-button type="primary" :loading="importing"   @click="clickRef">点击上传</el-button> 
 | 
          <el-button type="text" @click="exportTemplate">点击下载模版.EXCEL</el-button> 
 | 
        </div> 
 | 
        <div style="font-size: 14px; color: black;" v-if="fileName">{{fileName}}</div> 
 | 
      </el-form-item> 
 | 
    </el-form> 
 | 
    <input type="file" style="position: fixed; left: 0; top: -50px;" accept=".xlsx" ref="fileExcel" @change="result" /> 
 | 
    <template   v-slot:footer> 
 | 
      <el-button @click="visible=false">返回</el-button> 
 | 
    </template> 
 | 
  </el-dialog> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import BaseOpera from '@/components/base/BaseOpera' 
 | 
import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
import { importTrainTimeExcel } from '@/api/business/member' 
 | 
export default { 
 | 
  name: 'OperaMemberImportWindow', 
 | 
  extends: BaseOpera, 
 | 
  // eslint-disable-next-line vue/no-unused-components 
 | 
  components: { GlobalWindow }, 
 | 
  data () { 
 | 
    return { 
 | 
      importing:false, 
 | 
      fileName: '', 
 | 
      companyType: 0 
 | 
    } 
 | 
  }, 
 | 
  methods: { 
 | 
    open (title, companyType) { 
 | 
      this.title = title 
 | 
      this.fileName = '' 
 | 
      this.visible = true 
 | 
      this.companyType = companyType 
 | 
    }, 
 | 
    // 导出模板 
 | 
    exportTemplate () { 
 | 
      // 投保申请 
 | 
      window.open('/template/traintime.xlsx') 
 | 
    }, 
 | 
    clickRef () { 
 | 
      this.$refs.fileExcel.click() 
 | 
    }, 
 | 
    result (e) { 
 | 
      this.importing=true 
 | 
      const data = new FormData() 
 | 
      data.append('file', e.target.files[0]) 
 | 
      data.append('companyType', this.companyType) 
 | 
      importTrainTimeExcel(data) 
 | 
        .then(res => { 
 | 
          this.$message.success('导入成功') 
 | 
          this.$emit('success') 
 | 
          this.visible = false 
 | 
        }) 
 | 
        .catch(err => { 
 | 
          // this.$message.error(err) 
 | 
          this.fileName = '' 
 | 
        }) 
 | 
        .finally(() => { 
 | 
          this.importing=false 
 | 
          this.$refs.fileExcel.value = null 
 | 
        }) 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
  
 | 
</style> 
 |