From 3bd0ac27a231a1a2b5b7ae2f44501fea69c4ab1f Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 27 三月 2023 11:00:27 +0800
Subject: [PATCH] 优化

---
 src/views/system/departUser/components/DepartRoleAuthDrawer.vue |  234 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 110 insertions(+), 124 deletions(-)

diff --git a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
index e8d5d90..9bdb3ea 100644
--- a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
+++ b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
@@ -1,31 +1,17 @@
 <template>
-  <BasicDrawer
-    title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
-    :width="650"
-    :loading="loading"
-    showFooter
-    okText="淇濆瓨骞跺叧闂�"
-    @ok="onSubmit(true)"
-    @close="onClose"
-    @register="registerDrawer"
-  >
+  <BasicDrawer title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
+               :width="650"
+               :loading="loading"
+               showFooter
+               okText="淇濆瓨骞跺叧闂�"
+               @ok="onSubmit(true)"
+    @close="onClose" @register="registerDrawer">
     <div>
       <a-spin :spinning="loading">
         <template v-if="treeData.length > 0">
-          <BasicTree
-            title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�"
-            toolbar
-            checkable
-            :treeData="treeData"
-            :checkedKeys="checkedKeys"
-            :selectedKeys="selectedKeys"
-            :expandedKeys="expandedKeys"
-            :checkStrictly="checkStrictly"
-            :clickRowToExpand="false"
-            @check="onCheck"
-            @expand="onExpand"
-            @select="onSelect"
-          >
+          <BasicTree title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�" toolbar checkable :treeData="treeData" :checkedKeys="checkedKeys"
+            :selectedKeys="selectedKeys" :expandedKeys="expandedKeys" :checkStrictly="checkStrictly"
+            :clickRowToExpand="false" @check="onCheck" @expand="onExpand" @select="onSelect">
             <template #title="{ slotTitle, ruleFlag }">
               <span>{{ slotTitle }}</span>
               <Icon v-if="ruleFlag" icon="ant-design:align-left-outlined" style="margin-left: 5px; color: red" />
@@ -44,115 +30,115 @@
 </template>
 
 <script lang="ts" setup>
-  import { ref } from 'vue';
+import { ref } from 'vue';
 
-  import { BasicTree } from '/@/components/Tree/index';
-  import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer';
-  import { useMessage } from '/@/hooks/web/useMessage';
+import { BasicTree } from '/@/components/Tree/index';
+import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer';
+import { useMessage } from '/@/hooks/web/useMessage';
 
-  import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue';
-  import { queryTreeListForDeptRole, queryDeptRolePermission, saveDeptRolePermission } from '../depart.user.api';
+import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue';
+import { queryTreeListForDeptRole, queryDeptRolePermission, saveDeptRolePermission } from '../depart.user.api';
 
-  defineEmits(['register']);
-  const { createMessage } = useMessage();
-  const loading = ref(false);
-  const departId = ref('');
-  const roleId = ref('');
-  const treeData = ref<Array<any>>([]);
-  const checkedKeys = ref<Array<any>>([]);
-  const lastCheckedKeys = ref<Array<any>>([]);
-  const expandedKeys = ref<Array<any>>([]);
-  const selectedKeys = ref<Array<any>>([]);
-  const allTreeKeys = ref<Array<any>>([]);
-  const checkStrictly = ref(true);
+defineEmits(['register']);
+const { createMessage } = useMessage();
+const loading = ref(false);
+const departId = ref('');
+const roleId = ref('');
+const treeData = ref<Array<any>>([]);
+const checkedKeys = ref<Array<any>>([]);
+const lastCheckedKeys = ref<Array<any>>([]);
+const expandedKeys = ref<Array<any>>([]);
+const selectedKeys = ref<Array<any>>([]);
+const allTreeKeys = ref<Array<any>>([]);
+const checkStrictly = ref(true);
 
-  // 娉ㄥ唽鎶藉眽缁勪欢
-  const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
-    roleId.value = data.record.id;
-    departId.value = data.record.departId;
-    loadData();
-  });
-  // 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
-  const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
+// 娉ㄥ唽鎶藉眽缁勪欢
+const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
+  roleId.value = data.record.id;
+  departId.value = data.record.departId;
+  loadData();
+});
+// 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
+const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
 
