关键代码
相关页面代码
<el-upload action="string" :http-request="uploadFile" ref="fileRefs" :on-change="uploadFileCha"
:limit="1" :show-file-list="false" accept=".xls, .xlsx">
<el-button type="success" size="mini" @click.stop="beforeUploadFile" v-loading.fullscreen.lock="Fullloading"
element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">导入</el-button>
</el-upload>
文件导入前进行弹窗确认
beforeUploadFile() {
this.$confirm("确认继续进行导入文件?", "提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$refs['fileRefs'].$refs['upload-inner'].handleClick()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消导入'
})
})
},
当进行上传文件操作后进行全局加载操作
uploadFileCha() {
this.Fullloading = true
}
向后端导入excel
uploadFile(param) {
this.$refs.fileRefs.clearFiles();
let _this = this
const File = param.file
let formData = new FormData()
formData.append('file', File)
$.ajax({
url: '后端给前端的相关接口信息',
type: 'POST',
data: formData,
dataType: 'JSON',
contentType: false,
processData: false,
async: true,
success: function(res) {
_this.Fullloading = false
if(res.result === 'success') {
_this.$message({
type: 'success',
message: '数据导入成功!'
})
} else {
_this.$message({
type: 'error',
message: '数据导入失败!'
})
}
}
})
},