Element-el-upload

 

  • 定义导入数据按钮
  • <div>
        <el-button class="exportBtn" icon="el-icon-folder-add" @click="importWhiteList">导入数据</el-button>
    </div>
  • 定义弹窗默认显示
  • data{
        return {
              importWhiteListDia: false, // 白名单导入
         }
    }
  • 点击事件显示弹窗
  •  importWhiteList() {
          this.importWhiteListDia = true;
    }
  • 定义弹窗
  • <el-dialog title="白名单数据导入" :visible.sync="importWhiteListDia" width="40%">
        <div>
        
          <!-- 文件导入 -->
          <div class="first">
            <div class="uploadBorder">
              <el-upload class="upload_area" ref="whiteListXls" accept=".xlsx,.xls" action="" :http-request="uploadWhiteList"
                drag :auto-upload="false" :limit="1">
                <i class="el-icon-plus"></i>
                <div class="el-upload__text">
                  <em>选择文件</em>
                </div>
              </el-upload>
            </div>
            
            <!-- 按钮 -->
            <div class="middle">
              <el-button type="primary" @click="determineWhiteList">确定</el-button>
              <el-button type="primary" @click="cancel">取消</el-button>
            </div>
          </div>
        </div>
    </el-dialog>
  • 上传接口调用
  • uploadWhiteList(param) {
          const loading = this.$loading({
            lock: true,
            text: '文件导入中',
            spinner: 'el-icon-loading',
            background: 'rgba(255, 255, 255, 0.8)'
          });
          const formdata = new FormData(); // 创建一个 FormData 对象,这是一种用于构建包含键值对的表单数据的 JavaScript 对象
          formdata.append("importFile", param.file); //文件流
          formdata.append("userId", userInfo().getObject("user_id"));
          formdata.append("token", userInfo().getObject("token"));
          axios({
            method: "post",
            url: "接口路径",
            headers: {
              "Content-Type": "multipart/form-data;charset=UTF-8",
            },
            data: formdata,
          }).then((res) => {
            if (res.data.code == 500 && res.data.status == "Y") {
              this.$message(res.data.msg);
            }
            if (res.data.status == "Y") {
              this.$message(res.data.msg); // 提示导入情况信息 “任务完成,成功导入一条”
              loading.close(); // 结束加载动画
              this.importWhiteListDia = false; // 隐藏弹窗
              this.getWhiteList(this.ProvinceName, this.CountyName); // 重新获取数据列表
            }
          }).catch((err) => {
            console.log(err)
          });
      },
  • 确定提交
  • determineCreditList() {
      // 调用creditListXls组件的submit方法,触发上传文件操作
      this.$refs.creditListXls.submit()
      // 清空creditListXls组件的uploadFiles数组,即清空已上传的文件列表
      this.$refs.creditListXls.$data.uploadFiles = [];
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值