utils/index.js 如下:

// 导出报表跳转路径拼接
export function exportReport(url, data) {
  // data.sign = sign(data)
  window.location.href = process.env.VUE_APP_BASE_API + url + '?' + qs.stringify(data)
  // openWindow(process.env.VUE_APP_BASE_API + url + '?' + qs.stringify(data))
}

api/text.js 如下:

//导出报表
export function exportOrderList(data) {
  exportReport('/admin/order/get-list', data)
}

store/text.js 如下:

 // 交易汇总列表  导出
  exportOrderList({
    commit
  }, request) {
    const {  mobile, pickDate } = request
    return new Promise((resolve, reject) => {
      exportOrderList({
      //你接口需要的参数,看自己情况
        mobile: mobile,
        tpl_type: 'export',
        admin_token: getToken()
      })
        .then(response => {
          const {
            data
          } = response
          resolve(data)
        })
        .catch(error => {
          reject(error)
        })
    })
  }

views/ text.vue 如下:

        <el-button
          class="filter-item"
          type="primary"
          icon="el-icon-download"
          @click="handleDownload"
        >
          导出
        </el-button>
     downloadLoading: false,
     // 搜索
      searchForm: {
        mobile: '',
        page: 1        
      },
	//导出
    handleDownload() {
      this.downloadLoading = true
      this.exportOrderList(this.searchForm)
        .then(res => {
        .catch(() => {})
    }

注意:导出报表时千万不要传值让其分页

个人见解,若有不妥,欢迎留言赐教!

Logo

前往低代码交流专区

更多推荐