关于vue iview中tables组件自带导出方法学习

一、新框架导出要求:1、导出数据带时间戳的,要转化为日期格式,状态为1,0;要转为试用状态和付费使用状态。

                              2、导出,只需要导出需要的栏目,像多选模式和操作栏目不需要。

                              3、需要导出所有数据,不能单页导出(也要根据搜索结果导出)

二、代码如下:

a、按钮

   <Button type="primary" size="large" @click="exportData"><Icon type="ios-download-outline"></Icon> 单位管理导出</Button>
            
<Table ref="tables" border editable  search-place="top" :data="tableData" :size="size" :columns="columns" @on-select="handleSelectionChangeFunc" />

 b、方法

//多页面导出功能
getExportAllDate(){  //获得导出的所有数据
    this.formItem.create_time=[Date.parse(this.formItem.create_time[0]),Date.parse(this.formItem.create_time[1])];
    this.formItem.end_time=[Date.parse(this.formItem.end_time[0]),Date.parse(this.formItem.end_time[1])];
    var data = { ...this.formItem};

   var getAllUrl = ApiBaseUrl + '/ecs.unitManagement.enter/.......';

    this.$axios.get(getAllUrl,{params: data}).then(response => {
        const res = response.data;
        switch(res.code)
        {
            case 200:

             let resdata = res.data.list;

       if(resdata){
//把获得的数据赋值ExportAllDateArr,导出data参数上
         this.ExportAllDateArr = resdata;         
         }
                break;
            case 401:
                this.MessageError(res.error);
                break;
            case 402:
                this.MessageError(res.error,1 , 5);
                break;
            default:
                this.MessageError(res.error);
                break
        }
    }).catch(err => {
        this.MessageError("获取失败")
    })

},

exportData(){
    let columnsLength=this.columns.length;
    this.$refs.tables.exportCsv({
        filename: '单位管理导出',   //导出表格名称
        original: false,//true为导出是页面表格的原始数据,false为可以导出使用sortable: true后的数据。但是,前提条件为data 参数指向table的:data
        columns: this.columns.filter(function(col, index){   //index指向列,0表示第一列,以下表示,输出第二列到倒数第二列
          return index=>1 && index< columnsLength-1;
        }),
        data: this.ExportAllDateArr.filter((data, index) => this.changeEx(data))  //this.ExportAllDateArr为getExportAllDate()获得  });
},
changeEx(data){    //改变导出数据方法
        let end_time = parseInt(data.end_time) > 0 ? parseInt(data.end_time+"000"): 0 ;
        let endTimeData = end_time == 0 ? "":moment(end_time).format('YYYY-MM-DD');
          data.end_time= endTimeData != '' ? endTimeData:"";
          data.status = data.status == 0 ? "试用中":"付费使用中";
        return data;
},

参看:https://www.iviewui.com/components/table#DCcsv

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值