vue3+element-plus实现表格操作列,文件上传,附带当前行参数字段

<el-table :data="tableData" border class="main-center-content" show-overflow-tooltip>
    <el-table-column
      prop="structure_tree_name"
      label="构型名称"
      width="530"
    ></el-table-column>
    <el-table-column
      prop="structure_tree_num"
      label="构型编码"
       width="350"
    ></el-table-column>
    <el-table-column
      prop="structure_tree_version"
      label="版本号"
       width="100"
    ></el-table-column>
    <el-table-column prop="updated_at" label="时间" width="280">
      <template #default="scope">
        {{ getDateTime(scope.row.updated_at) }}
      </template>
    </el-table-column>
    <el-table-column label="操作">
      <template #default="scope">
        <div style="display: flex;">
          <el-link
            type="primary"
            @click="handleToDetail(scope.row.structure_tree_id)"
          >
            查看
          </el-link>
          <el-upload
          :show-file-list="false"
          :before-upload="beforeAvatarUpload(scope.row.structure_tree_id)"
          :on-exceed="handleExceed"
          style="height: 32px"
        >
          <el-button style="border: none;color:#409eff;background:transparent"> 绑定</el-button>
        </el-upload>
      </template>
    </el-table-column>
  </el-table>
  <el-pagination
    :current-page="pageInfo.page"
    :page-size="pageInfo.size"
    :page-sizes="pageInfo.pageSizes"
    background
    layout="->, total,  prev, pager, next, sizes"
    :total="pageInfo.total"
    @size-change="handleSizeChange"
    @current-change="handleCurrentChange"
  ></el-pagination>

<script>
const upload = ref<UploadInstance>()
const fileData = ref<any>()
const fileName = ref("")
// 绑定
const handleExceed: UploadProps["onExceed"] = (files) => {
  upload.value!.clearFiles()
  const file = files[0] as UploadRawFile
  file.uid = genFileId()
  upload.value!.handleStart(file)
}

//确定上传,使用闭包获取参数
const beforeAvatarUpload = (rawDataId:any) => {
  return async (rawFile:any)=>{
    fileData.value = rawFile
    fileName.value = rawFile.name
    if(!rawFile){
      ElMessage.info("请上传文件")
      return
    }
  const fromData = new FormData()
    fromData.append("structure_tree_id", rawDataId)
    fromData.append("file", fileData.value)
    await uploadBindData(fromData)
    ElMessage.success("上传成功")
    getTableList()
    // handleClose()
    return false
  }
}


</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值