|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <mx-table :prop-defines="resolvedTable.columns" :rows="resolvedTable.rows" border>
|
|
|
+ <mx-table ref="table" :prop-defines="resolvedTable.columns" :rows="resolvedTable.rows" border>
|
|
|
<template #elective-cell="{value}">
|
|
|
{{ value && value.value }}
|
|
|
</template>
|
|
@@ -25,6 +25,7 @@ export default {
|
|
|
}))
|
|
|
const mergedColumns = []
|
|
|
this.chartBinding.tableData.forEach(item => {
|
|
|
+ if (this.chartBinding.generation.hiddenGenerations.includes(item.generation)) return
|
|
|
const ext = { roundId: item.roundId, generation: item.generation }
|
|
|
const isPreference = item.categories.every(item => Array.isArray(item))
|
|
|
if (isPreference) {
|
|
@@ -36,6 +37,8 @@ export default {
|
|
|
item.categories.forEach(data => this.resolveTableGeneration(ext, data, columns, rows, mergedColumns))
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
+ this.$refs.table.scrollToRight()
|
|
|
return {
|
|
|
mergedColumns,
|
|
|
columns,
|
|
@@ -46,6 +49,11 @@ export default {
|
|
|
mounted() {
|
|
|
window.tableVue = this
|
|
|
},
|
|
|
+ provide() {
|
|
|
+ return {
|
|
|
+ mergeTable: this.mergeTable
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
resolveTableGeneration(ext, data, columnsRef, rowsRef, mergedColumnsRef, prefix = '') {
|
|
|
// resolve core
|
|
@@ -71,6 +79,11 @@ export default {
|
|
|
const row = rowsRef.first()
|
|
|
row[prop] = val
|
|
|
}
|
|
|
+ },
|
|
|
+ mergeTable({ row, column, rowIndex }) {
|
|
|
+ if (this.resolvedTable.mergedColumns.includes(column.property)) {
|
|
|
+ return rowIndex === 0 ? [this.resolvedTable.rows.length, 1] : [0, 0]
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|