|
|
|
|
@ -65,15 +65,18 @@
|
|
|
|
|
ref="newElTree"
|
|
|
|
|
node-key="code"
|
|
|
|
|
lazy
|
|
|
|
|
:check-strictly="true"
|
|
|
|
|
:check-strictly="false"
|
|
|
|
|
show-checkbox
|
|
|
|
|
:default-expanded-keys="defaultExpanded"
|
|
|
|
|
:default-checked-keys="defaultChecked"
|
|
|
|
|
:props="{
|
|
|
|
|
label: 'name',
|
|
|
|
|
isLeaf: (data, node) => {
|
|
|
|
|
return data.level >= 5;
|
|
|
|
|
}
|
|
|
|
|
}"
|
|
|
|
|
:load="loadNode"></el-tree>
|
|
|
|
|
:load="loadNode"
|
|
|
|
|
@check="nodeCheck"></el-tree>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</el-scrollbar>
|
|
|
|
|
@ -116,9 +119,17 @@ export default {
|
|
|
|
|
originalType:[],
|
|
|
|
|
list:[],
|
|
|
|
|
newElTreeTag: 0,
|
|
|
|
|
defaultExpanded: [],
|
|
|
|
|
defaultChecked: [],
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
nodeCheck(checked,{ checkedKeys,checkedNodes }) {
|
|
|
|
|
if(checked.level !== 5 && !!checkedNodes.find(i => i === checked)) {
|
|
|
|
|
this.defaultExpanded.push(checked.code)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async loadNode (node, resolve) {
|
|
|
|
|
const list = await this.getList(node?.data?.code || 0,node?.data?.level || 0)
|
|
|
|
|
resolve(list)
|
|
|
|
|
@ -132,21 +143,11 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
checkNewTreeNodes (level = 0) {
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
// if (level === 0) {
|
|
|
|
|
// this.$refs['newElTree'].setCheckedKeys([])
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
let user = this.users.find(i => i.id == this.activeUser)
|
|
|
|
|
if (user && user.village) {
|
|
|
|
|
let village = new Map()
|
|
|
|
|
user.village.forEach(item => {
|
|
|
|
|
village.set(item.village_code,item)
|
|
|
|
|
})
|
|
|
|
|
this.$refs['newElTree'].setCheckedKeys([...village.values()].map(i => Number(i.village_code)))
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
let user = this.users.find(i => i.id == this.activeUser)
|
|
|
|
|
if(user && user.village) {
|
|
|
|
|
this.defaultExpanded = user.village.filter(i => i.level !== 5).map(i => Number(i.village_code))
|
|
|
|
|
this.defaultChecked = user.village.filter(i => i.level === 5).map(i => Number(i.village_code))
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async getList(pcode = 0,level = 0){
|
|
|
|
|
@ -158,10 +159,6 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
return res.list
|
|
|
|
|
}
|
|
|
|
|
// const res = await getList(this.select)
|
|
|
|
|
// this.total = res.total
|
|
|
|
|
// this.list = res.data
|
|
|
|
|
// console.log(this.list)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async getAdminTypes(){
|
|
|
|
|
@ -275,7 +272,7 @@ export default {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
delete submitUser.village
|
|
|
|
|
submitUser.village_code = this.$refs['newElTree']?.getCheckedNodes()?.filter(i => i.level === 5)?.map(i => i.code)?.toString()
|
|
|
|
|
submitUser.village_code = this.$refs['newElTree']?.getCheckedNodes()?.map(i => i.code)?.toString() || ""
|
|
|
|
|
Promise.all([...areaPromiseAll,...typePromiseAll,save(submitUser)]).then(res => {
|
|
|
|
|
this.getAdminTypes()
|
|
|
|
|
this.getAdminAreas()
|
|
|
|
|
|