From ec743754d4eec74005f64ed537989b5ba6af4e79 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 20 三月 2023 10:14:08 +0800
Subject: [PATCH] 添加检测结果界面

---
 src/views/system/depart/components/DepartRuleTab.vue |  213 +++++++++++++++++++++++++---------------------------
 1 files changed, 102 insertions(+), 111 deletions(-)

diff --git a/src/views/system/depart/components/DepartRuleTab.vue b/src/views/system/depart/components/DepartRuleTab.vue
index f8025e9..d66ca3f 100644
--- a/src/views/system/depart/components/DepartRuleTab.vue
+++ b/src/views/system/depart/components/DepartRuleTab.vue
@@ -1,20 +1,9 @@
 <template>
   <a-spin :spinning="loading">
     <template v-if="treeData.length > 0">
-      <BasicTree
-        ref="basicTree"
-        class="depart-rule-tree"
-        checkable
-        :treeData="treeData"
-        :checkedKeys="checkedKeys"
-        :selectedKeys="selectedKeys"
-        :expandedKeys="expandedKeys"
-        :checkStrictly="checkStrictly"
-        style="height: 500px; overflow: auto"
-        @check="onCheck"
-        @expand="onExpand"
-        @select="onSelect"
-      >
+      <BasicTree ref="basicTree" class="depart-rule-tree" checkable :treeData="treeData" :checkedKeys="checkedKeys"
+        :selectedKeys="selectedKeys" :expandedKeys="expandedKeys" :checkStrictly="checkStrictly"
+        style="height: 500px; overflow: auto" @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" />
@@ -28,6 +17,8 @@
         <a-dropdown :trigger="['click']" placement="top">
           <template #overlay>
             <a-menu>
+              <a-menu-item key="1" @click="toggleCheckStrictly(false)">鐖跺瓙鍏宠仈</a-menu-item>
+              <a-menu-item key="2" @click="toggleCheckStrictly(true)">鍙栨秷鍏宠仈</a-menu-item>
               <a-menu-item key="3" @click="toggleCheckALL(true)">鍏ㄩ儴鍕鹃��</a-menu-item>
               <a-menu-item key="4" @click="toggleCheckALL(false)">鍙栨秷鍏ㄩ��</a-menu-item>
               <a-menu-item key="5" @click="toggleExpandAll(true)">灞曞紑鎵�鏈�</a-menu-item>
@@ -47,123 +38,123 @@
 </template>
 
 <script lang="ts" setup>
-  import { watch, computed, inject, ref, nextTick } from 'vue';
-  import { useDrawer } from '/@/components/Drawer';
-  import { BasicTree } from '/@/components/Tree/index';
-  import DepartDataRuleDrawer from './DepartDataRuleDrawer.vue';
-  import { queryRoleTreeList, queryDepartPermission, saveDepartPermission } from '../depart.api';
+import { computed, inject, nextTick, ref, watch } from 'vue'
+import { queryDepartPermission, queryRoleTreeList, saveDepartPermission } from '../depart.api'
+import DepartDataRuleDrawer from './DepartDataRuleDrawer.vue'
+import { useDrawer } from '/@/components/Drawer'
+import { BasicTree } from '/@/components/Tree/index'
 
-  const props = defineProps({
-    data: { type: Object, default: () => ({}) },
-  });
-  // 褰撳墠閫変腑鐨勯儴闂↖D锛屽彲鑳戒細涓虹┖锛屼唬琛ㄦ湭閫夋嫨閮ㄩ棬
-  const departId = computed(() => props.data?.id);
+const props = defineProps({
+  data: { type: Object, default: () => ({}) },
+})
+// 褰撳墠閫変腑鐨勯儴闂↖D锛屽彲鑳戒細涓虹┖锛屼唬琛ㄦ湭閫夋嫨閮ㄩ棬
+const departId = computed(() => props.data?.id)
 
-  const prefixCls = inject('prefixCls');
-  const basicTree = ref();
-  const loading = ref<boolean>(false);
-  const treeData = ref<any[]>([]);
-  const expandedKeys = ref<Array<any>>([]);
-  const selectedKeys = ref<Array<any>>([]);
-  const checkedKeys = ref<Array<any>>([]);
-  const lastCheckedKeys = ref<Array<any>>([]);
-  const checkStrictly = ref(true);
+const prefixCls = inject('prefixCls')
+const basicTree = ref()
+const loading = ref<boolean>(false)
+const treeData = ref<any[]>([])
+const expandedKeys = ref<Array<any>>([])
+const selectedKeys = ref<Array<any>>([])
+const checkedKeys = ref<Array<any>>([])
+const lastCheckedKeys = ref<Array<any>>([])
+const checkStrictly = ref(true)
 
-  // 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
-  const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
+// 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
+const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer()
 
-  // onCreated
-  loadData();
-  watch(departId, () => loadDepartPermission(), { immediate: true });
+// onCreated
+loadData()
+watch(departId, () => loadDepartPermission(), { immediate: true })
 
