|
@@ -67,6 +67,8 @@
|
|
|
:render="renderTree" :checkable="true" :selectable="true"
|
|
|
:filterMethod="filterLabelEvent"
|
|
|
@click="handleLabelNodeClick2"
|
|
|
+ @check="handleCheckBoxChecked"
|
|
|
+ @uncheck="handleCheckBoxUnchecked"
|
|
|
@selected-change="handleLabelNodeSelected"></c-tree>
|
|
|
</div>
|
|
|
<el-divider content-position="left" style="margin-bottom: 15px !important">
|
|
@@ -152,6 +154,7 @@ export default {
|
|
|
filterLabelText(val) {
|
|
|
// this.$refs.itemTree.filter(val);
|
|
|
this.$refs.cTree.filter(val)
|
|
|
+ this.handleCheckAllLabelChange(false)
|
|
|
this.searchCountChildrenLeaf(val)
|
|
|
},
|
|
|
},
|
|
@@ -460,6 +463,18 @@ export default {
|
|
|
}
|
|
|
return tree;
|
|
|
},
|
|
|
+
|
|
|
+ handleCheckBoxChecked(d){
|
|
|
+ // 扁平化后的节点数据
|
|
|
+ const treeNodes = this.$refs.cTree.getFlatData()
|
|
|
+ const size = treeNodes.filter(v => !v.checked).length;
|
|
|
+ if(size === 0){
|
|
|
+ this.checkChangeAllLabel(true)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleCheckBoxUnchecked(d){
|
|
|
+ this.checkChangeAllLabel(false)
|
|
|
+ },
|
|
|
handleLabelNodeSelected(d){
|
|
|
if(d){
|
|
|
if(this.filterLabelText){
|
|
@@ -533,13 +548,17 @@ export default {
|
|
|
handleCheckAllLabelChange(flag){
|
|
|
if(flag){
|
|
|
this.$refs.cTree.checkAll()
|
|
|
+ this.checkChangeAllLabel(true)
|
|
|
}else{
|
|
|
this.$refs.cTree.clearChecked()
|
|
|
+ this.checkChangeAllLabel(false)
|
|
|
}
|
|
|
},
|
|
|
/** 是否全部选中 */
|
|
|
checkChangeAllLabel(flag) {
|
|
|
- this.isSelectAllLabel = flag;
|
|
|
+ if(this.isSelectAllLabel !== flag){
|
|
|
+ this.isSelectAllLabel = flag;
|
|
|
+ }
|
|
|
},
|
|
|
/** 全选叶节点事件 */
|
|
|
handleCheckAllLeavesChange(flag) {
|