-  async function loadData() {
-    try {
-      loading.value = true;
-      // 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
-      const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value });
-      if (ids.length > 0) {
-        allTreeKeys.value = ids;
-        expandedKeys.value = ids;
-        treeData.value = treeList;
-        // 鏌ヨ瑙掕壊鎺堟潈
-        checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value });
-        lastCheckedKeys.value = [checkedKeys.value];
-      } else {
-        reset();
-      }
-    } finally {
-      loading.value = false;
+async function loadData() {
+  try {
+    loading.value = true;
+    // 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
+    const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value });
+    if (ids.length > 0) {
+      allTreeKeys.value = ids;
+      expandedKeys.value = ids;
+      treeData.value = treeList;
+      // 鏌ヨ瑙掕壊鎺堟潈
+      checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value });
+      lastCheckedKeys.value = [checkedKeys.value];
+    } else {
+      reset();
     }
-  }
-
-  // 閲嶇疆椤甸潰
-  function reset() {
-    treeData.value = [];
-    expandedKeys.value = [];
-    checkedKeys.value = [];
-    lastCheckedKeys.value = [];
+  } finally {
     loading.value = false;
   }
+}
 
-  // tree鍕鹃�夊閫夋浜嬩欢
-  function onCheck(event) {
-    if (checkStrictly.value) {
-      checkedKeys.value = event.checked;
-    } else {
-      checkedKeys.value = event;
+// 閲嶇疆椤甸潰
+function reset() {
+  treeData.value = [];
+  expandedKeys.value = [];
+  checkedKeys.value = [];
+  lastCheckedKeys.value = [];
+  loading.value = false;
+}
+
+// tree鍕鹃�夊閫夋浜嬩欢
+function onCheck(event) {
+  if (checkStrictly.value) {
+    checkedKeys.value = event.checked;
+  } else {
+    checkedKeys.value = event;
+  }
+}
+
+// tree灞曞紑浜嬩欢
+function onExpand($expandedKeys) {
+  expandedKeys.value = $expandedKeys;
+}
+
+// tree閫変腑浜嬩欢
+function onSelect($selectedKeys, { selectedNodes }) {
+  if (selectedNodes[0]?.ruleFlag) {
+    let functionId = $selectedKeys[0];
+    dataRuleDrawer.openDrawer(true, { roleId, departId, functionId });
+  }
+  selectedKeys.value = [];
+}
+
+function doClose() {
+  reset();
+  closeDrawer();
+}
+
+function onClose() {
+  reset();
+}
+
+async function onSubmit(exit) {
+  try {
+    loading.value = true;
+    let params = {
+      roleId: roleId.value,
+      permissionIds: checkedKeys.value.join(','),
+      lastpermissionIds: lastCheckedKeys.value.join(','),
+    };
+    await saveDeptRolePermission(params);
+    if (exit) {
+      doClose();
+    }
+  } finally {
+    loading.value = false;
+    if (!exit) {
+      loadData();
     }
   }
-
-  // tree灞曞紑浜嬩欢
-  function onExpand($expandedKeys) {
-    expandedKeys.value = $expandedKeys;
-  }
-
-  // tree閫変腑浜嬩欢
-  function onSelect($selectedKeys, { selectedNodes }) {
-    if (selectedNodes[0]?.ruleFlag) {
-      let functionId = $selectedKeys[0];
-      dataRuleDrawer.openDrawer(true, { roleId, departId, functionId });
-    }
-    selectedKeys.value = [];
-  }
-
-  function doClose() {
-    reset();
-    closeDrawer();
-  }
-
-  function onClose() {
-    reset();
-  }
-
-  async function onSubmit(exit) {
-    try {
-      loading.value = true;
-      let params = {
-        roleId: roleId.value,
-        permissionIds: checkedKeys.value.join(','),
-        lastpermissionIds: lastCheckedKeys.value.join(','),
-      };
-      await saveDeptRolePermission(params);
-      if (exit) {
-        doClose();
-      }
-    } finally {
-      loading.value = false;
-      if (!exit) {
-        loadData();
-      }
-    }
-  }
+}
 </script>

--
Gitblit v1.9.3