Browse Source

fix:权限菜单取消父子级联动

luoxiao 4 days ago
parent
commit
a6994c2ee3
1 changed files with 23 additions and 18 deletions
  1. 23 18
      src/views/system/role/index.vue

+ 23 - 18
src/views/system/role/index.vue

@@ -18,7 +18,7 @@
     >
       <template #menu="{ row }">
         <el-button text type="primary" @click="editMenu(row)"
-        >分配权限
+          >分配权限
         </el-button>
       </template>
     </avue-crud>
@@ -28,18 +28,19 @@
         <el-button type="primary" @click="toggleCheckAll">全选</el-button>
         <el-button @click="resetChecked">清空</el-button>
         <el-tree
-            ref="treeRef"
-            :data="menuList"
-            :default-expand-all="true"
-            :props="{
+          ref="treeRef"
+          :data="menuList"
+          :default-expand-all="true"
+          :props="{
             children: 'children',
             label: 'menuName',
             value: 'id',
             disabled: '',
           }"
-            node-key="id"
-            show-checkbox
-            style="margin-top: 20px"
+          node-key="id"
+          show-checkbox
+          check-strictly
+          style="margin-top: 20px"
         >
           <template #default="{ data }">
             {{ data.menuName }}
@@ -50,7 +51,7 @@
       <template #footer>
         <div class="dialog-footer">
           <el-button type="primary" @click="handleRoleMenuSubmit"
-          >确 定
+            >确 定
           </el-button>
           <el-button @click="menuDialogVisible = false">取 消</el-button>
         </div>
@@ -60,19 +61,23 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
-import {useCrud} from "@/hooks/userCrud";
-import {systemMenuList,bindedRoleMenuList,bindRoleMenuList} from "@/api/role/index";
+import { ref } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import {
+  systemMenuList,
+  bindedRoleMenuList,
+  bindRoleMenuList,
+} from "@/api/role/index";
 
 // 传入一个url,后面不带/
-const {form, data, option, search, page, toDeleteIds, Methords, Utils} =
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/qualityRoleInfo",
   });
-const {dataList, createRow, updateRow, deleteRow, searchChange, resetChange} =
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
   Methords; //增删改查
-const {selectionChange, multipleDelete} = Methords; //选中和批量删除事件
-const {checkBtnPerm, downloadTemplate, exportData} = Utils; //按钮权限等工具
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const toggleCheckAll = () => {
   const allKeys = menuList.value.map((item) => item.id);
@@ -85,7 +90,7 @@ onMounted(() => {
   // console.log("crudRef", crudRef)
   dataList();
 });
-const loading=ref(false);
+const loading = ref(false);
 
 const handleRoleMenuSubmit = async () => {
   loading.value = true;
@@ -172,7 +177,7 @@ option.value = Object.assign(option.value, {
         },
       ],
       value: 0,
-    }
+    },
   ],
 });
 </script>