vue element el-upload导入,导出(excel)功能

49 篇文章 0 订阅

vue element el-upload导入导出功能

在这里插入图片描述
util.js文件夹



import Axios from 'axios'
const server = process.env.VUE_APP_BASE_API
import request from '@/utils/request'
import {
  Message
} from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
export default {
  uploadExcel (url, data) {
    return request({
      url,
      method: 'post',
      headers: {
        'Content-Type': 'multipart/form-data'
      },
      data
    })
  },
  getUploadUrl (url) {
    if (url) {
      return server + url
    } else {
      return server + "/sys/oss/driverUpload"
    }
  },
  exportData (url, data) { //导出文件
    url = server + url
    return request({
      url: url,
      method: 'get',
      params: data,
      responseType: 'blob',
      headers: {
        'Content-Type': 'application/json;charset=UTF-8',
        "Authorization": getToken()
      }
    })
  },
  //下载execl
  exportExcel (res, name) {
    const blob = new Blob([res])
    const fileName = name + '.xlsx'
    const elink = document.createElement('a')
    elink.download = fileName
    elink.style.display = 'none'
    elink.href = URL.createObjectURL(blob)
    document.body.appendChild(elink)
    elink.click()
    URL.revokeObjectURL(elink.href)
    document.body.removeChild(elink)
  },
  getData (url, data) {
    return request({
      url,
      method: "get",
      params: data
    })
  },
  postJson (url, data) {
    return request({
      url,
      method: 'post',
      data
    })
  },
  postJsonNoToken (url, data) {
    return request({
      url,
      headers: {
        isToken: false
      },
      method: 'post',
      data
    })
  },
  dateFormatter (value) {
    let date = new Date(value)
    let Y = date.getFullYear()
    let m = date.getMonth() + 1
    let d = date.getDate()
    let H = date.getHours()
    let i = date.getMinutes()
    let s = date.getSeconds()
    if (m < 10) {
      m = '0' + m
    }
    if (d < 10) {
      d = '0' + d
    }
    if (H < 10) {
      H = '0' + H
    }
    if (i < 10) {
      i = '0' + i
    }
    if (s < 10) {
      s = '0' + s
    }
    let t = Y + '-' + m + '-' + d + ' ' + H + ':' + i + ':' + s
    return t
  },
  dateFormat (value) {
    let date = new Date(value)
    let Y = date.getFullYear()
    let m = date.getMonth() + 1
    let d = date.getDate()
    let H = date.getHours()
    let i = date.getMinutes()
    let s = date.getSeconds()
    if (m < 10) {
      m = '0' + m
    }
    if (d < 10) {
      d = '0' + d
    }
    if (H < 10) {
      H = '0' + H
    }
    if (i < 10) {
      i = '0' + i
    }
    if (s < 10) {
      s = '0' + s
    }
    let t = Y + '-' + m + '-' + d
    return t
  },
  // 两位小数
  checkInput (val, max) {
    val = String(val).replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3') // 只能输入两个小数
    if (val > max) val = max
    val = String(val).replace(/[^\d.]/g, '') // 清除数字和小数点以外的字符
    val = String(val).replace(/^\./g, '') // 验证第一个字符是数字
    val = String(val).replace(/\.{2,}/g, '.') // 只出现一个小数点
    val = String(val)
      .replace('.', '$#$')
      .replace(/\./g, '')
      .replace('$#$', '.') // 只出现一次小数点
    if (String(val).indexOf('.') < 0 && val !== '') {
      // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
      val = parseFloat(val)
    }
    return val
  }

}

用的vue页面引入
import Util from '@/utils/util’

// 导出开票
    handleExport () {
      Util.exportData("/invoiceWeb/exportInvoiceBatch", this.queryParams).then(
        (res) => {
          Util.exportExcel(res, "导出开票"); //映引入封装方法
        }
      );
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值