From d76e64532f658545de5330fb0db30d90b061c069 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 07 八月 2023 09:48:22 +0800
Subject: [PATCH] 1.优化
---
src/views/basicSettings/roleList.vue | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/views/basicSettings/roleList.vue b/src/views/basicSettings/roleList.vue
index 816eb2b..8c98f45 100644
--- a/src/views/basicSettings/roleList.vue
+++ b/src/views/basicSettings/roleList.vue
@@ -128,7 +128,7 @@
</el-checkbox>
<div v-if="treeCenter.length>0">
- <div v-for="item in treeCenter[0].children" :key="item.menucode">
+ <div v-for="(item,index) in treeCenter[0].children" :key="item.menucode">
<div
v-if="item.buttoncodelist ===null "
@@ -141,7 +141,7 @@
:key="it.menucode"
v-model="it.buttonChecked"
style="margin-left: 40px;height:26px;display: flex;"
- @change="val=>handleCheckedButtonChange(val,it.menucode,it.buttonChecked)"
+ @change="val=>handleCheckedButtonChange(val,index,it.menucode,it.buttonChecked)"
>
<el-checkbox
@@ -298,7 +298,7 @@
this.treeLeft = res
- if (res.length > 0) {
+ if (res && res.length > 0) {
this.$nextTick(() => { // 榛樿閫変腑绗竴涓�
this.$refs.treeLeftRef.setCurrentKey(res[0].roles[0].code) // 榛樿閫変腑鑺傜偣绗竴涓�
})
@@ -399,7 +399,7 @@
}
})
- this.handleCheckedButtonChange('', '', '', true)
+ this.handleCheckedButtonChange('', '', '', '', true)
this.handleCheckedDataChange('', '', true)
// this.$forceUpdate()
},
@@ -462,14 +462,17 @@
}
},
// 鍗曚釜鎸夐挳鏀瑰彉
- handleCheckedButtonChange(oldValue, code, newValue, flag) {
- // console.log(oldValue, code, newValue, 2)
+ handleCheckedButtonChange(oldValue, index, code, newValue, flag) {
+ console.log(oldValue, index, code, newValue, 2)
// 鍒ゆ柇鏄惁鍖呭惈鍦ㄥ唴
if (!flag) {
if (!this.menuCheckedCodeArr.includes(code) && oldValue.length === 0 && newValue.length === 1) { // 鍚�
this.menuCheckedCodeArr.push(code)
} else if (this.menuCheckedCodeArr.includes(code) && oldValue.length === 1 && newValue.length === 0) { // 鏄�
- this.menuCheckedCodeArr = this.menuCheckedCodeArr.filter(i => i !== code)
+ // 褰撴暟鎹潈闄愭湭鍕鹃�夋椂鍒欒繃婊ゆ帀鐩稿搴旂殑鑿滃崟
+ if (this.treeCenter[0].children[index].children.find(i => i.menucode === code).dataChecked.toString().length < 1) {
+ this.menuCheckedCodeArr = this.menuCheckedCodeArr.filter(i => i !== code)
+ }
}
this.$refs.treeCenterRef.setCheckedKeys(this.menuCheckedCodeArr)
}
@@ -525,6 +528,7 @@
// 澶勭悊涓棿鏍戝舰閫変腑鍊兼敼鍙�
handleTreeCenterCheckChange(obj, selfChecked, selfChildrenTreeCheck) {
// console.log(obj, selfChecked, selfChildrenTreeCheck, '鐜嬭�佸悏')
+ console.log(selfChecked, 10)
if (!selfChildrenTreeCheck) {
if (!selfChecked) { // 浠庨�変腑鍒颁笉閫変腑
obj.buttonChecked = []
@@ -532,6 +536,8 @@
this.menuCheckedCodeArr = this.menuCheckedCodeArr.filter(i => i !== obj.menucode)
}
if (selfChecked) { // 浠庝笉閫変腑鍒伴�変腑
+ console.log(obj, 9)
+ obj.buttonCheckedCode = []
this.treeCenter[0].children.forEach(item => {
if (item.children && item.children.length) {
item.children.forEach(it => {
@@ -542,6 +548,7 @@
}
})
}
+
this.$forceUpdate()
}
},
--
Gitblit v1.9.3