|
|
|
|
@ -889,9 +889,7 @@ export default {
|
|
|
|
|
// 已展开,则收起该节点及其后续展开
|
|
|
|
|
this.expandedDeptIds = this.expandedDeptIds.slice(0, colIndex);
|
|
|
|
|
// 清除后续列的 padding-top
|
|
|
|
|
for (let i = colIndex + 1; i <= Object.keys(this.columnPaddingTops).length; i++) {
|
|
|
|
|
this.$delete(this.columnPaddingTops, i);
|
|
|
|
|
}
|
|
|
|
|
this.clearColumnPaddingTops(colIndex);
|
|
|
|
|
} else {
|
|
|
|
|
// 未展开或展开了其他节点,则设置当前节点为展开,并截断后续
|
|
|
|
|
this.expandedDeptIds = this.expandedDeptIds.slice(0, colIndex);
|
|
|
|
|
@ -904,6 +902,16 @@ export default {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 清除指定列之后所有列的 padding-top
|
|
|
|
|
clearColumnPaddingTops(colIndex) {
|
|
|
|
|
let newPaddingTops = {};
|
|
|
|
|
Object.keys(this.columnPaddingTops).forEach(key => {
|
|
|
|
|
if (Number(key) <= colIndex) {
|
|
|
|
|
newPaddingTops[key] = this.columnPaddingTops[key];
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.columnPaddingTops = newPaddingTops;
|
|
|
|
|
},
|
|
|
|
|
// 滚动子级列,使其顶部与父级节点垂直对齐
|
|
|
|
|
alignColumnToParent(colIndex, deptIndex) {
|
|
|
|
|
let that = this;
|
|
|
|
|
@ -918,7 +926,9 @@ export default {
|
|
|
|
|
let offset = parentRect.top - firstRect.top;
|
|
|
|
|
if (offset > 0) {
|
|
|
|
|
// 给子级列设置相同的 padding-top,使子级列第一项与父级节点垂直对齐
|
|
|
|
|
that.$set(that.columnPaddingTops, colIndex + 1, offset);
|
|
|
|
|
let newPaddingTops = Object.assign({}, that.columnPaddingTops);
|
|
|
|
|
newPaddingTops[colIndex + 1] = offset;
|
|
|
|
|
that.columnPaddingTops = newPaddingTops;
|
|
|
|
|
}
|
|
|
|
|
}).exec();
|
|
|
|
|
}).exec();
|
|
|
|
|
|