zhudie 2 年 前
コミット
354df8b8de
1 ファイル変更22 行追加53 行削除
  1. 22 53
      src/views/system/role/CreateUserDrawer.vue

+ 22 - 53
src/views/system/role/CreateUserDrawer.vue

@@ -83,17 +83,9 @@
 <script lang="ts" setup>
   import { ref, onMounted, nextTick, computed } from 'vue';
   import { ElMessage } from 'element-plus';
-  import type { formParamsType, userFormParamsType } from './types';
-
-  import {
-    addAdminRole,
-    addRole,
-    editAdminRole,
-    roleAdminInfo,
-    roleUserInfo,
-    updateRole,
-  } from '@/api/system/role';
-  import { getTreeValues } from '@/utils/helper/treeHelper';
+  import type { userFormParamsType } from './types';
+
+  import { addRole, roleAdminInfo, roleUserInfo, updateRole } from '@/api/system/role';
   import useScene from '@/views/system-config/scene-manage/use-scene';
 
   const sceneInfos = useScene();
@@ -204,7 +196,6 @@
   });
 
   const message = ElMessage;
-  const checkedKeys = ref<number[]>([]);
   const formRef: any = ref(null);
   const isDrawer = ref(false);
   const subLoading = ref(false);
@@ -249,27 +240,29 @@
       formParams.value.permissions = [];
       treeRef.value!.setCheckedKeys([]);
     } else {
-      formParams.value.permissions = getAllIds(
-        props?.permissionList as { key: number; children: [] }[],
-      );
-      const keys = getTreeValues(props.permissionList || [], 'key');
-      treeRef.value!.setCheckedKeys(keys);
-    }
-  }
+      const allTreeNodes = treeRef.value.store._getAllNodes().map((item) => item.data.code);
+      console.log('allTreeNodes', allTreeNodes.length);
 
-  function getAllIds(list: { key: number; children: [] }[] = [], ids: number[] = []) {
-    for (let item of list) {
-      !ids.includes(item.key) && ids.push(item.key);
-      if (item.children && item.children.length) getAllIds(item.children, ids);
+      treeRef.value!.setCheckedKeys(allTreeNodes);
     }
-    return ids;
   }
 
+  // function getAllIds(list: { key: number; children: [] }[] = [], ids: number[] = []) {
+  //   for (let item of list) {
+  //     !ids.includes(item.key) && ids.push(item.key);
+  //     if (item.children && item.children.length) getAllIds(item.children, ids);
+  //   }
+  //   return ids;
+  // }
+
   function checkedTree(tree, checkedInfo) {
     console.log(tree);
     console.log(checkedInfo);
 
     const nodes = checkedInfo.checkedNodes;
+    console.log('nodes', nodes);
+    // const selectNodes =
+
     const halfKeys = checkedInfo.halfCheckedKeys;
     formParams.value.permissionList = checkedInfo.halfCheckedKeys;
     formParams.value.permissionList = nodes
@@ -280,25 +273,17 @@
           permissionId: '0',
         };
       });
-    // console.log('formParams.value.permissions', formParams.value.permissions);
-
-    // checkedKeys.value = keys;
-
-    // 获取所有已选中节点的键值
-    // const selectedKeys = nodes.filter((item) => item.isShop).map((node) => node.code);
-
-    // // 设置已选中节点
-    // treeRef.value.setCheckedKeys(selectNodes.value);
-    // checkedKeys.value = selectedKeys;
     formParams.value.permissionKeys = halfKeys;
+    const allTreeNodes = treeRef.value.store._getAllNodes().map((item) => item.data.code);
+    if (nodes.length < allTreeNodes.length) {
+      console.log('222222');
 
-    // formParams.value.permissionKeys = halfKeys;
+      isAll.value = false;
+    }
   }
 
   function checkedModeTree() {}
 
-  // const roleId = ref<number>();
-
   function openDrawer(roleId?, roleType?) {
     if (roleId) {
       formParams.value.roleId = roleId;
@@ -334,13 +319,6 @@
           handleReset();
           closeDrawer();
         });
-
-        // editAdminRole(formParams.value).then((_) => {
-        //   message.success('编辑成功');
-        //   emit('change');
-        //   handleReset();
-        //   closeDrawer();
-        // });
       } else {
         const addData = {
           permissionList: formParams.value.permissionList,
@@ -355,13 +333,6 @@
           handleReset();
           closeDrawer();
         });
-
-        // addAdminRole(formParams.value).then((_) => {
-        //   message.success('添加成功');
-        //   emit('change');
-        //   handleReset();
-        //   closeDrawer();
-        // });
       }
     });
   }
@@ -382,8 +353,6 @@
           remark: res.remark,
           permissionList: res.permissionIds || [],
           permissionKeys: res.permissionKeys || [],
-          // permissionList: res.permissionMap.map((item) => item.permissionId),
-          // permissionKeys: res.permissionMap.map((item) => item.workshopId),
         };
         formParams.value = info;
         isDrawer.value = true;