ant 表格动态合并行

98 阅读1分钟
let tableData = [
  {
    order_id: 'ww',
    created: '',
    user_name: 'cco',
    order_status: 0,
    comments: '',
    product_num: 4,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '订单号00ww1',
    created: '',
    user_name: 'cco',
    order_status: 0,
    comments: '',
    product_num: 2,
    product_name: '三相单路电监测',
    product_specification: 'ZX-NLM-31A',
  },
  {
    order_id: '订单号002',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 1,
    product_name: '三相单路电监测',
    product_specification: 'ZX-NLM-31A',
  },
  {
    order_id: '订单号002',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '订单号002',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '订单号002',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '订单号003',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '订单号003',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '333',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
  {
    order_id: '33d3',
    created: '',
    user_name: 'Name2',
    order_status: 1,
    comments: '',
    product_num: 2,
    product_name: '单相电监测',
    product_specification: 'ZX-NLM-11A',
  },
];

func = (data) => {
  //保存上一个name
  var x = "";
  //相同name出现的次数
  var count = 0;
  //该name第一次出现的位置
  var startindex = 0;
  for (var i = 0; i < data.length; i++) {
    //这里是合并name列,根据各自情况大家可以自己完善
    var val = data[(i)].order_id;
    if (i == 0) {
      x = val;
      count = 1;
      tableData[0].num = 1
    } else {
      if (val == x) {
        count++;
        tableData[startindex].num = count;
        tableData[i].num = 0
      } else {
        count = 1;
        x = val;
        startindex = i;
        tableData[i].num = 1
      }
    }
  }
}

func(tableData)
let res = tableData
console.log(res)