导入弹框
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">下载模板</el-link>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
</div>
</el-dialog>
// 项目导入参数
upload: {
// 是否显示弹出层
open: false,
// 弹出层标题
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的数据
updateSupport: 0,
// 设置上传的请求头部
有些不是token 是Authorization 也有些不要Bearer
headers: { token: "Bearer " + getToken() },
// 上传的地址 process.env.BASE_API +BASE_API 去配置文件里面看
url: process.env.BASE_API + "/topic/import",
},
记得引入 import { getToken } from '@/utils/auth'
/** 导入按钮操作 */
handleImport() {
this.upload.title = "xxx导入";
this.upload.open = true;
},
/** 下载模板操作 */
importTemplate() {
this.download(
下载模板的接口
"/conf/confSourcesFunds/importTemplate",
{},
`xxx导入模板_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getList();
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit();
},
导出
/** 导出按钮操作 */
handleExport() {
导出的接口
this.download('conf/confSourcesFunds/export', {
一些参数 不传也没啥
...this.queryParams
}, `xxx导出资料_${new Date().getTime()}.xlsx`)
}