|
|
@@ -2,8 +2,10 @@
|
|
|
<div>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
+ <el-button size="mini" @click="setCheckedKeys" class="normal-margin">{{allSelectKeys.length > 0?'取消选择':'全选组织'}}</el-button>
|
|
|
<div class="tree-panel">
|
|
|
<el-tree
|
|
|
+ v-if="refreshTree"
|
|
|
ref="tree"
|
|
|
:data="deplist"
|
|
|
node-key="sa_saleareaid"
|
|
|
@@ -13,6 +15,7 @@
|
|
|
:check-on-click-node="false"
|
|
|
:expand-on-click-node="false"
|
|
|
:show-checkbox="true"
|
|
|
+ :default-checked-keys="allSelectKeys"
|
|
|
@node-click="nodeClick"
|
|
|
@check="nodeCheck"
|
|
|
@check-change="checkChange">
|
|
|
@@ -67,11 +70,14 @@ export default {
|
|
|
checkedMenbers:[], // 授权人员信息
|
|
|
saleareaids:[], // 选中的部门
|
|
|
onCheckedMenber:[], // 当前查询人员列表选中的人员
|
|
|
+ allKeys:[],
|
|
|
+ allSelectKeys:[],
|
|
|
searchValue:'', // 搜索人员
|
|
|
clickdepid:'', // 点击的部门id
|
|
|
isonlymanager_agent:false,
|
|
|
checkAll:false,
|
|
|
isIndeterminate:false,
|
|
|
+ refreshTree:true
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
@@ -110,8 +116,12 @@ export default {
|
|
|
}
|
|
|
|
|
|
if (node.subarea && node.subarea.length > 0) {
|
|
|
+ that.allKeys.push(node.sa_saleareaid)
|
|
|
// 如果存在子节点
|
|
|
for (var index = 0; index < node.subarea.length; index++) {
|
|
|
+ that.allKeys.push(node.subarea[index].sa_saleareaid)
|
|
|
+ const res = new Map();
|
|
|
+ that.allKeys = that.allKeys.filter((item) => !res.has(item) && res.set(item, 1));
|
|
|
// 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
|
|
|
elNode.children.push(convertToElementTree(node.subarea[index]));
|
|
|
}
|
|
|
@@ -158,7 +168,13 @@ export default {
|
|
|
},
|
|
|
// 全选部门
|
|
|
setCheckedKeys() {
|
|
|
- this.$refs.tree.setCheckedKeys([3]);
|
|
|
+ this.refreshTree = false
|
|
|
+ this.allSelectKeys.length > 0?this.allSelectKeys = []:this.allSelectKeys = this.allKeys
|
|
|
+ setTimeout(() => {
|
|
|
+ this.refreshTree = true
|
|
|
+ }, 10);
|
|
|
+ this.saleareaids = this.allSelectKeys
|
|
|
+ this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
|
|
|
},
|
|
|
// 点击部门
|
|
|
nodeClick (row,node,comp) {
|
|
|
@@ -227,6 +243,7 @@ export default {
|
|
|
},
|
|
|
defaultData (val) {
|
|
|
this.saleareaids = val.sa_saleareaid
|
|
|
+ this.allSelectKeys = val.sa_saleareaid
|
|
|
this.checkedMenbers = val.sa_agentsid
|
|
|
this.isonlymanager_agent = val.isonlymanager_agent
|
|
|
this.$refs.tree.setCheckedKeys(val.sa_saleareaid)
|