-  async function loadData() {
+async function loadData() {
+  try {
+    loading.value = true
+    let { treeList } = await queryRoleTreeList()
+    treeData.value = treeList
+    await nextTick()
+    toggleExpandAll(true)
+  } finally {
+    loading.value = false
+  }
+}
+
+async function loadDepartPermission() {
+  if (departId.value) {
     try {
-      loading.value = true;
-      let { treeList } = await queryRoleTreeList();
-      treeData.value = treeList;
-      await nextTick();
-      toggleExpandAll(true);
+      loading.value = true
+      let keys = await queryDepartPermission({ departId: departId.value })
+      checkedKeys.value = keys
+      lastCheckedKeys.value = [...keys]
     } finally {
-      loading.value = false;
+      loading.value = false
     }
   }
+}
 
-  async function loadDepartPermission() {
-    if (departId.value) {
-      try {
-        loading.value = true;
-        let keys = await queryDepartPermission({ departId: departId.value });
-        checkedKeys.value = keys;
-        lastCheckedKeys.value = [...keys];
-      } finally {
-        loading.value = false;
-      }
-    }
+async function onSubmit() {
+  try {
+    loading.value = true
+    await saveDepartPermission({
+      departId: departId.value,
+      permissionIds: checkedKeys.value.join(','),
+      lastpermissionIds: lastCheckedKeys.value.join(','),
+    })
+    await loadData()
+    await loadDepartPermission()
+  } finally {
+    loading.value = false
   }
+}
 
-  async function onSubmit() {
-    try {
-      loading.value = true;
-      await saveDepartPermission({
-        departId: departId.value,
-        permissionIds: checkedKeys.value.join(','),
-        lastpermissionIds: lastCheckedKeys.value.join(','),
-      });
-      await loadData();
-      await loadDepartPermission();
-    } finally {
-      loading.value = false;
-    }
+// tree鍕鹃�夊閫夋浜嬩欢
+function onCheck(event) {
+  if (!Array.isArray(event)) {
+    checkedKeys.value = event.checked
+  } else {
+    checkedKeys.value = event
   }
+}
 
-  // tree鍕鹃�夊閫夋浜嬩欢
-  function onCheck(event) {
-    if (!Array.isArray(event)) {
-      checkedKeys.value = event.checked;
-    } else {
-      checkedKeys.value = event;
-    }
-  }
+// tree灞曞紑浜嬩欢
+function onExpand($expandedKeys) {
+  expandedKeys.value = $expandedKeys
+}
 
-  // tree灞曞紑浜嬩欢
-  function onExpand($expandedKeys) {
-    expandedKeys.value = $expandedKeys;
+// tree閫変腑浜嬩欢
+function onSelect($selectedKeys, { selectedNodes }) {
+  if (selectedNodes[0]?.ruleFlag) {
+    let functionId = $selectedKeys[0]
+    dataRuleDrawer.openDrawer(true, { departId, functionId })
   }
+  selectedKeys.value = []
+}
 
-  // tree閫変腑浜嬩欢
-  function onSelect($selectedKeys, { selectedNodes }) {
-    if (selectedNodes[0]?.ruleFlag) {
-      let functionId = $selectedKeys[0];
-      dataRuleDrawer.openDrawer(true, { departId, functionId });
-    }
-    selectedKeys.value = [];
-  }
+// 鍒囨崲鐖跺瓙鍏宠仈
+async function toggleCheckStrictly(flag) {
+  checkStrictly.value = flag
+  await nextTick()
+  checkedKeys.value = basicTree.value.getCheckedKeys()
+}
 
-  // 鍒囨崲鐖跺瓙鍏宠仈
-  async function toggleCheckStrictly(flag) {
-    checkStrictly.value = flag;
-    await nextTick();
-    checkedKeys.value = basicTree.value.getCheckedKeys();
-  }
+// 鍒囨崲灞曞紑鏀惰捣
+async function toggleExpandAll(flag) {
+  basicTree.value.expandAll(flag)
+  await nextTick()
+  expandedKeys.value = basicTree.value.getExpandedKeys()
+}
 
-  // 鍒囨崲灞曞紑鏀惰捣
-  async function toggleExpandAll(flag) {
-    basicTree.value.expandAll(flag);
-    await nextTick();
-    expandedKeys.value = basicTree.value.getExpandedKeys();
-  }
-
-  // 鍒囨崲鍏ㄩ��
-  async function toggleCheckALL(flag) {
-    basicTree.value.checkAll(flag);
-    await nextTick();
-    checkedKeys.value = basicTree.value.getCheckedKeys();
-  }
+// 鍒囨崲鍏ㄩ��
+async function toggleCheckALL(flag) {
+  basicTree.value.checkAll(flag)
+  await nextTick()
+  checkedKeys.value = basicTree.value.getCheckedKeys()
+}
 </script>
 
 <style lang="less" scoped>
-  // 銆怴UEN-188銆戣В鍐虫粴鍔ㄦ潯涓嶇伒鏁忕殑闂
-  .depart-rule-tree :deep(.scrollbar__bar) {
-    pointer-events: none;
-  }
+// 銆怴UEN-188銆戣В鍐虫粴鍔ㄦ潯涓嶇伒鏁忕殑闂
+.depart-rule-tree :deep(.scrollbar__bar) {
+  pointer-events: none;
+}
 </style>

--
Gitblit v1.9.3