| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- /**
 
-  *
 
-  * @param {Array} mergeKeys  要合并的keys数组
 
-  * @param {Array} tableData  渲染table组件的原始数据
 
-  */
 
- export function handleTableSpan(mergeKeys, tableData) {
 
-   const spanObj = {}
 
-   if (mergeKeys instanceof Array && tableData instanceof Array && mergeKeys.length && tableData.length) {
 
-     mergeKeys.forEach(key => {
 
-       spanObj[key] = []
 
-       let position = 0
 
-       tableData.forEach((item, index) => {
 
-         if (index === 0) {
 
-           spanObj[key].push(1)
 
-           position = 0
 
-         } else {
 
-           // 如果要合并的key 值是引用数据类型,我们要先把 数组或者 对象转成json 格式然后对比
 
-           if (tableData[index][key] instanceof Array || tableData[index][key] instanceof Object) {
 
-             if (JSON.stringify(tableData[index][key]) === JSON.stringify(tableData[index - 1][key])) {
 
-               spanObj[key][position] += 1
 
-               spanObj[key].push(0)
 
-             } else {
 
-               spanObj[key].push(1)
 
-               position = index
 
-             }
 
-           } else {
 
-             if (tableData[index][key] === tableData[index - 1][key]) {
 
-               spanObj[key][position] += 1
 
-               spanObj[key].push(0)
 
-             } else {
 
-               spanObj[key].push(1)
 
-               position = index
 
-             }
 
-           }
 
-         }
 
-       })
 
-     })
 
-     return spanObj
 
-   }
 
- }
 
- /**
 
-  *
 
-  * @param {Object} tableObj table组件 span-method 方法四个参数{ row, column, rowIndex, columnIndex } 的对象
 
-  * @param {Array} mergeKeys 要合并的keys数组
 
-  * @param {Object} rowspanObj 经过 handleTableSpan 方法处理tableData 数据,得到的单元格的合并行数对象
 
-  * @param {Boolean} notEmpty 是否要合并有 ’/‘ 单元格,此参数非必传。默认不合并, notEmpty = true 则合并
 
-  */
 
- export function handleObjectSpanMethod(tableObj, mergeKeys, rowspanObj, notEmpty) {
 
-   if (mergeKeys instanceof Array && rowspanObj instanceof Object) {
 
-     const { row, column, rowIndex, columnIndex } = tableObj
 
-     for (let i = 0; i < mergeKeys.length; i++) {
 
-       let term
 
-       if (notEmpty) {
 
-         term = column.property === mergeKeys[i] && row[mergeKeys[i]] !== '/'
 
-       } else {
 
-         term = column.property === mergeKeys[i]
 
-       }
 
-       if (term) {
 
-         const _row = rowspanObj[mergeKeys[i]][rowIndex]
 
-         const _col = _row > 0 ? 1 : 0
 
-         return {
 
-           rowspan: _row,
 
-           colspan: _col
 
-         }
 
-       }
 
-     }
 
-   }
 
- }
 
 
  |