代码如下:
<template>
<div class="app-container">
<el-form label-width="120px">
<el-form-item label="信息描述">
<el-tag type="info">excel模版说明</el-tag>
<el-tag>
<i class="el-icon-download"/>
<a :href="ossExcelUrl">点击下载模版</a>
</el-tag>
</el-form-item>
<el-form-item label="选择Excel">
<el-upload
ref="upload"
:auto-upload="false"
:on-success="fileUploadSuccess"
:on-error="fileUploadError"
:disabled="importBtnDisabled"
:limit="1"
:action="BASE_API+'/edusevice/subject/uploadExcel'"
name="file"
accept="application/vnd.ms-excel">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button
:loading="loading"
style="margin-left: 10px;"
size="small"
type="success"
@click="submitUpload">上传到服务器</el-button>
</el-upload>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data(){
return{
ossExcelUrl:'https://qiyu-onlinen.oss-cn-beijing.aliyuncs.com/2021/01/excel/subject.xlsx',
importBtnDisabled:false, // 导入按钮是否失效
BASE_API:process.env.BASE_API,
}
},
created(){
},
methods:{
// 上传按钮
submitUpload(){
this.importBtnDisabled = true
this.loading = true
// js: document.getElementById("upload").submit() //手动提交表单
this.$refs.upload.submit()
},
// 上传成功
fileUploadSuccess(){
this.$message({
type: 'success',
message: '上传成功!'
})
this.$router.push({path:"/subject/list"})
},
// 上传失败
fileUploadError(){
this.$message({
type: 'error',
message: '上传失败!'
})
}
}
}
实现效果:
