headerClick (column, event) { // 收起 if (column.id == 'el-table_1_column_1_column_3') { if (this.spreadSign) { let sum = 0 let lastList = [] this.lengthList.forEach(item => { item.startIndex = sum sum += item.len }) this.lengthList.forEach(item => { item.len = 1 item.spread = false }) this.lengthList.forEach(item => { lastList.push(this.tableData3[item.startIndex]) }) this.tableData3 = lastList this.spreadSign = false } else { this.tableData3 = list.slice() this.lengthList.forEach(item => { item.len = item.originLen item.startIndex = 0 item.spread = true }) this.spreadSign = true } } },
toggleRooms (row, column, cell, event) { let tableData3 = this.tableData3.slice() let lengthList = this.lengthList.slice() const tableIndex = lengthList.findIndex(item => item.type == row.type) const firstIndex = lengthList[tableIndex].startIndex lengthList.forEach(item => { if (item.type == row.type) { if (item.spread) { this.closeRoomsTitle(tableData3, lengthList, tableIndex, row, firstIndex) } else { this.spreadRoomsTitle(tableData3, lengthList, tableIndex, row, firstIndex) } } }) }, spreadRoomsTitle (tableData3, lengthList, tableIndex, row, firstIndex) { let centerData = [] const lastIndex = firstIndex + lengthList[tableIndex].originLen for (let i = firstIndex; i < lastIndex; i++) { centerData.push({ price: `¥10${i}`, name: `王小虎${i}`, number: `10${i}`, type: row.type }) } const prevTableData = tableData3.slice(0, firstIndex) const nextTableData = tableData3.slice(firstIndex + 1) tableData3 = [...prevTableData, ...centerData, ...nextTableData] lengthList[tableIndex].len = centerData.length lengthList[tableIndex].spread = true this.tableData3 = tableData3 this.lengthList = lengthList }, closeRoomsTitle (tableData3, lengthList, tableIndex, row, firstIndex) { const firstList = tableData3[firstIndex] tableData3 = tableData3.filter(item => item.type !== row.type) tableData3.splice(firstIndex, 0, firstList) lengthList[tableIndex].len = 1 lengthList[tableIndex].spread = false this.tableData3 = tableData3 this.lengthList = lengthList },