el-upload自定义上传样式 el-upload上传后回显为表格数据

11 篇文章 0 订阅

在这里插入图片描述
在这里插入图片描述

template

  • action 必选参数,上传后台接口地址
  • data 上传时附带的额外参数(图片2)
  • on-success 上传成功执行函数
  • headers 设置上传的请求头部
  • multiple 是否支持多选文件,可以不写
  • :limit=“3” 最大允许上传个数,可以不写
<div>
  <div class="medical-title">     
      <p  class="card-title">体检报告</p>
      <el-upload
        multiple
        class="upload-demo"
        :action="uploadUrl"
        :data="medicalData"
        :headers="headers"          
        :limit="3"
        :on-exceed="handleExceed"
        :on-success="successMedical"
        :show-file-list="false"
      >
      <p><i class="el-icon-plus" style="color:#407fff"></i>点击上传</p>
      </el-upload>
    </div>   
    <div>
      <el-table :data="fileList" style="width: 80%;margin-bottom:20px">
        <el-table-column prop="name" label="文件名" ></el-table-column>
        <el-table-column prop="uploadingTime" label="上传时间" ></el-table-column>
        <el-table-column >
          <template slot-scope="scope">
            <el-button type="text" @click="downMedical(scope.row)"> 下载</el-button>
            <el-button type="text" style="color:red" @click="removeMedical(scope.row)"> 删除</el-button>
          </template>
        </el-table-column>
      </el-table>
    </div>   
  </div>

data数据

 uploadUrl: process.env.VUE_APP_BASE_API + "/file/upload", // 上传的图片服务器地址
 headers: {
    Authorization: "Bearer " + getToken()
  },
  // 体检报告
  medicalData:{
    type:1,
    source: 1,
  },
  fileList: [],

methodes

 //成功
 successMedical(file,fileList) {
     if(fileList.response.code === 200) {
       this.$message.success('上传成功')
       this.fileList.push(fileList.response.data)
     }
   },
   //删除
   removeMedical(val) {
     const index = this.fileList.findIndex(item => item.url===val.url )
     this.fileList.splice(index,1)
   },
   // on-exceed
   handleExceed(files, fileList) {
     this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
   },

style

.card-title{
  font-weight: 800;
  color: #323333;
}
.medical-title{
  width: 80%;
  display: flex;
  justify-content: space-between;
}
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值