zoukankan      html  css  js  c++  java
  • element-ui跨行

      1 <template>
      2   <el-table :data="scheduleList" :span-method="objectSpanMethod" border>
      3     <el-table-column prop="date" label="时间" width="200" />
      4     <el-table-column prop="journey" label="行程" width="600" />
      5     <el-table-column prop="lecturer" label="讲师" />
      6   </el-table>
      7 </template>
      8 
      9 <script>
     10 export default {
     11   data() {
     12     return {
     13       scheduleList: [
     14         {
     15           date: "第一天",
     16           journey: "报道",
     17           lecturer: "",
     18         },
     19         {
     20           date: "第二天",
     21           journey: "企业生产安全应急预案数字化推演及复盘",
     22           lecturer: "国家危化品应急救援基地--林俊",
     23         },
     24         {
     25           date: "第三天",
     26           journey: "火灾应急处置",
     27           lecturer: "国家危化品应急救援基地—张学军",
     28         },
     29         {
     30           date: "第三天",
     31           journey: "中毒窒息事故应急处置",
     32           lecturer: "中化岙山事故应急处置师资",
     33         },
     34         {
     35           date: "第四天",
     36           journey: "人员触电事故应急处置",
     37           lecturer: "中化岙山事故应急处置师资",
     38         },
     39         {
     40           date: "第四天",
     41           journey: "泄漏事故应急处置",
     42           lecturer: "中化岙山事故应急处置师资",
     43         },
     44         {
     45           date: "第四天",
     46           journey: "问题交流",
     47           lecturer: "中化岙山事故应急处置师资",
     48         },
     49         {
     50           date: "第五天",
     51           journey: "受限空间作业管理",
     52           lecturer: "中化岙山危险作业内训师",
     53         },
     54         {
     55           date: "第五天",
     56           journey: "高处作业管理",
     57           lecturer: "中化岙山危险作业内训师",
     58         },
     59         {
     60           date: "第五天",
     61           journey: "动火作业管理",
     62           lecturer: "中化岙山危险作业内训师",
     63         },
     64         {
     65           date: "第五天",
     66           journey: "临时用电作业管理",
     67           lecturer: "中化岙山危险作业内训师",
     68         },
     69         {
     70           date: "第五天",
     71           journey: "问题交流与讨论",
     72           lecturer: "中化岙山危险作业内训师",
     73         },
     74         {
     75           date: "第六天",
     76           journey: "回城",
     77           lecturer: "",
     78         },
     79       ],
     80       rowIndex: "-1",
     81       orderIndexArr: [],
     82     };
     83   },
     84   methods: {
     85       // 获取相同编号的数组
     86       getNumber() {
     87         const orderObj = {}
     88         this.scheduleList.forEach((item, index) => {
     89           item.indexRow = index
     90           // 通过date关键字
     91           if (orderObj[item.date]) {
     92             orderObj[item.date].push(index)
     93           } else {
     94             orderObj[item.date] = []
     95             orderObj[item.date].push(index)
     96           }
     97         });
     98         // 将数组长度大于1的值 存储到this.orderIndexArr(也就是需要合并的项)
     99         Object.keys(orderObj).forEach((key) => {
    100           if (orderObj[key].length > 1) {
    101             this.orderIndexArr.push(orderObj[key])
    102           }
    103         })
    104       },
    105       
    106       // 获取相同编号的数组
    107       getOrderNumber() {
    108         const orderObj = {}
    109         this.scheduleList.forEach((item, index) => {
    110           item.rowIndex = index
    111           if (orderObj[item.date]) {
    112             orderObj[item.date].push(index)
    113           } else {
    114             orderObj[item.date] = [];
    115             orderObj[item.date].push(index)
    116           }
    117         })
    118         // 将数组长度大于1的值 存储到this.orderIndexArr(也就是需要合并的项)
    119         Object.keys(orderObj).forEach((key) => {
    120           if (orderObj[key].length > 1) {
    121             this.orderIndexArr.push(orderObj[key])
    122           }
    123         });
    124       },
    125       objectSpanMethod({ row, column, rowIndex, columnIndex }) {
    126         if (columnIndex === 0) {
    127           for (let i = 0; i < this.orderIndexArr.length; i += 1) {
    128             let element = this.orderIndexArr[i];
    129             for (let j = 0; j < element.length; j += 1) {
    130               let item = element[j];
    131               if (rowIndex === item) {
    132                 if (j === 0) {
    133                   return {
    134                     rowspan: element.length,
    135                     colspan: 1
    136                   }
    137                 }
    138                 if (j !== 0) {
    139                   return {
    140                     rowspan: 0,
    141                     colspan: 0
    142                   }
    143                 }
    144               }
    145             }
    146           }
    147         }
    148       },
    149   },
    150   mounted() {
    151     this.getOrderNumber()
    152   }
    153 }
    154 </script>
  • 相关阅读:
    VS 无法命中断点解决
    sharepoint 什么开始系列呢?从哪里开始写呢?
    sqlserver 登录名与用户的关系
    Exchange 开启模拟用户
    Exchange(DC服务器开启防火墙,造成的问题)
    Exchange 2010 RPC 揭秘
    二维码生成
    【转】使用 Entity Framework + ListView + DataPager 实现数据分页
    24款超实用的Web 2.0风格翻页代码
    精心收集的jQuery常用的插件1000
  • 原文地址:https://www.cnblogs.com/CinderellaStory/p/15252684.html
Copyright © 2011-2022 走看看