这是table得代码
<el-table :data="deptAllScoreList" border style="width:100%" :height='scrollHeight' v-loading="isLoading">
<el-table-column sortable align="center" label="区域" fixed min-width='100'>
<template slot-scope="{row}">
{{ row.value.deptTypeName }}
</template>
</el-table-column>
<el-table-column prop="name" sortable align="center" label="部门" fixed min-width='130'>
</el-table-column>
<el-table-column align="center" label="卓越">
<el-table-column sortable align="center" label="人数" v-if="isRenshu">
<template slot-scope="{row}">
{{ row.value.outstanding }}
</template>
</el-table-column>
<el-table-column sortable align="center" label="比例" v-if="isBili">
<template slot-scope="{row}">
{{ row.value.outstandingRatio }}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="优秀">
<el-table-column sortable align="center" label="人数" v-if="isRenshu">
<template slot-scope="{row}">
{{ row.value.excellent }}
</template>
</el-table-column>
<el-table-column sortable align="center" label="比例" v-if="isBili">
<template slot-scope="{row}">
{{ row.value.excellentRatio }}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="良好">
<el-table-column sortable align="center" label="人数" v-if="isRenshu">
<template slot-scope="{row}">
{{ row.value.good }}
</template>
</el-table-column>
<el-table-column sortable align="center" label="比例" v-if="isBili">
<template slot-scope="{row}">
{{ row.value.goodtRatio }}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="合格">
<el-table-column sortable align="center" label="人数" v-if="isRenshu">
<template slot-scope="{row}">
{{ row.value.qualified }}
</template>
</el-table-column>
<el-table-column sortable align="center" label="比例" v-if="isBili">
<template slot-scope="{row}">
{{ row.value.qualifiedRatio }}
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="不合格">
<el-table-column sortable align="center" label="人数" v-if="isRenshu">
<template slot-scope="{row}">
{{ row.value.unqualified }}
</template>
</el-table-column>
<el-table-column sortable align="center" label="比例" v-if="isBili">
<template slot-scope="{row}">
{{ row.value.unqualifiedRatio }}
</template>
</el-table-column>
</el-table-column>
<el-table-column sortable align="center" label="小计" fixed="right">
<template slot-scope="{row}">
{{ row.value.total }}
</template>
</el-table-column>
</el-table>
handleCheckedTableColumnsChange(val) {
this.allColumnsSelected = val ? this.tableColumns : [];
if (this.allColumnsSelected.every(isBelowThreshold)) {
this.allColumnsSelectedIndeterminate = false
this.allColumnsSelected = true
this.isRenshu = true
this.isBili = true
} else {
this.allColumnsSelectedIndeterminate = true
this.tableColumns.forEach(item => {
if (!item.visible) {
if (item.label === '人数') {
this.isRenshu = false
} else {
this.isBili = false
}
}
})
}
// 检测visible是否全部满足条件
function isBelowThreshold(value, index, ar) {
if (value.visible) {
return true;
} else {
return false;
}
}
},
JS代码得话 我也只是做了两个判断 全选时 就isRenshu 和isBili 都为true 当有一个不满足时 其中一个为false 进行隐藏 原数据是没有改变得