From 1ec6e15f8a7d351ce8537567cf6e956e99d4167f Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 09 八月 2023 10:16:05 +0800
Subject: [PATCH] 1.编码规格完成90%

---
 src/views/basicSettings/roleList.vue |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/views/basicSettings/roleList.vue b/src/views/basicSettings/roleList.vue
index 816eb2b..1af65de 100644
--- a/src/views/basicSettings/roleList.vue
+++ b/src/views/basicSettings/roleList.vue
@@ -128,10 +128,10 @@
                   </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 "
+                        v-if="!item.buttoncodelist"
                         style="margin-left: 40px;height:26px;display: flex;"
                       />
 
@@ -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
@@ -179,7 +179,7 @@
                   <div v-if="treeCenter.length>0">
                     <div v-for="item in treeCenter[0].children" :key="item.menucode">
                       <div
-                        v-if="item.datacodelist ===null "
+                        v-if="!item.datacodelist"
                         style="margin-left: 40px;height:26px;display: flex;"
                       />
 
@@ -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) // 榛樿閫変腑鑺傜偣绗竴涓�
         })
@@ -339,7 +339,7 @@
       this.treeCenter[0].children.forEach(item => {
         if (item.children && item.children.length) {
           item.children.forEach(it => {
-            it.buttoncodelist = it.buttoncodelist !== null ? it.buttoncodelist.split(',') : []
+            it.buttoncodelist = it.buttoncodelist !== '' && it.buttoncodelist !== null ? it.buttoncodelist.split(',') : []
             if (it.buttoncodelist && it.buttoncodelist.length > 0) {
               it.buttoncodelist = this.$ButtonData.filter(j =>
                 it.buttoncodelist.includes(j.buttoncode)
@@ -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)
       }
@@ -532,6 +535,7 @@
           this.menuCheckedCodeArr = this.menuCheckedCodeArr.filter(i => i !== obj.menucode)
         }
         if (selfChecked) { // 浠庝笉閫変腑鍒伴�変腑
+          obj.buttonCheckedCode = []
           this.treeCenter[0].children.forEach(item => {
             if (item.children && item.children.length) {
               item.children.forEach(it => {
@@ -542,6 +546,7 @@
             }
           })
         }
+
         this.$forceUpdate()
       }
     },
@@ -635,7 +640,7 @@
         }
       })
 
-      console.log(arr, 'arr')
+      // console.log(arr, 'arr')
       const rolecode = this.$refs.treeLeftRef.getCurrentKey()
       const res = await RolePermissionSava(JSON.stringify(arr), rolecode, this.activeName)
       if (res.code === '200') {

--
Gitblit v1.9.3