<el-table
v-loading="loading.list"
ref="table"
:data="tableData"
style=" 100%"
max-height="400"
border
lazy
row-key="key"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:load="load"
:header-cell-class-name="cellClass"
@select="selectRow"
@selection-change="selectionChange"
@select-all="selectAll">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column prop="key" label="编号"></el-table-column>
<el-table-column prop="identityName" label="姓名"></el-table-column>
</el-table>
data() {
return {
form: {
dimId: 1,
name: '',
key: '',
tenantId: ''
},
treeData: [],
tableData: [],
loading: {
tree: false
},
multipleSelection: [],
tableAllData: [], // 存储所有的表格数据
checkAll: false, // 判断当前是否全选
}
},
// 全选
selectAll(selection) {
this.checkAll = !this.checkAll;
this.tableAllData.map(row => {
this.$refs.table.toggleRowSelection(row, this.checkAll);
})
},
async load(row, treeNode, resolve) {
try {
let self = this;
let params = { parentId: row.groupId, groupId: row.groupId }
const data = await getOrganizeList({ ...self.form }, params)
let arr = data.map(item => {
return {
...item,
hasChildren: item.childs && item.childs > 0,
children: []
}
})
this.tableAllData = this.tableAllData.concat(arr) // 保存表格数据
resolve(arr)
return
} catch (error) {
console.log(error)
}
},