<el-upload ref="upload" :action="''" :on-change="changeResult" :http-request="requestUpload" :before-upload="beforeExcelUpload" :show-file-list="false" :multiple="false" > <el-button size="small" type="primary"> 導入分潤表</el-button> </el-upload>
// 上傳文件 changeResult(file, fileList) { this.form.file = file; }, // 上傳文件之前的鈎子,上傳前對文件的類型進行判斷 beforeExcelUpload(file) { const isExcel = file.name.split('.')[1] === 'xlsx' || file.name.split('.')[1] === 'xls'; const isSize = file.size / 1024 / 1024 < 1; if (!isExcel) { this.$message({ message: '只能上傳xls或xlsx文件!', type: 'error', }); } return isExcel; }, // 覆蓋默認上傳行為 requestUpload(params) { let fd = new FormData(); fd.append('file', params.file); fd.append('FileName', params.file.name); fd.append('async', true); procQuery(this, { api: this.$api.financeProfitRecord, params: fd, }).then((res) => { //成功 this.getList(); }); },