Vue 表格 合并列

5 篇文章 0 订阅
<el-table
  :data="tableData_shift_message"   在data初始化
  :span-method="objectSpanMethod"
  v-loading.body="tableLoading"     在data初始化
  element-loading-text="正在加载中!!!"  在data初始化
  size="small"
  class="bos-table">
  <el-table-column
    type="selection"
    width="50">
  </el-table-column>
  <el-table-column
    prop="orgName"
    label="科室">
  </el-table-column>
  <el-table-column
    prop="userName"
    label="人员">
  </el-table-column>
  <el-table-column
    v-for="(item, index) of show_User "
    :key="index"
    :label="item.name"
    :prop="item.value"
    :formatter="valueFormatter">
  </el-table-column>
  <el-table-column
    label="请假"
    prop="leaveNumber"
  >
  </el-table-column>
</el-table>
handleStatisticalLeave(){
let that = this;
that.startTime = that.value[0];
that.endTime = that.value[1];
that.$http.get(that.baseUrl + '/selectStatisticalLeave?startTime=' + that.startTime + '&&' + 'endTime=' + that.endTime, {}).then((data) => {
  that.tableData_shift_message = data;
  that.rowspan();
  if (that.tableData_shift_message.length === 0) {
    that.$message.warning("暂无考勤记录")
  }
}).catch(function (error) {
  that.$message.error(error.message);
});
}
rowspan() {
  let that = this;
  that.tableData_shift_message.forEach((item, index) => {
    if (index === 0) {
      that.spanArr.push(1);
      that.pos = 0;
    } else {
     //根据具体的名字进行合并
      if (that.tableData_shift_message[index].orgName  === that.tableData_shift_message[index - 1].orgName ) {
        that.spanArr[that.pos] += 1;
        that.spanArr.push(0);
      }else {
        this.spanArr.push(1);
        this.pos = index;
      }
    }
  });
},
//合并
objectSpanMethod({row, column, rowIndex, columnIndex}) {
  if (columnIndex === 1) {//第几列
      const _row = this.spanArr[rowIndex];
      const _col = _row > 0 ? 1 : 0;
      return {
        rowspan: _row,
        colspan: _col
      }
    }
},

效果图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhh1996075

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值