From ae64c0f0d0a03db2b8e0c074fbcc2bf3170eeaf9 Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Tue, 10 Sep 2024 15:36:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 1 - src/views/system/data.vue | 41 ++++++++++++++++++--------------------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/permission.js b/src/permission.js index fa5164e..28c91fc 100644 --- a/src/permission.js +++ b/src/permission.js @@ -12,7 +12,6 @@ NProgress.configure({ showSpinner: false }) // NProgress Configuration const whiteList = ['/login'] // no redirect whitelist router.beforeEach(async(to, from, next) => { - console.log(from.path,to.path) // start progress bar NProgress.start() diff --git a/src/views/system/data.vue b/src/views/system/data.vue index bf27890..ee8a340 100644 --- a/src/views/system/data.vue +++ b/src/views/system/data.vue @@ -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"> + :load="loadNode" + @check="nodeCheck"> @@ -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()