zoukankan      html  css  js  c++  java
  • element 复杂的多级表头和数据处理

    设计图

    需求

    根据推广渠道后端返回一个推广人员对应的一个或多个渠道信息;

    后端返回数据结构

    这里的volist是一个或多个;

    解决思路

    首先实现的效果用到element-ui的多级表头,即el-table-column 里面嵌套 el-table-column

    这里合计、百度、搜狗。。。对应的数据参数是一定的。每个对应6个参数。

    所以要先知道一个人对应的有几个渠道作为最外层遍历,内层是固定的6个参数的循环。最终拿到表格对应的数据。

    1.data定义变量

          //tableName里面的东西是固定的
      tableName:[{name:'有效对话',key:'validSum'},
                  {name:'对话占比' ,key:'validPercent'},
                  {name:'获取手机',key:'getMobileSum'},
                  {name:'获取率',key:'getMobilePercent'},
                  {name:'资源成单',key:'placeOrderSum'},
                  {name:'成单率',key:'placeOrderPercent'}],
      tableTitle:[]
    

    2. 数据的处理

             if (data && data.code === 0) {
                    let tableTit = data.data.resultList[0].voList;
                    let originAcount = data.data.resultList[0].voList.length;
                    for(let i=0;i<originAcount;i++){
                        this.tableTitle.push(tableTit[i].channelStr) ;
                    }
                    
                    this.tableData = data.data.resultList
                    this.totalCount = data.data.total;
                    this.loading = false
                }
    

    3.表头的使用

     <el-table :data="tableData" style=" 100%" border v-loading="loading">
                  <el-table-column v-if="tableData.length!=0"
                    label="推广人员"
                    prop="tgUserStr"
                    width="100"
                    align="center"
                  >
                   </el-table-column>
                 <template v-for="(a,p) in tableTitle">
                  <el-table-column :label="a" :key="a">
                        <template v-for="col in tableName">
                          <el-table-column
                          :label="col.name"
                          :key="col.key"
                          width="100"
                          align="center"
                      >
                          <template slot-scope="scope">
                              <span>
                                  {{scope.row.voList[p][col.key]}}
                              </span>
                          </template>
                       </el-table-column>
                     </template>
                  </el-table-column>
                </template>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         -->
        </el-table>
    
  • 相关阅读:
    PID控制心得 2013/2/11
    在LaTeX文档中插入图片的几种常用的方法
    学习总结 2013/2/11
    eclipse 中引用其他项目及项目打包
    随笔2013/2/13
    随笔2013/2/19
    【转载】Latex对中文的支持 模版
    Latex 第二个程序
    Fences 桌面图标整理收纳箱
    消除“星期一综合症” 大前研一的周末时间分配术
  • 原文地址:https://www.cnblogs.com/loveliang/p/13743470.html
Copyright © 2011-2022 走看看