<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      elementUI table表格行合并

      方式一:

      <template>
        <div class="table-container">
          <el-table
            size="mini"
            :header-cell-style="{'background':'#d3e0ff'}"
            :data="tableData"
            :span-method="objectSpanMethod"
            border
            style="width: 100%; margin-top: 20px">
            <template v-for="item in tableHeader">       
              <el-table-column
                  :key="item.key"
                  :label="item.label"
                  align="center">
                <template slot-scope="scope">
                    <span>{{ scope.row[item.key] }}</span>
                </template>
              </el-table-column>
            </template>
          </el-table>
        </div>
      </template>
      <script>
       import { getItemGridTableData } from '@/api/index';
         export default {
          data() {
            return {
              tableHeader:[],
              tableData: [],
              spanArr: [], // 一個(gè)空的數(shù)組,用于存放每一行記錄的合并數(shù)
              pos: 0, // spanArr 的索引
              contentSpanArr: [],
              position: 0,
            };
          },
          mounted(){
            this.getItemGridTableData();
            
          },
          methods: {
            async getItemGridTableData(){
              let res = await getItemGridTableData();
              this.tableData = res.data.data.tableData;
              this.tableHeader = res.data.data.tableHeader;
              
              this.getSpanArrFunc(this.tableData);
            },
            getSpanArrFunc(data){
              this.spanArr = [];
              let pos;
              for (let i = 0; i < data.length; i++) {
                  if (i === 0) {
                      this.spanArr.push(1)
                      pos = 0
                  } else if (
                      data[i].itemNo &&
                      data[i].itemNo === data[i - 1].itemNo
                  ) {
                      this.spanArr[pos] += 1
                      this.spanArr.push(0)
                  } else {
                      this.spanArr.push(1)
                      pos = i
                  }
              }
              console.log(this.spanArr)
            },
            objectSpanMethod({rowIndex, columnIndex }) {
              if (columnIndex === 0  || columnIndex === 1 || columnIndex === 2|| columnIndex === 3) {
                  const _row = this.spanArr[rowIndex]
                  const _col = _row > 0 ? 1 : 0
                  return {
                      rowspan: _row,
                      colspan: _col
                  }
              }
      
            }
          }
        };
      </script>
      <style scoped>
      .table-container{
        padding: 10px;
      }
      </style>

      方式二:

      <template>
        <div class="table-container">
          <el-table
            size="mini"
            :stripe="false"
            :header-cell-style="{'background':'#d3e0ff'}"
            :row-class-name="rowClass"
            :data="tableData"
            :span-method="objectSpanMethod"
            border
            style="width: 100%; margin-top: 20px">
            <template v-for="item in tableHeader">
              <el-table-column
                  :fixed="item.key == 'itemNo' || item.key == 'itemName' || item.key == 'amount'"
                  :key="item.key"
                  :label="item.label"
                  align="center">
                <template slot-scope="scope">
                    <span>{{ scope.row[item.key] }}</span>
                </template>
              </el-table-column>
            </template>
          </el-table>
        </div>
      </template>
      <script>
       import { getItemGridTableData } from '@/api/index';
         export default {
          data() {
            return {
              tableHeader:[],
              tableData: [],
              spanMethodOption: {}
            };
          },
          mounted(){
            this.getItemGridTableData();
            
          },
          methods: {
            async getItemGridTableData(){
              let res = await getItemGridTableData();
              this.tableData = res.data.data.tableData.map(item =>{
                if (this.spanMethodOption[item.itemNo]) {
                      this.spanMethodOption[item.itemNo] += 1
                      item.isShow = false;
                  } else {
                      this.spanMethodOption[item.itemNo] = 1
                      item.isShow = true;
                  }
                  return item;
              })
              this.tableHeader = res.data.data.tableHeader;
            },
            objectSpanMethod({ row, column, rowIndex, columnIndex }) {
              if (columnIndex === 0  || columnIndex === 1 || columnIndex === 2|| columnIndex === 3) {
                if (row.isShow) {
                    return [this.spanMethodOption[this.tableData[rowIndex].itemNo], 1]
                }else{
                    return [0, 0]
                }
              }
      
            },
            rowClass({row, rowIndex}) {
                var arr = []
                Object.keys(this.spanMethodOption).forEach((item, index)=>{
                    if(row.itemNo == item) {
                        if(index %2 === 0) {
                            arr.push('even-row')
                        }else{
                            arr.push('odd-row')
                        }
                    }
                })
                return arr
            },
          }
        };
      </script>
      <style scoped lang="scss">
      .table-container{
        padding: 10px;
        /deep/ .el-table {
            .version-table th {
                background-color:#797979;
                .cell {
                    color:#fff;
                }
            }
            .even-row {
                background-color: #fff;
            }
            .odd-row {
                background-color: antiquewhite;
            }
        }
      }
      </style>

       

      posted @ 2023-01-06 09:56  禿頭的鏟屎官  Views(1033)  Comments(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 在线观看无码av五月花| 午夜福利精品国产二区| 成人欧美日韩一区二区三区| 日韩内射美女人妻一区二区三区| 蜜臀av入口一区二区三区| 人人做人人澡人人人爽| 亚洲熟妇无码av另类vr影视 | 色综合天天综合天天综| 污污网站18禁在线永久免费观看| 亚洲AV高清一区二区三区尤物| 国产熟睡乱子伦视频在线播放 | 欧美人与禽2o2o性论交| 色婷婷综合久久久久中文一区二区| 亚洲第一香蕉视频啪啪爽| 老熟女多次高潮露脸视频| 永和县| 国产精品一区二区性色av| 成人无码潮喷在线观看| 亚洲色成人一区二区三区| 搡老熟女老女人一区二区| 欧美疯狂三p群体交乱视频| 精品国产一区二区三区av性色| 国产玖玖玖玖精品电影| 爱啪啪av导航| 97视频精品全国免费观看| 国产又爽又黄的精品视频| 国产精品亚洲综合色区丝瓜| 国产亚洲精品福利在线无卡一| 亚洲夜夜欢一区二区三区| 国产精品天天狠天天看| 国产精品自拍实拍在线看| 怡红院一区二区三区在线| 国产亚洲精品VA片在线播放| 中文毛片无遮挡高潮免费| 色伦专区97中文字幕| 乱人伦人妻中文字幕不卡| 国产不卡一区二区三区视频 | 久久国产热这里只有精品| 亚洲精品一区二区制服| 偏关县| 漂亮人妻被强中文字幕久久|